ਮਾਡਲ ਨੂੰ ਯਾਦ ਨਹੀਂ ਰਹਿੰਦਾ। ਤੁਹਾਨੂੰ ਰਹਿੰਦਾ ਹੈ।

ਮੈਂ ਸੋਚਦਾ ਸੀ ਕਿ Large Language Models (LLMs) ਕੋਲ ਯਾਦਦਾਸ਼ਤ ਹੁੰਦੀ ਹੈ।

ਮੈਨੂੰ ਲੱਗਦਾ ਸੀ ਕਿ ਹਰ ਚੈਟ ਸੈਸ਼ਨ ਆਪਣਾ ਸੰਦਰਭ (context) ਸਟੋਰ ਕਰਦਾ ਹੈ। ਮੈਂ ਗਲਤ ਸੀ।

LLMs stateless ਹੁੰਦੇ ਹਨ। ਮਾਡਲ ਇੱਕ ਰਿਕੁਐਸ ਤੋਂ ਦੂਜੀ ਰਿਕੁਐਸ ਤੱਕ ਕੁਝ ਵੀ ਯਾਦ ਨਹੀਂ ਰੱਖਦਾ।

ਜਦੋਂ ਤੁਸੀਂ ਚੈਟ ਹਿਸਟਰੀ ਦੇਖਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਮੈਸੇਜਾਂ ਦੇ ਇੱਕ ਐਰੇ (array) ਨੂੰ ਦੇਖ ਰਹੇ ਹੁੰਦੇ ਹੋ। ਇੱਕ ਗੱਲਬਾਤ ਬਣਾਉਣ ਲਈ, ਤੁਹਾਨੂੰ ਹਰ ਨਵੇਂ ਪ੍ਰੋਂਪਟ (prompt) ਦੇ ਨਾਲ ਪੂਰੀ ਹਿਸਟਰੀ ਮਾਡਲ ਨੂੰ ਵਾਪਸ ਭੇਜਣੀ ਪੈਂਦੀ ਹੈ।

ਜੇਕਰ ਤੁਸੀਂ SDK ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋ, ਤਾਂ ਇਹ ਪ੍ਰਕਿਰਿਆ ਲੁਕੀ ਰਹਿੰਦੀ ਹੈ। SDK ਤੁਹਾਡੇ ਲਈ ਇਸ ਦੀ ਗੁੰਝਲਦਾਰਤਾ ਨੂੰ ਸੰਭਾਲ ਲੈਂਦਾ ਹੈ।

ਜੇਕਰ ਤੁਸੀਂ raw fetch ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ ਸਭ ਕੁਝ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ। ਤੁਸੀਂ ਹੈਡਰ (headers), ਬਾਡੀ (body), ਅਤੇ ਮੈਸੇਜ ਐਰੇ (message array) ਨੂੰ ਖੁਦ ਪ੍ਰਬੰਧਿਤ ਕਰਦੇ ਹੋ।

ਸੰਦਰਭ (context) ਇਸ ਤਰ੍ਹਾਂ ਕੰਮ ਕਰਦਾ ਹੈ:

• ਤੁਸੀਂ ਇੱਕ ਮੈਸੇਜ ਭੇਜਦੇ ਹੋ। • ਮਾਡਲ ਜਵਾਬ ਦਿੰਦਾ ਹੈ। • ਤੁਸੀਂ ਦੋਵੇਂ ਮੈਸੇਜ ਇੱਕ ਐਰੇ ਵਿੱਚ ਸੇਵ ਕਰਦੇ ਹੋ। • ਤੁਸੀਂ ਅਗਲੇ ਸਵਾਲ ਲਈ ਪੂਰਾ ਐਰੇ ਵਾਪਸ ਭੇਜਦੇ ਹੋ।

ਮਾਡਲ ਸਿਰਫ਼ ਉਹੀ ਜਾਣਦਾ ਹੈ ਜੋ ਤੁਸੀਂ ਮੌਜੂਦਾ ਰਿਕੁਐਸ ਵਿੱਚ ਭੇਜਦੇ ਹੋ। ਬਾਕੀ ਸਭ ਕੁਝ ਖਤਮ ਹੋ ਜਾਂਦਾ ਹੈ।

ਇਸ ਐਰੇ ਨੂੰ ਸਮਝਣਾ AI ਡਿਵੈਲਪਮੈਂਟ ਦੀ ਨੀਂਹ ਹੈ। ਇਹ RAG, sliding windows, ਅਤੇ semantic search ਵਰਗੀਆਂ ਉੱਨਤ ਵਿਧੀਆਂ ਲਈ ਸ਼ੁਰੂਆਤੀ ਬਿੰਦੂ ਹੈ।

ਜੇਕਰ ਤੁਸੀਂ ਭਰੋਸੇਯੋਗ AI ਟੂਲ ਬਣਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਐਬਸਟਰੈਕਸ਼ਨ (abstractions) 'ਤੇ ਨਿਰਭਰ ਕਰਨਾ ਬੰਦ ਕਰੋ। ਰੋਅ ਰਿਕੁਐਸਟਸ (raw requests) ਨੂੰ ਦੇਖੋ। ਹਿਸਟਰੀ ਨੂੰ ਖੁਦ ਕੰਟਰੋਲ ਕਰੋ।

ਪੂਰੀ ਪੋਸਟ: https://dev.to/marcochavezco/the-model-doesnt-remember-you-do-38jk