ai中台业务的能力支撑
Go to file
MerCry d8f440077a fix: 修正DeepSeek配置示例并更新Docker Compose语法 [AC-AISVC-01]
- DeepSeek使用deepseek作为provider而非openai
- 更新所有docker-compose命令为docker compose (V2语法)
2026-02-26 01:39:46 +08:00
.gitea/workflows 初始化初始文档 2026-02-24 12:08:24 +08:00
ai-service feat: 添加Docker容器部署配置 [AC-AISVC-01] 2026-02-26 01:22:30 +08:00
ai-service-admin feat: 添加Docker容器部署配置 [AC-AISVC-01] 2026-02-26 01:22:30 +08:00
docs docs: 更新 progress 文档,记录 Phase 9 完成状态 [AC-AISVC-10] 2026-02-25 23:44:28 +08:00
java docs: add ai-service provider openapi [AC-AISVC-01] 2026-02-24 12:43:57 +08:00
scripts 初始化初始文档 2026-02-24 12:08:24 +08:00
spec docs: 更新任务清单,添加 Phase 9 租户管理与 RAG 优化任务 [AC-AISVC-10, AC-ASA-01] 2026-02-25 23:07:34 +08:00
.env.example fix: 修正DeepSeek配置示例并更新Docker Compose语法 [AC-AISVC-01] 2026-02-26 01:39:46 +08:00
.gitignore feat(AISVC-T7): 嵌入模型可插拔设计与文档解析支持 [AC-AISVC-29, AC-AISVC-30, AC-AISVC-31, AC-AISVC-32, AC-AISVC-33, AC-AISVC-34, AC-AISVC-35, AC-AISVC-36, AC-AISVC-37, AC-AISVC-38, AC-AISVC-39, AC-AISVC-40, AC-AISVC-41] 2026-02-24 23:08:08 +08:00
README.md fix: 修正DeepSeek配置示例并更新Docker Compose语法 [AC-AISVC-01] 2026-02-26 01:39:46 +08:00
agents.md 初始化初始文档 2026-02-24 12:08:24 +08:00
docker-compose.yaml feat: 添加Ollama服务支持嵌入模型部署 [AC-AISVC-01] 2026-02-26 01:28:08 +08:00
test-doc.txt feat(AISVC-T8): LLM配置管理与RAG调试输出支持 [AC-AISVC-42, AC-AISVC-43, AC-AISVC-44, AC-AISVC-45, AC-AISVC-46, AC-AISVC-47, AC-AISVC-48, AC-AISVC-49, AC-AISVC-50] 2026-02-25 01:25:53 +08:00

README.md

AI Robot Core

AI中台业务的能力支撑提供智能客服、RAG知识库检索、LLM对话等核心能力。

项目结构

ai-robot-core/
├── ai-service/              # Python 后端服务
│   ├── app/                 # FastAPI 应用
│   ├── tests/               # 测试用例
│   ├── Dockerfile           # 后端镜像
│   └── pyproject.toml       # Python 依赖
├── ai-service-admin/        # Vue 前端管理界面
│   ├── src/                 # Vue 源码
│   ├── Dockerfile           # 前端镜像
│   ├── nginx.conf           # Nginx 配置
│   └── package.json         # Node 依赖
├── docker-compose.yaml      # 容器编排
├── .env.example             # 环境变量示例
└── README.md

功能特性

  • 多租户支持: 通过 X-Tenant-Id 头实现租户隔离
  • RAG 知识库: 基于 Qdrant 的向量检索增强生成
  • LLM 集成: 支持 OpenAI、DeepSeek、Ollama 等多种 LLM 提供商
  • SSE 流式输出: 支持 Server-Sent Events 实时响应
  • 置信度评估: 自动评估回复质量,低置信度时建议转人工

快速开始

环境要求

  • Docker 20.10+
  • Docker Compose 2.0+

部署步骤

1. 克隆代码

git clone http://49.232.209.156:3005/MerCry/ai-robot-core.git
cd ai-robot-core

2. 配置环境变量

cp .env.example .env

编辑 .env 文件,配置 LLM API

# OpenAI 配置
AI_SERVICE_LLM_PROVIDER=openai
AI_SERVICE_LLM_API_KEY=your-openai-api-key
AI_SERVICE_LLM_BASE_URL=https://api.openai.com/v1
AI_SERVICE_LLM_MODEL=gpt-4o-mini

