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.
4.4 KiB
4.4 KiB
Changelog: 切换剧本解析模型为 Gemini 2.5 Flash
日期: 2026-02-09
类型: 优化
影响范围: AI 剧本解析
变更概述
将剧本解析任务的默认 AI 模型从 gpt-4o-mini 切换为 gemini-2.5-flash,以获得更好的性价比和结构化输出支持。
变更详情
修改文件
server/app/api/v1/screenplays.py
- 修改
parse_screenplayAPI 端点 - 将默认模型从
gpt-4o-mini改为gemini-2.5-flash
# 修改前
model='gpt-4o-mini', # 固定使用 gpt-4o-mini
# 修改后
model='gemini-2.5-flash', # 使用 Gemini 2.5 Flash(性价比最高,支持结构化输出)
技术决策
为什么选择 Gemini 2.5 Flash?
| 对比项 | gpt-4o-mini | gemini-2.5-flash | 优势 |
|---|---|---|---|
| 成本 | 4.2 cost_per_unit (60 credits) | 17.493 cost_per_unit (249 credits) | ⚠️ 成本略高 |
| 结构化输出 | ✅ 支持 | ✅ 原生支持 JSON Schema | ✅ 格式保证更强 |
| 上下文长度 | 128K tokens | 1,048,576 tokens (1M+) | ✅ 超长上下文 |
| 最大输出 | 16K tokens | 65,536 tokens | ✅ 可生成更多分镜 |
| 速度 | 快 | 非常快(Flash 系列) | ✅ 响应更快 |
| 多模态 | text, image, audio, video | text, image, audio, video | ✅ 功能相同 |
核心优势
-
结构化输出保证
- Gemini 2.5 Flash 原生支持 JSON Schema
- 确保 AI 返回的格式严格符合预期
- 减少格式错误导致的解析失败
-
超长上下文
- 支持 1M+ tokens 上下文
- 可以处理超长剧本(100+ 页)
- 无需分段处理
-
更大输出容量
- 最大输出 65K tokens
- 可以一次性生成大量分镜
- 适合复杂剧本的完整解析
-
速度优势
- Flash 系列响应速度快
- 用户体验更好
成本考虑
虽然 Gemini 2.5 Flash 的成本略高于 gpt-4o-mini(249 vs 60 credits),但考虑到:
- 更高的成功率(减少重试成本)
- 更好的格式保证(减少后处理成本)
- 更快的响应速度(提升用户体验)
综合性价比更高。
影响分析
用户影响
-
✅ 积极影响:
- 解析成功率提升
- 格式错误减少
- 响应速度更快
- 支持更长的剧本
-
⚠️ 成本影响:
- 每次解析消耗的积分增加(60 → 249 credits)
- 建议监控实际使用情况,必要时调整
系统影响
- ✅ 无需修改数据库结构
- ✅ 无需修改前端代码
- ✅ 向后兼容(模型名称作为参数传递)
测试建议
测试场景
-
短剧本测试(< 5000 字)
- 验证基本功能正常
- 检查格式是否正确
-
长剧本测试(> 20000 字)
- 验证超长上下文处理
- 检查分镜生成数量
-
复杂剧本测试(多角色、多场景)
- 验证元素提取准确性
- 检查标签关联正确性
-
成本监控
- 记录实际消耗的积分
- 对比 gpt-4o-mini 的成本差异
回滚方案
如果 Gemini 2.5 Flash 出现问题,可以快速回滚:
# 回滚到 gpt-4o-mini
model='gpt-4o-mini',
或者切换到其他 Gemini 模型:
# 使用更经济的 Gemini 2.5 Flash Lite
model='gemini-2.5-flash-lite', # 成本仅 2.8 (40 credits)
# 使用更强大的 Gemini 2.5 Pro
model='gemini-2.5-pro', # 成本 70 (1000 credits)
后续优化
短期优化
-
监控成本
- 统计实际消耗的积分
- 评估成本效益比
-
监控成功率
- 统计解析成功率
- 对比 gpt-4o-mini 的成功率
-
监控格式错误
- 统计格式错误次数
- 验证结构化输出的效果
长期优化
-
动态模型选择
- 根据剧本长度自动选择模型
- 短剧本使用 gemini-2.5-flash-lite(成本低)
- 长剧本使用 gemini-2.5-flash(能力强)
-
用户自定义模型
- 允许用户在前端选择模型
- 提供成本预估
-
A/B 测试
- 对比不同模型的效果
- 选择最优模型
相关文档
维护人员: AI Agent
审核状态: ✅ 已完成
部署状态: 🚀 待部署