Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Important
Tato funkce je v beta verzi. Správci pracovního prostoru můžou řídit přístup k této funkci ze stránky Previews . Viz Manage Azure Databricks preview.
Paměť spravovaného agenta poskytuje agentům umělé inteligence dlouhodobou paměť napříč konverzacemi. Azure Databricks spouští infrastrukturu a izoluje paměti jednotlivých oborů, takže nespravujete úložiště ani dělení sami.
Se spravovanou pamětí můžou vaši agenti:
- Zapamatujte si předvolby uživatelů, předchozí rozhodnutí a kumulovaný kontext napříč konverzacemi.
- Zabezpečení znalostí pomocí zásad správného řízení katalogu Unity
- Sdílejte ho mezi agenty a projekty.
- Zlepšení přesnosti a efektivity v průběhu času
Požadavky
- Pracovní prostor Databricks s povoleným Unity Catalog.
- Oprávnění
CREATE MEMORY STOREk nadřazenému schématu pro vytvoření paměťových úložišť.
Jak funguje spravovaná paměť
Spravovaná paměť má dvě úrovně:
- Úložiště paměti je zabezpečitelný katalog Unity, který funguje jako kontejner pro položky paměti. Paměťové úložiště dědí stejnou správu, řízení přístupu a původ dat jako jakýkoli jiný objekt v katalogu Unity.
-
Položka paměti je jednotlivá část obsahu uložená v úložišti paměti. Každá položka je identifikována oborem a cestou. Obor určuje, do které paměti položka patří, a cesta uspořádá položky v rámci oboru, podobně jako cesta k souboru (například
/memories/preferences.md).
Scope
Rozsah je způsob, jakým spravovaná paměť uchovává paměti jednoho agenta oddělené pro různé uživatele nebo skupiny. Každá položka paměti patří přesně do jednoho oboru a vyhledávání vrátí pouze položky v rámci dotazu.
- Osobní paměť: Jako obor použijte ID koncového uživatele, aby každý uživatel získal vlastní soukromou paměť, například předvolby a předchozí rozhodnutí. Uživatelé vidí jenom svoje vlastní položky.
- Organizační znalosti: Pomocí sdíleného klíče, například ID organizace nebo týmu, ukládejte znalosti, ze kterých může čerpat každý uživatel agenta, například informace o společnosti, glosáře a osvědčené postupy.
Jeden agent může používat oba najednou: číst z osobního oboru uživatele a ze sdíleného oboru organizace ve stejné konverzaci.
scope je vyžadováno pro každý požadavek na záznam v paměti.
Warning
Rozsah je hranice izolace mezi uživateli. Nakonfigurujte rozsah v důvěryhodném kódu a nikdy nenechte model, aby jej nastavoval. Instanční objekt služby aplikace může číst všechny rozsahy.
Začínáme se spravovanou pamětí
Nejjednodušší způsob, jak přidat spravovanou paměť agentovi, je managed-memory dovednost Clauda Code. Postará se za vás o celé nastavení. Tato dovednost funguje se sadou SDK OpenAI Agents i jazykem LangGraph.
Získejte dovednosti do projektu jedním ze dvou způsobů:
Začínáme ze šablony
Funkce je součástí šablon aplikací Databricks. Vytvořte nového agenta z jedné ze šablon agentů, dovednost najdete v části .claude/skills/managed-memory/.
Naklonujte úložiště šablon:
git clone https://github.com/databricks/app-templates.gitapp-templatesVyberte šablonu agenta, od které chcete začít. Pokud například chcete použít šablonu sady SDK OpenAI Agents:cd app-templates/agent-openai-agents-sdkNote
U „pokročilých“ šablon aplikací musíte po nasazení udělit instančnímu objektu služby aplikace oprávnění Lakebase Postgres, jinak se při nastavování relace vrátí chyba
502.Jakmile je dovednost v projektu, popište, co chcete, a váš pomocník pro psaní kódu se postará o zbytek:
Tip
Add Databricks managed long-term memory to my agent.
Přidání dovednosti do existujícího projektu
Pokud už projekt agenta máte, přidejte do něj dovednosti.
Pokud adresář dovedností neexistuje, vytvořte ho:
mkdir -p .claude/skills/managed-memorySKILL.mdStáhněte si soubor zmanaged-memoryadresáře dovedností a uložte ho do.claude/skills/managed-memory/.Jakmile je dovednost v projektu, popište, co chcete, a váš pomocník pro psaní kódu se postará o zbytek:
Tip
Add Databricks managed long-term memory to my agent.
Vytvoření a použití úložiště paměti
Následující příklad nastaví spravovanou paměť pro agenta zákaznické podpory, který ukládá předvolby uživatele a načítá je v pozdější konverzaci.
Vygenerujte token OAuth pomocí rozhraní příkazového řádku Databricks k volání rozhraní API:
databricks auth login --host ${DATABRICKS_HOST} databricks auth tokenVytvořte úložiště paměti pro uložení pamětí agenta:
curl -X POST "https://${DATABRICKS_HOST}/api/2.1/unity-catalog/memory-stores" \ -H "Authorization: Bearer ${DATABRICKS_TOKEN}" \ -H "Content-Type: application/json" \ -d '{ "name": "support_agent_memory", "catalog_name": "main", "schema_name": "default", "description": "Long-term memory for the customer support agent" }'Zápis položky paměti po tom, co agent zjistí něco o uživateli.
scopepřiřadí záznam jednomu uživateli. Použijte polecontentspro úplný text paměti adescriptionjako krátké shrnutí, které zlepšuje vyhledávání:curl -X POST \ "https://${DATABRICKS_HOST}/api/2.1/unity-catalog/memory-stores/main.default.support_agent_memory/entries?scope=user-123" \ -H "Authorization: Bearer ${DATABRICKS_TOKEN}" \ -H "Content-Type: application/json" \ -d '{ "path": "/memories/preferences.md", "contents": "Prefers email communication. Timezone: PST. Has an Enterprise subscription.", "description": "User 123 communication preferences and account details" }'Vyhledejte položky paměti pro daného uživatele v pozdější konverzaci a načtěte, co se agent naučil:
curl -X POST \ "https://${DATABRICKS_HOST}/api/2.1/unity-catalog/memory-stores/main.default.support_agent_memory/entries:search" \ -H "Authorization: Bearer ${DATABRICKS_TOKEN}" \ -H "Content-Type: application/json" \ -d '{ "scope": "user-123", "query": "communication preferences" }'
Úplné rozhraní REST API, včetně koncových bodů, polí požadavků a polí odpovědi, najdete v referenčních informacích k rozhraní API paměti.
Přidejte agentovi paměť prostřednictvím konverzací
Výše uvedený pracovní postup REST volá přímo úložiště paměti a vstupní rozhraní API. Když vytvoříte agenta na Azure Databricks modelu obsluhující koncový bod, připojte místo toho úložiště paměti ke konverzaci s klientem kompatibilním s OpenAI v databricks-openai sadě SDK.
Konverzace je stav konverzace kompatibilní s OpenAI — průběžná historie zpráv a volání nástrojů — uložený v paměťovém úložišti a vázaný na jeden rozsah. Znovu používejte stejnou konverzaci ve více požadavcích, aby si agent pamatoval předchozí výměny.
Přiřaďte existující paměťové úložiště a oblast k nové konverzaci.
memory_store.nameje tříúrovňový název obchodu ascoperozdělí stav konverzace obvykle podle koncového uživatele:from databricks.sdk import WorkspaceClient from databricks_openai import DatabricksOpenAI workspace_client = WorkspaceClient() user_id = str(workspace_client.current_user.me().id) client = DatabricksOpenAI(workspace_client=workspace_client, use_ai_gateway=True) conversation = client.conversations.create( extra_body={ "memory_store": {"name": "main.default.support_agent_memory"}, "scope": {"kind": "user", "value": user_id}, }, )Předejte ID konverzace do
responses.create. Agent čte a zapisuje stav konverzace do přidruženého úložiště paměti v rámci daného rozsahu:response = client.responses.create( model="databricks-gpt-5-2", conversation=conversation.id, input=[{"type": "message", "role": "user", "content": "What is the average NYC taxi price?"}], stream=True, ) for event in response: if event.type == "response.output_text.delta": print(event.delta, end="", flush=True)Znovu použijte stejné ID konverzace v dalších požadavcích, aby si agent pamatoval předchozí výměny. Nevytvářej novou konverzaci při každém tahu:
followup = client.responses.create( model="databricks-gpt-5-2", conversation=conversation.id, input=[{"type": "message", "role": "user", "content": "Restate the average taxi price you found, and how it was calculated."}], stream=True, ) for event in followup: if event.type == "response.output_text.delta": print(event.delta, end="", flush=True)
Informace o koncových bodech konverzace a polích žádostí najdete v tématu Rozhraní API konverzace.
Řízení přístupu k paměti
Paměťová úložiště jsou zabezpečitelné objekty v Unity Catalog. Přístup řídí následující oprávnění:
| Oprávnění | Vztahuje se na | Description |
|---|---|---|
CREATE MEMORY STORE |
Nadřazené schéma | Vytvořte nové úložiště paměti v rámci schématu. |
READ MEMORY STORE |
Úložiště paměti | Přečtěte si metadata úložiště paměti a jeho položky. |
WRITE MEMORY STORE |
Úložiště paměti | Vytvořte, aktualizujte a odstraňte položky paměti v úložišti. |
MANAGE |
Úložiště paměti | Aktualizujte nebo odstraňte samotné úložiště paměti. Udělte oprávnění jiným uživatelům. |
USE SCHEMA |
Nadřazené schéma | Výpis úložišť paměti ve schématu |
Implementace krátkodobé paměti
API pro záznamy v paměti podporují pouze dlouhodobou paměť. Chcete-li agentovi poskytnout krátkodobou paměť v rámci relace, použijte jednu z následujících možností:
- Uchovávejte stav relace na straně serveru pomocí konverzace.
- Zachovejte paměť relace rozhraní agenta, například parametr OpenAI
session=nebo kontrolní bod LangGraph. - Použijte paměť agenta spravovanou vlastním systémem.
Limitations
- Položky paměti poskytují pouze dlouhodobou paměť. Rozdíl mezi krátkodobou a dlouhodobou pamětí najdete v tématu Krátkodobá a dlouhodobá paměť.
- Úložiště paměti a položky se vytvářejí a spravují pouze prostřednictvím rozhraní REST API katalogu Unity; pro tato rozhraní API neexistuje žádná Python SDK. Pokud chcete použít úložiště paměti z agenta, připojte ho ke konverzaci s klientem kompatibilním s OpenAI. Viz Přidání paměti agentovi pomocí konverzací.