管理知识库中的文档切片,包括查看和更新切片内容。
前提条件
-
已创建知识库并导入文档,且目标文档状态为
Completed(仅已完成文档可查看和编辑切片)。 -
若知识库开启了子空间(subspace),切片操作必须指定
subspace。
查看切片
分页查询指定文档的切片列表,包含切片 ID、内容、标题、类型和可检索状态。
控制台
登录Agent Storage控制台,在文档管理列表中点击目标文档操作列的查看切片,打开切片列表弹窗。每条切片显示类型、ID、内容、可检索状态和创建/更新时间。
SDK
Python
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
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
调用 ListChunks 列出切片。完整字段参见列出切片。
更新切片
批量更新切片的标题、内容或状态,单次请求最多 10 个切片。
-
将切片
status设为inactive后,该切片不会出现在 Retrieve 结果中,可用于临时屏蔽不准确的内容而无需删除整个文档。 -
与 AddDocuments 类似,更新结果需逐个检查
updateDetails中每个切片的updateStatus,HTTP 200 +code: SUCCESS不代表所有切片都更新成功。 -
title最大 100 Token,content最大 320 Token。
控制台
在切片列表中点击目标切片的编辑,修改标题和内容后保存;如需临时屏蔽某条切片,可切换其可检索状态。
SDK
Python
修改切片标题和内容:
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": "更新后的标题",
"content": "更新后的内容"
}
]
})
for detail in resp["data"]["updateDetails"]:
print(f"chunk {detail['chunkId']}: {detail['updateStatus']}")
屏蔽不准确的切片(设为不可检索):
resp = client.update_chunks({
"knowledgeBaseName": "product_docs_kb",
"chunks": [
{
"docId": "fc6ed97f-...",
"chunkId": 0,
"status": "inactive"
}
]
})
TypeScript
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: '更新后的标题',
content: '更新后的内容',
},
],
});
for (const detail of resp.data.updateDetails) {
console.log(`chunk ${detail.chunkId}: ${detail.updateStatus}`);
}
API
调用 UpdateChunks 更新切片。完整字段参见更新切片。
相关文档
该文章对您有帮助吗?