# 甘言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): ```yaml url: jdbc:mysql://127.0.0.1:3306/chat_LLM?useUnicode=true&characterEncoding=utf8&... username: root password: "1234567890" ``` **外部连接命令**: ```bash mysql -h 127.0.0.1 -P 33306 -u root -p # 密码: 1234567890 ``` --- ### 2. Redis (缓存) | 配置项 | 值 | 说明 | |--------|-----|------| | **部署方式** | 宿主机直接安装 | 非Docker部署 | | **主机** | `127.0.0.1` | 本地连接 | | **端口** | `6379` | Redis默认端口 | | **密码** | 空 | 无密码 | | **数据库** | `0` | 默认数据库 | | **超时** | 6000ms | 连接超时 | **Java连接配置**: ```yaml redis: host: 127.0.0.1 port: 6379 password: "" database: 0 ``` **测试连接**: ```bash 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连接配置**: ```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打包输出 | **启动命令**: ```bash 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` | - | **关键配置**: ```yaml # configs/model_config.py EMBEDDING_MODEL: "bge-m3-api" # 嵌入模型 LLM_MODELS: ["deepseek-v3", ...] # LLM模型列表 EMBEDDING_DEVICE: "cpu" # 嵌入设备 LLM_DEVICE: "cuda" # LLM设备 ``` **启动命令**: ```bash 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/` | - | **开发启动**: ```bash cd /opt/download/oss_files/gangyan-deploy/gangyan/chat_web npm install npm run dev ``` **生产构建**: ```bash 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 # 环境变量 ``` --- ## 六、常用操作命令 ### 启动所有服务 ```bash 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 ``` ### 检查服务状态 ```bash # 查看端口监听 netstat -tlnp | grep -E "8099|7861|33306|6379|19530" # 查看Docker容器 docker ps # 查看Java进程 ps aux | grep java # 查看Python进程 ps aux | grep "startup.py" ``` ### 重启服务 ```bash # 重启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 & ``` --- ## 七、注意事项 1. **MySQL端口**: 对外暴露为 `33306`,但Java配置中使用的是 `3306`,说明Java和MySQL在同一台机器上(或使用了端口转发) 2. **Redis无密码**: 当前配置未设置Redis密码,生产环境建议配置密码 3. **Milvus依赖**: 启动Milvus前必须确保etcd和minio已启动 4. **向量模型**: bge-m3通过外部API调用 (10.102.24.75:3000),非本地部署 5. **数据备份**: - MySQL数据在 `mysql/mysql_bind/` 目录 - Milvus数据在 `milvus/volumes/` 目录 --- ## 八、联系信息 如有问题,请联系: - 项目路径: `/opt/download/oss_files/gangyan-deploy/gangyan/` - 部署文档: 见项目README.md