使用Google Generative Language API时持续出现API密钥无效400错误
解决Google Generative Language API密钥无效的400错误
详细排查流程
检查密钥传递是否正确
确认LangChain的Google PaLM实例初始化时,密钥已正确配置:- 要么通过环境变量
GOOGLE_API_KEY设置,确保运行代码的环境中该变量值正确; - 要么在初始化时显式传入密钥参数,示例代码:
from langchain.llms import GooglePalm llm = GooglePalm(google_api_key="你的有效API密钥", temperature=0.7)
注意:不要同时混用两种方式,避免参数冲突。
- 要么通过环境变量
验证密钥的Cloud Console配置
登录Google Cloud Console找到对应API密钥:- 确认密钥未设置IP/HTTP referrer限制,或当前运行环境的IP已在允许列表内;
- 确认密钥已关联Generative Language API(服务名
generativelanguage.googleapis.com); - 检查密钥状态为「活跃」,未被禁用或删除。
排查密钥本身的有效性
- 复制密钥时避免带入前后空格、换行符,可粘贴到纯文本编辑器确认格式;
- 新生成的密钥需等待5-10分钟生效,不要立即测试。
绕过LangChain验证基础API调用
用原生请求测试API,排除框架封装问题:import requests API_KEY = "你的API密钥" ENDPOINT = "https://generativelanguage.googleapis.com/v1/models/text-bison-001:generateText?key=" + API_KEY payload = { "prompt": {"text": "Write a 4 line poem of my love for samosa"} } response = requests.post(ENDPOINT, json=payload) print(response.json())若此调用成功,问题出在LangChain配置;若仍报错,需回到Cloud Console检查项目配置。
确认项目的API启用与账单状态
- 确保密钥所属的Cloud项目已启用Generative Language API;
- 检查项目账单状态,欠费会导致API权限被限制。
常见修复方案
- 移除密钥的IP限制,或添加当前运行环境IP到允许列表;
- 修正LangChain的llm实例初始化代码,确保密钥参数或环境变量配置正确;
- 等待新生成的密钥生效后再测试;
- 为欠费的Cloud项目充值,恢复API访问权限。
内容的提问来源于stack exchange,提问作者AASHIF
相关产品推荐
相关产品推荐

