Geheugen-API-referentie

Deze pagina is de REST API-verwijzing voor het geheugen van beheerde agents. Hierin worden de eindpunten, aanvraagvelden en antwoordvelden voor beheerd geheugen behandeld:

  • Een geheugenopslag is een Unity Catalog die kan worden beveiligd als een container voor geheugenvermeldingen. Gebruik de MEMORY Store-API's om winkels te maken en te beheren.
  • Een geheugenvermelding is een afzonderlijk stukje inhoud dat is opgeslagen in een geheugenopslag. Gebruik de GEHEUGEN-invoer-API's om vermeldingen te lezen en schrijven.
  • Een gesprek is openAI-compatibele gespreksstatus ( berichten en hulpprogramma-aanroepen), ondersteund door een geheugenarchief en vastgemaakt aan een bereik. Gebruik de Gespreks-API's om gesprekken en hun items te maken en te beheren.

Prerequisites

Genereer een OAuth-token met behulp van de Databricks CLI om de API's aan te roepen:

databricks auth login --host ${DATABRICKS_HOST}
databricks auth token

API's voor geheugenopslag

Een geheugenopslag is een Unity Catalog die kan worden beveiligd als een container voor geheugenvermeldingen. Geheugenarchieven gebruiken naamgeving op drie niveaus: catalog.schema.memory_store_name.

Operation Eindpunt Vereiste bevoegdheid
Creëren POST /api/2.1/unity-catalog/memory-stores CREATE MEMORY STORE in het bovenliggende schema
Downloaden GET /api/2.1/unity-catalog/memory-stores/{full_name} READ MEMORY STORE in de winkel
Lijst GET /api/2.1/unity-catalog/memory-stores USE SCHEMA in het bovenliggende schema
Update PATCH /api/2.1/unity-catalog/memory-stores/{full_name} MANAGE in de winkel
Delete DELETE /api/2.1/unity-catalog/memory-stores/{full_name} MANAGE in de winkel

Een geheugenopslag maken

Hiermee maakt u een nieuw geheugenarchief onder een bovenliggend schema.

  • Eindpunt:POST /api/2.1/unity-catalog/memory-stores
  • Vereiste bevoegdheid: CREATE MEMORY STORE in het bovenliggende schema
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": "agent_memory",
    "catalog_name": "main",
    "schema_name": "default",
    "description": "Memory store for customer support agents"
  }'

Aanvraagvelden:

Veld Typ Vereist Description
name string Yes Korte naam voor het geheugenarchief. Moet overeenkomen [A-Za-z0-9_-]+met 1-255 tekens. Uniek binnen het bovenliggende schema.
catalog_name string Yes Naam van de bovenliggende catalogus.
schema_name string Yes Naam van het bovenliggende schema ten opzichte van de catalogus.
description string No Leesbare beschrijving van het geheugenarchief.

Een geheugenopslag ophalen

Hiermee wordt een geheugenopslag opgehaald op basis van de volledig gekwalificeerde naam van drie delen.

  • Eindpunt:GET /api/2.1/unity-catalog/memory-stores/{full_name}
  • Vereiste bevoegdheid: READ MEMORY STORE in het archief
curl -X GET \
  "https://${DATABRICKS_HOST}/api/2.1/unity-catalog/memory-stores/main.default.agent_memory" \
  -H "Authorization: Bearer ${DATABRICKS_TOKEN}"

Geheugenarchieven weergeven

Bevat geheugenarchieven in een schema. Resultaten worden gefilterd om op te slaan dat de beller kan lezen.

  • Eindpunt:GET /api/2.1/unity-catalog/memory-stores
  • Vereiste bevoegdheid: USE SCHEMA in het bovenliggende schema
curl -X GET \
  "https://${DATABRICKS_HOST}/api/2.1/unity-catalog/memory-stores?catalog_name=main&schema_name=default" \
  -H "Authorization: Bearer ${DATABRICKS_TOKEN}"

Zoekparameters

Parameter Typ Vereist Description
catalog_name string Yes Naam van bovenliggende catalogus.
schema_name string Yes Bovenliggende schemanaam.
page_token string No Pagineringstoken van een eerder antwoord.
max_results integer No Maximum aantal winkels per pagina. De standaardwaarde is 100, max. 1000.

Een geheugenopslag bijwerken

Hiermee worden onveranderbare velden in een geheugenarchief bijgewerkt. Momenteel is alleen description veranderlijk.

  • Eindpunt:PATCH /api/2.1/unity-catalog/memory-stores/{full_name}
  • Vereiste bevoegdheid: MANAGE in het archief
