Skip to content

Latest commit

 

History

History
170 lines (88 loc) · 13 KB

File metadata and controls

170 lines (88 loc) · 13 KB

Kumbukumbu kwa Maajenti wa AI

Kumbukumbu za Maajenti

Wakati tunajadili faida za kipekee za kuunda Maajenti wa AI, mambo mawili yanajadiliwa zaidi: uwezo wa kuitisha zana kumaliza kazi na uwezo wa kuboresha kwa wakati. Kumbukumbu iko katika msingi wa kuunda maajenti wanaojiboresha ambao wanaweza kuunda uzoefu bora kwa watumiaji wetu.

Katika somo hili, tutaangalia ni nini kumbukumbu inamaanisha kwa Maajenti wa AI na jinsi tunavyoweza kuisimamia na kuitumia kwa manufaa ya programu zetu.

Utangulizi

Somo hili litajumuisha:

Kuelewa Kumbukumbu za Maajenti wa AI: Nini kumbukumbu ni na kwa nini ni muhimu kwa maajenti.

Kutumia na Kuhifadhi Kumbukumbu: Mbinu za vitendo za kuongeza uwezo wa kumbukumbu kwa maajenti yako wa AI, tukilenga kumbukumbu za muda mfupi na muda mrefu.

Kufanya Maajenti wa AI Kujiboresha: Jinsi kumbukumbu inavyowawezesha maajenti kujifunza kutokana na mwingiliano ya zamani na kuboresha kwa wakati.

Utekelezaji Vilivyopatikana

Somo hili linajumuisha mafunzo mawili kamili ya daftari:

13-agent-memory.ipynb: Inatekeleza kumbukumbu kwa kutumia Mem0 na Azure AI Search na mfumo wa Semantic Kernel

13-agent-memory-cognee.ipynb: Inatekeleza kumbukumbu iliyopangwa kwa kutumia Cognee, ikijenga kwa moja maarifa ya grafu yenye embeding, kuonyesha grafu, na upokezi wenye akili

Malengo ya Kujifunza

Baada ya kumaliza somo hili, utajua jinsi ya:

Kutofautisha kati ya aina mbalimbali za kumbukumbu za maajenti wa AI, ikiwa ni pamoja na kumbukumbu za kazi, za muda mfupi, na za muda mrefu, pamoja na aina maalum kama kumbukumbu za persona na za kipindi (episodic).

Kutumia na kusimamia kumbukumbu za muda mfupi na muda mrefu kwa maajenti wa AI kwa kutumia mfumo wa Semantic Kernel, ukitumia zana kama Mem0, Cognee, Whiteboard memory, na kuunganishwa na Azure AI Search.

Kuelewa kanuni nyuma ya maajenti wanaojiboresha na jinsi mifumo thabiti ya usimamizi wa kumbukumbu inavyochangia kujifunza na kuendana kwa mfululizo.

Kuelewa Kumbukumbu za Maajenti wa AI

Katika msingi wake, kumbukumbu kwa maajenti wa AI inarejea mifumo inayowaruhusu kuhifadhi na kukumbuka taarifa. Taarifa hizi zinaweza kuwa maelezo maalum kuhusu mazungumzo, mapendeleo ya mtumiaji, vitendo vya zamani, au hata mifumo iliyojifunza.

Bila kumbukumbu, programu za AI mara nyingi hazina hali, ikimaanisha kila mwingiliano unaanza kutoka mwanzo. Hii huleta uzoefu wa mtumiaji unaorudia na unaochosha ambapo maajenti "husahau" muktadha au mapendeleo ya awali.

Kwa nini Kumbukumbu ni Muhimu?

akili ya maajenti imeunganishwa kwa undani na uwezo wake wa kukumbuka na kutumia taarifa za zamani. Kumbukumbu inawawezesha maajenti kuwa:

Waakisi: Kujifunza kutoka kwa vitendo na matokeo ya zamani.

Waingilivu: Kudumisha muktadha juu ya mazungumzo yanayoendelea.

Wanaotabiri na Kujibu: Kutabiri mahitaji au kujibu ipasavyo kulingana na data ya kihistoria.

Wanaojitegemea: Kufanya kazi kwa uhuru zaidi kwa kuchukua maarifa yaliyohifadhiwa.

Lengo la kutekeleza kumbukumbu ni kufanya maajenti wawe waaminifu na wenye uwezo zaidi.

Aina za Kumbukumbu

