以下是使用 Docker + Dify + DeepSeek 搭建本地知识库的详细方案,结合 Ollama 模型运行 和 Dify 可视化管理,实现高效、安全的私有化部署:
一、核心工具与优势
- Docker
- 作用:容器化部署,隔离环境,避免依赖冲突。
- 优势:跨平台兼容(Windows/Mac/Linux),一键启动服务。
- Dify
- 作用:基于 LLM 的知识库问答系统,集成 DeepSeek 和私有文档管理。
- 优势:可视化操作界面,支持多模型切换、知识库版本控制。
- Ollama
- 作用:本地运行 DeepSeek 模型,无需依赖云端 API。
- 优势:数据完全私有化,支持离线使用,响应速度快。
二、详细搭建步骤
1. 环境准备
- 硬件要求:
- 内存:至少 16GB(推荐 32GB+ 以运行 32B 参数模型)。
- 存储:预留 50GB+ 空间(模型文件较大)。
- GPU(可选):NVIDIA 显卡(加速推理,非必需)。
- 系统要求:
- Windows 10+/MacOS 12+/Linux(Ubuntu 20.04+ 推荐)。
2. 安装 Docker
- 下载地址:
Docker 官网- 选择对应系统版本(Windows/Mac/Linux)。
- 安装完成后,重启系统并启动 Docker Desktop。
- 验证安装:
docker –version 输出类似
Docker version 25.0.0
即表示成功。
3. 部署 Dify 系统
-
克隆项目代码:
git clone https://github.com/langgenius/dify.git cd dify/docker -
配置环境变量:
复制示例文件并编辑:cp .env.example .env - 打开
.env
文件,找到DIFY_MODEL_SUPPLIERS
部分,确保包含ollama
配置。
- 打开
-
启动容器:
docker-compose up -d - 等待约 20 分钟(首次拉取镜像较慢)。
- 访问
http://localhost
,若看到 Dify 登录界面即表示成功。
4. 运行 DeepSeek 模型(通过 Ollama)
-
- 安装 Ollama:
- Windows/Mac:从 Ollama 官网 下载安装包。
- 安装 Ollama:
-
- Linux:
curl -fsSL https://ollama.com/install.sh | sh
- Linux:
- 拉取 DeepSeek 模型:
# 选择适合的模型版本(根据显存大小) ollama run deepseek-r1:8b # 8B 参数(显存 8GB+) ollama run deepseek-r1:14b # 14B 参数(显存 16GB+) ollama run deepseek-r1:32b # 32B 参数(显存 32GB+) - 安装完成后,测试模型是否可用:
ollama list | grep deepseek
- 安装完成后,测试模型是否可用:
5. 配置 Dify 集成 DeepSeek
-
登录 Dify:
访问http://localhost
,使用默认账号(或注册新账号)登录。 -
添加 Ollama 模型:
- 进入 设置 > 模型供应商。
- 点击 添加模型,选择 Ollama。
- 填写基础 URL:
http://host.docker.internal:11434 - 保存后,返回模型列表,确认状态为 已连接。
-
添加文本嵌入模型:
- 重复上述步骤,添加 bge-large(用于文档向量化):
ollama run bge-large - 在 Dify 中配置其 URL 为
http://host.docker.internal:11434
。
- 重复上述步骤,添加 bge-large(用于文档向量化):
6. 创建并管理知识库
- 上传文档:
- 进入 知识库 页面,点击 新建知识库。
- 上传文档(支持 PDF/Word/TXT/Markdown 等格式)。
- 配置处理参数:
- 向量维度:1536(推荐)
- 分块长度:512 字符
- 点击 保存并处理,等待嵌入完成(约 5MB/分钟)。
- 关联知识库到聊天助手:
- 进入 工作室 > 聊天助手,创建新助手。
- 在 知识库 选项卡中,选择刚创建的知识库。
- 设置响应模板(如默认回复、引用格式等)。
7. 测试问答效果
- 在聊天界面输入问题,例如:
根据上传的《DeepSeek 使用手册》,如何调整模型温度? - 系统应自动引用知识库中的相关段落并生成回答。
三、进阶优化
- 外部访问配置:
- 若需公网访问,需配置路由器端口转发(将本地端口映射到公网 IP)。
- 在 Dify 中设置 外部知识库 API,填写公网可访问的 URL。
- 性能调优:
- 模型选择:根据硬件条件调整模型参数(如从 32B 降级到 14B)。
- 批处理大小:在 Ollama 配置中调整
num_gpu_layers
和batch_size
。
- 数据备份:
- 定期备份 Dify 的数据库(位于
dify/docker/volumes/db
)和上传的文档。
- 定期备份 Dify 的数据库(位于
四、常见问题解决
- Dify 启动失败:
- 检查 Docker 日志:
bash
docker-compose logs -f - 确保端口
80
未被占用(或修改.env
中的DIFY_PORT
)。
- 检查 Docker 日志:
- Ollama 模型无法连接:
- 确认 Ollama 服务已启动:
ollama serve - 在 Dify 中使用
http://host.docker.internal:11434
(而非localhost
)。
- 确认 Ollama 服务已启动:
- 文档解析错误:
- 检查文档格式是否支持(如扫描版 PDF 需 OCR 预处理)。
- 尝试分块上传大型文档(避免单文件超过 50MB)。
域名频道为客户提供服务器代维服务,为客户节约服务器维护成本,费用不到专职人员的十分之一。
服务器托管与单独构建机房和租用专线上网相比、其整体运营成本有较大降低。
网站空间可随意增减空间大小,空间升级可以按照对应的产品号升级到相对应的空间类型。随时随地能达到用户的使用要求。
您有自己的独立服务器,需要托管到国内机房,我们为你提供了上海电信五星级骨干机房,具体请查看http://www.dns110.com/server/ai-server.asp