curl -X PATCH \
  "https://${DATABRICKS_HOST}/api/2.1/unity-catalog/memory-stores/main.default.agent_memory" \
  -H "Authorization: Bearer ${DATABRICKS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "memory_store": {
      "description": "Updated description for the memory store"
    },
    "update_mask": "description"
  }'

Een geheugenarchief verwijderen

Hiermee verwijdert u een geheugenopslag en alle geheugenvermeldingen.

  • Eindpunt:DELETE /api/2.1/unity-catalog/memory-stores/{full_name}
  • Vereiste bevoegdheid: MANAGE in het archief
curl -X DELETE \
  "https://${DATABRICKS_HOST}/api/2.1/unity-catalog/memory-stores/main.default.agent_memory" \
  -H "Authorization: Bearer ${DATABRICKS_TOKEN}"

Antwoordvelden voor geheugenopslag

Veld Typ Description
name string Korte naam van het geheugenarchief.
catalog_name string Naam van bovenliggende catalogus.
schema_name string Bovenliggende schemanaam.
description string Leesbare beschrijving.
owner string UC-principal die eigenaar is van de winkel. Instellen op maken.
full_name string Volledig gekwalificeerde naam van drie delen: catalog.schema.name.
memory_store_id string Door de server toegewezen UUID.
securable_type string Altijd MEMORY_STORE.
created_at integer Aanmaaktijd in Unix-epoch milliseconden.
updated_at integer Laatste updatetijd in Unix-epoch milliseconden.
created_by string Principal die de store heeft gemaakt.

API's voor geheugeninvoer

Geheugenvermeldingen zijn de afzonderlijke stukjes inhoud die zijn opgeslagen in een geheugenopslag. Elke vermelding wordt geïdentificeerd door een bereik en een pad: scope is een partitiesleutel die de aanroeper toewijst (bijvoorbeeld een id van de eindgebruiker) en path is een zacht pad binnen dat bereik waarmee moet worden begonnen /memories/ (bijvoorbeeld /memories/preferences.md). scope is vereist voor elke aanvraag voor geheugeninvoer.

Operation Eindpunt Vereiste bevoegdheid
Creëren POST /api/2.1/unity-catalog/memory-stores/{full_name}/entries WRITE MEMORY STORE in de winkel
Downloaden GET /api/2.1/unity-catalog/memory-stores/{full_name}/entries:get READ MEMORY STORE in de winkel
Lijst GET /api/2.1/unity-catalog/memory-stores/{full_name}/entries READ MEMORY STORE in de winkel
Update PATCH /api/2.1/unity-catalog/memory-stores/{full_name}/entries WRITE MEMORY STORE in de winkel
Delete DELETE /api/2.1/unity-catalog/memory-stores/{full_name}/entries WRITE MEMORY STORE in de winkel
zoeken POST /api/2.1/unity-catalog/memory-stores/{full_name}/entries:search READ MEMORY STORE in de winkel

Een geheugenvermelding maken

Hiermee maakt u een nieuwe geheugenvermelding in een geheugenarchief.

  • Eindpunt:POST /api/2.1/unity-catalog/memory-stores/{full_name}/entries?scope=<scope>
  • Vereiste bevoegdheid: WRITE MEMORY STORE in het archief

scope is een queryparameter; de hoofdtekst van de aanvraag is de vermelding zelf.

curl -X POST \
  "https://${DATABRICKS_HOST}/api/2.1/unity-catalog/memory-stores/main.default.agent_memory/entries?scope=user-42" \
  -H "Authorization: Bearer ${DATABRICKS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "path": "/memories/preferences.md",
    "contents": "The user prefers responses in English and uses formal tone.",
    "description": "User language and tone preferences"
  }'

Aanvraagvelden:

Veld In Typ Vereist Description
scope zoekopdracht string Yes Partities waartoe de vermelding behoort, toegewezen door de beller (bijvoorbeeld een id van de eindgebruiker).
path body string Yes Zacht pad waarmee de vermelding binnen het bereik wordt geïdentificeerd. Moet beginnen met /memories/. Onveranderlijk.
contents body string No Vrije geheugentekstinhoud.
description body string No Samenvatting van één regel van de geheugenvermelding. Fungeert als indexhook in lijstreacties.

Een geheugenvermelding ophalen

Hiermee wordt één geheugenvermelding opgehaald door scope en path.

  • Eindpunt:GET /api/2.1/unity-catalog/memory-stores/{full_name}/entries:get
  • Vereiste bevoegdheid: READ MEMORY STORE in het archief
curl -X GET \
  "https://${DATABRICKS_HOST}/api/2.1/unity-catalog/memory-stores/main.default.agent_memory/entries:get?scope=user-42&path=/memories/preferences.md" \
  -H "Authorization: Bearer ${DATABRICKS_TOKEN}"

Geheugenvermeldingen vermelden