Kumbukumbu za Kazi

Fikiria hii kama karatasi ya kuandika majaribio ambayo maajenti hutumia wakati wa kazi moja au mchakato wa mawazo unaoendelea. Inashikilia taarifa za papo hapo zinazohitajika kuhesabu hatua inayofuata.

Kwa maajenti wa AI, kumbukumbu za kazi mara nyingi zinakamata taarifa muhimu zaidi kutoka kwa mazungumzo, hata kama historia kamili ya mazungumzo ni ndefu au imekatishwa. Inalenga kutoa vipengele muhimu kama mahitaji, mapendekezo, maamuzi, na vitendo.

Mfano wa Kumbukumbu za Kazi

Katika maajenti wa kuweka tiketi za kusafiri, kumbukumbu za kazi zinaweza kukamata ombi la mtumiaji la sasa, kama "Nataka kuweka safari kwenda Paris". Mahitaji maalum haya yanashikiliwa kwenye muktadha wa papo hapo wa maajenti ili kuongoza mwingiliano wa sasa.

Kumbukumbu za Muda Mfupi

Aina hii ya kumbukumbu inahifadhi taarifa kwa muda wa mazungumzo au kikao kimoja. Ni muktadha wa gumzo la sasa, kuruhusu maajenti kurejea nyuma kwa milinganyo ya awali ya mazungumzo.

Mfano wa Kumbukumbu za Muda Mfupi

Ikiwa mtumiaji anaweza kuuliza, "Ndege kwenda Paris itagharimu kiasi gani?" na kisha kuendelea na "Je, kuhusu malazi huko?" kumbukumbu za muda mfupi zinahakikisha maajenti anajua "huko" inarejea "Paris" ndani ya mazungumzo huo huo.

Kumbukumbu za Muda Mrefu

Hii ni taarifa inayodumu kupitia mazungumzo au vikao vingi. Inamruhusu maajenti kukumbuka mapendeleo ya mtumiaji, mwingiliano wa kihistoria, au maarifa ya jumla kwa vipindi virefu. Hii ni muhimu kwa kubinafsisha.

Mfano wa Kumbukumbu za Muda Mrefu

Kumbukumbu za muda mrefu zinaweza kuhifadhi kuwa "Ben anafurahia skiing na shughuli za nje, anapenda kahawa yenye mtazamo wa mlima, na anakataa mizinga ngumu za skiing kutokana na jeraha la zamani". Taarifa hii, iliyojifunzwa kutoka kwa mwingiliano wa awali, itaathiri mapendekezo katika upangaji wa safari za baadaye, na kuyafanya kuwa ya kibinafsi zaidi.

Kumbukumbu za Persona

Aina maalum ya kumbukumbu hii husaidia maajenti kukuza "mtazamo" au "persona" thabiti. Inamruhusu maajenti kukumbuka maelezo kuhusu yeye mwenyewe au nafasi yake iliyokusudiwa, na kufanya mwingiliano uwe rahisi na uliolengwa zaidi.

Mfano wa Kumbukumbu za Persona Ikiwa maajenti wa kusafiri ameundwa kuwa "mtaalamu wa upangaji wa skiing," kumbukumbu za persona zinaweza kuimarisha nafasi hii, zikichangia majibu yake kuendana na sauti na maarifa ya mtaalamu.

Kumbukumbu za Mchakato/Kipindi (Workflow/Episodic)

Kumbukumbu hii inahifadhi mfululizo wa hatua ambazo maajenti huchukua wakati wa kazi tata, pamoja na mafanikio na kushindwa. Ni kama kukumbuka "kipindi" maalum au uzoefu wa zamani ili kujifunza kutokana navyo.

Mfano wa Kumbukumbu za Kipindi

Ikiwa maajenti alijaribu kuweka tiketi ya ndege maalum lakini ikashindwa kutokana na upungufu wa nafasi, kumbukumbu za kipindi zinaweza kurekodi kushindwa huko, kumruhusu maajenti kujaribu ndege mbadala au kumjulisha mtumiaji kuhusu tatizo kwa njia iliyo na taarifa zaidi katika jaribio la baadaye.

Kumbukumbu za Entiti

Hii inahusisha kutoa na kukumbuka entiti maalum (kama watu, maeneo, au vitu) na matukio kutoka kwa mazungumzo. Inamruhusu maajenti kujenga uelewa uliopangwa wa vipengele muhimu vilivyojadiliwa.

