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: