1. 问题背景与模型变更解析
上周我在为团队搭建Google Workspace自动化流程时,遇到了一个棘手的问题。按照官方Codelab教程《借助Gemini API自动化Google Workspace任务》的步骤,当执行到第5章"向Gemini API传入图片发起调用"时,原本应该正常工作的testGeminiVision函数突然报错。控制台只显示了一条被截断的错误信息,提示建议使用muteHttpExceptions参数。
经过深入排查,我发现核心问题在于教程中使用的Gemini 1.0 Pro Vision模型已在2024年7月12日正式弃用。这个时间点很关键,因为很多开发者可能还在参考旧的文档和代码示例。Google官方推荐迁移到gemini-1.5-flash模型,这个新版本不仅保留了原有视觉能力,还在响应速度和资源消耗上有显著优化。
重要提示:所有在2024年7月12日后仍调用gemini-pro-vision模型的代码都会返回HTTP 404错误。这是导致我们收到截断错误信息的根本原因。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 模型迁移实操指南
2.1 新旧模型对比分析
在着手修改代码前,我们需要清楚了解新旧模型的差异:
| 特性 | Gemini 1.0 Pro Vision | Gemini 1.5 Flash |
|---|---|---|
| 模型标识符 | gemini-pro-vision | gemini-1.5-flash |
| 多模态支持 | 支持 | 支持 |
| 最大输入尺寸 | 2048 tokens | 128K tokens |
| 响应延迟 | 中等 | 极低 |
| 价格(每千token) | $0.01 | $0.006 |
| 可用区域 | 已下线 | 全球可用 |
从对比可见,新模型在几乎所有关键指标上都有提升,特别是128K的上下文窗口对于处理复杂文档图像非常有利。
2.2 代码迁移具体步骤
以下是修改App Script代码的具体方法:
-
定位模型调用点:
在原有代码中找到类似这样的片段:javascript复制const model = "gemini-pro-vision"; -
替换模型标识符:
将其更新为:javascript复制const model = "gemini-1.5-flash"; -
处理API端点变更:
如果代码中硬编码了API端点U
