Skip to main content

完成第一次知识检索

这条最短路径适合已有 AIS 租户、希望将知识检索接入自己系统的开发者。目标是确认服务地址、密钥权限、知识库编码和检索响应四件事。

若你负责为客户自动开户,请从 渠道接入流程 开始;若只接入已配置好的问答应用,请阅读 应用对话

1. 准备接入资料

资料获取方式验收条件
API 服务地址由部署方提供服务端可通过 HTTPS 访问
平台 API Key租户开放平台密钥管理本示例具备 knowledge_container=READknowledge_search=READ
可用知识库由管理员创建并导入测试资料密钥创建人具有访问权限;目标资料完成处理并可用于检索
检索模型由租户管理员配置向量检索与重排序所需模型可用

模块权限与知识库权限分别校验。某个接口认证通过,不代表所有知识库均可访问。

2. 确认知识库编码

在可信服务端设置变量,替换占位值:

export BASE_URL="https://ais.example.com"
export AIS_API_KEY="tk-REPLACE_WITH_YOUR_KEY"

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

成功响应为分页结构。下面只展示本步骤需要的业务字段:

{
"code": 8200,
"message": "SUCCESS",
"pageNo": 1,
"pageSize": 10,
"total": 1,
"totalPage": 1,
"data": [{"id": 101, "code": "partner_kb_001", "name": "产品知识库"}]
}

确认 code=8200,保存目标记录的 data[].code;不要使用 data[].id 作为检索的 containerId。完整字段见 知识库管理

3. 发起知识检索

curl --request POST "${BASE_URL}/openapi/paas/v1/knowledge/retrieval" \
--header "Authorization: Bearer ${AIS_API_KEY}" \
--header "Content-Type: application/json" \
--data '{
"q": "产品支持哪些部署方式?",
"containerId": ["partner_kb_001"],
"alpha": 0.7,
"top_k": 5,
"rerank": true,
"score_threshold": 0.5
}'
{
"code": 8200,
"message": "SUCCESS",
"data": {
"references": [{"containerId": "partner_kb_001", "dataSetId": "partner_file_001", "dataSetName": "产品白皮书.pdf"}],
"paragraphs": [{"dataSetId": "partner_file_001", "page": 1, "content": "支持按项目约定进行部署。"}]
}
}
观察字段说明接入动作
code普通接口业务状态非 8200 时进入错误处理
data.references文件级引用来源数组保存/展示来源名称及业务编码
data.paragraphs命中片段数组读取 content,按 dataSetId 关联引用
data.paragraphs[].page来源页码,部分来源可空有值时用于来源定位

检索返回内容,不生成答案;完整响应字段与参数选择见 知识检索

4. 验证结果,再扩展能力

结果下一步
成功且有命中接入自己的 RAG 流程,或使用 标准 Chat 生成答案
成功但列表为空用文档中的已知原句测试;核对知识范围、处理/发布状态、阈值和模型配置
认证失败鉴权选择 检查凭据与模块权限
文件可查但检索不到检查是否完成索引、文档有效期及可问答权限
需要按业务属性过滤先发现字段,再接入 元数据过滤
需要独立访客历史完成 访客注册与用户关联,不要用标准 Chat 的 userId 切换身份

上线前至少验证:有命中、无命中、无权限、凭据失效和网络超时。先在测试租户完成验证,不在验证过程中对生产租户执行删除或充值。