Skip to main content

知识库管理

知识库是文件、文本和 QA 的归属容器。先创建或选择知识库,保存业务 code,再执行 文件与文本导入QA 管理知识检索

本页使用平台 API Key,读请求要求 knowledge_container=READ,写请求要求 WRITE;资源访问还受当前身份权限约束。所有示例在可信服务端执行。

资源与响应约定

  • 数字 id 用于按主键更新/删除;code 用于文件请求的 containerId。
  • 创建、详情、统计返回 KnowledgeContainer;列表的 data[] 使用同一模型。
  • 创建成功不表示已存在可检索内容;还需导入资源并完成处理。
  • 不把“删除知识库”用于验证连通性,删除会影响其关联知识资源。

创建知识库

POST /openapi/paas/v1/knowledge/container/add

创建顶级知识库,业务编码由系统生成。

权限:knowledge_container=WRITE

请求参数

参数JSON/表单类型必填说明
namestring非空知识库名称
categorystring知识库类别,通用文档使用 COMMON;其他类型按已开通能力使用
descriptionstring描述
tagarray[string]标签,最多 10 项,每项最长 20 字符
classifyCodestring分类 code,默认 0

请求示例

curl --request POST "${BASE_URL}/openapi/paas/v1/knowledge/container/add" \
--header "Authorization: Bearer ${AIS_API_KEY}" \
--header "Content-Type: application/json" \
--data '{
"name": "产品知识库",
"category": "COMMON",
"description": "产品资料",
"tag": [
"产品"
],
"classifyCode": "0"
}'

响应字段

顶层使用 普通响应

字段JSON 类型说明
dataobject字段完整定义见 响应数据字典;示例只保留业务所需字段
data.idinteger知识库主键,按 id 更新/删除时使用
data.codestring知识库业务编码,文件与检索请求使用
data.namestring知识库名称
data.typestring容器类别,保留实际返回大小写
data.tagarray[string] / null标签集合,无标签可为空
data.totalSizeinteger / null统计容量,字节;非统计场景可能未填充

响应示例

{
"code": 8200,
"message": "SUCCESS",
"data": {
"id": 101,
"code": "partner_kb_001",
"name": "产品知识库",
"category": "COMMON",
"type": "knowledge",
"parentCode": "0",
"tag": [
"产品"
],
"description": "产品资料"
}
}

此简化接口不接受外部 code。需要保留外部编码时使用 渠道初始化。保存 data.code,不从名称推导编码。

分页查询知识库

GET /openapi/paas/v1/knowledge/container/list

查询当前身份可访问的知识库。Query 参数均可选,首次接入可只传分页。

权限:knowledge_container=READ

请求参数

参数JSON/表单类型必填说明
pageNointeger当前页,默认 1
pageSizeinteger每页条数,默认 10
namestring名称模糊查询
categorystring类别,使用目标知识库实际类别值
typestring容器类型,知识库/目录,按实际返回值填写
parentCodestring父编码
tagarray[string]标签集合,可重复同名 Query 参数传入
classifyCodestring分类编码
sortFieldstringcreateTime、modifierTime、name
sortOrderstringasc、desc

请求示例

curl --get --request GET "${BASE_URL}/openapi/paas/v1/knowledge/container/list" \
--header "Authorization: Bearer ${AIS_API_KEY}" \
--data-urlencode "pageNo=1" \
--data-urlencode "pageSize=10"

响应字段

顶层使用 分页响应

字段JSON 类型说明
dataarray[object]字段完整定义见 响应数据字典;示例只保留业务所需字段
data[].idinteger知识库主键,按 id 更新/删除时使用
data[].codestring知识库业务编码,文件与检索请求使用
data[].namestring知识库名称
data[].typestring容器类别,保留实际返回大小写
data[].tagarray[string] / null标签集合,无标签可为空
data[].totalSizeinteger / null统计容量,字节;非统计场景可能未填充

响应示例

{
"code": 8200,
"message": "SUCCESS",
"pageNo": 1,
"pageSize": 10,
"total": 1,
"totalPage": 1,
"data": [
{
"id": 101,
"code": "partner_kb_001",
"name": "产品知识库",
"category": "COMMON",
"type": "knowledge",
"parentCode": "0",
"tag": [
"产品"
],
"description": "产品资料"
}
]
}