# 或使用 DeepSeek
# AI_SERVICE_LLM_PROVIDER=deepseek
# AI_SERVICE_LLM_API_KEY=your-deepseek-api-key
# AI_SERVICE_LLM_MODEL=deepseek-chat

3. 启动服务

# Docker Compose V2 (推荐Docker 内置)
docker compose up -d --build

# 或 Docker Compose V1 (旧版,需要单独安装)
docker-compose up -d --build

4. 拉取嵌入模型

服务启动后,需要在 Ollama 容器中拉取 nomic-embed-text 模型:

# 进入 Ollama 容器拉取模型
docker exec -it ai-ollama ollama pull nomic-embed-text

5. 验证服务

# 检查服务状态
docker compose ps

# 查看后端日志
docker compose logs -f ai-service

6. 访问服务

服务 地址 说明
前端管理界面 http://服务器IP:3000 Vue 管理后台
后端 API http://服务器IP:8080 FastAPI 服务
API 文档 http://服务器IP:8080/docs Swagger UI
Qdrant 控制台 http://服务器IP:6333/dashboard 向量数据库管理
Ollama API http://服务器IP:11434 嵌入模型服务

服务架构

┌─────────────────────────────────────────────────────────┐
│                     用户访问                             │
└─────────────────────────────────────────────────────────┘
                          │
                          ▼
┌─────────────────────────────────────────────────────────┐
│  ai-service-admin (端口3000)                            │
│  - Nginx 静态文件服务                                    │
│  - 反向代理 /api/* → ai-service:8080                    │
└─────────────────────────────────────────────────────────┘
                          │
                          ▼
┌─────────────────────────────────────────────────────────┐
│  ai-service (端口8080)                                  │
│  - FastAPI 后端服务                                      │
│  - RAG / LLM / 知识库管理                                │
└─────────────────────────────────────────────────────────┘
          │                    │                    │
          ▼                    ▼                    ▼
┌──────────────────┐  ┌──────────────────┐  ┌──────────────────┐
│  PostgreSQL      │  │  Qdrant          │  │  Ollama          │
│  (端口5432)      │  │  (端口6333)      │  │  (端口11434)     │
│  - 会话存储       │  │  - 向量存储       │  │  - nomic-embed   │
│  - 知识库元数据   │  │  - 文档索引       │  │  - 嵌入模型       │
└──────────────────┘  └──────────────────┘  └──────────────────┘

常用命令

# 启动所有服务
docker compose up -d

# 重新构建并启动
docker compose up -d --build

# 查看服务状态
docker compose ps

# 查看日志
docker compose logs -f ai-service
docker compose logs -f ai-service-admin

# 重启服务
docker compose restart ai-service

# 停止所有服务
docker compose down

# 停止并删除数据卷(清空数据)
docker compose down -v

本地开发

后端开发

cd ai-service

# 创建虚拟环境
python -m venv .venv
source .venv/bin/activate  # Linux/Mac
# .venv\Scripts\activate   # Windows

# 安装依赖
pip install -e ".[dev]"

# 启动开发服务器
uvicorn app.main:app --reload --port 8000

前端开发

cd ai-service-admin

# 安装依赖
npm install

# 启动开发服务器
npm run dev

API 接口

核心接口

接口 方法 说明
/ai/chat POST AI 对话接口
/admin/kb GET/POST 知识库管理
/admin/rag/experiments/run POST RAG 实验室
/admin/llm/config GET/PUT LLM 配置
/admin/embedding/config GET/PUT 嵌入模型配置

详细 API 文档请访问 http://服务器IP:8080/docs

环境变量说明

变量名 默认值 说明
AI_SERVICE_LLM_PROVIDER openai LLM 提供商
AI_SERVICE_LLM_API_KEY - API 密钥
AI_SERVICE_LLM_BASE_URL https://api.openai.com/v1 API 地址
AI_SERVICE_LLM_MODEL gpt-4o-mini 模型名称
AI_SERVICE_DATABASE_URL postgresql+asyncpg://... 数据库连接
AI_SERVICE_QDRANT_URL http://qdrant:6333 Qdrant 地址
AI_SERVICE_LOG_LEVEL INFO 日志级别

License

MIT