You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用Gemini-Pro API触发IndexError:列表索引越界问题排查

Gemini-Pro API调用触发IndexError的原因分析

问题场景

  • 连续调用Gemini-Pro API(约50次/分钟),已正确配置VertexAI项目及凭据
  • 调用量低于某阈值时正常响应,超出后触发IndexError: list index out of range,且阈值随查询长度变化:查询长度增加约20%,阈值从330次降至60次
  • 当前调用速率(<60次/分钟)处于us-central1区域公开配额(300次/分钟)范围内,使用含300美元赠金的免费试用账户

错误堆栈

File "/Users/user/anaconda3/envs/chat1/lib/python3.11/site-packages/vertexai/generative_models/_generative_models.py", line 1315, in text
return self.candidates[0].text

调用代码

def gemini_response(message: str) -> str:
    # Initialize Vertex AI
    vertexai.init(project="project-id-0123", location="us-central1")

    # Load the model
    model = GenerativeModel("gemini-pro")

    # Query the model
    response = model.generate_content(message)
    return response.text

调试关键信息

调试发现candidates为空数组,相关变量详情:

> self 
> prompt_feedback {block_reason: OTHER} 
> usage_metadata {prompt_token_count: 505   total_token_count: 505 } 

> self.candidates 
> []

> self._raw_response 
> prompt_feedback {block_reason: OTHER}
> usage_metadata {prompt_token_count: 505   total_token_count: 505 }

问题原因

  1. 连续请求触发内容安全拦截:单条查询未触发内容拦截,但短时间内高频连续调用被系统判定为风险行为,触发block_reason: OTHER的拦截机制,导致模型不返回候选响应,candidates为空数组。
  2. 免费试用账户的隐性限制:除公开的300次/分钟配额外,免费试用账户存在未明确标注的累计调用或并发管控规则。查询长度增加会消耗更多模型资源,进一步降低触发限制的阈值。
  3. 区域资源临时限流:us-central1区域可能存在临时资源紧张,系统对免费试用用户的请求进行优先级降级,部分请求无法获取模型响应,返回空candidates。

内容的提问来源于stack exchange,提问作者Ben

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 03:33:22