11 KiB
11 KiB
甘言AI对话系统 - 数据库及服务配置汇总
本文档汇总了项目所有数据库和服务的配置信息,方便新同事快速了解系统架构 更新时间:2026-03-26
一、系统架构概览
┌─────────────────────────────────────────────────────────────────┐
│ 甘言AI对话系统 │
├─────────────────────────────────────────────────────────────────┤
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────────────┐ │
│ │ Vue前端 │ │ Java后端 │ │Python RAG│ │ 向量模型API │ │
│ │ :3000 │ │ :8099 │ │ :7861 │ │ :3000 (bge-m3) │ │
│ └────┬─────┘ └────┬─────┘ └────┬─────┘ └──────────────────┘ │
│ └─────────────┴─────────────┘ │
│ │ │
│ ┌─────────────────┼─────────────────┐ │
│ ▼ ▼ ▼ │
│ ┌─────────┐ ┌─────────┐ ┌──────────┐ │
│ │ MySQL │ │ Redis │ │ Milvus │ │
│ │ :33306 │ │ :6379 │ │ :19530 │ │
│ └─────────┘ └─────────┘ └────┬─────┘ │
│ │ │
│ ┌────┴────┐ │
│ │ MinIO │ │
│ │ :9002 │ │
│ └─────────┘ │
└─────────────────────────────────────────────────────────────────┘
二、数据库配置
1. MySQL (主数据库)
| 配置项 | 值 | 说明 |
|---|---|---|
| 部署方式 | Docker Compose | 本地容器部署 |
| 容器名称 | mysql-server | - |
| 镜像 | docker.1ms.run/mysql:8.4.4 | MySQL 8.4.4 |
| 主机端口 | 33306 |
对外暴露端口 |
| 容器端口 | 3306 |
MySQL默认端口 |
| 数据库名 | chat_LLM |
主业务数据库 |
| root密码 | 1234567890 |
生产环境请修改 |
| root主机 | % |
允许任意IP连接 |
| 数据卷 | ./mysql_bind |
数据持久化目录 |
| Compose文件 | mysql/docker-compose.yml |
- |
Java连接配置 (application-yj.yml):
url: jdbc:mysql://127.0.0.1:3306/chat_LLM?useUnicode=true&characterEncoding=utf8&...
username: root
password: "1234567890"
外部连接命令:
mysql -h 127.0.0.1 -P 33306 -u root -p
# 密码: 1234567890
2. Redis (缓存)
| 配置项 | 值 | 说明 |
|---|---|---|
| 部署方式 | 宿主机直接安装 | 非Docker部署 |
| 主机 | 127.0.0.1 |
本地连接 |
| 端口 | 6379 |
Redis默认端口 |
| 密码 | 空 | 无密码 |
| 数据库 | 0 |
默认数据库 |
| 超时 | 6000ms | 连接超时 |
Java连接配置:
redis:
host: 127.0.0.1
port: 6379
password: ""
database: 0
测试连接:
redis-cli -h 127.0.0.1 -p 6379
> ping
PONG
3. Milvus (向量数据库)
| 配置项 | 值 | 说明 |
|---|---|---|
| 部署方式 | Docker Compose | 包含etcd、minio、standalone |
| 容器名称 | milvus-standalone | 主服务 |
| 镜像 | milvusdb/milvus:v2.6.4 | Milvus 2.6.4 |
| 端口 | 19530 |
gRPC端口 |
| 监控端口 | 9091 |
健康检查端口 |
| 依赖服务 | etcd + minio | 元数据+对象存储 |
| Compose文件 | milvus/docker-compose.yml |
- |
依赖组件:
- etcd: 存储元数据 (端口 2379, 容器名: milvus-etcd)
- minio: 对象存储 (端口 9000/9002, 容器名: milvus-minio)
Python连接配置:
from pymilvus import connections
connections.connect(host="127.0.0.1", port="19530")
4. MinIO (对象存储 - 独立部署)
| 配置项 | 值 | 说明 |
|---|---|---|
| 部署方式 | Docker (Milvus自带) | 与Milvus共用 |
| 容器名称 | milvus-minio | - |
| 镜像 | minio/minio:RELEASE.2024-12-18 | - |
| API端口 | 9003 (映射到9000) |
S3 API端口 |
| 控制台端口 | 9002 (映射到9001) |
Web管理界面 |
| Access Key | minioadmin |
默认账号 |
| Secret Key | minioadmin |
默认密码 |
访问地址:
- Web控制台: http://127.0.0.1:9002
- API地址: http://127.0.0.1:9003
三、应用服务配置
1. Java后端服务 (Spring Boot)
| 配置项 | 值 | 说明 |
|---|---|---|
| 服务名称 | chat_web_backend | - |
| 端口 | 8099 |
Tomcat端口 |
| 上下文路径 | /chat_web_backend |
API前缀 |
| 完整URL | http://localhost:8099/chat_web_backend | - |
| 活跃配置 | yj |
spring.profiles.active=yj |
| 主配置 | application-yj.yml | 本地开发配置 |
| Jar包路径 | chat_web_backend/target/ |
Maven打包输出 |
启动命令:
cd /opt/download/oss_files/gangyan-deploy/gangyan/chat_web_backend
java -jar target/chat_web_backend-1.0.jar --spring.profiles.active=yj
配置文件位置:
chat_web_backend/src/main/resources/
├── application.yml # 公共配置
├── application-yj.yml # 本地开发配置(在用)
├── application-prod.yml # 生产环境配置
├── application-dev.yml # 开发环境配置
└── application-test.yml # 测试环境配置
2. Python RAG服务 (LangChain-Chat)
| 配置项 | 值 | 说明 |
|---|---|---|
| 服务类型 | FastAPI + 多进程 | LangChain-Chatchat |
| API端口 | 7861 |
主API服务 |
| 启动文件 | startup.py |
- |
| Python版本 | 3.11 | conda环境 |
| Conda环境 | langchain-chat |
- |
| 主目录 | /opt/download/oss_files/gangyan-deploy/gangyan/langchain-chat |
- |
关键配置:
# configs/model_config.py
EMBEDDING_MODEL: "bge-m3-api" # 嵌入模型
LLM_MODELS: ["deepseek-v3", ...] # LLM模型列表
EMBEDDING_DEVICE: "cpu" # 嵌入设备
LLM_DEVICE: "cuda" # LLM设备
启动命令:
cd /opt/download/oss_files/gangyan-deploy/gangyan/langchain-chat
/opt/software/miniconda3/envs/langchain-chat/bin/python startup.py -a
向量模型API (外部服务):
- 地址: http://10.102.24.75:3000/v1
- 模型: bge-m3 ( embeddings )
- 类型: OpenAI格式兼容API
3. Vue前端服务
| 配置项 | 值 | 说明 |
|---|---|---|
| 框架 | Vue 3 + Vite | - |
| 端口 | 3000 |
开发服务器 |
| 构建输出 | dist/ |
生产包 |
| 源码路径 | chat_web/ |
- |
开发启动:
cd /opt/download/oss_files/gangyan-deploy/gangyan/chat_web
npm install
npm run dev
生产构建:
npm run build
# 输出到 dist/ 目录,部署到Nginx
四、端口汇总表
| 服务 | 端口 | 类型 | 说明 |
|---|---|---|---|
| Vue前端 | 3000 | HTTP | 开发服务器 |
| Java后端 | 8099 | HTTP | Spring Boot服务 |
| Python RAG | 7861 | HTTP | FastAPI服务 |
| MySQL | 33306 | TCP | 数据库(映射) |
| Redis | 6379 | TCP | 缓存服务 |
| Milvus | 19530 | gRPC | 向量数据库 |
| Milvus监控 | 9091 | HTTP | 健康检查 |
| MinIO API | 9003 | HTTP | 对象存储API |
| MinIO控制台 | 9002 | HTTP | Web管理界面 |
五、关键配置文件路径
1. Docker Compose文件
/opt/download/oss_files/gangyan-deploy/gangyan/
├── mysql/docker-compose.yml # MySQL 8.4.4
├── milvus/docker-compose.yml # Milvus + etcd + minio
2. Java后端配置
/opt/download/oss_files/gangyan-deploy/gangyan/chat_web_backend/src/main/resources/
├── application.yml # 公共配置
├── application-yj.yml # 当前在用配置
└── ...
3. Python RAG配置
/opt/download/oss_files/gangyan-deploy/gangyan/langchain-chat/
├── configs/
│ ├── model_config.py # 模型配置
│ ├── server_config.py # 服务配置
│ └── kb_config.py # 知识库配置
└── startup.py # 启动脚本
4. Vue前端配置
/opt/download/oss_files/gangyan-deploy/gangyan/chat_web/
├── vite.config.js # Vite配置
├── package.json # 依赖配置
└── .env # 环境变量
六、常用操作命令
启动所有服务
cd /opt/download/oss_files/gangyan-deploy/gangyan
# 1. 启动基础服务
docker-compose -f mysql/docker-compose.yml up -d
docker-compose -f milvus/docker-compose.yml up -d
# 2. 启动Java后端
nohup java -jar chat_web_backend/target/chat_web_backend-1.0.jar \
--spring.profiles.active=yj > /tmp/java-server.log 2>&1 &
# 3. 启动Python RAG
cd langchain-chat
nohup /opt/software/miniconda3/envs/langchain-chat/bin/python \
startup.py -a > /tmp/langchain-chat.log 2>&1 &
# 4. 启动Vue前端(开发)
cd chat_web
npm run dev
检查服务状态
# 查看端口监听
netstat -tlnp | grep -E "8099|7861|33306|6379|19530"
# 查看Docker容器
docker ps
# 查看Java进程
ps aux | grep java
# 查看Python进程
ps aux | grep "startup.py"
重启服务
# 重启MySQL
docker restart mysql-server
# 重启Milvus
docker restart milvus-standalone milvus-etcd milvus-minio
# 重启Java
pkill -f "chat_web_backend"
nohup java -jar chat_web_backend/target/chat_web_backend-1.0.jar \
--spring.profiles.active=yj > /tmp/java-server.log 2>&1 &
# 重启Python RAG
pkill -f "startup.py"
cd langchain-chat
nohup /opt/software/miniconda3/envs/langchain-chat/bin/python \
startup.py -a > /tmp/langchain-chat.log 2>&1 &
七、注意事项
-
MySQL端口: 对外暴露为
33306,但Java配置中使用的是3306,说明Java和MySQL在同一台机器上(或使用了端口转发) -
Redis无密码: 当前配置未设置Redis密码,生产环境建议配置密码
-
Milvus依赖: 启动Milvus前必须确保etcd和minio已启动
-
向量模型: bge-m3通过外部API调用 (10.102.24.75:3000),非本地部署
-
数据备份:
- MySQL数据在
mysql/mysql_bind/目录 - Milvus数据在
milvus/volumes/目录
- MySQL数据在
八、联系信息
如有问题,请联系:
- 项目路径:
/opt/download/oss_files/gangyan-deploy/gangyan/ - 部署文档: 见项目README.md