Kumbukumbu ya Mazungumzo kwa LangChain Agents
Unaweza kuwafanya LangChain agents wawe wenye akili zaidi kwa kuongeza kumbukumbu (memory). Hii inawaruhusu kukumbuka ukweli kutoka kwa ujumbe uliopita.
Katika chapisho hili, ninageuza support agent kuwa zana ya mazungumzo ya awamu nyingi (multi-turn tool).
Katika awamu ya kwanza, agent hutafuta mteja na ankara (invoice). Katika awamu ya pili, agent hutengeneza tiketi bila kuuliza tena ID.
Dhana tatu muhimu za kuzijua:
- Checkpointer: Hii hufanya kazi kama kumbukumbu ya muda mfupi. Huhifadhi ujumbe na hali (state) baada ya kila hatua.
- thread_id: Hii ndiyo funguo yako ya mazungumzo. Tumia ID ile ile ili kuendeleza mazungumzo. Tumia ID mpya ili kuanza kikao kipya.
- Store: Hii ni kumbukumbu ya muda mrefu kwa ajili ya mambo kama mapendeleo ya mtumiaji.
Jinsi inavyofanya kazi katika mtiririko wa huduma (support flow):
- Mtumiaji anaomba kutafuta ID ya mteja 1042 na ankara 8891. Agent hupata data hiyo.
- Mtumiaji anasema "Tengeneza tiketi." Agent hukumbuka ID kutoka hatua ya kwanza na kukamilisha kazi hiyo.
Kwa ajili ya majaribio, tumia MemorySaver. Huhifadhi hali (state) katika mchakato wako wa ndani (local process).
Muhimu: MemorySaver hufutika wakati kodi yako inapozima. Kwa matumizi ya uzalishaji (production), tumia kanzi data (database) kama Postgres au SQLite. Kodi inabaki vile vile kwa sababu API ya thread_id haibadiliki.
Weka vikao (sessions) vikiwa vimetengana kwa kutumia thread ID tofauti kwa watumiaji tofauti. Hii inazuia data ya mtu mmoja kuvuja katika mazungumzo ya mtu mwingine.
Angalia folda ya langchain-agent-memory-nodejs-demo kwa ajili ya skripti kamili.
Chanzo: https://dev.to/zsevic/conversation-memory-for-langchain-agents-31pa
Jumuiya ya kujifunza ya hiari: https://t.me/GyaanSetuAi