મોડેલને યાદ નથી રહેતું. તમને યાદ રહે છે.
Large Language Models (LLMs) પાસે મેમરી હોતી નથી.
મને પહેલાં લાગતું હતું કે દરેક ચેટ સેશન પોતાનો સંદર્ભ (context) સંગ્રહિત કરે છે. હું ખોટો હતો. જ્યારે તમે LLM સાથે વાત કરો છો, ત્યારે તે તમારા છેલ્લા પ્રશ્નને યાદ રાખતું નથી, સિવાય કે તમે તેને ફરીથી મોકલો.
મોડેલ સ્ટેટલેસ (stateless) છે. આનો અર્થ એ છે કે દરેક રિક્વેસ્ટ એક નવી શરૂઆત છે.
વાતચીત કરવા માટે, તમારે ઇતિહાસ (history) જાતે મેનેજ કરવો પડશે. તમે દરેક નવી રિક્વેસ્ટ સાથે તમામ અગાઉના મેસેજની એક એરે (array) મોકલીને આ કરી શકો છો.
"મેમરી" એ માત્ર મેસેજની એક યાદી છે:
- User: હેલો.
- Assistant: નમસ્તે!
- User: તમે કેમ છો?
જો તમે તમારી આગામી રિક્વેસ્ટમાં પ્રથમ બે લાઇનનો સમાવેશ નહીં કરો, તો મોડેલને ખબર નહીં પડે કે તમે પહેલેથી જ હેલો કહ્યું છે.
મેં આ SDKs ટાળીને શીખ્યું છે. મોટાભાગના ડેવલપર્સ આ જટિલતા છુપાવવા માટે Anthropic SDK જેવા સાધનોનો ઉપયોગ કરે છે. SDK તમારા માટે મેસેજ હિસ્ટ્રી અને હેડર્સ સંભાળે છે.
જો તમે શીખવા માંગતા હોવ કે LLMs કેવી રીતે કામ કરે છે, તો તેના બદલે raw fetch નો ઉપયોગ કરો. કોઈ એબ્સ્ટ્રેક્શન (abstraction) નો ઉપયોગ કરશો નહીં. જ્યારે તમે રિક્વેસ્ટ અને રિસ્પોન્સ સાયકલને મેન્યુઅલી મેનેજ કરો છો, ત્યારે તમે દરેક નિર્ણય જોઈ શકો છો.
આ મેન્યુઅલ કંટ્રોલ તમને પછીથી અદ્યતન વ્યૂહરચનાઓ બનાવવાની મંજૂરી આપે છે, જેમ કે:
- લાંબી ચેટ્સ મેનેજ કરવા માટે સ્લાઇડિંગ વિન્ડોઝ (Sliding windows).
- Retrieval Augmented Generation (RAG).
- Semantic search.
આ એરેને સમજવું એ AI ડેવલપમેન્ટનો પાયો છે. તમે જ સંદર્ભ (context) પૂરો પાડનાર છો. મોડેલ ફક્ત એટલું જ જાણે છે જે તમે મોકલો છો.
Source: https://dev.to/marcochavezco/the-model-doesnt-remember-you-do-3mmk