feat: 添加Ollama服务支持嵌入模型部署 [AC-AISVC-01]

- docker-compose.yaml 添加 Ollama 容器
- 更新 .env.example 添加 Ollama 配置
- README 添加模型拉取步骤和架构图更新
This commit is contained in:
MerCry 2026-02-26 01:28:08 +08:00
parent 0b435a4b57
commit f2d29dc2c4
3 changed files with 39 additions and 12 deletions

View File

@ -13,5 +13,6 @@ AI_SERVICE_LLM_MODEL=gpt-4o-mini
# AI_SERVICE_LLM_BASE_URL=https://api.deepseek.com/v1 # AI_SERVICE_LLM_BASE_URL=https://api.deepseek.com/v1
# AI_SERVICE_LLM_MODEL=deepseek-chat # AI_SERVICE_LLM_MODEL=deepseek-chat
# Ollama Configuration (optional) # Ollama Configuration (for embedding model)
# AI_SERVICE_OLLAMA_BASE_URL=http://ollama:11434 AI_SERVICE_OLLAMA_BASE_URL=http://ollama:11434
AI_SERVICE_OLLAMA_EMBEDDING_MODEL=nomic-embed-text

View File

@ -73,7 +73,16 @@ AI_SERVICE_LLM_MODEL=gpt-4o-mini
docker-compose up -d --build 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 ```bash
# 检查服务状态 # 检查服务状态
@ -83,7 +92,7 @@ docker-compose ps
docker-compose logs -f ai-service 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 | FastAPI 服务 |
| API 文档 | http://服务器IP:8080/docs | Swagger UI | | API 文档 | http://服务器IP:8080/docs | Swagger UI |
| Qdrant 控制台 | http://服务器IP:6333/dashboard | 向量数据库管理 | | Qdrant 控制台 | http://服务器IP:6333/dashboard | 向量数据库管理 |
| Ollama API | http://服务器IP:11434 | 嵌入模型服务 |
## 服务架构 ## 服务架构
@ -112,14 +122,14 @@ docker-compose logs -f ai-service
│ - FastAPI 后端服务 │ │ - FastAPI 后端服务 │
│ - RAG / LLM / 知识库管理 │ │ - RAG / LLM / 知识库管理 │
└─────────────────────────────────────────────────────────┘ └─────────────────────────────────────────────────────────┘
│ │ │ │
▼ ▼ ▼ ▼
┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐
│ PostgreSQL │ │ Qdrant │ │ PostgreSQL │ │ Qdrant │ │ Ollama │
│ (端口5432) │ │ (端口6333) │ │ (端口5432) │ │ (端口6333) │ │ (端口11434) │
│ - 会话存储 │ │ - 向量存储 │ │ - 会话存储 │ │ - 向量存储 │ │ - nomic-embed │
│ - 知识库元数据 │ │ - 文档索引 │ │ - 知识库元数据 │ │ - 文档索引 │ │ - 嵌入模型 │
└──────────────────┘ └──────────────────┘ └──────────────────┘ └──────────────────┘ └──────────────────┘
``` ```
## 常用命令 ## 常用命令

View File

@ -79,6 +79,21 @@ services:
networks: networks:
- ai-network - 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: networks:
ai-network: ai-network:
driver: bridge driver: bridge
@ -86,3 +101,4 @@ networks:
volumes: volumes:
postgres_data: postgres_data:
qdrant_data: qdrant_data:
ollama_data: