231 lines
4.5 KiB
Markdown
231 lines
4.5 KiB
Markdown
# AgentEvalTool 部署文档
|
||
|
||
**版本**: v1.0
|
||
**日期**: 2026-07-09
|
||
**状态**: 已发布
|
||
**作者**: AgentEval Team
|
||
|
||
---
|
||
|
||
## 一、概述
|
||
|
||
本文档提供 AgentEvalTool 的部署指南,包括 Docker 容器化部署和裸机部署两种方式。
|
||
|
||
## 二、部署方式
|
||
|
||
### 2.1 Docker 容器化部署(推荐)
|
||
|
||
Docker 部署是推荐的生产环境部署方式,提供以下优势:
|
||
- 环境隔离
|
||
- 易于扩展
|
||
- 版本管理
|
||
- 快速部署
|
||
|
||
**部署文档**:
|
||
- [t480 服务器部署指南](t480-v1.0.md) - 针对 t480 测试服务器的具体部署步骤
|
||
- [volcengine-102 正式线部署指南](volcengine-102-v1.0.md) - 版本化发布、备份、迁移、健康检查与回滚
|
||
|
||
### 2.2 裸机部署
|
||
|
||
裸机部署适用于开发环境或特殊需求场景。
|
||
|
||
**前置要求**:
|
||
- Python 3.10+
|
||
- Node.js 18+(用于构建前端)
|
||
- Git
|
||
|
||
**部署步骤**:
|
||
|
||
1. **克隆代码**
|
||
```bash
|
||
git clone <repository-url>
|
||
cd AgentEvalTool
|
||
```
|
||
|
||
2. **安装后端依赖**
|
||
```bash
|
||
pip install -e ".[dev]"
|
||
```
|
||
|
||
3. **构建前端**
|
||
```bash
|
||
cd frontend/web
|
||
npm install
|
||
npm run build
|
||
cd ../..
|
||
```
|
||
|
||
4. **配置**
|
||
```bash
|
||
# 创建配置文件
|
||
mkdir -p config
|
||
cp config.example.json config/config.json
|
||
# 编辑 config/config.json,填入 tutu-api 配置
|
||
```
|
||
|
||
5. **启动服务**
|
||
```bash
|
||
agenteval server start --host 0.0.0.0 --port 8000
|
||
```
|
||
|
||
6. **验证**
|
||
```bash
|
||
curl http://localhost:8000/api/health
|
||
# 期望返回:{"status":"ok"}
|
||
```
|
||
|
||
## 三、配置说明
|
||
|
||
### 3.1 配置文件
|
||
|
||
配置文件位于 `config/config.json`,包含 tutu-api 连接参数:
|
||
|
||
```json
|
||
{
|
||
"base_url": "https://api.example.com",
|
||
"token": "jwt-token",
|
||
"tenant": "tenant-id",
|
||
"chat_channel_id": "channel-id",
|
||
"chat_contact_id": "contact-id"
|
||
}
|
||
```
|
||
|
||
**注意**:
|
||
- `token` 有效期为 30 天,需定期更新
|
||
- 配置文件包含敏感信息,不要提交到版本控制
|
||
|
||
### 3.2 数据目录
|
||
|
||
数据存储在 `data/` 目录:
|
||
- `data/agenteval.db`: SQLite 数据库
|
||
- `data/scenarios/`: 场景 YAML 文件
|
||
- `data/reports/`: 生成的报告文件
|
||
|
||
**备份建议**:定期备份 `data/` 目录。
|
||
|
||
## 四、环境要求
|
||
|
||
### 4.1 硬件要求
|
||
|
||
- **最低配置**:2 CPU, 4GB RAM, 10GB 磁盘
|
||
- **推荐配置**:4 CPU, 8GB RAM, 20GB 磁盘
|
||
|
||
### 4.2 软件要求
|
||
|
||
- **操作系统**:Linux (Ubuntu 20.04+), macOS, Windows (WSL2)
|
||
- **Docker**:20.10+(容器化部署)
|
||
- **Docker Compose**:2.0+(容器化部署)
|
||
|
||
### 4.3 网络要求
|
||
|
||
- 能够访问 tutu-api 服务
|
||
- 如需外部访问,需开放 8000 端口(或自定义端口)
|
||
|
||
## 五、运维指南
|
||
|
||
### 5.1 日志查看
|
||
|
||
**Docker 部署**:
|
||
```bash
|
||
docker logs -f agenteval
|
||
```
|
||
|
||
**裸机部署**:
|
||
日志输出到标准输出,可使用 systemd 或 supervisor 管理。
|
||
|
||
### 5.2 服务重启
|
||
|
||
**Docker 部署**:
|
||
```bash
|
||
docker compose -f deploy/t480/docker-compose.yml restart
|
||
```
|
||
|
||
**裸机部署**:
|
||
```bash
|
||
# 停止服务
|
||
pkill -f "agenteval server"
|
||
|
||
# 启动服务
|
||
agenteval server start --host 0.0.0.0 --port 8000
|
||
```
|
||
|
||
### 5.3 版本更新
|
||
|
||
**Docker 部署**:
|
||
```bash
|
||
# 拉取最新代码
|
||
git pull
|
||
|
||
# 重新构建并启动
|
||
docker compose -f deploy/t480/docker-compose.yml up -d --build
|
||
```
|
||
|
||
**裸机部署**:
|
||
```bash
|
||
# 拉取最新代码
|
||
git pull
|
||
|
||
# 更新依赖
|
||
pip install -e ".[dev]"
|
||
|
||
# 重新构建前端
|
||
cd frontend/web && npm install && npm run build && cd ../..
|
||
|
||
# 重启服务
|
||
pkill -f "agenteval server"
|
||
agenteval server start --host 0.0.0.0 --port 8000
|
||
```
|
||
|
||
## 六、故障排查
|
||
|
||
### 6.1 服务无法启动
|
||
|
||
**检查端口占用**:
|
||
```bash
|
||
ss -tln | grep 8000
|
||
```
|
||
|
||
**检查日志**:
|
||
```bash
|
||
docker logs agenteval
|
||
```
|
||
|
||
### 6.2 数据库连接失败
|
||
|
||
**检查数据目录权限**:
|
||
```bash
|
||
ls -la data/
|
||
```
|
||
|
||
**检查数据库文件**:
|
||
```bash
|
||
file data/agenteval.db
|
||
```
|
||
|
||
### 6.3 前端无法访问
|
||
|
||
**检查前端构建**:
|
||
```bash
|
||
ls -la frontend/web/dist/
|
||
```
|
||
|
||
**检查静态文件挂载**(Docker):
|
||
```bash
|
||
docker exec agenteval ls -la /app/frontend/web/dist/
|
||
```
|
||
|
||
## 七、安全建议
|
||
|
||
1. **配置文件安全**:不要将 `config/config.json` 提交到版本控制
|
||
2. **网络隔离**:生产环境建议使用反向代理(Nginx/Caddy)并配置 HTTPS
|
||
3. **定期备份**:定期备份 `data/` 目录
|
||
4. **Token 管理**:定期更新 tutu-api token(30 天有效期)
|
||
5. **访问控制**:如需外部访问,配置身份验证和访问控制
|
||
|
||
## 八、支持
|
||
|
||
如有部署问题,请:
|
||
1. 查看本文档的故障排查章节
|
||
2. 检查日志输出
|
||
3. 联系 AgentEval Team
|