从事地质找矿行业、水工环地质勘查行业的电脑小白,电脑系统为Win11,有英伟达双显卡显卡共44gb,需要利用Ollama + DeepSeek + Docker + RAGFlow+Dify本地部署私人知识库加工作流,自动按模板自动生成报告,Ollama + DeepSeek + Docker + RAGFlow+Dify都必须安装在D盘的Personal AI文件夹内,且所有数据存储于D盘的Personal AI文件夹内,需要具体部署步骤及说明。
时间: 2025-07-29 16:30:18 浏览: 18
<think>我们正在部署一个基于Ollama+DeepSeek+Docker+RAGFlow+Dify的本地私人知识库和自动化报告生成系统。目标环境是Windows11,使用D盘下的"PersonalAI"文件夹作为工作目录。步骤分解:1.准备环境:Windows11,确保系统满足要求(如开启虚拟化)。2.安装DockerDesktopforWindows。3.部署Ollama:用于运行本地大模型,我们将使用DeepSeek模型。4.部署RAGFlow:一个基于深度文档理解的RAG引擎。5.部署Dify:一个开源的LLM应用开发平台,用于构建自动报告生成系统。6.整合:将Ollama作为模型提供商接入RAGFlow和Dify,并配置知识库和自动化流程。具体步骤:###1.准备工作-确保Windows11专业版或企业版(家庭版可能不支持Hyper-V,但可以使用WSL2)。-启用虚拟化:在BIOS/UEFI中开启虚拟化支持(VT-x/AMD-V)。-启用WSL(WindowsSubsystemforLinux):以管理员身份打开PowerShell并运行:```powershellwsl--install```重启计算机。-设置工作目录:在D盘创建文件夹`D:\PersonalAI`,后续所有操作在此目录进行。###2.安装DockerDesktop-下载DockerDesktopforWindows:https://www.docker.com/products/docker-desktop/-安装时勾选“使用WSL2而不是Hyper-V”(推荐)。-安装完成后,启动DockerDesktop,在设置中确保WSL2引擎已启用。###3.部署Ollama-下载OllamaWindows版本:https://ollama.com/download-安装到默认位置(或指定目录),安装程序会自动将Ollama添加到系统服务并启动。-验证安装:打开PowerShell,运行:```powershellollama--version```-拉取DeepSeek模型(例如deepseek-coder:6.7b):```powershellollamapulldeepseek-coder:6.7b```注意:模型较大,请确保网络畅通和足够磁盘空间(D盘空间足够)。-运行Ollama服务:安装后默认已运行,可通过`ollamaserve`启动(如果未运行)。###4.部署RAGFlowRAGFlow是一个基于深度文档理解的RAG引擎,支持多种格式的文档解析,并可以通过Docker部署。-在`D:\PersonalAI`下创建文件夹`ragflow`,并进入该目录。-创建`docker-compose.yml`文件,内容如下:```yamlversion:'3'services:ragflow:image:dockereasy/ragflow:latestcontainer_name:ragflowports:-"9380:9380"volumes:-./data:/app/data-./files:/app/filesenvironment:-RAGFLOW_API_KEY=your_api_key_here#设置一个安全的API密钥restart:always```-在`ragflow`目录下打开PowerShell,运行:```powershelldocker-composeup-d```-等待容器启动,然后访问http://localhost:9380进入RAGFlow管理界面。###5.部署DifyDify是一个开源的LLM应用开发平台,支持多种模型。-在`D:\PersonalAI`下创建文件夹`dify`,并进入该目录。-下载docker-compose文件:```powershellcurl-odocker-compose.ymlhttps://raw.githubusercontent.com/langgenius/dify/main/docker/docker-compose.yml```或者手动创建:从https://github.com/langgenius/dify/blob/main/docker/docker-compose.yml复制内容到`docker-compose.yml`。-修改`docker-compose.yml`中的环境变量,设置`OPENAI_API_KEY`为任意值(因为我们使用本地Ollama,但Dify要求必须设置,可忽略),并设置`MODEL_PROVIDER`为`ollama`,以及`OLLAMA_API_BASE_URL`为`http://host.docker.internal:11434`(这是Docker容器访问宿主机服务的特殊DNS名称)。示例修改(在`dify-api`和`dify-worker`服务的environment部分添加或修改):```yamlenvironment:#...其他环境变量MODEL_PROVIDER:ollamaOLLAMA_API_BASE_URL:http://host.docker.internal:11434```注意:如果使用Ollama,Dify需要配置模型名称,在Dify的界面中创建模型时使用Ollama拉取的模型名称(如`deepseek-coder:6.7b`)。-启动Dify:```powershelldocker-composeup-d```-等待容器启动,然后访问http://localhost:3000进入Dify管理界面。###6.整合与配置-**RAGFlow配置**:在RAGFlow中创建知识库,上传文档。然后设置API,允许Dify通过RAGFlow的API访问知识库。-**Dify配置**:-登录Dify,进入“模型提供商”设置,添加Ollama作为模型提供商(在部署时已通过环境变量设置,这里可能需要检查模型)。-创建应用:选择“文本生成”或“自动报告生成”模板。-在应用的提示词编排中,可以调用RAGFlow的API来获取知识库内容,然后结合生成报告。-在Dify中设置工作流:使用知识库节点(通过HTTP请求节点调用RAGFlow的API)和LLM节点(使用Ollama模型)来构建自动报告生成流程。-**调用关系**:Dify应用流程:1.用户输入报告需求。2.Dify调用RAGFlow的API查询知识库,获取相关文档片段。3.Dify将查询结果和用户需求一起发送给Ollama模型(通过本地Ollama服务)生成报告。4.返回报告给用户。###7.验证系统-在RAGFlow中上传一些文档(如PDF、Word等)到知识库。-在Dify中创建应用,并配置工作流:-添加“HTTP请求”节点,配置RAGFlow的API地址(`http://host.docker.internal:9380/v1/retrieval`,具体路径参考RAGFlowAPI文档)和认证(使用APIKey)。-添加“LLM”节点,选择Ollama模型,编写提示词(如“根据以下知识库内容和用户需求,生成一份报告:...”)。-测试应用,输入问题,查看是否能够生成包含知识库内容的报告。注意事项:-所有服务都运行在本地,因此无需互联网即可使用(但初始下载镜像需要网络)。-确保Docker容器之间的网络互通。在DockerCompose中,同一Compose文件中的容器可以使用服务名通信。但不同Compose启动的容器,使用`host.docker.internal`来访问宿主机服务(如Ollama服务在宿主机运行,端口11434)。-性能:Ollama运行大模型需要足够的RAM和CPU,请确保硬件满足要求(例如DeepSeek6.7B模型需要至少16GB内存)。引用:[^1]:RAGFlow官方文档:https://github.com/infiniflow/ragflow/blob/main/README_zh.md[^2]:Dify官方文档:https://docs.dify.ai/[^3]:Ollama官方文档:https://ollama.com/如果遇到问题,请参考各项目的官方文档和社区支持。§§相关问题§§1.如何在Windows11上正确配置Docker和WSL2以支持Ollama、RAGFlow和Dify?2.RAGFlow如何解析不同格式的文档并建立索引?3.Dify中如何配置Ollama作为模型提供商并创建自动报告生成应用?4.如何优化本地部署的Ollama模型性能?5.如何扩展此系统以支持多用户或企业级应用?</think>### 在 Windows 11 上部署本地 AI 知识库系统的详细步骤
#### 一、环境准备
1. **启用 WSL2**
- 以管理员身份运行 PowerShell:
```powershell
wsl --install
wsl --set-default-version 2
```
- 重启计算机[^1]
2. **安装 Docker Desktop**
- 下载安装包:https://www.docker.com/products/docker-desktop
- 安装时勾选 **Use WSL 2 instead of Hyper-V**
- 配置 Docker 存储路径:
```settings.json
{
"dockerPath": "D:\\Personal AI\\docker"
}
```
3. **创建项目目录**
```powershell
mkdir D:\Personal AI
cd D:\Personal AI
mkdir ollama dify ragflow
```
---
#### 二、部署核心组件
##### 1. Ollama 部署(本地模型服务)
```powershell
# 拉取 DeepSeek 模型
ollama pull deepseek-coder:6.7b
# 启动服务 (端口 11434)
ollama serve
```
##### 2. Docker 容器部署
**RAGFlow 配置** (`D:\Personal AI\ragflow\docker-compose.yml`):
```yaml
version: '3'
services:
ragflow:
image: infiniflow/ragflow:latest
ports:
- "9380:9380"
volumes:
- ./data:/app/data
environment:
RAGFLOW_API_KEY: "your_secure_key"
```
**Dify 配置** (`D:\Personal AI\dify\docker-compose.yml`):
```yaml
version: '3'
services:
dify:
image: langgenius/dify:latest
ports:
- "3000:3000"
volumes:
- ./data:/data
environment:
OLLAMA_API_BASE: "http://host.docker.internal:11434"
```
启动服务:
```powershell
cd D:\Personal AI\ragflow
docker-compose up -d
cd D:\Personal AI\dify
docker-compose up -d
```
---
#### 三、系统集成配置
1. **连接 Ollama 与 Dify**
- 访问 `http://localhost:3000` 进入 Dify
- 在 **模型供应商** 中选择 Ollama
- 填写模型名称:`deepseek-coder:6.7b`
2. **配置 RAGFlow 知识库**
- 访问 `http://localhost:9380`
- 上传文档 (PDF/Word/TXT) 到知识库
- 获取 API 密钥用于 Dify 集成
3. **Dify 自动化流程设置**
```python
# 示例工作流:知识库查询 + 报告生成
def generate_report(query):
# 调用 RAGFlow API 检索知识库
rag_response = requests.post(
"http://localhost:9380/v1/retrieval",
json={"query": query},
headers={"Authorization": "Bearer <API_KEY>"}
)
# 使用 Ollama 生成报告
report = ollama.generate(
model="deepseek-coder:6.7b",
prompt=f"基于以下信息生成报告:{rag_response.data}"
)
return report
```
---
#### 四、验证系统
1. **测试知识库检索**
```bash
curl -X POST http://localhost:9380/v1/retrieval -H "Authorization: Bearer <KEY>" -d '{"query":"机器学习"}'
```
2. **触发自动报告生成**
在 Dify 中创建工作流:
- 输入:用户问题
- 处理节点:RAGFlow 检索 → Ollama 生成
- 输出:PDF 报告
---
#### 五、优化建议
1. **性能提升**
- 在 `docker-compose.yml` 中设置资源限制:
```yaml
deploy:
resources:
limits:
cpus: '4.0'
memory: 16G
```
2. **安全加固**
- 使用 HTTPS 反向代理 (Nginx)
- 设置防火墙规则:
```powershell
New-NetFirewallRule -DisplayName "Block AI Ports" -Direction Inbound -LocalPort 3000,9380,11434 -Action Block
```
---
### 部署验证清单
| 组件 | 访问地址 | 默认端口 | 验证命令 |
|------------|-------------------------|----------|------------------------------|
| Ollama | http://localhost:11434 | 11434 | `curl http://localhost:11434/api/tags` |
| RAGFlow | http://localhost:9380 | 9380 | 查看 `/v1/health` 端点 |
| Dify | http://localhost:3000 | 3000 | 登录管理界面 |
[^1]: Microsoft WSL 官方文档 https://learn.microsoft.com/zh-cn/windows/wsl/
阅读全文
相关推荐


















