Tous les produits
Search
Centre de documentation

Tablestore:Update a memory

Dernière mise à jour :Sep 25, 2026

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 scope est facultatif. S'il est renseigné, les quatre champs (appId, tenantId, agentId et runId) deviennent obligatoires et le caractère générique * n'est pas autorisé.

Paramètres de requête

Champ

Type

Obligatoire

Description

memoryStoreName

string

Oui

Nom du magasin de mémoires.

memoryId

string

Oui

ID de la mémoire.

scope

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 * n'est pas autorisé.

text

string

Non

Nouveau texte de la mémoire.

metadata

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 {} efface toutes les métadonnées. Pour connaître les limites, consultez la rubrique [[Métadonnées]](t3397030.xdita#).

title

string

Non

Nouveau titre de la mémoire (jusqu'à 64 caractères).

keywords

array

Non

Nouvelle liste de mots-clés (jusqu'à 8 mots-clés, chaque élément pouvant contenir jusqu'à 32 caractères).

effectiveAt

string

Obligatoire si timePrecision est fourni

Nouvelle date/heure d'effet. Utilisez le format RFC3339 pour second. Utilisez respectivement les formats YYYY-MM-DD, YYYY-MM et YYYY pour day, month et year.

timePrecision

string

Obligatoire si effectiveAt est fourni

L'une des valeurs suivantes : second, day, month ou year.

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

memoryStoreName

Nom du magasin de mémoires.

updated

Indique si la mise à jour a réussi.

memory

Unité de mémoire à long terme complète après la mise à jour. Ses définitions de champ sont identiques à celles de results[].unit dans la réponse SearchMemories (notation snake_case ; le vecteur d'embedding n'est pas renvoyé).

{
  "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"
  }
}