Bevat geheugenvermeldingen in een bereik.

  • Eindpunt:GET /api/2.1/unity-catalog/memory-stores/{full_name}/entries
  • Vereiste bevoegdheid: READ MEMORY STORE in het archief
curl -X GET \
  "https://${DATABRICKS_HOST}/api/2.1/unity-catalog/memory-stores/main.default.agent_memory/entries?scope=user-42" \
  -H "Authorization: Bearer ${DATABRICKS_TOKEN}"

Zoekparameters

Parameter Typ Vereist Description
scope string Yes Bereik (partitie) om vermeldingen uit een lijst weer te geven.
path_prefix string No Retourneer alleen vermeldingen waarvan het pad begint met dit voorvoegsel.
page_size integer No Maximum aantal vermeldingen per pagina. Op de server wordt het paginaformaat inkapsseld.
page_token string No Pagineringstoken van een eerder antwoord.

Lijstantwoorden laten contents weg (alleen metagegevens) en bevatten een next_page_token wanneer er meer pagina's blijven.

Een geheugenvermelding bijwerken

Hiermee past u één bewerking toe op een bestaande vermelding contents, geïdentificeerd door scope en path. Geef precies een van str_replace, insertof replace_all. description kan worden bewerkt: stel deze in om de beschrijving van de vermelding te vervangen of laat deze weg om de beschrijving ongewijzigd te laten.

  • Eindpunt:PATCH /api/2.1/unity-catalog/memory-stores/{full_name}/entries
  • Vereiste bevoegdheid: WRITE MEMORY STORE in het archief
curl -X PATCH \
  "https://${DATABRICKS_HOST}/api/2.1/unity-catalog/memory-stores/main.default.agent_memory/entries" \
  -H "Authorization: Bearer ${DATABRICKS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "scope": "user-42",
    "path": "/memories/preferences.md",
    "replace_all": { "contents": "The user prefers responses in Spanish and uses casual tone." }
  }'

Bewerkingen bewerken (precies één instellen):

Operation Fields Gedrag
replace_all contents Overschrijf de volledige inhoud van het item.
str_replace old_str, new_str Vervang het exemplaar van old_strnew_str één exemplaar door (moet exact één keer overeenkomen).
insert insert_line, insert_text Invoegen insert_text; insert_line 0 = boven, weggelaten = toevoegen aan het einde.

Een geheugenvermelding verwijderen

Hiermee verwijdert u een geheugenvermelding, geïdentificeerd door scope en path.

  • Eindpunt:DELETE /api/2.1/unity-catalog/memory-stores/{full_name}/entries
  • Vereiste bevoegdheid: WRITE MEMORY STORE in het archief
curl -X DELETE \
  "https://${DATABRICKS_HOST}/api/2.1/unity-catalog/memory-stores/main.default.agent_memory/entries?scope=user-42&path=/memories/preferences.md" \
  -H "Authorization: Bearer ${DATABRICKS_TOKEN}"

Geheugenvermeldingen zoeken

Hiermee wordt gezocht naar geheugenvermeldingen op trefwoord op pad, inhoud en beschrijvingsvelden.

  • Eindpunt:POST /api/2.1/unity-catalog/memory-stores/{full_name}/entries:search
  • Vereiste bevoegdheid: READ MEMORY STORE in het archief
curl -X POST \
  "https://${DATABRICKS_HOST}/api/2.1/unity-catalog/memory-stores/main.default.agent_memory/entries:search" \
  -H "Authorization: Bearer ${DATABRICKS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "scope": "user-42",
    "query": "language preferences"
  }'

Aanvraagvelden: scope (vereist), (vereist), querypath_prefix (optioneel), top_k (optioneel; standaard ingesteld op 10, max. 50).

Antwoordvelden voor geheugeninvoer

Veld Typ Description
path string Zacht pad van de vermelding binnen het bereik.
contents string Geheugentekst. Weggelaten in lijstantwoorden.
description string Samenvatting van één regel.
scope string Bereik (partitie) waartoe de vermelding behoort.
memory_store_name string Driedelige naam van het bovenliggende geheugenarchief.
has_contents boolean Of de vermelding niet leeg contents is (handig in lijst).
create_time string Tijdstempel maken (RFC 3339).
update_time string Tijdstempel van laatste update (RFC 3339).

Gespreks-API's

In een gesprek wordt de openAI-compatibele gespreksstatus ( berichten, hulpprogramma-aanroepen en andere items) opgeslagen in een geheugenarchief onder één bereik. Met een gesprek blijft een agent de sessiestatusserver behouden en opnieuw laden. U maakt elk gesprek op basis van een geheugenarchief (driedelige naam) en een scope, en gespreksbewerkingen hebben dezelfde bevoegdheden nodig als het onderliggende geheugenarchief.

