必须先发布知识库并获取API密钥与含/v1/search的服务地址,否则返回401或404;调用时需在Header传Authorization,Body支持基础检索、带filter的语义检索及含conversation_history的多轮检索;响应中需校验状态码,解析hits数组的content和source_name等字段。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要在火山引擎上通过API检索自己创建的知识库,必须先在VeDB控制台完成知识库发布并获取有效的API密钥与服务地址,否则调用将直接返回401或404错误。
准备知识库服务与认证凭证
登录火山引擎控制台→进入「VeDB」服务→左侧导航栏点击「知识库」→找到目标知识库,确认状态为「已发布」→点击右侧「操作」→「API接入」→复制「服务地址」和「API Key」。
注意:未发布的知识库无法被API访问,【服务地址末尾必须包含/v1/search】,若复制的是根域名(如https://vekb.volcengineapi.com),需手动补全路径,否则请求会失败。
构造HTTP请求调用搜索接口
使用curl或Postman发起POST请求,Headers中添加Authorization: Bearer {API Key},Body为JSON格式。
方法一:基础关键词检索
发送如下请求体:
{\"query\":\"如何重置密码\",\"top_k\":3}
方法二:带过滤条件的语义检索
发送如下请求体:
{\"query\":\"发票报销流程\",\"filter\":{\"source_type\":\"pdf\",\"updated_after\":\"2024-06-01\"},\"top_k\":5,\"enable_rerank\":true}
方法三:启用上下文增强的多轮检索
在Body中加入conversation_history字段,例如:
{\"query\":\"它支持哪些银行?\",\"conversation_history\":[{\"role\":\"user\",\"content\":\"我想查支付对接文档\"},{\"role\":\"assistant\",\"content\":\"已找到《支付网关接入指南》\"}],\"top_k\":2}
解析返回结果中的关键字段
第一步:检查HTTP状态码是否为200,非200需根据code字段排查(如invalid_api_key、knowledge_base_not_found)。
第二步:读取response.hits数组,每个hit对象含document_id、content、score、metadata四个核心字段。
第三步:提取content字段即为匹配段落原文,【metadata中source_url可能为空,但source_name一定存在】,可用于前端展示来源名称。
第四步:若启用rerank,score值已按相关性重排序,无需二次计算;若未启用,原始向量相似度分数范围通常在0.3~0.9之间,低于0.4的结果建议忽略。

















