baodan/BAODANAGENT_DEPLOY.md

249 lines
6.4 KiB
Markdown
Raw Normal View History

# 🚀 保单智能客服系统 — 部署指南
## 系统架构
```
┌─────────────────────────────────────────┐
│ 保单智能客服系统 │
├─────────────────────────────────────────┤
│ 前端 (Vue 3) → Nginx (8080) │
│ 后端 (Flask) → Gunicorn (5001) │
│ 数据库 (PostgreSQL) → PostgreSQL (5433)│
│ 缓存 (Redis) → Redis (6380) │
└─────────────────────────────────────────┘
```
## 快速部署
### Linux/Mac
```bash
chmod +x deploy-baodanagent.sh
./deploy-baodanagent.sh
```
### Windows
```cmd
deploy-baodanagent.bat
```
### 手动部署
```bash
# 1. 构建镜像
docker compose -f docker-compose.baodanagent.yml build
# 2. 启动服务
docker compose -f docker-compose.baodanagent.yml up -d
# 3. 查看日志
docker compose -f docker-compose.baodanagent.yml logs -f
```
## 镜像大小
| 镜像 | 大小 | 说明 |
|------|------|------|
| baodanagent-api | ~200MB | 后端 API |
| baodanagent-web | ~50MB | 前端 Nginx |
| pgvector/pgvector:pg15 | ~300MB | 数据库 |
| redis:7-alpine | ~30MB | 缓存 |
| **总计** | **~580MB** | 比 Dify 版节省 17GB |
## 访问地址
| 服务 | 地址 | 说明 |
|------|------|------|
| 前端应用 | http://localhost:8080 | Vue 3 前端 |
| 后端 API | http://localhost:5001 | Flask 后端 |
| 数据库 | localhost:5433 | PostgreSQL |
| 缓存 | localhost:6380 | Redis |
## 数据库信息
- **主机**: localhost:5433
- **数据库**: baodan
- **用户名**: postgres
- **密码**: taiyi1224
## API 接口
### 健康检查
```bash
curl http://localhost:5001/health
# 返回: {"status": "ok", "service": "baodanagent-api"}
```
### 认证接口
```bash
# 登录
curl -X POST http://localhost:5001/insurance/auth/login \
-H "Content-Type: application/json" \
-d '{"username": "admin", "password": "admin123"}'
# 注册
curl -X POST http://localhost:5001/insurance/auth/register \
-H "Content-Type: application/json" \
-d '{"username": "test", "password": "test123", "name": "测试用户"}'
```
### 对话接口
```bash
# 发送消息
curl -X POST http://localhost:5001/insurance/chat/send \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <token>" \
-d '{"message": "我想买保险"}'
```
## 常用命令
```bash
# 查看服务状态
docker compose -f docker-compose.baodanagent.yml ps
# 查看日志
docker compose -f docker-compose.baodanagent.yml logs -f
# 查看特定服务日志
docker compose -f docker-compose.baodanagent.yml logs -f baodanagent-api
# 停止服务
docker compose -f docker-compose.baodanagent.yml down
# 重启服务
docker compose -f docker-compose.baodanagent.yml restart
# 停止并删除数据
docker compose -f docker-compose.baodanagent.yml down -v
# 进入容器
docker compose -f docker-compose.baodanagent.yml exec baodanagent-api bash
```
## 配置说明
### 环境变量
`.env` 文件中配置:
```bash
# JWT 密钥
JWT_SECRET=your-jwt-secret
# Dify 对接(可选)
DIFY_BASE_URL=http://dify-api:5001
DIFY_CHAT_APP_API_KEY=app-xxx
DIFY_WORKFLOW_APP_API_KEY=app-xxx
# 企微配置(可选)
WECOM_CORP_ID=your_corp_id
WECOM_SECRET=your_secret
WECOM_TOKEN=your_token
WECOM_AES_KEY=your_aes_key
```
### 数据库初始化
数据库会在首次启动时自动初始化,执行 `deploy/sql/init.sql` 中的建表语句。
## 故障排查
### 端口冲突
```bash
# 检查端口占用
netstat -tulpn | grep -E ':(5001|8080|5433|6380)'
# 修改端口映射
# 编辑 docker-compose.baodanagent.yml
ports:
- "5002:5001" # 将 5001 改为 5002
```
### 服务启动失败
```bash
# 查看详细日志
docker compose -f docker-compose.baodanagent.yml logs baodanagent-api
# 重启服务
docker compose -f docker-compose.baodanagent.yml restart
```
### 数据库连接失败
```bash
# 检查数据库状态
docker compose -f docker-compose.baodanagent.yml exec db pg_isready -U postgres
# 查看数据库日志
docker compose -f docker-compose.baodanagent.yml logs db
```
## 文件清单
```
baodanagent/
├── docker-compose.baodanagent.yml # Docker Compose 配置
├── Dockerfile.backend # 后端 Dockerfile
├── Dockerfile.frontend # 前端 Dockerfile
├── nginx.conf # Nginx 配置
├── deploy-baodanagent.sh # Linux/Mac 部署脚本
├── deploy-baodanagent.bat # Windows 部署脚本
├── BAODANAGENT_DEPLOY.md # 本文档
├── api/insurance/ # 后端代码
│ ├── app.py # Flask 应用入口
│ ├── requirements.txt # Python 依赖
│ ├── routes.py # 路由注册
│ ├── db/ # 数据库模块
│ ├── models/ # 数据模型
│ ├── auth/ # 认证模块
│ ├── chat/ # 对话模块
│ ├── recommend/ # 推荐模块
│ ├── kb/ # 知识库模块
│ ├── admin/ # 管理模块
│ ├── stats/ # 统计模块
│ └── wecom/ # 企微模块
├── frontend/ # 前端代码
│ ├── src/ # 源码
│ └── dist/ # 构建产物
└── deploy/sql/ # SQL 初始化脚本
```
## 环境要求
- Docker 20.10+
- Docker Compose 2.0+
- 磁盘空间1GB+
- 内存2GB+
## 与 Dify 版本的区别
| 特性 | 保单容器版 | Dify 版 |
|------|-----------|---------|
| 镜像大小 | ~580MB | ~17.5GB |
| 部署时间 | 2 分钟 | 15 分钟 |
| 功能范围 | 自研功能 | 全部功能 |
| 知识库 | 需对接 Dify | 内置 |
| 模型调用 | 需对接 Dify | 内置 |
| 适用场景 | 独立部署 | 完整系统 |
## 下一步
1. **访问前端**http://localhost:8080
2. **测试 API**http://localhost:5001/health
3. **配置 Dify 对接**:编辑 `.env` 文件
4. **配置企微**:编辑 `.env` 文件
5. **上传知识库**:通过 API 或对接 Dify
---
**部署时间**: ~2 分钟
**镜像大小**: ~580MB
**推荐场景**: 独立部署、资源受限环境、微服务架构