மாடலுக்கு நினைவாற்றல் இல்லை. உங்களுக்கு உண்டு.
Large Language Models (LLMs) நினைவாற்றல் கொண்டவை என்று நான் முன்பு நினைத்தேன்.
ஒவ்வொரு சாட் செஷனும் (chat session) அதன் சொந்த சூழலை (context) சேமித்து வைக்கும் என்று நான் நினைத்தேன். நான் தவறாக இருந்தேன்.
LLM-கள் stateless. ஒரு கோரிக்கையிலிருந்து (request) அடுத்த கோரிக்கை வரை மாடல் எதையும் நினைவில் வைத்துக்கொள்ளாது.
நீங்கள் ஒரு சாட் வரலாற்றைப் (chat history) பார்க்கும்போது, உண்மையில் நீங்கள் செய்திகளின் ஒரு வரிசையை (array of messages) தான் பார்க்கிறீர்கள். ஒரு உரையாடலை உருவாக்க, ஒவ்வொரு புதிய ப்ராம்ப்ட் (prompt) உடன் முழு வரலாற்றையும் மாடலுக்கு மீண்டும் அனுப்ப வேண்டும்.
நீங்கள் ஒரு SDK-வைப் பயன்படுத்தினால், இந்தச் செயல்முறை மறைந்திருக்கும். SDK உங்களுக்காக இந்தச் சிக்கல்களைக் கையாண்டுவிடும்.
நீங்கள் raw fetch-ஐப் பயன்படுத்தினால், அனைத்தையும் நீங்கள் பார்க்கலாம். ஹெடர்கள் (headers), பாடி (body) மற்றும் மெசேஜ் அரே (message array) ஆகியவற்றை நீங்களே நிர்வகிக்க வேண்டும்.
சூழல் (context) இவ்வாறுதான் செயல்படுகிறது:
• நீங்கள் ஒரு செய்தியை அனுப்புகிறீர்கள். • மாடல் பதிலளிக்கிறது. • நீங்கள் இரண்டு செய்திகளையும் ஒரு அரே-வில் (array) சேமிக்கிறீர்கள். • அடுத்த கேள்விக்காக அந்த முழு அரேவையும் மீண்டும் அனுப்புகிறீர்கள்.
தற்போதைய கோரிக்கையில் (current request) நீங்கள் எதை அனுப்புகிறீர்களோ அதை மட்டுமே மாடலுக்குத் தெரியும். மற்ற அனைத்தும் மறைந்துவிடும்.
இந்த அரே-வைப் (array) புரிந்துகொள்வதுதான் AI மேம்பாட்டின் அடிப்படை. RAG, sliding windows மற்றும் semantic search போன்ற மேம்பட்ட முறைகளுக்கான தொடக்கப்புள்ளி இதுவேயாகும்.
நீங்கள் நம்பகமான AI கருவிகளை உருவாக்க விரும்பினால், அப்ஸ்ட்ராக்ஷன்களை (abstractions) சார்ந்திருப்பதை நிறுத்துங்கள். நேரடி கோரிக்கைகளை (raw requests) கவனியுங்கள். வரலாற்றை நீங்களே கட்டுப்படுத்துங்கள்.
முழு பதிவு: https://dev.to/marcochavezco/the-model-doesnt-remember-you-do-38jk