മോഡലിന് ഓർമ്മയില്ല. നിങ്ങൾക്ക് ഉണ്ട്.

LLM-കൾക്ക് ഓർമ്മശക്തിയില്ല.

ഓരോ ചാറ്റും അതിന്റെ കോൺടെക്സ്റ്റ് (context) സ്വയം സൂക്ഷിക്കുന്നുണ്ടെന്നാണ് ഞാൻ കരുതിയിരുന്നത്. മോഡൽ നമ്മുടെ മുൻപത്തെ വാക്കുകൾ തനിയെ ഓർമ്മിച്ചുവെക്കുന്നുണ്ടെന്നും ഞാൻ വിചാരിച്ചു. പക്ഷേ ഞാൻ തെറ്റിദ്ധരിച്ചു.

Messages API എന്നത് stateless ആണ്. നിങ്ങൾ നിലവിലെ റിക്വസ്റ്റിൽ (request) അയക്കുന്ന കാര്യങ്ങൾ മാത്രമേ മോഡലിന് അറിയാവൂ. നിങ്ങൾക്ക് ഒരു സംഭാഷണം തുടരണമെന്നുണ്ടെങ്കിൽ, ഓരോ തവണയും സംഭാഷണത്തിന്റെ മുഴുവൻ ചരിത്രവും (history) മോഡലിന് തിരികെ അയച്ചു കൊടുക്കണം.

നിങ്ങളുടെ ഓർമ്മ എന്നത് വെറുമൊരു മെസ്സേജുകളുടെ അറേ (array) മാത്രമാണ്.

നിങ്ങൾ ഒരു ചാറ്റ് നിർമ്മിക്കുമ്പോൾ, ഈ അറേ നിങ്ങൾ തന്നെയാണ് നിയന്ത്രിക്കുന്നത്. അത് ഇപ്രകാരമാണ് കാണപ്പെടുന്നത്:

• User: ഹലോ, Claude • Assistant: ഹലോ! എനിക്ക് എങ്ങനെ സഹായിക്കാനാകും? • User: LLM-കളെക്കുറിച്ച് വിവരിക്കാമോ?

ഓരോ തവണ പുതിയൊരു ചോദ്യം ചോദിക്കുമ്പോഴും, നിങ്ങൾ ആ ലിസ്റ്റിലേക്ക് പുതിയ മെസ്സേജ് ചേർക്കുകയും (append) ആ ലിസ്റ്റ് മുഴുവനായി API-ലേക്ക് അയക്കുകയും ചെയ്യുന്നു.

SDK-കൾ ഒഴിവാക്കിയാണ് ഞാൻ ഇത് പഠിച്ചത്. മിക്ക ഡെവലപ്പർമാരും Anthropic SDK പോലുള്ള ടൂളുകളാണ് ഉപയോഗിക്കുന്നത്. ഈ ടൂളുകൾ സങ്കീർണ്ണതകൾ മറച്ചുവെക്കുന്നു. അവ നിങ്ങൾക്കായി retries-ഉം headers-ഉം കൈകാര്യം ചെയ്യുന്നു.

പകരം ഞാൻ raw fetch ഉപയോഗിക്കാൻ തീരുമാനിച്ചു. ഇത് headers-ഉം request body-യും നേരിട്ട് (manually) കൈകാര്യം ചെയ്യാൻ എന്നെ നിർബന്ധിതനാക്കി. ഇത് അബ്സ്ട്രാക്ഷൻ (abstraction) ഒഴിവാക്കി. ഡാറ്റ കൃത്യമായി എങ്ങനെയാണ് നീങ്ങുന്നതെന്ന് എനിക്ക് കാണാൻ സാധിച്ചു.

ഈ ആശയം മറ്റെല്ലാറ്റിന്റെയും അടിസ്ഥാനമാണ്. നിങ്ങൾക്ക് അഡ്വാൻസ്ഡ് സിസ്റ്റങ്ങൾ നിർമ്മിക്കണമെന്നുണ്ടെങ്കിൽ, ഈ അറേയെക്കുറിച്ച് നിങ്ങൾ അറിഞ്ഞിരിക്കണം. RAG അല്ലെങ്കിൽ sliding windows പോലുള്ള സ്ട്രാറ്റജികൾ എല്ലാം തുടങ്ങുന്നത് ഈ മെസ്സേജ് ലിസ്റ്റ് നിങ്ങൾ എങ്ങനെ കൈകാര്യം ചെയ്യുന്നു എന്നതിലൂടെയാണ്.

ഒരിക്കൽ നിങ്ങൾ ഹിസ്റ്ററി കൈകാര്യം ചെയ്യാൻ പഠിച്ചുകഴിഞ്ഞാൽ, നിങ്ങൾക്ക് ടൂൾ ഉപയോഗത്തിലേക്ക് (tool use) മാറാം. ഇത് മോഡലിന് ടാസ്ക്കുകൾ ചെയ്യാനും ശരിയായ ഫംഗ്ഷനുകൾ തിരഞ്ഞെടുക്കാനും സഹായിക്കുന്നു.

നിങ്ങളുടെ കോൺടെക്സ്റ്റ് നിയന്ത്രിക്കുക. നിങ്ങളുടെ മോഡലിനെ നിയന്ത്രിക്കുക.

Source: https://dev.to/marcochavezco/the-model-doesnt-remember-you-do-3mmk

Optional learning community: https://t.me/GyaanSetuAi