Operation Eindpunt Vereiste bevoegdheid
Creëren POST /api/2.1/unity-catalog/conversations WRITE MEMORY STORE in de winkel
Downloaden GET /api/2.1/unity-catalog/conversations/{conversation_id} READ MEMORY STORE in de winkel
Update POST /api/2.1/unity-catalog/conversations/{conversation_id} WRITE MEMORY STORE in de winkel
Delete DELETE /api/2.1/unity-catalog/conversations/{conversation_id} WRITE MEMORY STORE in de winkel

Een gesprek maken

Hiermee maakt u een gesprek dat is gebonden aan een geheugenopslag en -bereik.

  • Eindpunt:POST /api/2.1/unity-catalog/conversations
  • Vereiste bevoegdheid: WRITE MEMORY STORE in het archief
curl -X POST "https://${DATABRICKS_HOST}/api/2.1/unity-catalog/conversations" \
  -H "Authorization: Bearer ${DATABRICKS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "memory_store": { "name": "main.default.support_agent_memory" },
    "scope": { "kind": "user", "value": "user-123" },
    "metadata": { "source": "support-chat" }
  }'

Aanvraagvelden:

Veld Typ Vereist Description
memory_store object Yes Geheugenopslag die het gesprek back-upt.
memory_store.name string Yes Volledig gekwalificeerde naam van het geheugenarchief: catalog.schema.memory_store.
scope object Yes Bereik waaraan het gesprek is vastgemaakt.
scope.kind string Yes Bereiktype, bijvoorbeeld user of user_defined.
scope.value string Yes Soortspecifieke bereikwaarde, bijvoorbeeld een id van de eindgebruiker.
metadata object No Door aanroeper beheerde sleutelwaardemetagegevens. Maximaal 16 sleutels; toetst maximaal 64 tekens, waarden tot 512 tekens.
items array No Eerste OpenAI-gespreksitems om het gesprek te seeden (maximaal 20). Items zonder een type worden opgeslagen als berichtitems.

Een gesprek ophalen

Hiermee wordt een gesprek opgehaald op basis van de id.

  • Eindpunt:GET /api/2.1/unity-catalog/conversations/{conversation_id}
  • Vereiste bevoegdheid: READ MEMORY STORE in het archief
curl -X GET \
  "https://${DATABRICKS_HOST}/api/2.1/unity-catalog/conversations/${CONVERSATION_ID}" \
  -H "Authorization: Bearer ${DATABRICKS_TOKEN}"

Een gesprek bijwerken

Werkt het gesprek bij metadata.

  • Eindpunt:POST /api/2.1/unity-catalog/conversations/{conversation_id}
  • Vereiste bevoegdheid: WRITE MEMORY STORE in het archief
curl -X POST \
  "https://${DATABRICKS_HOST}/api/2.1/unity-catalog/conversations/${CONVERSATION_ID}" \
  -H "Authorization: Bearer ${DATABRICKS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{ "metadata": { "source": "support-chat", "resolved": "true" } }'

Een gesprek verwijderen

Hiermee verwijdert u een gesprek en de bijbehorende items.

  • Eindpunt:DELETE /api/2.1/unity-catalog/conversations/{conversation_id}
  • Vereiste bevoegdheid: WRITE MEMORY STORE in het archief
curl -X DELETE \
  "https://${DATABRICKS_HOST}/api/2.1/unity-catalog/conversations/${CONVERSATION_ID}" \
  -H "Authorization: Bearer ${DATABRICKS_TOKEN}"

Antwoordvelden voor gesprekken

Veld Typ Description
id string Door de server toegewezen gespreks-id.
object string Altijd conversation.
created_at integer Tijd voor het maken in Unix epoch seconds.
metadata object Door de aanroeper verstrekte sleutelwaardemetagegevens.

API's voor gespreksitems

Items zijn de afzonderlijke berichten en hulpprogrammagesprekken binnen een gesprek. Ze volgen de vorm van openAI-gespreksitems en gebruiken openAI-compatibele paginering (after, limit, has_more).

Operation Eindpunt Vereiste bevoegdheid
Items maken POST /api/2.1/unity-catalog/conversations/{conversation_id}/items WRITE MEMORY STORE in de winkel
Item ophalen GET /api/2.1/unity-catalog/conversations/{conversation_id}/items/{item_id} READ MEMORY STORE in de winkel
Lijstitems GET /api/2.1/unity-catalog/conversations/{conversation_id}/items READ MEMORY STORE in de winkel
Item verwijderen DELETE /api/2.1/unity-catalog/conversations/{conversation_id}/items/{item_id} WRITE MEMORY STORE in de winkel