返回空数组是正常无匹配结果,不自动创建知识库。请求模型中的其他内部场景字段不作为本页推荐的筛选协议。

按主键查询知识库

GET /openapi/paas/v1/knowledge/container/queryById

读取一个知识库详情,不返回文件列表。

权限:knowledge_container=READ

请求参数

参数JSON/表单类型必填说明
idinteger知识库数字主键

请求示例

curl --get --request GET "${BASE_URL}/openapi/paas/v1/knowledge/container/queryById" \
--header "Authorization: Bearer ${AIS_API_KEY}" \
--data-urlencode "id=101"

响应字段

顶层使用 普通响应

字段JSON 类型说明
dataobject字段完整定义见 响应数据字典;示例只保留业务所需字段
data.idinteger知识库主键,按 id 更新/删除时使用
data.codestring知识库业务编码,文件与检索请求使用
data.namestring知识库名称
data.typestring容器类别,保留实际返回大小写
data.tagarray[string] / null标签集合,无标签可为空
data.totalSizeinteger / null统计容量,字节;非统计场景可能未填充

响应示例

{
"code": 8200,
"message": "SUCCESS",
"data": {
"id": 101,
"code": "partner_kb_001",
"name": "产品知识库",
"category": "COMMON",
"type": "knowledge",
"parentCode": "0",
"tag": [
"产品"
],
"description": "产品资料"
}
}

查询不到资源或权限不足时按 错误处理 排查;不能将无权限当成可重新创建同编码的依据。

按编码查询知识库

GET /openapi/paas/v1/knowledge/container/queryByCode

读取一个知识库详情,不返回文件列表。

权限:knowledge_container=READ

请求参数

参数JSON/表单类型必填说明
codestring知识库 code

请求示例

curl --get --request GET "${BASE_URL}/openapi/paas/v1/knowledge/container/queryByCode" \
--header "Authorization: Bearer ${AIS_API_KEY}" \
--data-urlencode "code=partner_kb_001"

响应字段

顶层使用 普通响应

字段JSON 类型说明
dataobject字段完整定义见 响应数据字典;示例只保留业务所需字段
data.idinteger知识库主键,按 id 更新/删除时使用
data.codestring知识库业务编码,文件与检索请求使用
data.namestring知识库名称
data.typestring容器类别,保留实际返回大小写
data.tagarray[string] / null标签集合,无标签可为空
data.totalSizeinteger / null统计容量,字节;非统计场景可能未填充

响应示例

{
"code": 8200,
"message": "SUCCESS",
"data": {
"id": 101,
"code": "partner_kb_001",
"name": "产品知识库",
"category": "COMMON",
"type": "knowledge",
"parentCode": "0",
"tag": [
"产品"
],
"description": "产品资料"
}
}

查询不到资源或权限不足时按 错误处理 排查;不能将无权限当成可重新创建同编码的依据。

更新知识库资料

PUT /openapi/paas/v1/knowledge/container/update

按数字主键更新知识库资料。建议先读取当前配置,再提交希望保留的完整名称、标签和分类。

权限:knowledge_container=WRITE

请求参数

参数JSON/表单类型必填说明
idinteger知识库主键
namestring知识库名称
descriptionstring描述
tagarray[string]标签集合,最多 10 项,每项最长 20 字符
classifyCodestring分类 code
visibilityRangestring可见性范围
kbKnowledgeBasePermissionReqListarray[object]完整权限条目,见数据字典;权限修改优先走专门授权流程

请求示例

curl --request PUT "${BASE_URL}/openapi/paas/v1/knowledge/container/update" \
--header "Authorization: Bearer ${AIS_API_KEY}" \
--header "Content-Type: application/json" \
--data '{
"id": 101,
"name": "产品知识库",
"description": "更新后的产品资料",
"tag": [
"产品"
],
"classifyCode": "0"
}'

响应字段

顶层使用 普通响应

字段JSON 类型说明
datastring操作结果;成功时可以为空字符串,不包含新资源对象

响应示例

{
"code": 8200,
"message": "SUCCESS",
"data": ""
}

该请求模型还承载解析配置与元数据扩展。不要依据响应字段自行提交未理解的配置;知识库授权请按 权限查询与全量更新 执行。成功 data 为结果字符串,不是更新后的对象;需要最新资料时再次查询。

按主键删除知识库

DELETE /openapi/paas/v1/knowledge/container/delete

