ਮਾਡਲ ਨੂੰ ਯਾਦ ਨਹੀਂ ਰਹਿੰਦਾ। ਤੁਹਾਨੂੰ ਰਹਿੰਦਾ ਹੈ।
LLMs ਕੋਲ ਕੋਈ ਯਾਦਦਾਸ਼ਤ ਨਹੀਂ ਹੁੰਦੀ।
ਮੈਂ ਸੋਚਦਾ ਸੀ ਕਿ ਹਰ ਚੈਟ ਆਪਣਾ ਸੰਦਰਭ (context) ਆਪਣੇ ਆਪ ਸਟੋਰ ਕਰਦੀ ਹੈ। ਮੈਨੂੰ ਲੱਗਦਾ ਸੀ ਕਿ ਮਾਡਲ ਸਾਡੇ ਪਿਛਲੇ ਸ਼ਬਦਾਂ ਨੂੰ ਆਪਣੇ ਆਪ ਯਾਦ ਰੱਖਦਾ ਹੈ। ਮੈਂ ਗਲਤ ਸੀ।
Messages API stateless ਹੈ। ਮਾਡਲ ਸਿਰਫ਼ ਉਹੀ ਜਾਣਦਾ ਹੈ ਜੋ ਤੁਸੀਂ ਮੌਜੂਦਾ ਰਿਕਵੈਸਟ (request) ਵਿੱਚ ਭੇਜਦੇ ਹੋ। ਜੇਕਰ ਤੁਸੀਂ ਗੱਲਬਾਤ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ ਹਰ ਵਾਰ ਪੂਰੀ history ਮਾਡਲ ਨੂੰ ਵਾਪਸ ਭੇਜਣੀ ਪਵੇਗੀ।
ਤੁਹਾਡੀ ਯਾਦਦਾਸ਼ਤ ਸਿਰਫ਼ ਮੈਸੇਜਾਂ ਦਾ ਇੱਕ array ਹੈ।
ਜਦੋਂ ਤੁਸੀਂ ਇੱਕ ਚੈਟ ਬਣਾਉਂਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਇਸ array ਨੂੰ ਮੈਨੇਜ ਕਰਦੇ ਹੋ। ਇਹ ਇਸ ਤਰ੍ਹਾਂ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ:
• User: ਹੈਲੋ, Claude • Assistant: ਹੈਲੋ! ਮੈਂ ਤੁਹਾਡੀ ਕਿਵੇਂ ਮਦਦ ਕਰ ਸਕਦਾ ਹਾਂ? • User: ਕੀ ਤੁਸੀਂ LLMs ਬਾਰੇ ਦੱਸ ਸਕਦੇ ਹੋ?
ਹਰ ਵਾਰ ਜਦੋਂ ਤੁਸੀਂ ਨਵਾਂ ਸਵਾਲ ਪੁੱਛਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਉਸ ਲਿਸਟ ਵਿੱਚ ਨਵਾਂ ਮੈਸੇਜ ਜੋੜਦੇ ਹੋ ਅਤੇ ਪੂਰੀ ਲਿਸਟ API ਨੂੰ ਭੇਜ ਦਿੰਦੇ ਹੋ।
ਮੈਂ ਇਹ SDKs ਤੋਂ ਬਚ ਕੇ ਸਿੱਖਿਆ। ਜ਼ਿਆਦਾਤਰ ਡਿਵੈਲਪਰ Anthropic SDK ਵਰਗੇ ਟੂਲਸ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਨ। ਇਹ ਟੂਲਸ ਗੁੰਝਲਦਾਰਤਾ ਨੂੰ ਲੁਕਾ ਦਿੰਦੇ ਹਨ। ਉਹ ਤੁਹਾਡੇ ਲਈ retries ਅਤੇ headers ਨੂੰ ਸੰਭਾਲਦੇ ਹਨ।
ਮੈਂ ਇਸ ਦੀ ਬਜਾਏ raw fetch ਦੀ ਵਰਤੋਂ ਕਰਨੀ ਚੁਣੀ। ਇਸ ਨੇ ਮੈਨੂੰ headers ਅਤੇ request body ਨੂੰ ਮੈਨੁਅਲੀ (manually) ਮੈਨੇਜ ਕਰਨ ਲਈ ਮਜਬੂਰ ਕੀਤਾ। ਇਸ ਨੇ abstraction ਨੂੰ ਖਤਮ ਕਰ ਦਿੱਤਾ। ਮੈਂ ਦੇਖਿਆ ਕਿ ਡੇਟਾ ਬਿਲਕੁਲ ਕਿਵੇਂ ਮੂਵ ਕਰਦਾ ਹੈ।
ਇਹ ਸੰਕਲਪ ਬਾਕੀ ਸਭ ਕੁਝ ਲਈ ਬੁਨਿਆਦ ਹੈ। ਜੇਕਰ ਤੁਸੀਂ ਉੱਨਤ (advanced) ਸਿਸਟਮ ਬਣਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ ਇਸ array ਨੂੰ ਸਮਝਣਾ ਚਾਹੀਦਾ ਹੈ। RAG ਜਾਂ sliding windows ਵਰਗੀਆਂ ਰਣਨੀਤੀਆਂ (strategies) ਇਸ ਗੱਲ ਤੋਂ ਸ਼ੁਰੂ ਹੁੰਦੀਆਂ ਹਨ ਕਿ ਤੁਸੀਂ ਇਸ ਮੈਸੇਜ ਲਿਸਟ ਨੂੰ ਕਿਵੇਂ ਮੈਨੇਜ ਕਰਦੇ ਹੋ।
ਇੱਕ ਵਾਰ ਜਦੋਂ ਤੁਸੀਂ history ਵਿੱਚ ਮਾਹਰ ਹੋ ਜਾਂਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ tool use ਵੱਲ ਵਧ ਸਕਦੇ ਹੋ। ਇਹ ਮਾਡਲ ਨੂੰ ਕੰਮਾਂ ਨੂੰ ਲਾਗੂ ਕਰਨ ਅਤੇ ਚਲਾਉਣ ਲਈ ਸਹੀ functions ਦੀ ਚੋਣ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ।
ਆਪਣੇ context ਨੂੰ ਕੰਟਰੋਲ ਕਰੋ। ਆਪਣੇ ਮਾਡਲ ਨੂੰ ਕੰਟਰੋਲ ਕਰੋ।
Source: https://dev.to/marcochavezco/the-model-doesnt-remember-you-do-3mmk
Optional learning community: https://t.me/GyaanSetuAi