Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cette page est la référence de l’API REST pour la mémoire de l’agent managé. Il couvre les points de terminaison, les champs de requête et les champs de réponse pour la mémoire managée :
- Un magasin de mémoire est un catalogue Unity sécurisable qui agit comme un conteneur pour les entrées de mémoire. Utilisez les API du magasin de mémoire pour créer et gérer des magasins.
- Une entrée de mémoire est un élément de contenu individuel stocké dans un magasin de mémoire. Utilisez les API d’entrée de mémoire pour lire et écrire des entrées.
- Une conversation est compatible avec OpenAI ( messages et appels d’outils) soutenus par un magasin de mémoire et épinglé à une étendue. Utilisez les API conversation pour créer et gérer des conversations et leurs éléments.
Prerequisites
Générez un jeton OAuth à l’aide de l’interface CLI Databricks pour appeler les API :
databricks auth login --host ${DATABRICKS_HOST}
databricks auth token
API du magasin de mémoire
Un magasin de mémoire est un catalogue Unity sécurisable qui agit comme un conteneur pour les entrées de mémoire. Les magasins de mémoire utilisent un nommage à trois niveaux : catalog.schema.memory_store_name.
| Operation | Point de terminaison | Privilège requis |
|---|---|---|
| Créer | POST /api/2.1/unity-catalog/memory-stores |
CREATE MEMORY STORE sur le schéma parent |
| Obtenir | GET /api/2.1/unity-catalog/memory-stores/{full_name} |
READ MEMORY STORE sur le magasin |
| Liste | GET /api/2.1/unity-catalog/memory-stores |
USE SCHEMA sur le schéma parent |
| Update | PATCH /api/2.1/unity-catalog/memory-stores/{full_name} |
MANAGE sur le magasin |
| Supprimer | DELETE /api/2.1/unity-catalog/memory-stores/{full_name} |
MANAGE sur le magasin |
Créer un magasin de mémoire
Crée un magasin de mémoire sous un schéma parent.
-
Point de terminaison :
POST /api/2.1/unity-catalog/memory-stores -
Privilège requis :
CREATE MEMORY STOREsur le schéma parent
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"
}'
Champs de demande :
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
name |
string |
Oui | Nom court pour le magasin de mémoire. Doit correspondre [A-Za-z0-9_-]+à 1 à 255 caractères. Unique dans le schéma parent. |
catalog_name |
string |
Oui | Nom du catalogue parent. |
schema_name |
string |
Oui | Nom du schéma parent, relatif au catalogue. |
description |
string |
Non | Description lisible par l’homme du magasin de mémoire. |
Obtenir un magasin de mémoire
Récupère un magasin de mémoire par son nom complet en trois parties.
-
Point de terminaison :
GET /api/2.1/unity-catalog/memory-stores/{full_name} -
Privilège requis :
READ MEMORY STOREsur le magasin
curl -X GET \
"https://${DATABRICKS_HOST}/api/2.1/unity-catalog/memory-stores/main.default.agent_memory" \
-H "Authorization: Bearer ${DATABRICKS_TOKEN}"
Répertorier les stockages de mémoire
Répertorie les magasins de mémoire dans un schéma. Les résultats sont filtrés pour stocker l’appelant peut lire.
-
Point de terminaison :
GET /api/2.1/unity-catalog/memory-stores -
Privilège requis :
USE SCHEMAsur le schéma parent
curl -X GET \
"https://${DATABRICKS_HOST}/api/2.1/unity-catalog/memory-stores?catalog_name=main&schema_name=default" \
-H "Authorization: Bearer ${DATABRICKS_TOKEN}"
Paramètres de requête :
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
catalog_name |
string |
Oui | Nom du catalogue parent. |
schema_name |
string |
Oui | Nom du schéma parent. |
page_token |
string |
Non | Jeton de pagination à partir d’une réponse précédente. |
max_results |
integer |
Non | Nombre maximal de magasins par page. La valeur par défaut est 100, 1 000 maximum. |
Mettre à jour un magasin de mémoire
Met à jour les champs mutables sur un magasin de mémoire. Actuellement, seul description le mutable est mutable.
-
Point de terminaison :
PATCH /api/2.1/unity-catalog/memory-stores/{full_name} -
Privilège requis :
MANAGEsur le magasin
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"
}'
Supprimer un magasin de mémoire
Supprime un magasin de mémoire et toutes ses entrées de mémoire.
-
Point de terminaison :
DELETE /api/2.1/unity-catalog/memory-stores/{full_name} -
Privilège requis :
MANAGEsur le magasin
curl -X DELETE \
"https://${DATABRICKS_HOST}/api/2.1/unity-catalog/memory-stores/main.default.agent_memory" \
-H "Authorization: Bearer ${DATABRICKS_TOKEN}"
Champs de réponse du magasin de mémoire
| Champ | Type | Description |
|---|---|---|
name |
string |
Nom court du magasin de mémoire. |
catalog_name |
string |
Nom du catalogue parent. |
schema_name |
string |
Nom du schéma parent. |
description |
string |
Description lisible par l’homme. |
owner |
string |
Principal UC propriétaire du magasin. Définir sur la création. |
full_name |
string |
Nom complet en trois parties : catalog.schema.name. |
memory_store_id |
string |
UUID affecté par le serveur. |
securable_type |
string |
A toujours la valeur MEMORY_STORE. |
created_at |
integer |
Temps de création en millisecondes d’époque Unix. |
updated_at |
integer |
Heure de la dernière mise à jour en millisecondes d’époque Unix. |
created_by |
string |
Principal qui a créé le magasin. |
API d’entrée de mémoire
Les entrées de mémoire sont les éléments de contenu individuels stockés dans un magasin de mémoire. Chaque entrée est identifiée par une étendue et un chemin d’accès : scope est une clé de partition que l’appelant affecte (par exemple, un ID d’utilisateur final) et path est un chemin d’accès souple dans cette étendue qui doit commencer /memories/ par (par exemple). /memories/preferences.md
scope est nécessaire pour chaque demande d’entrée de mémoire.
| Operation | Point de terminaison | Privilège requis |
|---|---|---|
| Créer | POST /api/2.1/unity-catalog/memory-stores/{full_name}/entries |
WRITE MEMORY STORE sur le magasin |
| Obtenir | GET /api/2.1/unity-catalog/memory-stores/{full_name}/entries:get |
READ MEMORY STORE sur le magasin |
| Liste | GET /api/2.1/unity-catalog/memory-stores/{full_name}/entries |
READ MEMORY STORE sur le magasin |
| Update | PATCH /api/2.1/unity-catalog/memory-stores/{full_name}/entries |
WRITE MEMORY STORE sur le magasin |
| Supprimer | DELETE /api/2.1/unity-catalog/memory-stores/{full_name}/entries |
WRITE MEMORY STORE sur le magasin |
| Recherche | POST /api/2.1/unity-catalog/memory-stores/{full_name}/entries:search |
READ MEMORY STORE sur le magasin |
Créer une entrée de mémoire
Crée une entrée de mémoire dans un magasin de mémoire.
-
Point de terminaison :
POST /api/2.1/unity-catalog/memory-stores/{full_name}/entries?scope=<scope> -
Privilège requis :
WRITE MEMORY STOREsur le magasin
scope est un paramètre de requête ; le corps de la demande est l’entrée elle-même.
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"
}'
Champs de demande :
| Champ | Dans | Type | Obligatoire | Description |
|---|---|---|---|---|
scope |
requête | string |
Oui | Partitionnez l’entrée à laquelle appartient l’appelant (par exemple, un ID d’utilisateur final). |
path |
body | string |
Oui | Chemin d’accès souple identifiant l’entrée dans l’étendue. Doit commencer par /memories/. Non modifiable. |
contents |
body | string |
Non | Contenu texte mémoire de forme libre. |
description |
body | string |
Non | Résumé en une ligne de l’entrée de mémoire. Sert de hook d’index dans les réponses de liste. |
Obtenir une entrée de mémoire
Récupère une entrée de mémoire unique par scope et path.
-
Point de terminaison :
GET /api/2.1/unity-catalog/memory-stores/{full_name}/entries:get -
Privilège requis :
READ MEMORY STOREsur le magasin
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}"
Répertorier les entrées de mémoire
Répertorie les entrées de mémoire dans une étendue.
-
Point de terminaison :
GET /api/2.1/unity-catalog/memory-stores/{full_name}/entries -
Privilège requis :
READ MEMORY STOREsur le magasin
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}"
Paramètres de requête :
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
scope |
string |
Oui | Étendue (partition) à partir de laquelle répertorier les entrées. |
path_prefix |
string |
Non | Retourne uniquement les entrées dont le chemin commence par ce préfixe. |
page_size |
integer |
Non | Nombre maximal d’entrées par page. Le serveur limite la taille de la page. |
page_token |
string |
Non | Jeton de pagination à partir d’une réponse précédente. |
Les réponses de liste omettent contents (métadonnées uniquement) et incluent un next_page_token moment où d’autres pages restent.
Mettre à jour une entrée de mémoire
Applique une opération de modification unique à l’entrée contentsexistante, identifiée par scope et path. Fournissez exactement l’un des str_replace, insertou replace_all.
description est modifiable : définissez-la pour remplacer la description de l’entrée ou omettez-la pour laisser la description inchangée.
-
Point de terminaison :
PATCH /api/2.1/unity-catalog/memory-stores/{full_name}/entries -
Privilège requis :
WRITE MEMORY STOREsur le magasin
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." }
}'
Modifier les opérations (définir exactement une seule) :
| Operation | Fields | Comportement |
|---|---|---|
replace_all |
contents |
Remplacez le contenu complet de l’entrée. |
str_replace |
old_str, new_str |
Remplacez l’occurrence unique par old_strnew_str (doit correspondre exactement une seule fois). |
insert |
insert_line, insert_text |
Insertion insert_text; insert_line 0 = haut, omis = ajouter à la fin. |
Supprimer une entrée de mémoire
Supprime une entrée de mémoire, identifiée par scope et path.
-
Point de terminaison :
DELETE /api/2.1/unity-catalog/memory-stores/{full_name}/entries -
Privilège requis :
WRITE MEMORY STOREsur le magasin
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}"
Entrées de mémoire de recherche
Recherche les entrées de mémoire par mot clé sur le chemin, le contenu et les champs de description.
-
Point de terminaison :
POST /api/2.1/unity-catalog/memory-stores/{full_name}/entries:search -
Privilège requis :
READ MEMORY STOREsur le magasin
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"
}'
Champs de demande : scope (obligatoire), query (obligatoire), path_prefix (facultatif), top_k (facultatif ; par défaut à 10, max. 50).
Champs de réponse d’entrée de mémoire
| Champ | Type | Description |
|---|---|---|
path |
string |
Chemin d’accès souple de l’entrée dans son étendue. |
contents |
string |
Texte mémoire. Omis dans les réponses de liste. |
description |
string |
Résumé en une seule ligne. |
scope |
string |
Étendue (partition) à laquelle appartient l’entrée. |
memory_store_name |
string |
Nom en trois parties du magasin de mémoire parent. |
has_contents |
boolean |
Indique si l’entrée n’est pas vide contents (utile dans La liste). |
create_time |
string |
Horodatage de création (RFC 3339). |
update_time |
string |
Horodatage de la dernière mise à jour (RFC 3339). |
API de conversation
Une conversation stocke l’état de conversation compatible OpenAI ( messages, appels d’outils et autres éléments) dans un magasin de mémoire sous une seule étendue. Avec une conversation, un agent conserve et recharge le côté serveur de l’état de session. Vous créez chaque conversation sur un magasin de mémoire (nom en trois parties) et des scopeopérations de conversation nécessitent les mêmes privilèges que le magasin de mémoire sous-jacent.
| Operation | Point de terminaison | Privilège requis |
|---|---|---|
| Créer | POST /api/2.1/unity-catalog/conversations |
WRITE MEMORY STORE sur le magasin |
| Obtenir | GET /api/2.1/unity-catalog/conversations/{conversation_id} |
READ MEMORY STORE sur le magasin |
| Update | POST /api/2.1/unity-catalog/conversations/{conversation_id} |
WRITE MEMORY STORE sur le magasin |
| Supprimer | DELETE /api/2.1/unity-catalog/conversations/{conversation_id} |
WRITE MEMORY STORE sur le magasin |
Créer une conversation
Crée une conversation liée à un magasin de mémoire et à une étendue.
-
Point de terminaison :
POST /api/2.1/unity-catalog/conversations -
Privilège requis :
WRITE MEMORY STOREsur le magasin
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" }
}'
Champs de demande :
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
memory_store |
object |
Oui | Magasin de mémoire de sauvegarde de la conversation. |
memory_store.name |
string |
Oui | Nom complet en trois parties du magasin de mémoire : catalog.schema.memory_store. |
scope |
object |
Oui | Étendue à la conversation épinglée. |
scope.kind |
string |
Oui | Type d’étendue, par exemple user ou user_defined. |
scope.value |
string |
Oui | Valeur d’étendue spécifique au type, par exemple un ID d’utilisateur final. |
metadata |
object |
Non | Métadonnées clé-valeur contrôlées par l’appelant. Jusqu’à 16 clés ; touche jusqu’à 64 caractères, valeurs jusqu’à 512 caractères. |
items |
array |
Non | Éléments de conversation OpenAI initiaux pour amorçage de la conversation (jusqu’à 20). Les éléments sans type élément sont stockés en tant qu’éléments de message. |
Obtenir une conversation
Récupère une conversation par son ID.
-
Point de terminaison :
GET /api/2.1/unity-catalog/conversations/{conversation_id} -
Privilège requis :
READ MEMORY STOREsur le magasin
curl -X GET \
"https://${DATABRICKS_HOST}/api/2.1/unity-catalog/conversations/${CONVERSATION_ID}" \
-H "Authorization: Bearer ${DATABRICKS_TOKEN}"
Mettre à jour une conversation
Met à jour la conversation metadata.
-
Point de terminaison :
POST /api/2.1/unity-catalog/conversations/{conversation_id} -
Privilège requis :
WRITE MEMORY STOREsur le magasin
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" } }'
Supprimer une conversation
Supprime une conversation et ses éléments.
-
Point de terminaison :
DELETE /api/2.1/unity-catalog/conversations/{conversation_id} -
Privilège requis :
WRITE MEMORY STOREsur le magasin
curl -X DELETE \
"https://${DATABRICKS_HOST}/api/2.1/unity-catalog/conversations/${CONVERSATION_ID}" \
-H "Authorization: Bearer ${DATABRICKS_TOKEN}"
Champs de réponse aux conversations
| Champ | Type | Description |
|---|---|---|
id |
string |
ID de conversation affecté par le serveur. |
object |
string |
A toujours la valeur conversation. |
created_at |
integer |
Temps de création en secondes d’époque Unix. |
metadata |
object |
Métadonnées clé-valeur fournies par l’appelant. |
API d’élément de conversation
Les éléments sont les messages individuels et les appels d’outil au sein d’une conversation. Ils suivent la forme des éléments de conversation OpenAI et utilisent la pagination compatible OpenAI (after, limit, has_more).
| Operation | Point de terminaison | Privilège requis |
|---|---|---|
| Créer des éléments | POST /api/2.1/unity-catalog/conversations/{conversation_id}/items |
WRITE MEMORY STORE sur le magasin |
| Récupérer un élément | GET /api/2.1/unity-catalog/conversations/{conversation_id}/items/{item_id} |
READ MEMORY STORE sur le magasin |
| Éléments de liste | GET /api/2.1/unity-catalog/conversations/{conversation_id}/items |
READ MEMORY STORE sur le magasin |
| Supprimer un élément | DELETE /api/2.1/unity-catalog/conversations/{conversation_id}/items/{item_id} |
WRITE MEMORY STORE sur le magasin |