删除指定知识库,属于破坏性操作。执行前确认目标编码、数据范围和备份。

权限:knowledge_container=WRITE

请求参数

参数JSON/表单类型必填说明
idinteger目标知识库数字主键

请求示例

curl --get --request DELETE "${BASE_URL}/openapi/paas/v1/knowledge/container/delete" \
--header "Authorization: Bearer ${AIS_API_KEY}" \
--data-urlencode "id=101"

响应字段

顶层使用 普通响应

字段JSON 类型说明
datastring操作结果;成功时可以为空字符串,不包含新资源对象

响应示例

{
"code": 8200,
"message": "SUCCESS",
"data": ""
}

不支持以重复调用模拟安全重试。请求超时后先查询资源状态,确认是否已删除;不要换用另一个标识重复删除。

按编码删除知识库

DELETE /openapi/paas/v1/knowledge/container/deleteByCode

删除指定知识库,属于破坏性操作。执行前确认目标编码、数据范围和备份。

权限:knowledge_container=WRITE

请求参数

参数JSON/表单类型必填说明
codestring目标知识库业务编码

请求示例

curl --get --request DELETE "${BASE_URL}/openapi/paas/v1/knowledge/container/deleteByCode" \
--header "Authorization: Bearer ${AIS_API_KEY}" \
--data-urlencode "code=partner_kb_001"

响应字段

顶层使用 普通响应

字段JSON 类型说明
datastring操作结果;成功时可以为空字符串,不包含新资源对象

响应示例

{
"code": 8200,
"message": "SUCCESS",
"data": ""
}

不支持以重复调用模拟安全重试。请求超时后先查询资源状态,确认是否已删除;不要换用另一个标识重复删除。

统计知识库容量

PUT /openapi/paas/v1/knowledge/container/statistical

触发指定知识库的容量统计,返回统计后的知识库对象。

权限:knowledge_container=READ

请求参数

参数JSON/表单类型必填说明
idinteger知识库数字主键

请求示例

curl --request PUT "${BASE_URL}/openapi/paas/v1/knowledge/container/statistical" \
--header "Authorization: Bearer ${AIS_API_KEY}" \
--header "Content-Type: application/json" \
--data '{
"id": 101
}'

响应字段

顶层使用 普通响应

字段JSON 类型说明
dataobject字段完整定义见 响应数据字典;示例只保留业务所需字段
data.idinteger知识库主键,按 id 更新/删除时使用
data.codestring知识库业务编码,文件与检索请求使用
data.namestring知识库名称
data.typestring容器类别,保留实际返回大小写
data.tagarray[string] / null标签集合,无标签可为空
data.totalSizeinteger / null统计容量,字节;非统计场景可能未填充

响应示例

{
"code": 8200,
"message": "SUCCESS",
"data": {
"id": 101,
"code": "partner_kb_001",
"name": "产品知识库",
"category": "COMMON",
"type": "knowledge",
"parentCode": "0",
"tag": [
"产品"
],
"description": "产品资料",
"totalSize": 102400,
"totalSizeDisplay": "100 KB",
"status": 1,
"statisticalTime": "2026-09-05T10:30:00"
}
}

totalSize 为字节;totalSizeDisplay 为展示文本。statisticalTime 是统计时间,不是实时资源预留承诺。

分页查询知识库标签

GET /openapi/paas/v1/knowledge/container/tags

查询知识库标签及使用数量,用于筛选项展示。

权限:knowledge_container=READ

请求参数

参数JSON/表单类型必填说明
pageNointeger当前页,默认 1
pageSizeinteger每页条数,默认 10
namestring标签名称筛选

请求示例

curl --get --request GET "${BASE_URL}/openapi/paas/v1/knowledge/container/tags" \
--header "Authorization: Bearer ${AIS_API_KEY}" \
--data-urlencode "pageNo=1" \
--data-urlencode "pageSize=10"

响应字段

顶层使用 分页响应

字段JSON 类型说明
dataarray[object]标签分页条目
data[].namestring标签名称
data[].numinteger标签统计数量

响应示例

{
"code": 8200,
"message": "SUCCESS",
"pageNo": 1,
"pageSize": 10,
"total": 1,
"totalPage": 1,
"data": [
{
"name": "产品",
"num": 1
}
]
}

标签统计不是文件分片标签。未匹配时返回空分页。

旧版章节导航