|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+# 企业知识库 - Dify 应用开发任务清单
|
|
|
2
|
+
|
|
|
3
|
+> **项目**: 云美电子科技 企业知识库
|
|
|
4
|
+> **技术栈**: Dify (自部署 Docker) + DeepSeek
|
|
|
5
|
+> **仓库**: http://git.xayunmei.com/yunmei/dify-app
|
|
|
6
|
+> **PM/QA**: Agent-PMQA
|
|
|
7
|
+> **Dev**: Agent-Dev
|
|
|
8
|
+
|
|
|
9
|
+---
|
|
|
10
|
+
|
|
|
11
|
+## M1: 环境搭建(Day 1)
|
|
|
12
|
+
|
|
|
13
|
+### M1.1 Dify Docker 部署
|
|
|
14
|
+- [ ] 1.1.1 确认部署服务器(IP/配置)及 Docker 环境
|
|
|
15
|
+- [ ] 1.1.2 编写 `docker-compose.yml`(Dify 社区版)
|
|
|
16
|
+- [ ] 1.1.3 配置 `.env` 环境变量(端口、密钥、存储路径)
|
|
|
17
|
+- [ ] 1.1.4 启动 Dify 全套服务并验证可访问
|
|
|
18
|
+- [ ] 1.1.5 初始化管理员账号
|
|
|
19
|
+
|
|
|
20
|
+### M1.2 DeepSeek 模型接入
|
|
|
21
|
+- [ ] 1.2.1 在 Dify 后台配置 DeepSeek API Key
|
|
|
22
|
+- [ ] 1.2.2 验证模型调用正常(测试对话)
|
|
|
23
|
+- [ ] 1.2.3 配置模型参数(temperature、max_tokens 等)
|
|
|
24
|
+
|
|
|
25
|
+### M1.3 Git 项目初始化
|
|
|
26
|
+- [ ] 1.3.1 创建项目目录结构
|
|
|
27
|
+- [ ] 1.3.2 编写 `.gitignore`
|
|
|
28
|
+- [ ] 1.3.3 编写 `README.md`(项目说明)
|
|
|
29
|
+- [ ] 1.3.4 首次 push 到远程仓库
|
|
|
30
|
+
|
|
|
31
|
+---
|
|
|
32
|
+
|
|
|
33
|
+## M2: 知识库搭建(Day 2)
|
|
|
34
|
+
|
|
|
35
|
+### M2.1 知识库规划
|
|
|
36
|
+- [ ] 2.1.1 定义知识库分类体系(技术文档/管理制度/项目资料)
|
|
|
37
|
+- [ ] 2.1.2 编写知识库分类说明文档 `docs/knowledge-base-structure.md`
|
|
|
38
|
+- [ ] 2.1.3 定义文档命名规范和元数据标准
|
|
|
39
|
+
|
|
|
40
|
+### M2.2 Dify 知识库配置
|
|
|
41
|
+- [ ] 2.2.1 在 Dify 中创建知识库(按分类)
|
|
|
42
|
+- [ ] 2.2.2 配置分段策略(自动/自定义分段规则)
|
|
|
43
|
+- [ ] 2.2.3 配置索引模式(高质量模式 - Embedding)
|
|
|
44
|
+- [ ] 2.2.4 配置检索方式(混合检索:向量+全文)
|
|
|
45
|
+- [ ] 2.2.5 选择 Embedding 模型并验证
|
|
|
46
|
+
|
|
|
47
|
+### M2.3 示例文档导入
|
|
|
48
|
+- [ ] 2.3.1 准备测试文档集(每个分类 3-5 份)
|
|
|
49
|
+- [ ] 2.3.2 上传文档到 Dify 知识库
|
|
|
50
|
+- [ ] 2.3.3 验证分段结果和检索质量
|
|
|
51
|
+
|
|
|
52
|
+---
|
|
|
53
|
+
|
|
|
54
|
+## M3: 应用开发(Day 3-4)
|
|
|
55
|
+
|
|
|
56
|
+### M3.1 Chatbot 应用创建
|
|
|
57
|
+- [ ] 3.1.1 在 Dify 中创建 Chatflow 类型应用
|
|
|
58
|
+- [ ] 3.1.2 配置系统提示词(角色定义、回答规范、语气风格)
|
|
|
59
|
+- [ ] 3.1.3 绑定知识库并配置检索策略
|
|
|
60
|
+- [ ] 3.1.4 配置引用溯源(显示文档来源)
|
|
|
61
|
+
|
|
|
62
|
+### M3.2 Prompt 工程
|
|
|
63
|
+- [ ] 3.2.1 编写系统 Prompt `prompts/system-prompt.md`
|
|
|
64
|
+- [ ] 3.2.2 定义回答格式(结构化输出模板)
|
|
|
65
|
+- [ ] 3.2.3 定义边界场景处理(不知道/超出范围/敏感信息)
|
|
|
66
|
+- [ ] 3.2.4 定义多轮对话策略(上下文窗口管理)
|
|
|
67
|
+
|
|
|
68
|
+### M3.3 高级功能
|
|
|
69
|
+- [ ] 3.3.1 配置敏感词过滤(如适用)
|
|
|
70
|
+- [ ] 3.3.2 配置对话开场白和推荐问题
|
|
|
71
|
+- [ ] 3.3.3 配置引用归属显示
|
|
|
72
|
+- [ ] 3.3.4 设置 citations(引用来源卡片)
|
|
|
73
|
+
|
|
|
74
|
+---
|
|
|
75
|
+
|
|
|
76
|
+## M4: 测试优化(Day 5)
|
|
|
77
|
+
|
|
|
78
|
+### M4.1 功能测试
|
|
|
79
|
+- [ ] 4.1.1 编写测试用例 `tests/test-cases.md`
|
|
|
80
|
+- [ ] 4.1.2 基础问答测试(10+ 问题覆盖各知识库)
|
|
|
81
|
+- [ ] 4.1.3 多轮对话测试(上下文连贯性)
|
|
|
82
|
+- [ ] 4.1.4 边界测试(无关问题/错误提问/长文本)
|
|
|
83
|
+- [ ] 4.1.5 检索准确率评估(Top-5 召回率)
|
|
|
84
|
+
|
|
|
85
|
+### M4.2 调优
|
|
|
86
|
+- [ ] 4.2.1 根据测试结果优化 Prompt
|
|
|
87
|
+- [ ] 4.2.2 调整分段策略(如召回不准)
|
|
|
88
|
+- [ ] 4.2.3 调整检索参数(TopK、Score 阈值、Rerank)
|
|
|
89
|
+- [ ] 4.2.4 调整模型参数(temperature 等)
|
|
|
90
|
+
|
|
|
91
|
+### M4.3 性能测试
|
|
|
92
|
+- [ ] 4.3.1 响应时间测试(首 token / 完整回答)
|
|
|
93
|
+- [ ] 4.3.2 并发测试(多用户同时访问)
|
|
|
94
|
+- [ ] 4.3.3 记录性能基线 `docs/performance-baseline.md`
|
|
|
95
|
+
|
|
|
96
|
+---
|
|
|
97
|
+
|
|
|
98
|
+## M5: 用户接入(Day 6)
|
|
|
99
|
+
|
|
|
100
|
+### M5.1 嵌入式 WebApp
|
|
|
101
|
+- [ ] 5.1.1 配置 Dify 内置 WebApp(主题/Logo/品牌色)
|
|
|
102
|
+- [ ] 5.1.2 嵌入到公司内部网站(iframe 方案)
|
|
|
103
|
+- [ ] 5.1.3 测试嵌入页面的可用性
|
|
|
104
|
+
|
|
|
105
|
+### M5.2 API 集成(可选)
|
|
|
106
|
+- [ ] 5.2.1 生成 API Key
|
|
|
107
|
+- [ ] 5.2.2 编写 API 调用示例 `docs/api-integration.md`
|
|
|
108
|
+- [ ] 5.2.3 如需对接企业微信/飞书,编写对接方案
|
|
|
109
|
+
|
|
|
110
|
+### M5.3 权限与安全
|
|
|
111
|
+- [ ] 5.3.1 配置 Dify 应用访问权限
|
|
|
112
|
+- [ ] 5.3.2 检查 API Key 安全存储
|
|
|
113
|
+- [ ] 5.3.3 数据隐私合规检查
|
|
|
114
|
+
|
|
|
115
|
+---
|
|
|
116
|
+
|
|
|
117
|
+## M6: 文档交付(Day 7)
|
|
|
118
|
+
|
|
|
119
|
+### M6.1 项目文档
|
|
|
120
|
+- [ ] 6.1.1 更新 `README.md`(部署说明、使用指南)
|
|
|
121
|
+- [ ] 6.1.2 编写运维手册 `docs/ops-guide.md`(备份、升级、排障)
|
|
|
122
|
+- [ ] 6.1.3 编写用户使用手册 `docs/user-guide.md`
|
|
|
123
|
+- [ ] 6.1.4 编写知识库维护指南 `docs/kb-maintenance.md`
|
|
|
124
|
+
|
|
|
125
|
+### M6.2 Dify 配置导出
|
|
|
126
|
+- [ ] 6.2.1 导出应用 DSL 配置(YAML)
|
|
|
127
|
+- [ ] 6.2.2 导出知识库配置
|
|
|
128
|
+- [ ] 6.2.3 版本打 Tag,push 最终版本
|
|
|
129
|
+
|
|
|
130
|
+---
|
|
|
131
|
+
|
|
|
132
|
+## 项目目录结构
|
|
|
133
|
+
|
|
|
134
|
+```
|
|
|
135
|
+dify-app/
|
|
|
136
|
+├── README.md # 项目说明
|
|
|
137
|
+├── .gitignore
|
|
|
138
|
+├── docker/
|
|
|
139
|
+│ ├── docker-compose.yml # Dify 部署配置
|
|
|
140
|
+│ └── .env.example # 环境变量模板
|
|
|
141
|
+├── prompts/
|
|
|
142
|
+│ └── system-prompt.md # 系统 Prompt
|
|
|
143
|
+├── knowledge/
|
|
|
144
|
+│ └── sample-docs/ # 示例文档
|
|
|
145
|
+│ ├── technical/ # 技术文档
|
|
|
146
|
+│ ├── management/ # 管理制度
|
|
|
147
|
+│ └── project/ # 项目资料
|
|
|
148
|
+├── dsl/
|
|
|
149
|
+│ └── app-config.yaml # Dify 应用 DSL 导出
|
|
|
150
|
+├── tests/
|
|
|
151
|
+│ └── test-cases.md # 测试用例
|
|
|
152
|
+└── docs/
|
|
|
153
|
+ ├── knowledge-base-structure.md # 知识库结构说明
|
|
|
154
|
+ ├── api-integration.md # API 对接文档
|
|
|
155
|
+ ├── performance-baseline.md # 性能基线
|
|
|
156
|
+ ├── ops-guide.md # 运维手册
|
|
|
157
|
+ ├── user-guide.md # 用户手册
|
|
|
158
|
+ └── kb-maintenance.md # 知识库维护指南
|
|
|
159
|
+```
|
|
|
160
|
+
|
|
|
161
|
+---
|
|
|
162
|
+
|
|
|
163
|
+## 审核标准(QA Checklist)
|
|
|
164
|
+
|
|
|
165
|
+每个 PR 需检查:
|
|
|
166
|
+- [ ] 安全:无 API Key 泄露、无硬编码密码
|
|
|
167
|
+- [ ] 逻辑:Prompt 合理、分段策略正确
|
|
|
168
|
+- [ ] 性能:检索配置最优、无冗余依赖
|
|
|
169
|
+- [ ] 规范:文件命名统一、文档完整
|