很多公司都有这个痛点:内部文档散落在各处,新员工入职要花一周找资料,客服每天回答重复问题。用 Dify 搭建一个知识库问答系统,可以让AI基于你的私有文档回答问题。
最终效果
- 一个网页端问答界面,输入问题就能从你的文档中找到答案
- 支持上传 PDF、Word、Markdown、网页等格式
- 回答附带来源引用,可追溯
- 可以嵌入到公司官网或内部系统
准备工作
| 项目 | 要求 |
|---|---|
| 服务器 | 2核4G以上 |
| Docker | 已安装 Docker + Docker Compose |
| 大模型API | 通义千问 / 文心一言 / OpenAI 任一 |
| 时间 | 约1-2小时 |
第一步:部署 Dify
git clone https://github.com/langgenius/dify.git
cd dify/docker
cp .env.example .env
docker compose up -d
启动后访问 http://localhost/install 进行初始化。
第二步:配置大模型
进入 Dify 后台 → 设置 → 模型供应商。国内推荐通义千问(填入阿里云 DashScope API Key),无需梯子。
第三步:创建知识库
- 左侧菜单 →「知识库」→「创建知识库」
- 上传文档(PDF/Word/Markdown/网页URL)
- 选择分段方式:推荐”自动分段”
- 选择索引方式:推荐”高质量模式”(向量索引)
- 点击「保存并处理」
第四步:创建应用
- 「创建应用」→ 选择「聊天助手」
- 在「上下文」中关联知识库
- 编写系统Prompt(只基于知识库回答、标注来源、找不到就说找不到)
- 配置检索:Top K 3-5,Score阈值 0.5,开启Rerank
第五步:测试与调优
| 问题 | 原因 | 解决方案 |
|---|---|---|
| 回答不准确 | 分段太大/太小 | 调整为500-800字 |
| 找不到内容 | Embedding模型不匹配 | 换用中文Embedding模型 |
| 回答太泛 | Top K太小 | 增大到5-8 |
| 混入无关信息 | Score阈值太低 | 提高到0.6-0.7 |
第六步:发布与集成
三种方式:独立网页(分享链接)、嵌入网站(iframe)、API接入(Python/JS调用)。
成本估算
| 项目 | 费用 |
|---|---|
| Dify社区版 | 免费 |
| 云服务器(2核4G) | 约 ¥100/月 |
| 通义千问API | 约 ¥5/月(日均100次问答) |
| 总计 | 约 ¥100-150/月 |
对比SaaS知识库产品(¥500-2000/月),且数据完全在自己手中。