基于 Dify 与 Ollama 部署本地大模型知识库实战指南
本文详细讲解如何利用 Dify 开源平台结合本地运行的 Ollama 大模型,构建私有化知识库系统。内容涵盖环境准备、Docker 容器化部署、Ollama 模型接入配置、知识库数据上传与切片策略、提示词工程优化以及常见问题排查。通过该方案,开发者可在本地实现数据安全的大模型应用,无需依赖云端 API,适合对隐私有要求的技术团队或个人用户进行私有化落地实践。

本文详细讲解如何利用 Dify 开源平台结合本地运行的 Ollama 大模型,构建私有化知识库系统。内容涵盖环境准备、Docker 容器化部署、Ollama 模型接入配置、知识库数据上传与切片策略、提示词工程优化以及常见问题排查。通过该方案,开发者可在本地实现数据安全的大模型应用,无需依赖云端 API,适合对隐私有要求的技术团队或个人用户进行私有化落地实践。

在数据隐私日益重要的今天,将大语言模型(LLM)私有化部署成为许多企业和开发者的首选。本文承接上篇关于 Ollama + Docker 的部署内容,详细介绍如何使用开源应用编排平台 Dify 结合本地运行的 Ollama 模型,构建一个完全属于你自己的本地大模型知识库系统。
Dify 是一个开源的大模型应用开发平台,支持快速搭建 RAG(检索增强生成)应用、Agent 工作流等。配合 Ollama 提供的本地推理能力,我们可以实现零成本、高隐私的 AI 应用落地。
确保 Docker 服务正常运行,并检查端口占用情况(默认使用 8080 端口):
docker --version
docker compose version
netstat -tulpn | grep 8080
从 GitHub 官方仓库下载最新稳定版压缩包:
git clone https://github.com/langgenius/dify.git
cd dify/docker
进入 docker 目录后,复制环境变量模板文件:
cp .env.example .env
编辑 .env 文件,修改关键配置项:
APP_SECRET: 设置一个强随机字符串,用于加密敏感信息DB_PASSWORD: 数据库密码,建议包含大小写字母和数字PORT: 如需修改访问端口(默认 8080)注意:生产环境请务必修改默认密码,避免安全风险。
执行以下命令拉起所有容器:
docker compose up -d
启动完成后,可通过以下命令查看日志确认状态:
docker compose logs -f
浏览器访问 http://localhost:8080/install,按照向导完成管理员账户注册。首次登录需设置组织名称及基础信息。
在 Dify 管理后台,依次点击 设置 -> 模型供应商 -> Ollama。
llama3, qwen)http://host.docker.internal:11434
保存后,在'模型列表'中刷新,应能看到已注册的模型。
创建一个测试应用,选择刚才配置的 Ollama 模型,输入简单问题(如'你好'),确认能正常返回响应。
在左侧菜单点击 知识库 -> 创建知识库。
支持格式包括 PDF、Word、TXT、Markdown 等。
在应用编排界面,找到 上下文 模块:
良好的 Prompt 是提升回答质量的关键。在应用编排的 提示词 区域进行配置:
定义 AI 的角色、任务边界及输出规范。
你是一名专业的技术助手,请基于提供的知识库内容回答问题。如果知识库中没有相关信息,请直接告知用户无法找到答案,不要编造事实。回答时请保持简洁专业,引用来源时标注文件名。
支持插入用户输入变量,例如:
{{query}}: 用户提问{{context}}: 检索到的上下文利用 Dify 的 预览 功能,输入不同场景的问题,观察模型回答。根据反馈调整提示词逻辑或知识库切片粒度。
Dify 提供标准 API 接口,便于集成到自有系统中。以下是 Python 调用示例:
import requests
API_KEY = "your-api-key"
BASE_URL = "http://localhost:8080/api/v1/workflows/run"
payload = {
"inputs": {},
"query": "如何配置 Ollama 连接?",
"response_mode": "blocking"
}
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
}
response = requests.post(BASE_URL, json=payload, headers=headers)
print(response.json())
.env 文件中路径是否正确docker compose logs 获取具体错误堆栈ollama serve)通过 Dify 与 Ollama 的组合,我们成功构建了一个低成本、高可控的本地大模型知识库系统。该方案不仅保护了数据隐私,还避免了云端 API 的费用支出。后续可根据业务需求扩展 Agent 工作流、多模态支持等功能。建议定期备份数据库文件,并关注 Dify 官方更新以获取新功能支持。
参考资料:

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online