Tous les produits
Search
Centre de documentation

Tablestore:Gérer les blocs de connaissances

Dernière mise à jour :Oct 20, 2026

Une base de connaissances dans Agent Storage divise chaque document importé en blocs. Chaque bloc possède son propre ID, titre, contenu, type et statut de récupération. Consultez les blocs d'un document ou mettez à jour leur titre, contenu et statut depuis la console Agent Storage, un SDK ou l'API.

Prérequis

  • Vous avez créé une base de connaissances et y avez importé des documents. Vous ne pouvez consulter et modifier les blocs d'un document que lorsque son statut est Completed.

  • Les blocs sont identifiés via leur document parent grâce à docId ou ossKey. Spécifiez l'un ou l'autre.

  • Si un sous-espace est activé pour la base de connaissances, vous devez spécifier subspace pour les opérations sur les blocs.

  • Si vous appelez l'API ou utilisez un SDK, munissez-vous d'une clé API, d'un endpoint et d'un nom d'instance. Dans les exemples de cette page, remplacez <your-api-key>, <instance>, <region> et <instance-name> par vos propres valeurs.

  • Installez le SDK Agent Storage adapté à votre langage si vous utilisez un SDK : tablestore_agent_storage pour Python, ou @tablestore/agent-storage pour TypeScript.

Consulter les blocs

Listez les blocs d'un document spécifique à l'aide d'une requête paginée. La réponse inclut l'ID, le contenu, le titre, le type et le statut de récupération de chaque bloc.

Console

  1. Connectez-vous à la console Agent Storage.

  2. Dans la liste Document management, cliquez sur View chunks dans la colonne des opérations du document cible pour ouvrir la boîte de dialogue de liste des blocs.

La liste affiche le type, l'ID, le contenu, le statut de récupération ainsi que les dates de création et de mise à jour de chaque bloc.

SDK

Python

Listez les blocs d'un document :

from tablestore_agent_storage import AgentStorageClient

client = AgentStorageClient(
    api_key="<your-api-key>",
    ots_endpoint="https://<instance>.<region>.ots.aliyuncs.com",
    ots_instance_name="<instance-name>",
)

resp = client.list_chunks({
    "knowledgeBaseName": "product_docs_kb",
    "docId": "fc6ed97f-...",
    "maxResults": 5
})

for chunk in resp["data"]["chunkDetails"]:
    print(f"[Chunk {chunk['chunkId']}] ({chunk['status']}) {chunk['content'][:80]}...")

TypeScript

Listez les blocs d'un document :

import { AgentStorageClient } from '@tablestore/agent-storage';

const client = new AgentStorageClient({
  apiKey: '<your-api-key>',
  endpoint: 'https://<instance>.<region>.ots.aliyuncs.com',
  instanceName: '<instance-name>',
});

const resp = await client.listChunks({
  knowledgeBaseName: 'product_docs_kb',
  docId: 'fc6ed97f-...',
  maxResults: 5,
});
for (const chunk of resp.data.chunkDetails) {
  console.log(`[Chunk ${chunk.chunkId}] (${chunk.status}) ${chunk.content.slice(0, 80)}...`);
}

API

Appelez ListChunks pour lister les blocs. Pour obtenir la description complète des champs de requête et de réponse, consultez l'API ListChunks.

Mettre à jour les blocs

Mettez à jour par lots le titre, le contenu ou le statut des blocs. Chaque requête permet de mettre à jour jusqu'à 10 blocs.

  • Statut de récupération — Lorsque vous définissez le status d'un bloc sur inactive, ce dernier n'apparaît pas dans les résultats de récupération. Utilisez ce paramètre pour exclure temporairement un contenu inexact sans supprimer le document entier.

  • Vérification des résultats — Comme pour AddDocuments, vérifiez individuellement le updateStatus de chaque bloc dans updateDetails après une mise à jour. Une réponse HTTP 200 avec code: SUCCESS ne signifie pas que tous les blocs ont été mis à jour avec succès.

  • Limites des champs — Le champ title prend en charge jusqu'à 100 jetons, et le champ content jusqu'à 320 jetons.

Console

  1. Connectez-vous à la console Agent Storage.

  2. Dans la liste Document management, cliquez sur View chunks dans la colonne des opérations du document cible.

  3. Dans la liste des blocs, cliquez sur Edit pour le bloc cible, modifiez le titre et le contenu, puis enregistrez les modifications.

Pour exclure temporairement un bloc, basculez son statut de récupération dans la liste des blocs.

SDK

Python

Modifiez le titre et le contenu du bloc :

from tablestore_agent_storage import AgentStorageClient

client = AgentStorageClient(
    api_key="<your-api-key>",
    ots_endpoint="https://<instance>.<region>.ots.aliyuncs.com",
    ots_instance_name="<instance-name>",
)

resp = client.update_chunks({
    "knowledgeBaseName": "product_docs_kb",
    "chunks": [
        {
            "docId": "fc6ed97f-...",
            "chunkId": 1,
            "title": "Updated title",
            "content": "Updated content"
        }
    ]
})

for detail in resp["data"]["updateDetails"]:
    print(f"chunk {detail['chunkId']}: {detail['updateStatus']}")

Excluez temporairement un bloc inexact (rendez-le non récupérable) :

resp = client.update_chunks({
    "knowledgeBaseName": "product_docs_kb",
    "chunks": [
        {
            "docId": "fc6ed97f-...",
            "chunkId": 0,
            "status": "inactive"
        }
    ]
})

Vérifiez le updateStatus de chaque entrée dans updateDetails pour confirmer que le bloc a bien été exclu.

TypeScript

Modifiez le titre et le contenu du bloc :

import { AgentStorageClient } from '@tablestore/agent-storage';

const client = new AgentStorageClient({
  apiKey: '<your-api-key>',
  endpoint: 'https://<instance>.<region>.ots.aliyuncs.com',
  instanceName: '<instance-name>',
});

const resp = await client.updateChunks({
  knowledgeBaseName: 'product_docs_kb',
  chunks: [
    {
      docId: 'fc6ed97f-...',
      chunkId: 1,
      title: 'Updated title',
      content: 'Updated content',
    },
  ],
});

for (const detail of resp.data.updateDetails) {
  console.log(`chunk ${detail.chunkId}: ${detail.updateStatus}`);
}

API

Appelez UpdateChunks pour mettre à jour les blocs. Pour obtenir la description complète des champs de requête et de réponse, consultez l'API UpdateChunks.