Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Important
Ez a funkció bétaverzióban érhető el.
A memóriafolyamat hosszú távú memóriát épít fel az ügynököd korábbi beszélgetéseiből. Beolvassa a beszélgetéstörténetet egy session store-ból, és hosszú távú emlékeket, például tényeket, preferenciákat és eljárásokat párol le egy memory store-ba. Az ügynököd ezután ugyanúgy felidézi ezeket az emlékeket a későbbi beszélgetésekben, ahogyan a saját maga által elmentett emlékeket is.
Az az ügynök, amely egy beszélgetés során emlékeket ment, egyszerre egy beszélgetésből írja azokat, csak az adott beszélgetés kontextusát használva. Sok beszélgetés során az emlékezete átfedő és ellentmondó bejegyzéseket gyűjt, és olyan tények, amelyeket az ügynök nem gondolt arra, hogy elmentse, nem jutnak el az emlékezetbe. A memóriafolyamat utólag működik, az aktor összes beszélgetésének és meglévő memóriájának áttekintésével, így rögzítheti, amit az ügynök kihagyott, és konszolidálva tartja a memóriát.
Használj memóriafolyamatcsövet, amikor szeretnéd:
- Építs hosszú távú memóriát a beszélgetésekből anélkül, hogy memóriaíró eszközöket adnál az ügynöködnek.
- Töltse fel visszamenőleg a memóriát a beszélgetési előzményekből, amelyeket a munkamenettár már tárol.
- Tartsd rendszerezve az emlékeket az idő múlásával az átfedő bejegyzések összevonásával és a túlméretezettek felosztásával.
Használhatsz memóriafolyamatot önmagában vagy a memóriaeszközök mellett, amelyeket az ügynököd a beszélgetés során használ.
Bankjegy
A memóriavezeték futtatásai szerver nélküli általános számítási díjszabást használnak a feladathoz, és Foundation Model Serving árképzést a modellhívásokhoz.
Requirements
- Egy munkamenettároló, amely tárolja az ügynök beszélgetéseit, és egy memóriatároló, ahová emlékeket írhatsz.
- A folyamatot létrehozó identitás számára hozzáférés mindkét tárolóhoz, beleértve a memóriatároló adatbázisában táblák létrehozására vonatkozó engedélyt is. A pipeline-futtatások ezt az identitást használják.
- Engedély a pipeline által desztilláláshoz használt modell lekérdezésére. Nélküle a pipeline futtatásai meghibásodnak.
- A CLI használatához telepítse a(z)
databricks-agentbricks0.6.0-s vagy újabb verzióját. Bármelyik nyelvről közvetlenül hívhatod a REST API-t .
Hogyan működnek a memória-folyamatcsatornák
A memóriafolyamat egy ügynöki memória-erőforrás, amely egy munkamenet-tárolót egy memóriatárolóval köt össze. Ez nem kapcsolódik a Lakeflow pipelineshez. Egy session store több memóriatárolót is táplálhat, de minden session store–memóriatároló pár csak egy pipeline-nal rendelkezhet.
- Modellhívások a Unity Gateway-en keresztül: A csővezeték a Unity Gateway-en keresztül hívja a desztillációs modelljét.
- A modell kiválasztása: A modellt akkor választod ki, amikor létrehozol egy pipeline-t, és később megváltoztathatod. Ha nem választasz egyet, a pipeline alapértelmezett modellt használ.
- Manuális vagy ütemezett futások szerver nélküli számítási környezeten: Magad indítod el a futásokat, vagy úgy konfigurálod a folyamatot, hogy körülbelül 24 óránként menetrend szerint fusson. Akárhogy is, minden futás szerver nélküli számításon egy feladatként fut, azzal az identitással, amely létrehozta a folyamatot.
A pipeline minden futása külön-külön dolgozza fel az összes szereplőt a session store-ben:
- Lepárlás: A folyamat beolvassa a színész új beszélgetéseit, és egy LLM-et használ, hogy tartós tényeket nyerjen ki belőlük.
-
Összevonás: A csővezeték deduplikálja az új tényeket, és témaalapú memóriabejegyzésekké egyesíti őket a memória tárolóban ugyanazon
actor_idalatt. - Karbantartás: A pipeline átrendezi az aktor memóriáját. Összevonja azokat a bejegyzéseket, amelyek átfednek, és szétválasztja a túl nagyra nőtt bejegyzéseket.
A memória-pipeline futásai minden aktorazonosítóhoz megőriznek egy ellenőrzőpontot. Egy futás az adott aktor utolsó sikeres futása óta az aktor összes ülését dolgozza fel, így az első futás az aktor teljes előzményeit dolgozza fel. Ha egy futtatás egy aktornál meghiúsul, az folytatódik a többi aktorral, és a következő futás újra megpróbálja a sikertelen aktort az ellenőrzési ponttól.
Ez actor_id összeköti a két adattárat. A pipeline csak azokat az aktorokat dolgozza fel, akiknek van sessionjük a session store-ban, és minden aktor emlékeit ugyanazon actor_id alá írja, amelyet az aktor sessionjei használnak. Alapértelmezés szerint a folyamat csak akkor fut, amikor elkezded a futást.
Időbeosztás szerint is futtathatod.
Bankjegy
A karbantartás minden aktor memóriabejegyzésére vonatkozik, beleértve azokat a bejegyzéseket is, amelyeket az Ön ügynöke közvetlenül mentett. A pipeline újraírhat, összevonhat, feloszthat vagy törölhet bármely bejegyzést az általa feldolgozott actor_id alatti.
Mit őriz meg egy folyamat
Egy folyamat egyedi, tartós tényeket nyer ki a beszélgetésekből. Úgy tervezték, hogy megőrizze:
- Olyan tényeket, amelyeket a felhasználó kifejezetten kimond, és azokat a preferenciákat, amelyeket kifejez, anélkül, hogy a beszélgetésben elhangzottakon túl következtetne.
- Javítások és kifejezett visszajelzések, például hogy melyik forrást használjuk a bevételi adatokhoz.
- Tartós szakterületi ismeretek, mint például hiteles források, metrikai definíciók, terminológia és csapatkonvenciók, valamint munkafolyamatok és folyamatban lévő projektek.
Úgy tervezték, hogy átugorja:
- Az élő forrásokból származó értékek, amelyek idővel változnak, például egy tábla aktuális sorszáma. Ehelyett rögzíti, hogyan találjuk meg vagy számoljuk ki az értéket.
- Olyan részletek, amelyeket az ügynök az eszközeivel meg tud keresni, például egy táblázat sémája.
- Titkok, mint például jelszavak, API kulcsok és tokenek.
Első lépések
Ezek a példák létrehoznak egy memóriafolyamatot egy támogatási ügynök munkamenetéhez és memóriatárolóihoz, elindítanak egy run-t, és ellenőrzik annak eredményét. Azonosítsa az egyes boltokat az azonosítója, az áruház létrehozásakor választott azonosítója vagy az erőforrás neve alapján, például memory-stores/support-agent-memory. Válaszd ki azt az ügyfelet, amely illik a projektedhez.
Bricks Ügynök
A Agent Bricks CLI a mentett Databricks CLI profilját használja az autentifikációhoz.
Telepítsd az Agent Bricks CLI-t, vagy frissítsd 0.6.0-ra vagy magasabbra:
pip install --upgrade databricks-agentbricksHozz létre egy csővezetéket, amely a
support-agent-memorysession tárolót asupport-agent-sessionsmemóriatárolóvá alakítja.--modelnem kötelező. Ha kihagyod, a folyamat alapértelmezett modellt használ:agentbricks memory pipeline create \ --session-store support-agent-sessions \ --memory-store support-agent-memory \ --model system.ai.claude-sonnet-5A parancs visszaadja a pipeline erőforrás nevét, az alábbi formában
memory-pipelines/<pipeline-id>.Indítsd el a pipeline futását:
agentbricks memory pipeline run <pipeline-id>A parancs visszaadja a futás erőforrás nevét , az alakban
memory-pipelines/<pipeline-id>/runs/<run-id>, és annakRUNNINGállapotát.A CLI nem jeleníti meg a futás eredményét. A teszteléshez állítsd
DATABRICKS_HOSTbe a munkaterület hosztnevedre, generálj egy OAuth tokent, és hívd meg a REST API-t:export DATABRICKS_TOKEN=$(databricks auth token --profile <profile> | jq -r .access_token) curl "https://${DATABRICKS_HOST}/api/2.0/agents/memory-pipelines/<pipeline-id>/runs/<run-id>" \ -H "Authorization: Bearer ${DATABRICKS_TOKEN}"
REST API
A CLI a /api/2.0/agents/memory-pipelines alatt hívja meg a REST API-t. Hívd közvetlenül bármely programozási nyelvből.
Generálj egy OAuth tokent a Databricks CLI-val:
databricks auth login --host ${DATABRICKS_HOST} export DATABRICKS_TOKEN=$(databricks auth token | jq -r .access_token)Hozz létre egy folyamatot, amely lepárolja az emlékeket a(z)
support-agent-sessionshelyről, és elmenti őket ide:support-agent-memory.dreamer_policy.modelnem kötelező. Ha kihagyod, a folyamat alapértelmezett modellt használ:curl -X POST "https://${DATABRICKS_HOST}/api/2.0/agents/memory-pipelines" \ -H "Authorization: Bearer ${DATABRICKS_TOKEN}" -H "Content-Type: application/json" \ -d '{"session_store": "support-agent-sessions", "memory_store": "support-agent-memory", "dreamer_policy": {"model": "system.ai.claude-sonnet-5"}}'A válasz
namemezője tartalmazza a pipeline erőforrásnevét,memory-pipelines/<pipeline-id>formátumban.Indítsd el a pipeline futását:
curl -X POST "https://${DATABRICKS_HOST}/api/2.0/agents/memory-pipelines/<pipeline-id>/run" \ -H "Authorization: Bearer ${DATABRICKS_TOKEN}" -H "Content-Type: application/json" \ -d '{}'A válasz
namemezője tartalmazza a futás erőforrásának nevét, az alábbi formábanmemory-pipelines/<pipeline-id>/runs/<run-id>.Nézd meg a futás eredményét:
curl "https://${DATABRICKS_HOST}/api/2.0/agents/memory-pipelines/<pipeline-id>/runs/<run-id>" \ -H "Authorization: Bearer ${DATABRICKS_TOKEN}"
Miután egy futtatás sikeres lesz, az ügynök lekérheti az új memóriaelemeket a memóriatároló listázási és keresési műveleteivel. Lásd Az ügynök memóriája.
Csővezeték futtatások monitorozása
A futás state eleme az alábbiak egyike:
| State | Meaning |
|---|---|
RUNNING |
A futás függőben van vagy folyamatban van. |
SUCCEEDED |
A futtatás minden szereplőt sikeresen feldolgozott. |
FAILED |
A futtatás egy vagy több aktor hibájával zárult. A error mező leírja a hibát. |
CANCELLED |
A futást még a befejezése előtt megszakították. |
Irányítsa a desztillációt utasításokkal
Az utasítások megmondják a folyamatnak, mit kell megtartani és hogyan szervezze meg. A folyamat minden szakaszban alkalmazza ezeket. Használd őket általános iránymutatásként, például:
- A témák, amelyekre érdemes fókuszálni, például az ügyfélpreferenciák és a számla adatai.
- A kihagyandó tartalom, például egyszeri hibaelhárítási lépések.
- Az útvonalak, amelyek alá a bejegyzéseket rendezni lehet.
Elrendezési utasítások nélkül a folyamat a tároló meglévő bejegyzéseinek elrendezését követi, vagy témaalapú elrendezést eredményez, amikor a tároló üres. Nem nevezi át a meglévő bejegyzéseket, hogy megfeleljenek egy új elrendezésnek. Egy adott bejegyzés megváltoztatásához a memóriatároló frissítési műveletével szerkeszd, ne utasításokkal.
Be tudod állítani a beállításokat, amikor pipeline-t készítesz, majd később módosíthatod őket. A következő futás az új utasításokat használja.
Bricks Ügynök
Az utasítások beállításához folyamat létrehozásakor add meg a következőt: --instructions
agentbricks memory pipeline create \
--session-store support-agent-sessions \
--memory-store support-agent-memory \
--instructions "Focus on durable customer preferences and account details. Ignore one-off troubleshooting steps. Organize entries under /preferences/ and /account/."
Ha hosszabb utasításokat szeretne betölteni egy UTF-8 fájlból, helyette adja meg a --instructions @<path-to-file> értéket.
A meglévő pipeline utasításainak módosításához futtassa a következőket:
agentbricks memory pipeline update <pipeline-id> \
--instructions "Keep only durable customer preferences."
REST API
A REST API-ban a pipeline dreamer_policy objektuma tartalmazza a desztillációs beállításait: instructions, trigger és model. Az utasítások beállításához csővezeték létrehozásakor foglalja bele őket ebbe: dreamer_policy.instructions
curl -X POST "https://${DATABRICKS_HOST}/api/2.0/agents/memory-pipelines" \
-H "Authorization: Bearer ${DATABRICKS_TOKEN}" -H "Content-Type: application/json" \
-d '{"session_store": "support-agent-sessions", "memory_store": "support-agent-memory", "dreamer_policy": {"instructions": "Focus on durable customer preferences and account details. Ignore one-off troubleshooting steps. Organize entries under /preferences/ and /account/."}}'
A meglévő folyamat utasításainak megváltoztatásához frissítsük a következőt: dreamer_policy.instructions
curl -X PATCH "https://${DATABRICKS_HOST}/api/2.0/agents/memory-pipelines/<pipeline-id>?update_mask=dreamer_policy.instructions" \
-H "Authorization: Bearer ${DATABRICKS_TOKEN}" -H "Content-Type: application/json" \
-d '{"dreamer_policy": {"instructions": "Keep only durable customer preferences."}}'
Indíts egy folyamatot egy ütemterv szerint
Egy ütemezett folyamat automatikusan körülbelül 24 óránként fut. Beállíthatod a triggert, amikor létrehozol egy pipeline-t, vagy később módosíthatod. Az ütemező dönti el, mikor kezdődik az első tervezett futás. A meglévő beszélgetések azonnali összefoglalásához indíts el kézzel egy folyamatot.
Bricks Ügynök
Ütemezett folyamat létrehozásához adja meg a(z) --trigger scheduled értéket. Az alapértelmezett érték a következő --trigger manual:
agentbricks memory pipeline create \
--session-store support-agent-sessions \
--memory-store support-agent-memory \
--trigger scheduled
Egy meglévő pipeline triggerének megváltoztatásához futtassa a következőt:
agentbricks memory pipeline update <pipeline-id> --trigger scheduled
Ha van ütemezett pipeline, felfüggesztheted:
agentbricks memory pipeline pause <pipeline-id>
Az ütemezett futtatások újraindításához folytassa:
agentbricks memory pipeline resume <pipeline-id>
REST API
A tervezett pipeline létrehozásához állítsuk dreamer_policy.triggerSCHEDULED-ra:
curl -X POST "https://${DATABRICKS_HOST}/api/2.0/agents/memory-pipelines" \
-H "Authorization: Bearer ${DATABRICKS_TOKEN}" -H "Content-Type: application/json" \
-d '{"session_store": "support-agent-sessions", "memory_store": "support-agent-memory", "dreamer_policy": {"trigger": "SCHEDULED"}}'
Egy meglévő folyamat eseményindítójának módosításához frissítse a(z) dreamer_policy.trigger elemet erre: SCHEDULED vagy MANUAL_ONLY:
curl -X PATCH "https://${DATABRICKS_HOST}/api/2.0/agents/memory-pipelines/<pipeline-id>?update_mask=dreamer_policy.trigger" \
-H "Authorization: Bearer ${DATABRICKS_TOKEN}" -H "Content-Type: application/json" \
-d '{"dreamer_policy": {"trigger": "SCHEDULED"}}'
Manuálisan is indíthatsz egy ütemezett pipeline futtatását, amennyiben nincs más folyamatban lévő futás.
Pipeline-ek kezelése
A következő parancsok a pipeline-ok listázására, ellenőrzésére, frissítésére és törlésére szolgálnak. Minden CLI parancs vagy a pipeline ID-jét, vagy annak teljes memory-pipelines/<pipeline-id> erőforrás nevét fogadja el.
| Task | Ügynök Bricks CLI | REST API |
|---|---|---|
| Pipeline-ek listázása | agentbricks memory pipeline list |
GET /api/2.0/agents/memory-pipelines |
| Pipeline létrehozása | agentbricks memory pipeline get <pipeline-id> |
GET /api/2.0/agents/memory-pipelines/<pipeline-id> |
| Adatfolyam frissítése |
agentbricks memory pipeline update <pipeline-id>
--display-name-, --model-, --trigger- vagy --instructions-val |
PATCH /api/2.0/agents/memory-pipelines/<pipeline-id> egy update_mask értékével: display_name, dreamer_policy.model, dreamer_policy.trigger vagy dreamer_policy.instructions |
| Folyamat törlése | agentbricks memory pipeline delete <pipeline-id> |
DELETE /api/2.0/agents/memory-pipelines/<pipeline-id> |
Ha nem állítasz be megjelenítő nevet, a pipeline kap egyet a session store és memory store nevei alapján. Ha egy pipeline-t vissza szeretne állítani az alapértelmezett modellre, frissítse a modelljét üres értékre, például --model "". A modell- és utasításváltozások a következő futásra vonatkoznak.
Egy folyamat törlése megszünteti a mögöttes feladatát, és megállítja a jövőbeni futásokat. Egy már folyamatban lévő futtatás a befejezésig tart. Azok a memóriabejegyzések, amelyeket a pipeline már írt, a memória tárolóban maradnak.
Limitations
- A session store és memory store rögzített, amikor csővezetéket hozol létre. Ha bármelyiket módosítod, töröld a folyamatot, és hozz létre egy újat. Egy új pipeline nem használja újra a régi pipeline checkpointjait, így az első futtatása minden aktor teljes történetét feldolgozza, még ugyanazon store-pár esetében is.
- Ha egy csővezeték már összeköti ugyanazt a munkamenet-tárolót és a memória-tárolót, akkor egy másik létrehozása sikertelen lesz a(z)
ALREADY_EXISTShibával. - Egy folyamatnak egyszerre csak egy futása van folyamatban. Ha egy futást indítunk, miközben egy másik folyamatban van, az egy
ABORTEDhibával meghiúsul. - Az ütemezett folyamatok körülbelül 24 óránként futnak. Nem állíthatsz más intervallumat vagy cron ütemtervet.
- A pipeline csak azokat a szereplőket dolgozza fel, akiknek van munkamenetük a session store-ben. A munkamenet nélküli aktorok memóriabejegyzései változatlanok maradnak.
- Ha a session store-ban több mint 1 200 aktor van UUID aktorazonosítóval, a futtatás megbukik. A korlát 48 KiB szerializált aktorazonosítók, így a rövidebb azonosítók több szereplőt engedélyeznek.