接口介绍
MetadataClient 提供以下知识库管理接口,用于创建、查询、更新、删除和列出知识库资源。知识库用于组织和管理 Agent 可引用的结构化知识内容。
create_knowledge:创建知识库。
get_knowledge:按知识库 ID 查询详细信息。
update_knowledge:更新知识库属性。
delete_knowledge:批量删除知识库。
list_knowledge:按条件列表查询知识库。
导入
from tencentdb_agent_memory.v3 import MetadataClient
方法签名
def create_knowledge(self, p: Dict[str, Any]) -> Dict[str, Any]
def get_knowledge(self,knowledge_id: str,*,team_id: Optional[str] = None,) -> Dict[str, Any]
def update_knowledge(self, p: Dict[str, Any]) -> Dict[str, Any]
def delete_knowledge(self,knowledge_ids: List[str],*,team_id: Optional[str] = None,) -> Dict[str, Any]
def list_knowledge(self, p: Dict[str, Any]) -> Dict[str, Any]
使用示例
create_knowledge
from tencentdb_agent_memory.v3 import MetadataClientmetadata = MetadataClient(endpoint="https://memory.tdai.tencentyun.com",api_key="sk-xxxxxxxxxxxxxxxx",service_id="tdai-mem-xxxxxxxx",)resp = metadata.create_knowledge({"name": "产品文档", # 必填,知识库名称"team_id": "team-abc", # 必填,所属团队 ID"description": "产品使用手册", # 可选,知识库描述"metadata": {"category": "docs"}, # 可选,自定义元数据})print(resp)
get_knowledge
resp = metadata.get_knowledge("kb-123", team_id="team-abc")print(resp)
update_knowledge
resp = metadata.update_knowledge({"knowledge_id": "kb-123","name": "产品文档 v2",})print(resp)
list_knowledge
resp = metadata.list_knowledge({"team_id": "team-abc"})for kb in resp["items"]:print(kb["name"])
delete_knowledge
resp = metadata.delete_knowledge(["kb-123"], team_id="team-abc")print(resp)
请求参数
create_knowledge
参数名 | 类型 | 必填 | 描述说明 |
name | str | 是 | 知识库名称 |
team_id | str | 是 | 所属团队 ID |
get_knowledge
参数名 | 类型 | 必填 | 描述说明 |
knowledge_id | str | 是 | 知识库 ID |
team_id | str | 否 | 团队 ID |
update_knowledge
参数名 | 类型 | 必填 | 描述说明 |
knowledge_id | str | 是 | 待更新的知识库 ID |
name | str | 否 | 更新后的名称 |
delete_knowledge
参数名 | 类型 | 必填 | 描述说明 |
knowledge_ids | List[str] | 是 | 待删除的知识库 ID 列表 |
team_id | str | 否 | 团队 ID |
list_knowledge
参数名 | 类型 | 必填 | 描述说明 |
payload | Dict | 是 | 查询条件,含 team_id 等字段 |
响应示例
create_knowledge
{"knowledge_id": "kb-550e8400-e29b-41d4-a716-446655440000","name": "产品文档","team_id": "team-abc","created_at_ms": 1723968000000}
get_knowledge
{"knowledge_id": "kb-123","name": "产品文档","team_id": "team-abc","created_at_ms": 1723900000000,"updated_at_ms": 1723968000000}
list_knowledge
{"items": [{"knowledge_id": "kb-123","name": "产品文档","team_id": "team-abc","created_at_ms": 1723900000000}],"total": 1}
响应参数说明
参数名 | 类型 | 参数含义 |
knowledge_id | str | 知识库唯一标识 ID |
name | str | 知识库名称 |
team_id | str | 所属团队 ID |
created_at_ms | int | 创建时间,Unix 时间戳,单位为毫秒 |
updated_at_ms | int | 最后更新时间,Unix 时间戳,单位为毫秒 |
items | List[Dict] | 知识库列表 |
total | int | 符合条件的知识库总数 |
错误码
错误码 | 触发场景 | 处理建议 |
400 | 请求参数不合法(如 name 为空) | 检查参数是否符合约束条件 |
401 | API Key 无效或缺失 | 检查 Bearer Token 配置 |
404 | 指定知识库不存在 | 确认知识库 ID 是否正确 |
409 | 知识库名称在同一团队下已存在 | 使用不同的名称 |
500 | 服务内部错误 | 稍后重试 |