𝗧𝗵𝗲 𝗠𝗼𝗱𝗲𝗹 𝗗𝗼𝗲𝘀𝗻'𝘁 𝗥𝗲𝗺𝗲𝗺𝗯𝗲𝗿. 𝗬𝗼𝘂 𝗗𝗼.

Large Language Models (LLMs)-ന് ഓർമ്മയില്ല.

ഓരോ ചാറ്റ് സെഷനും അതിന്റെ കോൺടെക്സ്റ്റ് (context) സ്വയം സൂക്ഷിക്കുന്നുണ്ടെന്നാണ് ഞാൻ കരുതിയിരുന്നത്. എന്നാൽ ഞാൻ തെറ്റി었습니다. നിങ്ങൾ ഒരു LLM-നോട് സംസാരിക്കുമ്പോൾ, മുൻപത്തെ ചോദ്യം വീണ്ടും അയച്ചു കൊടുത്തില്ലെങ്കിൽ അത് ഓർമ്മിച്ചുവെക്കില്ല.

മോഡൽ 'stateless' ആണ്. അതായത് ഓരോ റിക്വസ്റ്റും ഒരു പുതിയ തുടക്കമാണ്.

ഒരു സംഭാഷണം സൃഷ്ടിക്കാൻ, നിങ്ങൾ തന്നെ ഹിസ്റ്ററി മാനേജ് ചെയ്യണം. ഓരോ പുതിയ റിക്വസ്റ്റിനൊപ്പവും മുൻപത്തെ എല്ലാ സന്ദേശങ്ങളുടെയും ഒരു array അയച്ചുകൊണ്ടാണ് നിങ്ങൾ ഇത് ചെയ്യുന്നത്.

"മെമ്മറി" എന്നത് സന്ദേശങ്ങളുടെ ഒരു ലിസ്റ്റ് മാത്രമാണ്:

  • User: ഹലോ.
  • Assistant: ഹായ്!
  • User: സുഖമാണോ?

നിങ്ങളുടെ അടുത്ത റിക്വസ്റ്റിൽ ആദ്യത്തെ രണ്ട് വരികൾ ഉൾപ്പെടുത്തിയില്ലെങ്കിൽ, നിങ്ങൾ നേരത്തെ ഹലോ പറഞ്ഞിട്ടുണ്ടെന്ന് മോഡലിന് അറിയില്ല.

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

LLM-കൾ എങ്ങനെയാണ് പ്രവർത്തിക്കുന്നതെന്ന് പഠിക്കണമെന്നുണ്ടെങ്കിൽ, പകരം raw fetch ഉപയോഗിക്കുക. ഒരു abstraction ഉപയോഗിക്കരുത്. റിക്വസ്റ്റ്, റെസ്പോൺസ് സൈക്കിൾ എന്നിവ നിങ്ങൾ നേരിട്ട് മാനേജ് ചെയ്യുമ്പോൾ, ഓരോ തീരുമാനവും നിങ്ങൾക്ക് കാണാൻ സാധിക്കും.

ഈ മാനുവൽ കൺട്രോൾ ഉപയോഗിച്ച് പിന്നീട് താഴെ പറയുന്ന അഡ്വാൻസ്ഡ് സ്ട്രാറ്റജികൾ നിർമ്മിക്കാൻ നിങ്ങൾക്ക് സാധിക്കും:

  • നീളമുള്ള ചാറ്റുകൾ മാനേജ് ചെയ്യാൻ sliding windows.
  • Retrieval Augmented Generation (RAG).
  • Semantic search.

ഈ array മനസ്സിലാക്കുക എന്നത് AI ഡെവലപ്‌മെന്റിന്റെ അടിസ്ഥാനമാണ്. നിങ്ങൾ നൽകുന്ന കോൺടെക്സ്റ്റ് ആണ് മോഡലിന് ലഭിക്കുന്നത്. നിങ്ങൾ എന്ത് അയക്കുന്നുവോ അത് മാത്രമേ മോഡലിന് അറിയൂ.

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