Mfano wa Kumbukumbu za Entiti

Kutoka kwa mazungumzo kuhusu safari ya zamani, maajenti anaweza kutoa "Paris," "Mnara wa Eiffel," na "chakula cha jioni katika mgahawa Le Chat Noir" kama entiti. Katika mwingiliano wa baadaye, maajenti anaweza kukumbuka "Le Chat Noir" na kutoa kufanya uhifadhi mpya hapo.

Structured RAG (Retrieval Augmented Generation)

Wakati RAG ni mbinu pana, "Structured RAG" imetajwa kama teknolojia yenye nguvu ya kumbukumbu. Inatoa habari nyembamba, iliyopangwa kutoka vyanzo mbalimbali (mazungumzo, barua pepe, picha) na kuitumia kuboresha usahihi, uzito wa kukumbuka, na kasi ya majibu. Tofauti na RAG ya kawaida inayozingatia tu ulinganishaji wa semantiki, Structured RAG inafanya kazi na muundo wa asili wa taarifa.

Mfano wa Structured RAG

Badala ya kulinganisha maneno muhimu tu, Structured RAG inaweza kuchambua maelezo ya ndege (mahali, tarehe, wakati, shirika la ndege) kutoka kwa barua pepe na kuyahifadhi kwa njia iliyopangwa. Hii inaruhusu maswali sahihi kama "Niliweka ndege gani kwenda Paris siku ya Jumanne?"

Kutumia na Kuhifadhi Kumbukumbu

Kutumia kumbukumbu kwa maajenti wa AI kunahusisha mchakato wa kimfumo wa usimamizi wa kumbukumbu, ambao unajumuisha kuzalisha, kuhifadhi, kuvitafuta, kuingiza, kusasisha, na hata "kusahau" (au kufuta) taarifa. Uvitafuta ni kipengele muhimu sana.

Zana Maalum za Kumbukumbu

Mem0

Moja ya njia za kuhifadhi na kusimamia kumbukumbu za maajenti ni kutumia zana maalum kama Mem0. Mem0 hufanya kazi kama safu ya kumbukumbu ya kudumu, ikiruhusu maajenti kukumbuka mwingiliano muhimu, kuhifadhi mapendeleo ya mtumiaji na muktadha wa kihakika, na kujifunza kutoka kwa mafanikio na kushindwa kwa wakati. Wazo hapa ni kwamba maajenti wasio na hali wanageuka kuwa wa hali.

Inafanya kazi kupitia mchakato wa kumbukumbu wa awamu mbili: uchimbaji na sasisho. Kwanza, ujumbe unaoongezwa kwenye thread ya maajenti unatumwa kwa huduma ya Mem0, ambayo inatumia Large Language Model (LLM) kufupisha historia ya mazungumzo na kuchimba kumbukumbu mpya. Baadaye, awamu ya sasisho inayotokana na LLM inaamua kama kuongeza, kubadilisha, au kufuta kumbukumbu hizo, zikihakikisha katika duka la data lenye mseto linaloweza kujumuisha vector, grafu, na key-value databases. Mfumo huu pia unaunga mkono aina mbalimbali za kumbukumbu na unaweza kuingiza grafu za kumbukumbu kwa kusimamia uhusiano kati ya entiti.

Cognee

Njia nyingine yenye nguvu ni kutumia Cognee, kumbukumbu ya semantiki ya chanzo huria kwa maajenti wa AI ambayo hubadilisha data iliyopangwa na isiyopangwa kuwa grafu za maarifa zinazoweza kutafutwa zilizo supported na embeddings. Cognee inatoa miundo ya uhifadhi wa pande mbili inayochanganya utafutaji wa ulinganishaji wa vector na uhusiano wa grafu, kuwaruhusu maajenti kuelewa sio tu ni habari gani inafanana, bali pia jinsi dhana zinavyohusiana.

Inabobea katika uvutaji mseto unaochanganya ulinganishaji wa vector, muundo wa grafu, na reasoning ya LLM - kutoka tafutaji la kipande cha raw hadi maswali yanayojua grafu. Mfumo huweka kumbukumbu zinazoishi ambazo zinaendelea na kukua huku zikibaki zinatafutika kama grafu moja iliyounganishwa, ikisaidia muktadha wa kikao cha muda mfupi na kumbukumbu ya kudumu ya muda mrefu.

