AI知识库智能助手
项目访问链接
https://zion.functorz.com/tool/EQvM7ze7AnN/WEB?code=RFrG2Jr1mbnOe
场景与目标
- 目标:构建一个能够检索私有知识库,并根据检索内容自动生成回答的智能助手。
- 适用场景:企业内部文档查询、智能客服机器人、技术支持自动化。
- 核心逻辑:用户提问 -> AI Agent -> 行为流 (工具调用) -> 数据库 (向量搜索) -> AI 综合回答 -> 输出。
实现步骤
数据存储
- 数据模型:创建名为
文章的数据表。
| 字段名称 | 类型 | 说明 |
|---|---|---|
| 标题 | 文本 | 文档的标题。 |
| 内容 | 文本 | 文档的核心内容。必须开启“向量存储”。 |
| 链接 | 文本 | 文档对应的原始引用链接。 |
什么是向量存储? 它将非结构化的文本转换为数值向量。这使得系统能够基于“语义相似度”而非简单的关键词匹配来查找内容。

- 数据录入:录入几条测试数据,作为知识库。

行为流配置
创建一个行为流,作为 AI Agent调用的“工具”,执行实际的语义检索动作。
行为流搭建
- 输入参数:添加一个名为
question的文本参数,用于接收 AI 传递的用户问题。 - 获取首选匹配项:
- 添加一个获取数据节点,选择
文章表。 - 排序:选择
内容字段,模式设为 向量 (Vector)。 - 函数:选择 COSINE (余弦相似度)。
- 输入绑定:绑定至
行为流输入.question。 - 限额:设为
1(返回最相关的一条)。
- 添加一个获取数据节点,选择
- 获取次选匹配项:
- 再次添加一个获取数据节点。
- 过滤条件:设置
id“不等于”上一步获取到的 ID,以避免重复。 - 排序/函数:配置同上 (向量模式 + COSINE)。
- 限额:设为
1(返回相关度第二的内容)。
- 输出结果:定义四个文本输出参数,将检索到的数据返回给 AI:
primary_content: 来自第一个获取数据节点的内容。primary_link: 来自第一个获取数据节点的链接。secondary_content: 来自第二个获取数据节点的内容。secondary_link: 来自第二个获取数据节点的链接。
AI agent
在 AI 模块中配置Agent的身份和工具调用逻辑。
- 角色 (Role):
你是一个专业的 Zion 无代码平台技术支持智能助手。- 任务详情 (Task Details):
你的主要目标是通过检索官方知识库,准确地回答用户的问题。
# 工作流
1. 接收到用户问题后,立刻且仅调用一次 `SearchKnowledgeBase` 工具。将用户的输入传入 `question` 参数。
2. 工具会返回匹配度最高的 2 篇文章中的四个输出变量。
3. 仔细评估 `primary_content`(首选内容)和 `secondary_content`(备选内容):
* **若发现相关信息**:综合两者(或其中之一)的相关信息,生成清晰、简明的回答。
* **必须在结尾附加参考链接**。如果两篇文档都有用且链接不同,请将两个链接都列出。如果只有一篇文档有用,则只列出该链接。 使用以下 Markdown 格式:`[阅读首选文档]({{primary_link}})``[阅读备选文档]({{secondary_link}})`(仅在需要时提供)
* **若两者均无关或为空**:严禁捏造答案,无需给出链接。请礼貌回复:“抱歉,我目前的知识库中没有找到确切答案。请查阅 Zion 官方文档了解更多细节。”
4. 语言:始终使用与用户提问完全相同的语言进行回复。- 任务限制 (Constraints):
1.等待输入:会话开始时严禁调用任何工具。你必须等待用户明确提出zion相关问题。
2.仅限一次搜索:针对每条用户消息,严格限制最多只能调用 1 次搜索工具。如果第一次搜索没有返回预期的答案,严禁重试、循环或更改搜索关键词。- 工具 (Tools):在工具栏点击
+,添加刚才配置好的行为流。在提示词中提到的工具名应与配置的“工具名称”一致,避免因理解偏差导致的调用失败。

验证
在 AI 配置页面的右侧调试窗口进行测试:
- 匹配测试:询问一个数据库中明确存在的信息。
- 预期结果:AI 成功提取内容,并输出唯一的相关链接。
- 融合测试:提问一个涉及两篇文档内容的问题。
- 预期结果:AI 同时综合了首选和备选内容,并同时列出两个参考链接。
- 无关拦截:输入完全无关的问题(如“今天天气怎么样”)。
- 预期结果:AI 识别到内容不匹配,触发“无关处理”逻辑礼貌致歉,不乱给链接。
- 防抢跑:新开一个会话,什么都不输入。
- 预期结果:无“工具调用”,直到你发送第一条消息。

Last updated on