CategorizeLabel/demo/测试总结.md
2025-10-15 17:19:26 +08:00

3.7 KiB
Raw Permalink Blame History

Batch API 测试总结

测试结果

测试成功通义千问Batch API可以正常响应

测试信息

执行时间

  • 日期2025年10月15日
  • 测试模型:batch-test-model(测试专用,不产生费用)

测试流程

  1. 文件上传

    • 上传文件:test_model.jsonl2个测试请求
    • 文件IDfile-batch-2a6da75ba3e947a4b48faeda
    • 状态:成功
  2. 创建Batch任务

    • 任务IDbatch_430d7e65-635b-47f1-b914-70b9fdc21749
    • Endpoint/v1/chat/ds-test(测试模型专用)
    • 初始状态:validating
  3. 任务执行

    • 轮询次数2次
    • 执行时间约10-20秒
    • 最终状态:completed
  4. 结果下载

    • 输出文件已保存到:result.jsonl
    • 包含2条成功响应
    • 测试响应内容:"This is a test result."

测试响应示例

{
  "id":"1834f621-35f0-459f-afca-7749ac426759",
  "custom_id":"1",
  "response":{
    "status_code":200,
    "request_id":"1834f621-35f0-459f-afca-7749ac426759",
    "body":{
      "created":1760511961,
      "usage":{
        "completion_tokens":6,
        "prompt_tokens":20,
        "total_tokens":26
      },
      "model":"batch-test-model",
      "id":"chatcmpl-f18ede12-09e3-4369-8072-1613771bb609",
      "choices":[{
        "finish_reason":"stop",
        "index":0,
        "message":{
          "content":"This is a test result."
        }
      }],
      "object":"chat.completion"
    }
  },
  "error":null
}

环境配置

API Key设置

# Windows PowerShell
$env:DASHSCOPE_API_KEY="sk-bd5ee62703bc41fc9b8a55d748dc1eb8"

依赖包

  • openai SDK已安装

问题排查

遇到的问题及解决方案

  1. 编码问题

    • 问题Windows控制台输出包含特殊字符导致编码错误
    • 解决:将特殊字符(✓、等)替换为纯文本标记([OK]、[ERROR]等)
  2. 文件路径问题

    • 问题:脚本在项目根目录运行时找不到输入文件
    • 解决:使用os.path.dirname(__file__)获取脚本所在目录
  3. JSONL格式问题

    • 问题:文件末尾有空白行导致任务失败(错误码:line_blank
    • 解决:移除文件末尾的空白行

结论

通义千问Batch API工作正常可以成功

  • 上传文件
  • 创建Batch任务
  • 执行任务(快速完成)
  • 下载结果

下一步建议

既然API本身工作正常如果主程序main.py)仍然遇到"一直等待无法响应"的问题,可能的原因包括:

  1. 使用的是正式模型而非测试模型

    • 正式模型(如qwen-plus的Batch任务可能需要更长时间
    • 当前config中配置的是qwen-plus模型
    • 建议:等待时间可能需要数小时甚至更长
  2. 轮询间隔和最大等待时间设置

    • 当前配置:
      • poll_interval: 601分钟
      • max_wait_time: 8640024小时
    • 这些设置看起来是合理的
  3. 任务队列繁忙

    • Batch任务的执行时间取决于系统资源分配
    • 在高峰期可能需要更长等待时间

建议的诊断步骤

  1. 检查当前运行的Batch任务状态

    • 如果有正在运行的任务可以通过任务ID查询其状态
    • 查看日志文件:logs/classifier.log
  2. 使用测试模型验证完整流程

    • 修改config.yaml将模型改为batch-test-model
    • 修改endpoint为/v1/chat/ds-test
    • 运行主程序验证是否能快速完成
  3. 检查实际产品数量

    • 如果product_list.xlsx中有大量产品
    • Batch任务处理时间会相应增加

参考资料

  • API文档../docs/API/Tongyi-API.md
  • 测试脚本:test_batch_api.py
  • 配置文件:../config/config.yaml