VertexAIException - 调用 Gemini-Pro API 时列表索引超出范围错误

问题描述 投票:0回答:1

我正在以连续的方式调用 Google Gemini-Pro API(大约每分钟 50 个查询)。我相信我已经正确设置了我的 VertexAI 项目和凭据。当我使用的连续查询数量低于恒定条时,查询将运行并且可以很好地收到响应。然而,一旦查询数量超过上述栏,就会出现以下错误:

IndexError - 列表索引超出范围

请注意,发生此错误的查询“bar”的数量取决于每个查询的长度,并且如果查询的长度在程序执行中保持相同,则该数量是一致的。例如,在尝试将查询长度增加大约 20% 后,查询长度从大约 330 个查询下降到大约 60 个查询。

文件 “/Users/user/anaconda3/envs/chat1/lib/python3.11/site-packages/vertexai/generative_models/_generative_models.py”, 第 1315 行,文本 返回 self.candidates[0].text ~~~~~~~~~~~~~~~^^^ IndexError:列表索引超出范围

这是什么原因造成的?我已将 VertexAI 服务器位置设置为:“us-central1”,据我所知,该位置的配额应该只有 300 个查询/分钟。由于我连续执行 API 调用,但低于每分钟 60 次查询的速率,因此我认为我处于使用正常范围。我目前正在使用免费的 VertexAI 试用帐户(有 300 美元的免费信用)。

我写的Gemini Pro API调用函数是:

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
machine-learning large-language-model google-cloud-vertex-ai quota google-gemini
1个回答
0
投票

这表明提示没有返回

candidates

如果相同提示的其他运行有效,那么这可能是由于速率限制,即使您认为自己低于限制。您可以在 Cloud Console API 信息中心中查看这一点,但所有这些数字都是粗略的近似值。

如果此提示始终不起作用,则可能是安全系统标记了该提示,可能是错误的。

无论哪种情况,查看

response
对象的 JSON 表示形式以准确查看返回的内容并检查相应的字段都非常有用。如果这确实表明存在速率错误,那么您应该能够在短时间内重试。

© www.soinside.com 2019 - 2024. All rights reserved.