From f2d29dc2c40f895e096d869c7f9473a4f47f7dec Mon Sep 17 00:00:00 2001 From: MerCry Date: Thu, 26 Feb 2026 01:28:08 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0Ollama=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1=E6=94=AF=E6=8C=81=E5=B5=8C=E5=85=A5=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E9=83=A8=E7=BD=B2=20[AC-AISVC-01]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - docker-compose.yaml 添加 Ollama 容器 - 更新 .env.example 添加 Ollama 配置 - README 添加模型拉取步骤和架构图更新 --- .env.example | 5 +++-- README.md | 30 ++++++++++++++++++++---------- docker-compose.yaml | 16 ++++++++++++++++ 3 files changed, 39 insertions(+), 12 deletions(-) diff --git a/.env.example b/.env.example index b342015..22de4c4 100644 --- a/.env.example +++ b/.env.example @@ -13,5 +13,6 @@ AI_SERVICE_LLM_MODEL=gpt-4o-mini # AI_SERVICE_LLM_BASE_URL=https://api.deepseek.com/v1 # AI_SERVICE_LLM_MODEL=deepseek-chat -# Ollama Configuration (optional) -# AI_SERVICE_OLLAMA_BASE_URL=http://ollama:11434 +# Ollama Configuration (for embedding model) +AI_SERVICE_OLLAMA_BASE_URL=http://ollama:11434 +AI_SERVICE_OLLAMA_EMBEDDING_MODEL=nomic-embed-text diff --git a/README.md b/README.md index 7a95a27..eb438e2 100644 --- a/README.md +++ b/README.md @@ -73,7 +73,16 @@ AI_SERVICE_LLM_MODEL=gpt-4o-mini docker-compose up -d --build ``` -#### 4. 验证服务 +#### 4. 拉取嵌入模型 + +服务启动后,需要在 Ollama 容器中拉取 nomic-embed-text 模型: + +```bash +# 进入 Ollama 容器拉取模型 +docker exec -it ai-ollama ollama pull nomic-embed-text +``` + +#### 5. 验证服务 ```bash # 检查服务状态 @@ -83,7 +92,7 @@ docker-compose ps docker-compose logs -f ai-service ``` -#### 5. 访问服务 +#### 6. 访问服务 | 服务 | 地址 | 说明 | |------|------|------| @@ -91,6 +100,7 @@ docker-compose logs -f ai-service | 后端 API | http://服务器IP:8080 | FastAPI 服务 | | API 文档 | http://服务器IP:8080/docs | Swagger UI | | Qdrant 控制台 | http://服务器IP:6333/dashboard | 向量数据库管理 | +| Ollama API | http://服务器IP:11434 | 嵌入模型服务 | ## 服务架构 @@ -112,14 +122,14 @@ docker-compose logs -f ai-service │ - FastAPI 后端服务 │ │ - RAG / LLM / 知识库管理 │ └─────────────────────────────────────────────────────────┘ - │ │ - ▼ ▼ -┌──────────────────┐ ┌──────────────────┐ -│ PostgreSQL │ │ Qdrant │ -│ (端口5432) │ │ (端口6333) │ -│ - 会话存储 │ │ - 向量存储 │ -│ - 知识库元数据 │ │ - 文档索引 │ -└──────────────────┘ └──────────────────┘ + │ │ │ + ▼ ▼ ▼ +┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐ +│ PostgreSQL │ │ Qdrant │ │ Ollama │ +│ (端口5432) │ │ (端口6333) │ │ (端口11434) │ +│ - 会话存储 │ │ - 向量存储 │ │ - nomic-embed │ +│ - 知识库元数据 │ │ - 文档索引 │ │ - 嵌入模型 │ +└──────────────────┘ └──────────────────┘ └──────────────────┘ ``` ## 常用命令 diff --git a/docker-compose.yaml b/docker-compose.yaml index 3db3ecb..5340985 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -79,6 +79,21 @@ services: networks: - ai-network + ollama: + image: ollama/ollama:latest + container_name: ai-ollama + restart: unless-stopped + ports: + - "11434:11434" + volumes: + - ollama_data:/root/.ollama + networks: + - ai-network + deploy: + resources: + reservations: + memory: 1G + networks: ai-network: driver: bridge @@ -86,3 +101,4 @@ networks: volumes: postgres_data: qdrant_data: + ollama_data: