baodan/BAODANAGENT_DEPLOY.md

6.4 KiB
Raw Blame History

🚀 保单智能客服系统 — 部署指南

系统架构

┌─────────────────────────────────────────┐
│           保单智能客服系统               │
├─────────────────────────────────────────┤
│  前端 (Vue 3)     → Nginx (8080)       │
│  后端 (Flask)      → Gunicorn (5001)    │
│  数据库 (PostgreSQL) → PostgreSQL (5433)│
│  缓存 (Redis)      → Redis (6380)      │
└─────────────────────────────────────────┘

快速部署

Linux/Mac

chmod +x deploy-baodanagent.sh
./deploy-baodanagent.sh

Windows

deploy-baodanagent.bat

手动部署

# 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 接口

健康检查

curl http://localhost:5001/health
# 返回: {"status": "ok", "service": "baodanagent-api"}

认证接口

# 登录
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": "测试用户"}'

对话接口

# 发送消息
curl -X POST http://localhost:5001/insurance/chat/send \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <token>" \
  -d '{"message": "我想买保险"}'

常用命令

# 查看服务状态
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 文件中配置:

# 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 中的建表语句。

故障排查

端口冲突

# 检查端口占用
netstat -tulpn | grep -E ':(5001|8080|5433|6380)'

# 修改端口映射
# 编辑 docker-compose.baodanagent.yml
ports:
  - "5002:5001"  # 将 5001 改为 5002

服务启动失败

# 查看详细日志
docker compose -f docker-compose.baodanagent.yml logs baodanagent-api

# 重启服务
docker compose -f docker-compose.baodanagent.yml restart

数据库连接失败

# 检查数据库状态
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. 测试 APIhttp://localhost:5001/health
  3. 配置 Dify 对接:编辑 .env 文件
  4. 配置企微:编辑 .env 文件
  5. 上传知识库:通过 API 或对接 Dify

部署时间: ~2 分钟 镜像大小: ~580MB 推荐场景: 独立部署、资源受限环境、微服务架构