138 lines
3.5 KiB
Markdown
138 lines
3.5 KiB
Markdown
|
|
# Batch API 测试Demo
|
|||
|
|
|
|||
|
|
这个demo用于测试通义千问的Batch API是否能正常响应。
|
|||
|
|
|
|||
|
|
## 说明
|
|||
|
|
|
|||
|
|
- 使用测试模型 `batch-test-model` 进行测试
|
|||
|
|
- **不产生模型推理费用**
|
|||
|
|
- 测试文件限制:单文件不超过1MB,不超过100行
|
|||
|
|
- 最大并行任务数:2个
|
|||
|
|
|
|||
|
|
## 文件说明
|
|||
|
|
|
|||
|
|
- `test_model.jsonl` - 测试输入文件(包含2个简单请求)
|
|||
|
|
- `test_batch_api.py` - 测试脚本
|
|||
|
|
- `README.md` - 本说明文件
|
|||
|
|
|
|||
|
|
## 使用步骤
|
|||
|
|
|
|||
|
|
### 1. 设置API Key
|
|||
|
|
|
|||
|
|
在运行测试前,需要设置环境变量 `DASHSCOPE_API_KEY`:
|
|||
|
|
|
|||
|
|
**Windows (PowerShell):**
|
|||
|
|
```powershell
|
|||
|
|
$env:DASHSCOPE_API_KEY="sk-your-api-key"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Windows (CMD):**
|
|||
|
|
```cmd
|
|||
|
|
set DASHSCOPE_API_KEY=sk-your-api-key
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Linux/Mac:**
|
|||
|
|
```bash
|
|||
|
|
export DASHSCOPE_API_KEY="sk-your-api-key"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 2. 安装依赖
|
|||
|
|
|
|||
|
|
确保已安装 openai SDK:
|
|||
|
|
```bash
|
|||
|
|
pip install openai
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 3. 运行测试
|
|||
|
|
|
|||
|
|
进入demo目录并运行测试脚本:
|
|||
|
|
```bash
|
|||
|
|
cd demo
|
|||
|
|
python test_batch_api.py
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 预期结果
|
|||
|
|
|
|||
|
|
如果API正常响应,你会看到:
|
|||
|
|
|
|||
|
|
1. **文件上传成功** - 显示文件ID
|
|||
|
|
2. **任务创建成功** - 显示任务ID
|
|||
|
|
3. **任务状态轮询** - 显示任务进展
|
|||
|
|
4. **结果下载** - 显示固定测试响应:`"This is a test result."`
|
|||
|
|
|
|||
|
|
示例输出:
|
|||
|
|
```
|
|||
|
|
============================================================
|
|||
|
|
步骤1:上传测试文件
|
|||
|
|
============================================================
|
|||
|
|
正在上传文件: test_model.jsonl
|
|||
|
|
✓ 文件上传成功
|
|||
|
|
文件ID: file-batch-xxx
|
|||
|
|
|
|||
|
|
============================================================
|
|||
|
|
步骤2:创建Batch任务
|
|||
|
|
============================================================
|
|||
|
|
正在创建Batch任务...
|
|||
|
|
✓ Batch任务创建成功
|
|||
|
|
任务ID: batch_xxx
|
|||
|
|
状态: validating
|
|||
|
|
|
|||
|
|
============================================================
|
|||
|
|
步骤3:等待任务完成
|
|||
|
|
============================================================
|
|||
|
|
[轮询 #1] 任务状态: in_progress
|
|||
|
|
等待10秒后再次查询...
|
|||
|
|
[轮询 #2] 任务状态: completed
|
|||
|
|
|
|||
|
|
============================================================
|
|||
|
|
步骤4:下载结果
|
|||
|
|
============================================================
|
|||
|
|
正在下载成功结果...
|
|||
|
|
✓ 成功结果(前500字符):
|
|||
|
|
------------------------------------------------------------
|
|||
|
|
{"id":"xxx","custom_id":"1","response":{"status_code":200,...
|
|||
|
|
------------------------------------------------------------
|
|||
|
|
✓ 完整结果已保存到: result.jsonl
|
|||
|
|
|
|||
|
|
============================================================
|
|||
|
|
✓ 测试完成!API响应正常
|
|||
|
|
============================================================
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 常见问题
|
|||
|
|
|
|||
|
|
### 1. API Key未设置
|
|||
|
|
**错误信息**: `❌ 错误:未设置API Key`
|
|||
|
|
|
|||
|
|
**解决方法**: 按照步骤1设置环境变量
|
|||
|
|
|
|||
|
|
### 2. 网络连接失败
|
|||
|
|
**错误信息**: `Connection error` 或 `Timeout`
|
|||
|
|
|
|||
|
|
**解决方法**:
|
|||
|
|
- 检查网络连接
|
|||
|
|
- 检查防火墙设置
|
|||
|
|
- 如果在中国大陆,确认能访问阿里云服务
|
|||
|
|
|
|||
|
|
### 3. API Key无效
|
|||
|
|
**错误信息**: `Invalid API Key` 或 `Authentication failed`
|
|||
|
|
|
|||
|
|
**解决方法**:
|
|||
|
|
- 检查API Key是否正确
|
|||
|
|
- 确认API Key对应正确的地域(北京/新加坡)
|
|||
|
|
- 检查API Key是否过期
|
|||
|
|
|
|||
|
|
### 4. 任务失败
|
|||
|
|
**错误信息**: `❌ 任务失败`
|
|||
|
|
|
|||
|
|
**解决方法**:
|
|||
|
|
- 查看错误详情
|
|||
|
|
- 参考错误码文档:https://help.aliyun.com/zh/model-studio/developer-reference/error-code
|
|||
|
|
|
|||
|
|
## 参考文档
|
|||
|
|
|
|||
|
|
- API文档: `../docs/API/Tongyi-API.md`
|
|||
|
|
- 错误码: https://help.aliyun.com/zh/model-studio/developer-reference/error-code
|
|||
|
|
- 批量推理: https://help.aliyun.com/zh/model-studio/batch-inference
|
|||
|
|
|