知识库Agent Tool查询接口
知识库问答
按当前 Personal API 身份在有权限的知识库范围内进行问答检索。top_k 最大值受 athenaAgentChatTopkLimit 配置限制。
请求体
| 名称 | 类型 | 必填 | 描述 | 示例值 |
|---|---|---|---|---|
| query | string | 是 | 用户问题 | 如何配置机器人欢迎语? |
| top_k | int32 | 否 | 召回条数,不能小于 0,最大值受 athenaAgentChatTopkLimit 配置限制。 | 5 |
| score_threshold | double | 否 | 分数阈值,范围 0 到 1。 | 0.5 |
| spaceAnchors | string[] | 否 | 限定检索空间锚点列表。 | ["abc"] |
| word_size_limit | int32 | 否 | 最大文本召回长度,必须为正整数。 | 4000 |
| attributeConditions | object | 否 | 属性过滤条件组;不传或条件列表为空时不启用属性过滤。 | |
| └andConditions | object[] | 否 | AND 条件列表,列表内所有条件均需满足。 | |
| └fieldScope | string | 是 | 字段来源,可选 CUSTOM、PRESET、TAG。 | CUSTOM |
| └metaId | int64 | 否 | 自定义属性 ID,fieldScope=CUSTOM 时必传。 | 123 |
| └presetKey | string | 否 | 预制属性 key,fieldScope=PRESET 时必传;可选 CREATOR、MODIFIER、CREATE_TIME、UPDATE_TIME。 | UPDATE_TIME |
| └operator | string | 是 | 过滤操作符,可选 IS、NOT、ANY、NONE、CONTAINS、BETWEEN、BEFORE、AFTER、IS_NULL、NOT_NULL。 | IS |
| └values | string[] | 否 | 过滤值列表,可传文本值、人员 accid 或标签 ID 字符串;标签默认传新 tagId,灰度兼容租户传旧 labelId。 | ["已发布"] |
| └from | int64 | 否 | 时间范围起点,毫秒时间戳;BETWEEN、AFTER 操作符使用。 | 1719763200000 |
| └to | int64 | 否 | 时间范围终点,毫秒时间戳;BETWEEN、BEFORE 操作符使用。 | 1722441599000 |
| └fromValue | string | 否 | ||
| └toValue | string | 否 | ||
| └orConditions | object[] | 否 | OR 条件列表,列表内至少一个条件满足即可。 | |
| └fieldScope | string | 是 | 字段来源,可选 CUSTOM、PRESET、TAG。 | CUSTOM |
| └metaId | int64 | 否 | 自定义属性 ID,fieldScope=CUSTOM 时必传。 | 123 |
| └presetKey | string | 否 | 预制属性 key,fieldScope=PRESET 时必传;可选 CREATOR、MODIFIER、CREATE_TIME、UPDATE_TIME。 | UPDATE_TIME |
| └operator | string | 是 | 过滤操作符,可选 IS、NOT、ANY、NONE、CONTAINS、BETWEEN、BEFORE、AFTER、IS_NULL、NOT_NULL。 | IS |
| └values | string[] | 否 | 过滤值列表,可传文本值、人员 accid 或标签 ID 字符串;标签默认传新 tagId,灰度兼容租户传旧 labelId。 | ["已发布"] |
| └from | int64 | 否 | 时间范围起点,毫秒时间戳;BETWEEN、AFTER 操作符使用。 | 1719763200000 |
| └to | int64 | 否 | 时间范围终点,毫秒时间戳;BETWEEN、BEFORE 操作符使用。 | 1722441599000 |
| └fromValue | string | 否 | ||
| └toValue | string | 否 |
返回参数
| 名称 | 类型 | 描述 | 示例值 |
|---|---|---|---|
| code | int32 | 业务响应码。200 表示成功;失败时为 RetCode 中定义的业务码。 | 200 |
| msg | string | 响应说明。成功通常为 ok;失败时为错误原因。 | ok |
| message | string | 兼容字段,部分异常场景可能返回错误说明。 | |
| data | object | 问答和召回上下文结果。 | |
| └query | string | 用户问题。 | 退款规则是什么? |
| └context | string | 最终召回上下文,将文档名、匹配实体、切片内容组装成大模型易读结构。 | |
| └records | object[] | 从知识库召回的记录列表。 | |
| └title | string | 召回文档标题。 | 退款规则 |
| └content | string | 召回文本内容。 | |
| └score | double | 召回相关性分数。 | 0.95 |
| └llmAnswerBasisSplitList | object[] | 切片级召回明细。 | |
| └faqUniqueId | string | FAQ 切片唯一 ID。 | faq_123 |
| └docId | int64 | 文档 ID。 | 987654 |
| └docName | string | 所属文档名称。 | |
| └docLink | string | 所属文档链接。 | |
| └folderPath | object[] | 从知识库根目录到直接父目录的路径。 | |
| └id | int64 | 目录 ID。 | |
| └name | string | 目录名称。 | |
| └spaceId | int64 | 所属知识库 ID。 | |
| └spaceName | string | 所属知识库名称。 | |
| └knowledgeValue | string | 单个切片内容。 | |
| └score | double | 召回相关性分数。 | 0.95 |
| └tokenCount | int32 | 切片 token 长度。 | 128 |
| └faqCitationFlag | string | 切片引用编号。 | 1 |
| └paraUrl | string | 段落来源地址。 | https://example.com/doc#p1 |
| └paraIndex | int32 | 段落所在页码。 | 1 |
错误码
| 状态码 | 描述 |
|---|---|
| 400 | 请求参数错误。常见业务码:402 MISS_PARAM、403 ERR_PARAM。 |
| 401 | PERSONAL_API 鉴权失败。常见业务码:405 AUTH_FAILED。 |
| 404 | 资源不存在。常见业务码:404 NOT_FOUND。 |
| 500 | 服务内部异常。常见业务码:500 ERROR。 |
postEndpoint
/api/athena/agent/tool/chatcurl -X POST "https://b.163.com/api/athena/agent/tool/chat" \ -H "Content-Type: application/json" \ -d '{ "query": "如何配置机器人欢迎语?" }'{
"code": 200,
"msg": "ok",
"message": "string",
"data": {
"query": "退款规则是什么?",
"context": "string",
"records": [
{
"title": "退款规则",
"content": "string",
"score": 0.95,
"llmAnswerBasisSplitList": [
{
"faqUniqueId": "faq_123",
"docId": 987654,
"docName": "string",
"docLink": "string",
"folderPath": [
{
"id": 0,
"name": "string"
}
],
"spaceId": 0,
"spaceName": "string",
"knowledgeValue": "string",
"score": 0.95,
"tokenCount": 128,
"faqCitationFlag": "1",
"paraUrl": "https://example.com/doc#p1",
"paraIndex": 1
}
]
}
]
}
}{
"code": 200,
"msg": "ok",
"message": "string"
}{
"code": 200,
"msg": "ok",
"message": "string"
}{
"code": 200,
"msg": "ok",
"message": "string"
}{
"code": 200,
"msg": "ok",
"message": "string"
}这篇文档有帮助吗?