/knowledge_retrieval.endpoint请求头
Content-Typestring*application/jsonAcceptstring*application/jsonAuthorizationstring*<knowledge_retrieval.authorization>Body 参数
业务侧外接知识 API 需要遵循的 HTTP JSON 协议。
endpoint和authorization来自 CreateLive 请求中的knowledge_retrieval配置。- 请求体不包含
user_id、creator_id、character_id、collection_ids、document_ids、数据库过滤条件、embedding 向量、权限开关或敏感信息开关。
knowledge_types 枚举
类型 | 含义 |
|---|---|
`faq` | 常见问题、标准问答 |
`document` | 产品文档、说明文档、长文档片段 |
`policy` | 政策、规则、限制、合规说明 |
`product` | 产品能力、参数、功能说明 |
`procedure` | 操作流程、接入步骤、使用指南 |
`troubleshooting` | 排障指南、错误码说明、问题定位步骤 |
`other` | 其他不确定类型 |
响应示例
外部 API 应返回 JSON。推荐只返回 knowledge 数组。
knowledge[].content:给模型看的核心内容,建议是短自然语言句子或短段落,不要返回大量原始文档。knowledge[].title / source / url:帮助模型判断来源、必要时说明依据,url可选。knowledge[].type:知识类型,建议与请求中的knowledge_types枚举一致。knowledge[].confidence:可信度,建议0..1。高置信度可自然使用;中置信度谨慎使用;低置信度应向用户确认或说明没有找到明确资料。knowledge[].updated_at:更新时间,建议 RFC3339。新旧资料冲突时优先参考较新资料,但仍要结合当前用户输入。- 空结果:当结果为空时,这样返回“"knowledge": []”,不要返回纯文本(例如“没查到”)。
错误响应
外部 API 返回非 2xx 时,系统会把工具结果归一化为错误输出提交给模型。系统会限制响应体大小,过大响应会被视为 response_too_large。推荐仍返回结构化 JSON:
联调示例
live 服务内置一个无认证 fake provider,用于本地联调、演示和外部用户测试。它不是正式知识库服务,不写入、不持久化真实知识内容。
- HTTP 接口
该接口不需要 Authorization。如果经过网关聚合,路径可能是:
fake provider 不校验 live_id,即使不传也会返回内置 demo 知识。它固定读取 live 服务内置 demo 知识,不根据 live_id 或 character_id 切换知识库。内部规则:读取内置候选 → 按 knowledge_types 过滤 → 按 query/time_hint 与 title/content/keywords 简单命中排序 → 按 max_results 截断。
- live 自调用示例
创建校验仍要求 authorization 非空;fake provider 会忽略该 header。
- demo 验证流程
推荐方式:先直接调 fake knowledge API 让用户看到接口返回了哪些资料,再在对话里问数字人相同或相关问题,让用户明显感知数字人用到了 API 返回的数据。
先调用 API:
API 返回:
然后用户问数字人“萤火虫徽章怎么领?暗号是什么?”,预期回复自然使用展台位置 B3-17 和暗号 蓝鲸七号

