మోడల్‌కు గుర్తుండదు. మీకు ఉంటుంది.

Large Language Models (LLMs)లకు మెమరీ ఉండదు.

ప్రతి చాట్ సెషన్ దాని స్వంత కాంటెక్స్ట్‌ను (context) నిల్వ చేసుకుంటుందని నేను అనుకునేవాడిని. కానీ నేను పొరబడ్డాను. మీరు ఒక LLMతో మాట్లాడినప్పుడు, మీరు తిరిగి పంపనంత వరకు అది మీ చివరి ప్రశ్నను గుర్తుంచుకోదు.

మోడల్ స్టేట్‌లెస్ (stateless). అంటే ప్రతి రిక్వెస్ట్ ఒక కొత్త ప్రారంభం అని అర్థం.

సంభాషణను సృష్టించడానికి, మీరు హిస్టరీని మీరే నిర్వహించాలి. ప్రతి కొత్త రిక్వెస్ట్‌తో పాత మెసేజ్‌లన్నింటినీ ఒక అర్రే (array) రూపంలో పంపడం ద్వారా మీరు దీనిని చేయవచ్చు.

"మెమరీ" అనేది కేవలం మెసేజ్‌ల జాబితా మాత్రమే:

  • User: హలో.
  • Assistant: హాయ్!
  • User: మీరు ఎలా ఉన్నారు?

మీరు మీ తదుపరి రిక్వెస్ట్‌లో మొదటి రెండు లైన్లను చేర్చకపోతే, మీరు ఇప్పటికే హలో చెప్పారని మోడల్‌కు తెలియదు.

నేను SDKలను ఉపయోగించకుండా ఉండటం ద్వారా దీనిని నేర్చుకున్నాను. చాలా మంది డెవలపర్లు ఈ సంక్లిష్టతను దాచడానికి Anthropic SDK వంటి సాధనాలను ఉపయోగిస్తారు. SDK మీ కోసం మెసేజ్ హిస్టరీ మరియు హెడర్లను (headers) నిర్వహిస్తుంది.

LLMs ఎలా పనిచేస్తాయో మీరు నేర్చుకోవాలనుకుంటే, దానికి బదులుగా raw fetch ఉపయోగించండి. ఎటువంటి అబ్‌స్ట్రాక్షన్ (abstraction) ఉపయోగించకండి. మీరు రిక్వెస్ట్ మరియు రెస్పాన్స్ సైకిల్‌ను మాన్యువల్‌గా నిర్వహించినప్పుడు, ప్రతి నిర్ణయాన్ని మీరు చూడగలరు.

ఈ మాన్యువల్ కంట్రోల్ ద్వారా మీరు తర్వాత అధునాతన వ్యూహాలను (strategies) రూపొందించవచ్చు, ఉదాహరణకు:

  • సుదీర్ఘమైన చాట్‌లను నిర్వహించడానికి Sliding windows.
  • Retrieval Augmented Generation (RAG).
  • Semantic search.

ఈ అర్రేను అర్థం చేసుకోవడమే AI డెవలప్‌మెంట్‌కు పునాది. కాంటెక్స్ట్‌ను అందించేది మీరే. మీరు పంపిన దానిని మాత్రమే మోడల్ తెలుసుకోగలదు.

మూలం: https://dev.to/marcochavezco/the-model-doesnt-remember-you-do-3mmk