ATQQ LV
发表于 2025-4-22 13:18:06
✅ 项目背景
我们公司在内部部署了 DeepSeek 模型,目标是构建一个完全离线运行的 AI 知识问答系统,用于员工查询产品资料、操作流程、技术文档等。但一开始尝试用 langchain + 向量库手工搭建,发现开发成本高、调试复杂、不适合快速试错。
后来我们决定引入 Dify 作为知识库管理和对话接口平台,结合 DeepSeek 本地模型调用,成功实现了“知识库构建 + 私有大模型调用 + 数据完全不出网”的闭环。
✅ 我的做法(方法步骤)
第 1 步:部署 DeepSeek 本地模型
我们使用 vLLM 启动 DeepSeek-MoE 模型,运行在公司内网 GPU 服务器。vLLM 支持 OpenAI API 接口,方便 Dify 对接,无需额外魔改代码。
第 2 步:搭建本地版 Dify 并配置模型
Dify 支持完全本地部署,按照官方文档一键部署后,只需将模型 API 地址改为我们内部的 DeepSeek 接口即可。注意模型格式需兼容 OpenAI 协议。
第 3 步:创建知识库并上传本地文件
在 Dify 后台直接创建知识库,支持上传 PDF、Markdown、Word、TXT 等格式。Dify 会自动进行分段、向量化和索引,无需写代码。知识内容完全保留在本地数据库和向量库中,不外传。
第 4 步:创建应用并绑定知识库
我们创建了一个“企业知识助手”应用,接入前面构建的知识库,设置角色说明和提示词,员工即可通过网页问答形式调用 DeepSeek 模型进行对话。
✅ 实践建议 / 避坑经验
- 注意模型兼容性:DeepSeek 模型需跑在支持 OpenAI 协议的推理框架中(如 vLLM),否则 Dify 无法对接;
- 向量库路径要持久化:Dify 默认用的是 SQLite + local files,要注意备份和挂载路径,防止重启丢失;
- 知识库更新建议定期同步:我们后期用脚本定时扫描文档目录,并通过 API 自动更新知识库内容,降低维护成本;
- Dify 默认只支持英文分词器:如果你的文档是纯中文,建议在配置中调整 tokenizer,提升召回准确率。
✅ 引导语
我这边还整理了 Dify + DeepSeek 全链路部署的环境变量配置和热更新脚本,有需要的评论区留言“知识库”,我可以发你一份参考模板。也欢迎交流你在部署中的问题或踩过的坑。 |
|