Dify配置指引_v1.md
7.71 KB
Dify 知识库 + 飞书 Bot 配置指引
目标:把
knowledge/*.md导入 Dify,配置业务问答 + 需求预评审两个能力,发布到飞书机器人。
总览:三步走
Step 1 上传知识库 knowledge/*.md → Dify 知识库
Step 2 配置应用 创建 Chatbot,写系统提示词,挂载知识库
Step 3 接入飞书 Dify 发布 → 飞书自定义机器人
Step 1:创建并上传知识库
1.1 新建知识库
进入 Dify → 左侧「知识库」→ 右上角「创建知识库」
| 字段 | 填写 |
|---|---|
| 知识库名称 | 产品规则库-v1 |
| 描述 | 医生App产品规则,含认证/提现/问诊/门诊/患者等模块 |
1.2 上传文件
优先上传这 7 个主模块(其余小模块可合并进来或后续追加):
knowledge/AUTH_rules.md 医师认证 545条 173KB
knowledge/INCOME_rules.md 收入提现 162条 70KB
knowledge/INQUIRY_rules.md 问诊咨询 257条 79KB
knowledge/CLINIC_rules.md 门诊排班 174条 55KB
knowledge/PATIENT_rules.md 患者管理 178条 54KB
knowledge/NOTIFICATION_rules.md 通知消息 33条 9KB
knowledge/BACKSTAGE_rules.md 运营后台 23条 7KB
1.3 分段设置(关键!)
上传时选择「自定义分段」:
| 参数 | 推荐值 | 原因 |
|---|---|---|
| 分段标识符 |
\n\n (双换行) |
每条规则之间有空行,自然分段 |
| 最大分段长度 |
500 tokens |
一条规则平均 100~200 字,500 保证上下文完整 |
| 分段重叠 |
50 tokens |
保证相邻规则有关联时不断链 |
| 过滤空白段 | 开启 | 去掉只有 --- 的分隔行 |
1.4 索引模式
选「高质量」→ 使用 Embedding 模型(建议 text-embedding-3-small 或 bge-m3)
⚠️ 高质量模式会消耗 token,但检索准确率显著更高,必选。
1.5 检索设置
| 参数 | 推荐值 |
|---|---|
| 检索方式 | 混合检索(全文 + 语义) |
| Top K | 6 |
| Score 阈值 | 0.5 |
| Rerank | 开启(如有 Rerank 模型) |
Step 2:创建应用(Chatbot)
2.1 新建应用
「工作室」→「创建应用」→ 选「聊天助手」→ 基础编排
| 字段 | 填写 |
|---|---|
| 应用名称 | 产品知识助手 |
| 描述 | 回答产品业务规则,支持需求预评审 |
2.2 挂载知识库
在「上下文」区域 → 点击「+」→ 选择 产品规则库-v1
2.3 系统提示词(直接复制)
你是医生App的产品知识助手,专职回答产品业务规则问题。知识来自内部规则库(含测试用例、Figma设计稿,培训文档补充中)。
## 一、能力范围
支持:认证、提现/收入、问诊、门诊、患者管理、通知等模块的产品规则查询、版本演进说明、需求预评审。
不支持:技术实现细节、UI视觉规范、运营策略、数据统计分析。遇到此类问题,说明超出范围并建议找对应同学。
## 二、回答规则
**版本处理**
- 检索到同一功能多个版本的记录时:以最新版本为准,如各版本行为有明显差异则主动说明演变过程
- 只有文档明确写明"功能废弃/不再支持"时,才判断为已删除;否则最新版有记录即视为当前有效
- 用户指定版本查询时,优先引用该版本来源的规则
**来源可信度**
- 来自📚培训文档:权威可信,直接引用
- 来自🧪测试用例:行为层面可信;涉及关键决策时提示用户确认最新产品文档
- 来自🎨Figma设计稿:设计层参考,培训文档和测试用例优先
**数据质量处理**
- 规则结果仅为"满足预期"且无具体内容时:说明该功能经测试验证可用,但详细规则待文档补充
- 规则中出现"[截图]"占位符时:忽略该占位符,只呈现文字内容
**知识缺口**
- 知识库无相关内容:明确告知"当前知识库未覆盖此规则",不编造,不猜测
**模糊问题**
- 问题涉及多种场景或角色(如未说明医生类型/认证状态)时:先追问明确再回答,不要乱猜
## 三、回答格式(自适应)
简单问题:结论前置,直接给规则 + 来源版本,简短回答。
复杂问题(多条规则或有版本差异):
当前规则(最新版):...
版本演进(如有变化):
· vX.XX:...
· vX.XX:...
来源:版本号 · 数据类型
需求预评审(用户输入含"评审"/"新增"/"修改"/"改动"时):
影响模块:...
涉及规则:...
潜在冲突:(有则列出,无则说明"暂未发现冲突")
建议:...
## 四、表达方式
- 将知识库中的"前提/操作/结果"结构综合成自然语言表达,不要机械地照搬三段式格式
- 简洁专业,结论前置,不啰嗦
- 简单问题不超过200字,复杂问题按需展开
2.4 模型参数
| 参数 | 推荐值 |
|---|---|
| 模型 |
claude-3-5-sonnet 或 gpt-4o(推荐) |
| Temperature |
0.3(保证规则回答稳定,不发散) |
| 最大 tokens | 2000 |
2.5 开场白(可选)
你好!我是产品知识助手,可以帮你:
- 🔍 查询产品业务规则(如:医生提现有哪些限制?)
- 📋 需求预评审(如:评审 新增提现手续费功能)
直接提问即可。
2.6 发布前测试
在调试区依次测试:
医生提现失败的原因有哪些?第1类医师和第2类医师的区别评审 新增医生端消息免打扰功能
确认回答引用了知识库内容后再发布。
Step 3:接入飞书
方式选择
| 方式 | 适合场景 | 配置难度 |
|---|---|---|
| Dify 官方飞书渠道(推荐) | 直接在 Dify 配置,无需代码 | ⭐⭐ |
| 飞书自定义机器人 + Webhook | 需要自己写消息转发服务 | ⭐⭐⭐⭐ |
3.1 Dify 官方飞书渠道配置
应用发布页 → 「访问 API」→ 复制 API Key 和 API URL
飞书开放平台(open.feishu.cn)→ 创建企业自建应用
-
应用权限勾选:
-
im:message(接收消息) -
im:message:send_as_bot(发送消息) -
im:chat(群聊)
-
-
事件订阅 → 添加事件
接收消息 im.message.receive_v1- 请求地址填:Dify 提供的 Webhook 地址
-
回到 Dify → 「发布」→「飞书」渠道 → 填入飞书应用的:
- App ID
- App Secret
- Verification Token
- Encrypt Key
飞书应用发布上线 → 在飞书群内 @ 机器人测试
3.2 飞书群使用方式
群内直接 @ 机器人:
@产品知识助手 医生工作室开通的条件是什么?
私聊机器人:
直接发消息,不需要 @
Step 4:后续知识库更新流程
每次有新版本 atoms 时:
# 1. 重新生成知识文档
python3 scripts/build_knowledge_docs.py
# 2. 去 Dify 知识库 → 选对应文件 → "更新文件"
# (Dify 支持直接替换文件,无需重新配置)
💡 未来培训文档 doc_atoms 补充后,重新跑脚本生成更高质量的文档,再更新到 Dify 即可。
常见问题
Q:检索结果不准确,回答了不相关的内容?
- 调高 Score 阈值到
0.6 - 检查分段是否合理(每段应该是一条完整规则)
Q:回答太长、太啰嗦?
- 系统提示词加:「回答控制在 300 字以内,用列表格式」
Q:飞书群里 @ 没有反应?
- 检查飞书应用是否已发布并添加到群
- 检查 Dify Webhook 地址是否正确配置了事件订阅
Q:知识库更新后旧内容还在被引用?
- Dify 知识库更新文件后需要重新建索引(约 1~5 分钟),等待完成后再测试