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 à
docIdouossKey. Spécifiez l'un ou l'autre.Si un sous-espace est activé pour la base de connaissances, vous devez spécifier
subspacepour 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_storagepour Python, ou@tablestore/agent-storagepour 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
Connectez-vous à la console Agent Storage.
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
statusd'un bloc surinactive, 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
updateStatusde chaque bloc dansupdateDetailsaprès une mise à jour. Une réponse HTTP 200 aveccode: SUCCESSne signifie pas que tous les blocs ont été mis à jour avec succès.Limites des champs — Le champ
titleprend en charge jusqu'à 100 jetons, et le champcontentjusqu'à 320 jetons.
Console
Connectez-vous à la console Agent Storage.
Dans la liste Document management, cliquez sur View chunks dans la colonne des opérations du document cible.
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.