Daftari la mafunzo la Cognee (13-agent-memory-cognee.ipynb) linaonyesha jinsi ya kujenga safu hii ya kumbukumbu iliyounganishwa, na mifano ya vitendo ya kuingiza vyanzo mbalimbali vya data, kuonyesha grafu za maarifa, na kuuliza kwa mikakati tofauti ya utafutaji iliyobinafsishwa kwa mahitaji maalum ya maajenti.

Kuhifadhi Kumbukumbu kwa RAG

Mbali na zana maalum za kumbukumbu kama mem0 , unaweza kutumia huduma za utafutaji thabiti kama Azure AI Search kama backend kwa kuhifadhi na kupata kumbukumbu, hasa kwa Structured RAG.

Hii inakuwezesha kuweka majibu ya maajenti yako kuwa ya msingi kwa data yako mwenyewe, kuhakikisha majibu yanayofaa na sahihi zaidi. Azure AI Search inaweza kutumika kuhifadhi kumbukumbu za kusafiri zinazohusiana na mtumiaji, katalogi za bidhaa, au maarifa yoyote maalum ya eneo.

Azure AI Search inaunga mkono uwezo kama Structured RAG, ambao ni mzuri katika kutoa na kupata taarifa nyembamba, zilizopangwa kutoka kwenye seti kubwa za data kama historia za mazungumzo, barua pepe, au hata picha. Hii inatoa "usahihi na ukumbukaji wa juu zaidi" ikilinganishwa na mbinu za kawaida za kuchonga maandishi na embeddings.

Kufanya Maajenti wa AI Kujiboresha

Mfumo unaotumika mara nyingi kwa maajenti wanaojiboresha unahusisha kuanzisha "maajenti wa maarifa". Maajenti huyu tofauti hunzaa mazungumzo kuu kati ya mtumiaji na maajenti mkuu. Jukumu lake ni:

  1. Kutambua taarifa za thamani: Kuamua kama sehemu yoyote ya mazungumzo inafaa kuhifadhiwa kama maarifa ya jumla au mapendeleo maalum ya mtumiaji.

  2. Kuchimba na kufupisha: Kubana kujifunza muhimu au upendeleo kutoka kwa mazungumzo.

  3. Kuhifadhi katika hifadhidata ya maarifa: Kuhifadhi taarifa hii iliyochimbwa, mara nyingi katika vector database, ili iweze kupatikana baadaye.

  4. Kuongeza kwenye maswali ya baadaye: Wakati mtumiaji anaanzisha swali jipya, maajenti wa maarifa hukamata taarifa zinazohusiana zilizohifadhiwa na kuziambatisha kwenye prompt ya mtumiaji, kutoa muktadha muhimu kwa maajenti mkuu (sawa na RAG).

Uboreshaji wa Kumbukumbu

Usimamizi wa Latency: Ili kuepuka kuchelewesha mwingiliano wa mtumiaji, mfano wa bei nafuu na wa haraka unaweza kutumika kwanza haraka kuchunguza kama taarifa ni muhimu kuhifadhi au kupata, na kuwaitisha mchakato wa uchimbaji/uvutaji wa ngumu tu wakati inahitajika.

Matengenezo ya Hifadhidata ya Maarifa: Kwa hifadhidata inayoendelea kukua, taarifa zinazotumiwa kwa ukawaida chini zinaweza kuhamishwa kwenye "uwekaji wa baridi" ili kudhibiti gharama.

Je, Una Maswali Zaidi Kuhusu Kumbukumbu za Maajenti?

Jiunge na Discord ya Microsoft Foundry kutana na wanafunzi wengine, kuhudhuria saa za ofisi na kupata maswali yako kuhusu Maajenti ya AI yajibiwe.


Onyo la kutokuwajibika: Nyaraka hii imetafsiriwa kwa kutumia huduma ya tafsiri ya AI [Co-op Translator] (https://github.com/Azure/co-op-translator). Ingawa tunajitahidi kuhakikisha usahihi, tafadhali fahamu kwamba tafsiri za kiotomatiki zinaweza kuwa na makosa au ukosefu wa usahihi. Nyaraka ya asili kwa lugha yake ya asili inapaswa kuchukuliwa kama chanzo chenye mamlaka. Kwa taarifa muhimu, tunapendekeza utumie tafsiri ya mtaalamu wa kibinadamu. Hatuwajibiki kwa kutokuelewana au tafsiri potofu zitokanazo na matumizi ya tafsiri hii.