cURL
跨多个知识库执行联合语义检索,返回按相关性排序的切片。检索策略预先在控制台配置进 agent 实例并发布,调用方传入检索意图(
请求面保持最小。所有参数按角色分为两类:
A 类示例:
通过
响应
失败时
query / images)与 agent_id,还可通过 kb_search_configs 为每个知识库指定文档/标签过滤条件。
调用前必须先在控制台发布知识检索服务(agent),否则返回 Agent 未发布错误。
参数分类
请求面保持最小。所有参数按角色分为两类:
| 分类 | 含义 | 归属 | 是否进请求 |
|---|---|---|---|
| A 类 · agent 策略 | 属于 agent 属性的检索策略 | 锁进 agent_config,控制台配置并发布 | 否 |
| B 类 · 调用意图 | 仅本次调用时才知道的输入 | 请求体 | 是 |
dense_similarity_top_k、sparse_similarity_top_k、rerank、rerank_top_n、rerank_min_score、hybrid_rerank、enable_kb_router、kb_search_configs[].weight、enable_rewrite、enable_nl2sql 等,全部在 agent_config 中管理,请求不可覆盖。
B 类示例:query、images、kb_search_configs[].id、kb_search_configs[].search_filters。
kb_search_configs
通过 kb_search_configs 可在请求中为每个知识库指定文档/标签过滤条件,实现运行时动态过滤。该字段为数组,每个元素对应一个知识库。
kb_search_configs[].id必须是 agent 离线配置中已绑定的知识库 ID,不能查询未绑定的知识库。- 同一请求中
id不能重复。 - 每个
kb_search_configs元素必须包含id字段。 search_filters总字节数不超过 80,000 bytes。非结构化知识库仅允许tags和meta两种 key,数组长度不超过 1,000。- 可过滤字段须在该知识库入卷时声明于
index_config.fields,否则过滤不生效。
响应
响应 data 包含 total(命中切片总数)、nodes(结果列表)、cost_time(耗时毫秒)。每个 node 含 score、text、metadata,具体字段见上方参数表。
以
_ 开头的 metadata 字段是内部打分用,版本间可能变,不要写进业务逻辑。表格型知识库还会额外返回用户表格里的业务字段(字段名因表结构而异)。错误处理
失败时 success 为 false、status 为 ERROR、status_code 为对应语义码、code 为错误码字符串、message 为描述,request_id 必返回。始终校验 success,而非仅依赖 HTTP 状态码;排查问题提供 request_id。
| 场景 | 错误码 | 错误信息 |
|---|---|---|
agent_id 缺失 | InvalidParameter | agent_id is required |
query 缺失 | InvalidParameter | query is required |
| kb_id 不属于 agent 绑定的知识库 | InvalidParameter | kb not bound to agent: {id} |
| kb_id 重复 | InvalidParameter | duplicate kb id in kb_search_configs: {id} |
| kb_id 为空 | InvalidParameter | kb_search_configs[{i}].id is required |
| search_filters 总字节数超限 | InvalidParameter | search_filters total bytes must less than 80000 |
| 非结构化 filter 包含非法 key | InvalidParameter | search_filters[{i}] contains invalid key '{key}'. Only 'tags' and 'meta' are allowed for unstructured data |
| 非结构化 tags/meta 数组超限 | InvalidParameter | search_filters[{i}].tags array size must not exceed 1000 |
Authorizations
string
header
required
DashScope API Key,在控制台 API Key 页面(https://agent.console.aliyun.com/settings/apikey)获取。
Body
application/jsonstring
required
知识检索服务(agent)实例 ID。服务端据此加载已发布的 agent_config(含全部 A 类检索策略)。在控制台知识检索页面创建并发布后获取。
string
default""
文本检索意图。与 images 至少传入一个;纯图搜时可传空串;非纯图搜场景(未传 images)下必填,否则返回 InvalidParameter。
string[]
default[]
图片检索意图,元素为图片 URL(须公网可访问)。与 query 至少传入一个,可同时传入实现多模态检索。
string
agent 版本。标准接口仅暴露 agent_id / agent_version / query / images / kb_search_configs,其余检索策略一律走 agent_config,不在请求中暴露。
object[]
知识库过滤配置数组。每个元素对应一个知识库,可指定文档/标签过滤条件。id 必须属于 agent 已绑定的知识库,同一请求中不可重复。