需将Zion函子作为调度层串入推理链路,确保LLM调用前完成向量检索与上下文注入;须确认Zion服务已启动(curl健康检查返回{"status":"ok"}),构造含"mode": "retrieval_first"的JSON输入,通过同步/异步/SKD方式调用,并启用debug验证retrieved_chunks字段存在且语义相关。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要让智能体先查询知识库再生成回答,需将函子Zion作为中间调度层串入推理链路,确保每次LLM调用前触发向量检索与上下文注入。
确认Zion函子已部署并可调用
检查本地或服务端是否已启动Zion实例,运行 curl http://localhost:8000/health 返回 {"status":"ok"} 表示就绪。
若返回连接拒绝或超时,【必须先启动Zion服务,否则后续所有请求均会失败】。
构造带检索意图的输入结构
将原始用户问题包裹为JSON对象,显式声明 "mode": "retrieval_first",例如:
{"query": "Transformer的注意力机制如何计算", "mode": "retrieval_first", "top_k": 3}
这个结构会触发Zion跳过直答路径,强制进入检索→重排→拼接流程。
通过HTTP请求串联Zion与LLM
方法一:同步阻塞式调用
用POST向Zion接口提交上一步构造的JSON → Zion执行向量检索并拼装context → Zion将增强后的prompt转发至LLM API(如OpenAI / Ollama) → 等待LLM返回结果 → Zion原样透传响应。
方法二:异步事件驱动式
向Zion的/v1/query端点发送请求,获取task_id → 订阅/v1/events?task_id=xxx SSE流 → 收到status: completed事件后拉取最终答案。
方法三:嵌入SDK调用(Python示例)
安装pip install zion-sdk → 初始化ZionClient(base_url="http://localhost:8000") → 调用client.invoke(query="...", mode="retrieval_first") → 返回含context_chunks和answer的完整字典。
验证检索是否真实生效
第一步:在Zion配置中临时启用debug: true模式。
第二步:发起一次请求,观察响应体中是否包含"retrieved_chunks"字段且数组长度≥1。
第三步:比对retrieved_chunks[0].content与原始问题语义相关性——若内容明显偏离(如返回API文档首页),说明向量库未正确切分或嵌入模型不匹配。
这一步不能跳过。没有看到retrieved_chunks字段,就等于Zion根本没查库,后面所有输出都是纯幻觉。











