Dify+DeepSeek打造企业级知识库AI助手
本地部署的最大意义在于利用DeepSeek大模型的能力加上自己的知识库,可以训练出一个符合自己需求的大模型。
今天就来分享下这个搭建过程,使用基于LLM的大模型知识库问答系统Dify,里面集成DeepSeek以及私有知识库,打造一个符合自己需求的RAG应用。
1、安装Docker
安装Docker和Docker-compose,windows系统可以在docker网站 https://www.docker.com/ 下载docker desktop。
这里以linux为例,安装docker。
docker安装请参照官网教程
# docker
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
sudo service docker restart
sudo systemctl enable docker
Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/v2.24.6/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose version
设置docker镜像源
vi /etc/docker/daemon.json
{"registry-mirrors":[
"https://registry.docker-cn.com",
"https://hub-mirror.c.163.com/"
]}
最后重启doker
systemctl restart docker
2、安装Dify
Dify文档参见:https://github.com/langgenius/dify
- clone dify源码:
https://github.com/langgenius/dify.git
- 构建docker镜像,启动docker容器
cd dify
cd docker
cp .env.example .env
docker compose up -d
- 浏览器访问:http://localhost/install,进行初始化
3、配置模型
配置LLM模型
接下来就以本地部署的DeepSeek为例添加到Dify中。
-
进入Dify页面,点击右上角头像-》设置,进入设置页面
-
选择模型供应商,找到Ollama
-
添加Ollama模型,如下图所示
DeepSeek模型配置.png
-
- 模型类型:LLM
- 模型名称:下载的模型名称,例如:deepseek-r1:8b
- 基础URL:Ollama部署的地址,默认端口为11434
配置Text Embedding模型
Text Embedding(文本嵌入)模型的核心作用是将文本(单词、句子、段落或文档)转换为稠密向量(即一组数值构成的向量),从而让计算机能够量化、理解和处理文本的语义信息。
Dify将使用Text Embedding模型将用户输入的问题转换为向量,到知识库根据语义快速检索知识。
Text Embedding模型如何选择,以下是主流Text Embedding模型的对比表格,从多个维度对比其优劣,帮助根据场景选择合适模型:
模型名称 | 参数量 | 上下文长度 | 多语言支持 | 特色优势 | 主要缺点 | 适用场景 |
---|---|---|---|---|---|---|
OpenAI text-embedding-3 | 未知 | 8192 | 是 | 高准确度,OpenAI生态兼容 | 收费API,隐私数据需谨慎 | 商业应用,预算充足的项目 |
BAAI/bge-large | 1.1B | 512 | 是(侧重中英) | 中文任务领先,开源可商用 | 长文本需分段处理 | 中文搜索、问答系统 |
Alibaba-NLP/gte-large | 0.6B | 512 | 是 | 阿里巴巴优化,文档理解强 | 资源消耗较大 | 电商、长文档处理 |
Google/Gecko | 0.3B | 1024 | 是 | 轻量高效,谷歌搜索优化 | 精度略低于大模型 | 移动端、实时检索系统 |
sentence-transformers/all-MiniLM | 22M | 256 | 是 | 超轻量级,推理速度快 | 表达能力有限 | 边缘设备、低延迟场景 |
Cohere/embed-multilingual | 0.3B | 512 | 是(100+语言) | 多语言均衡表现 | 英文略逊于专用模型 | 跨国多语言应用 |
MokaAI/m3e-base | 0.3B | 512 | 中文优化 | 中文CL任务专项优化 | 非中文任务较弱 | 中文语义相似度计算 |
注:最新模型建议查看HuggingFace的MTEB排行榜(https://huggingface.co/spaces/mteb/leaderboard )获取实时评测数据。实际选择时应通过自己的测试集验证。
Dify配置Text Embedding模型步骤如下:
-
进入Dify页面,点击右上角头像-》设置,进入设置页面
-
选择模型供应商,找到Ollama
-
添加Ollama模型,添加:bge-large
-
- 模型类型:Text Embedding
- 模型名称:bge-large
- 基础URL:Ollama部署的地址,默认端口为11434
配置Rerank模型
Rerank模型的主要任务是对Text Embedding模型初步筛选出的候选集通过深度语义理解进行重新排序,确保最相关的结果排在最前面。
Ollama中目前没有找到合适的Rerank模型,这里考虑从HugginFace中下载BAAI/bge-reranker-large模型,使用transformers搭建一个满足OpenAI-API-compatible协议类型的Rerank模型,方便加入到Dify中。
Dify配Rerank模型步骤如下:
-
进入Dify页面,点击右上角头像-》设置,进入设置页面
-
选择模型供应商,找到OpenAI-API-compatible
-
添加OpenAI-API-compatible模型,添加:bge-reranker-large
-
- 模型类型:Rerank
- 模型名称:bge-reranker-large
- 基础URL:http://ip:port/v1
4、构建知识库
到这里基础的模型已经配置完成,接下来我们开始搭建知识库,进入Dify的知识库页面点击创建知识库,选择文件后进行如下配置:
Dify创建知识库
然后点击保存并处理,等待索引处理完成,即可使用该知识库。
其中选择的模型在知识库检索过程中有不同的作用:
-
Text Embedding模型:
-
- 用于召回阶段(Retrieval),从海量文档中快速筛选出Top-K(如1000条)候选结果。
- 通过向量相似度(如余弦相似度)粗筛,保证高召回率(Recall)。
-
Rerank模型:
-
- 用于排序阶段(Reranking),对Top-K候选结果精细排序。
- 通过深度语义理解(如交叉注意力)计算查询-文档对的相关性,提升准确率(Precision)。
示例流程:用户查询 → [Embedding模型] → 召回1000条候选 → [Rerank模型] → 返回Top-10最相关结果
5、创建聊天应用
进入Dify的工作室,创建空白应用 -》选择Chatflow类型创建应用,进行工作流编排:
Dify创建应用.png
tips:知识库中的知识图片最好是具有语义的markdown格式(例如:
),这样大模型才能更好的以图文方式回答用户的问题。
应用调试和发布
点击预览按钮可以对编排的工作流进行调试,其中每一步可点开查看具体输入和输出:
Dify应用预览.png
应用调试完成后,点击发布按钮即可进行发布,发布后点击运行可以打开Dify提供的默认聊天页面。Dify提供的聊天页面支持嵌入到其它网站,同时也提供一系列API接口以供开发者深度集成,大家可根据自己需求自由选择。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。