Utilisez l'opération UpdateMemory pour mettre à jour une seule mémoire à long terme. Cette opération suit la sémantique PATCH : les champs non envoyés restent inchangés. Transmettez une chaîne vide pour title, un tableau vide pour keywords ou un objet vide pour metadata afin d'effacer explicitement la valeur. Vous devez spécifier au moins un champ modifiable.
Prérequis
Une instance AgentStorage a été créée et se trouve dans l'état
normal. Vous devez disposer du point de terminaison (endpoint) et du nom de l'instance.Une clé API a été créée.
Règles de portée : le paramètre
scopeest facultatif. S'il est renseigné, les quatre champs (appId,tenantId,agentIdetrunId) deviennent obligatoires et le caractère générique*n'est pas autorisé.
Paramètres de requête
|
Champ |
Type |
Obligatoire |
Description |
|
|
string |
Oui |
Nom du magasin de mémoires. |
|
|
string |
Oui |
ID de la mémoire. |
|
|
object |
Non |
Portée complète facultative utilisée pour vérifier la propriété de la mémoire. Si ce paramètre est fourni, les quatre champs sont obligatoires et le caractère générique |
|
|
string |
Non |
Nouveau texte de la mémoire. |
|
|
object |
Non |
Paires clé-valeur de type string à fusionner. Les clés portant le même nom écrasent les valeurs d'origine, les clés non envoyées restent inchangées et la transmission de |
|
|
string |
Non |
Nouveau titre de la mémoire (jusqu'à 64 caractères). |
|
|
array |
Non |
Nouvelle liste de mots-clés (jusqu'à 8 mots-clés, chaque élément pouvant contenir jusqu'à 32 caractères). |
|
|
string |
Obligatoire si |
Nouvelle date/heure d'effet. Utilisez le format RFC3339 pour |
|
|
string |
Obligatoire si |
L'une des valeurs suivantes : |
La requête de mise à jour suit la sémantique PATCH. En cas de conflit de concurrence, relisez d'abord la mémoire actuelle, puis décidez s'il convient de réessayer en fonction de vos règles métier.
Le champ metadata peut contenir jusqu'à 16 clés. Chaque clé peut comporter jusqu'à 64 caractères Unicode et la taille totale après encodage JSON ne doit pas dépasser 65 536 octets (UTF-8, 64 Kio).
Exemple de requête
Lorsque vous utilisez l'authentification par clé API, transmettez le nom de l'instance et la clé API dans les en-têtes de requête x-ots-instancename et x-ots-apikey.
curl -X POST https://<endpoint>/UpdateMemory \
-H "x-ots-instancename: <instance-name>" \
-H "x-ots-apikey: <your-api-key>" \
-H "Content-Type: application/json" \
-d '{"memoryStoreName":"agent_memory","memoryId":"<memory-id>","scope":{"appId":"app-001","tenantId":"user-001","agentId":"assistant","runId":"session-001"},"text":"The user likes lattes.","keywords":["latte","coffee","preference"],"title":"User coffee preference","metadata":{"source":"profile"}}'
Réponse
|
Champ |
Description |
|
|
Nom du magasin de mémoires. |
|
|
Indique si la mise à jour a réussi. |
|
|
Unité de mémoire à long terme complète après la mise à jour. Ses définitions de champ sont identiques à celles de |
{
"memoryStoreName": "agent_memory",
"updated": true,
"memory": {
"id": "1b88d0d65a5b6c0d9142e9b7c7347048",
"conversation_key": "app-001/user-001/assistant/session-001",
"scope": { "appId": "app-001", "tenantId": "user-001", "agentId": "assistant", "runId": "session-001" },
"unit_type": "entity_fact",
"text": "The user likes lattes.",
"keywords": ["latte", "coffee", "preference"],
"metadata": { "source": "profile" },
"title": "User coffee preference",
"version": 2,
"salience": 0.8,
"effective_at": "2026-08-25T05:52:19Z",
"time_precision": "second",
"created_at": "2026-08-25T05:52:19.185Z",
"updated_at": "2026-09-23T11:50:02.679Z"
}
}