You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

5.2 KiB

AI 模型测试报告

日期: 2026-02-13
测试范围: 图片生成和视频生成模型
测试环境: Jointo AI Platform - AIHubMix Integration


📊 测试覆盖情况

已测试图片模型

模型名称 数据库类型 SDK Adapter 测试状态 备注
DALL-E 3 model_type=2 OpenAISdkAdapter 通过 Base64 返回,约 1-2 分钟
Gemini 3 Pro Image model_type=2 GeminiSdkAdapter 通过 使用 google-genai SDK

问题: 图片模型被错误标记为 model_type=2(视频类型)


已测试视频模型

模型名称 数据库类型 SDK Adapter 测试状态 生成耗时 备注
Sora 2 model_type=3 OpenAISdkAdapter 通过 ~4-5 分钟 支持 4s/8s/12s
即梦 3.0 1080P model_type=3 OpenAISdkAdapter 通过 ~4-5 分钟 固定 5 秒时长
Wan 2.6 T2V model_type=3 OpenAISdkAdapter 通过 ~4-5 分钟 支持 5s/10s,进度上报不准

问题: 视频模型被错误标记为 model_type=3(文本类型)


🏗️ 架构验证

SDK Adapter Pattern

AIService
    ↓
AIHubMixProvider
    ↓
    ├─ OpenAISdkAdapter    (DALL-E, Flux, Sora, 即梦, Wan)
    └─ GeminiSdkAdapter    (Gemini Image, Veo)

验证结果:

  • OpenAI SDK 兼容模型正常工作
  • Google GenAI SDK 正常工作
  • 参数映射正确(UnifiedImageParams → SDK 参数)
  • 文件上传和存储正常
  • 业务数据写入正确(storyboard_images, storyboard_videos

⏱️ 超时配置

已设置超时阈值

任务类型 软超时 硬超时 实际耗时
图片生成 3 分钟 5 分钟 1-2 分钟
视频生成 10 分钟 15 分钟 4-5 分钟

配置文件:

  • server/app/core/celery_app.py: 全局默认超时
  • server/app/tasks/ai_tasks.py: 任务级别超时
  • AITask.on_failure(): 超时异常处理

验证:

✅ 图片任务: soft_time_limit=180s, time_limit=300s
✅ 视频任务: soft_time_limit=600s, time_limit=900s

📦 数据完整性

业务表字段验证

storyboard_images

  • ai_model: 正确保存(如 dall-e-3
  • ai_prompt: 正确保存用户输入
  • ai_params: 正确保存生成参数
  • ai_prompt_id: 已移除(迁移 20260213_1640

storyboard_videos

  • ai_model: 正确保存(如 wan2.6-t2v
  • ai_prompt: 正确保存(新增字段,迁移 20260213_1630
  • ai_params: 正确保存生成参数
  • is_active: 唯一性约束正常(旧记录自动设为 false

🐛 已修复问题

1. Gemini 400 Bad Request

问题: Gemini 模型使用 OpenAI SDK 失败
根因: Gemini 需要 google-genai SDK
解决: 实现 GeminiSdkAdapter

2. Provider 类型判断错误

问题: AIHubMixProvider 错误选择 OpenAISdkAdapter for Gemini
根因: provider_type 未从 Redis 缓存传递
解决: 修改 AIProviderFactory.create_provider()

3. IntegrityError (storyboard_images_active_unique)

问题: 同一 storyboard_id 生成多次时违反唯一约束
根因: 未处理旧记录的 is_active 状态
解决: 生成前设置旧记录 is_active=false

4. Wan 2.6 长时间卡在 30%

问题: 任务进度长时间停留在 30%
根因: AIHubMix 进度上报不准确,实际仍在生成
解决: 确认轮询机制正常,增加超时配置


🚫 数据库类型错误

问题描述

数据库 ai_models 表的 model_type 分类不正确:

-- 错误的分类
DALL-E 3, Gemini Image  model_type=2 (应该是 1=图片)
Sora, 即梦, Wan, Veo     model_type=3 (应该是 2=视频)

正确的分类应该是

-- model_type 枚举
1 = 图片生成 (Image Generation)
2 = 视频生成 (Video Generation)  
3 = 文本生成 (Text Generation) -- LLM 对话模型
4 = 音频生成 (Audio Generation)

建议操作

  1. 创建数据迁移脚本修正 model_type
  2. 更新模型同步脚本的分类逻辑
  3. 确保前端 UI 能正确展示模型类型

📝 待测试模型

图片模型

  • Flux 1.1 Pro (未在数据库中找到或未启用)
  • iRAG (未在数据库中找到或未启用)

视频模型

  • Sora 2 Pro
  • 即梦 3.0 720P / Pro
  • Wan 2.6 I2V (图生视频)
  • Veo 3.1 / Veo 3.1 Fast

建议: 优先测试 Veo 模型(需要实现 GeminiSdkAdapter.generate_video()


结论

核心功能

  • SDK Adapter 架构完全可用
  • 图片生成流程正常(DALL-E 3, Gemini)
  • 视频生成流程正常(Sora, 即梦, Wan)
  • 超时配置正确生效
  • 数据完整性验证通过

需要改进

  • ⚠️ 修正数据库 model_type 分类
  • ⚠️ 实现 Veo 视频生成(GeminiSdkAdapter.generate_video()
  • ⚠️ 测试剩余模型(Flux, iRAG, Veo, Sora Pro 等)
  • ⚠️ 优化进度显示(避免用户误认为卡死)

测试工程师: AI Assistant
审核人员: 待定
状态: 核心功能测试完成,待修正数据分类