Files
wecom_it_smart_desk/docs/04-运维指南/Dify-Prompt-改造指南.md
T

129 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Dify 工作流 System Prompt 改造指南
## 改造目标
将 Dify 输出从 `action` 字段改为 `intent` 标签,让后端根据 intent 查询资产库生成真正的推荐卡片。
## 当前输出格式(需改造)
```json
{
"text": "回答文本...",
"action": {
"type": "approval_card",
"title": "软件安装审批",
"description": "申请安装 Adobe 系列软件",
"approval_type": "software_install",
"confidence": 0.95
},
"options": [...],
"diagnosis_stage": "diagnosing"
}
```
## 目标输出格式
```json
{
"text": "给用户的回答文本(50-200字)",
"intent": "用户意图标签",
"need_approval": (true/false),
"need_asset": (true/false),
"asset_keywords": ["关键词1", "关键词2"],
"options": [
{"label": "选项文字", "value": "选项值"}
],
"diagnosis_stage": "greeting|diagnosing|resolved|transfer"
}
```
## 改造步骤
### 1. 登录 Dify Console
访问:`http://yw-dify.dc.servyou-it.com/console`
### 2. 找到目标应用
找到「智能IT支持-员工咨询」应用(App ID: `8f0f3d62-f63d-4cf3-815e-b10529c66f1d`
### 3. 进入工作流编辑
1. 点击应用名称进入详情
2. 点击「编辑」
3. 进入「编排」页面
### 4. 找到 LLM 节点
找到输出 JSON 结构的 LLM 节点(通常在"开始"节点之后的第一个 LLM 节点)
### 5. 修改 System Prompt
在 LLM 节点的「系统提示词」中添加以下内容(追加到现有 Prompt 末尾):
```
## 输出格式要求
你是一个 IT 智能助手。请根据用户问题,输出以下 JSON 结构:
{
"text": "给用户的回答文本(50-200字)",
"intent": "用户意图标签",
"need_approval": 是否需要审批入口 (true/false),
"need_asset": 是否需要资产推荐 (true/false),
"asset_keywords": ["关键词1", "关键词2"],
"options": [
{"label": "选项文字", "value": "选项值"}
],
"diagnosis_stage": "greeting|diagnosing|resolved|transfer"
}
## 意图标签说明
intent 字段可选值:
- software_install: 软件安装
- hardware_issue: 硬件问题
- network_vpn: 网络/VPN 问题
- printer: 打印机问题
- account_permission: 账号权限问题
- email_outlook: 邮箱问题
- mobile_device: 移动设备问题
- other: 其他问题
## 资产推荐规则
当用户询问以下内容时,设置 need_asset=true 并指定 asset_keywords
- VPN 相关 → asset_keywords: ["vpn"]
- 打印机相关 → asset_keywords: ["打印机", "打印机驱动"]
- 软件安装 → asset_keywords: ["软件安装"]
- 邮箱问题 → asset_keywords: ["outlook", "邮箱"]
- 账号权限 → asset_keywords: ["账号", "权限"]
- 网络问题 → asset_keywords: ["网络", "wifi"]
重要:不要在 text 中推荐具体的下载链接或服务器地址,这些信息由系统根据 asset_keywords 智能匹配后推送到右侧栏。
```
### 6. 发布工作流
点击右上角「发布」按钮
### 7. 验证
在「发布」页面点击「运行」测试,验证输出格式是否符合预期。
## 回滚方案
如果新版本有问题,可以在 Dify Console 的「版本历史」中找到上一个版本,点击「恢复」即可回滚。
## 后端适配
后端代码 `asset_recommend_service.py` 已支持处理新的 `intent` 格式。
当 Dify 返回 `need_asset=true` + `asset_keywords` 时,后端会根据关键词查询 `assets.yaml` 中的资产信息,生成 L1 推荐卡片。
## 预期效果
用户说"VPN 连不上"
- **中间栏**AI 回复排查步骤
- **右侧栏 L1**:VPN 相关信息(客户端下载、服务器地址、申请审批)