Google AI API 怎么调用:密钥申请与 Python 请求示例
想调用 Google AI API,核心步骤只有三步:在 Google AI Studio 创建 API Key,选一个可用模型名,用 HTTP 或官方 SDK 发送请求。
下面以 Python 为例,把密钥配置、请求参数和常见报错一次讲清楚。
先分清 Google AI Studio 和 Vertex AI
Google 提供两种主要接入方式。Google AI Studio 的 Gemini API 适合个人开发者快速试用,申请密钥简单,有免费额度但有限制;Vertex AI 面向企业级项目,需要 Google Cloud 项目、结算账号和 IAM 权限,配置更复杂。
本文示例基于 Google AI Studio 的 Gemini API,如果你用的是 Vertex AI,认证方式和接口地址会不同。
申请密钥并设置环境变量
打开 Google AI Studio 控制台,登录 Google 账号,在左侧找到 API Key 入口,点击创建密钥。
创建后立即复制保存,页面关闭后无法再次查看完整密钥。
不要把密钥写死在代码里。
Linux 或 macOS 可以写入环境变量:
export GOOGLE_API_KEY="你的密钥"
Windows PowerShell 使用:
$env:GOOGLE_API_KEY="你的密钥"
如果要在服务器上长期使用,把上述命令写进 ~/.bashrc 或项目专用的 .env 文件,并确保 .env 不被提交到 Git。
用 Python 发送第一个请求
先安装官方 SDK:
pip install google-generativeai
然后写一个最小调用脚本:
import os
import google.generativeai as genai
genai.configure(api_key=os.environ["GOOGLE_API_KEY"])
model = genai.GenerativeModel("gemini-1.5-flash")
response = model.generate_content("用一句话解释什么是 API")
print(response.text)
运行后如果正常返回文本,说明密钥和网络都通了。
注意模型名要写准确,不同模型的可用性会随账号和地区变化,控制台里能看到的模型名才是可用的。
如果不想装 SDK,也可以直接用 requests 调 REST 接口:
import os
import requests
api_key = os.environ["GOOGLE_API_KEY"]
url = f"https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent?key={api_key}"
payload = {"contents": [{"parts": [{"text": "你好"}]}]}
resp = requests.post(url, json=payload, timeout=30)
print(resp.status_code)
print(resp.text)
REST 方式便于排查问题,因为你能直接看到 HTTP 状态码和返回体。
常见报错怎么排查
400 Bad Request:请求体格式不对。
检查 contents 是否为数组、parts 里是否有 text 字段。
JSON 字段名大小写也要一致。
403 PERMISSION_DENIED:密钥无效、被删除,或者当前账号没有该模型的权限。
回到 AI Studio 确认密钥状态,并检查是否误用了其他项目的密钥。
429 RESOURCE_EXHAUSTED:触发了频率或额度限制。
免费额度有每分钟请求数和每日请求数上限,降低调用频率或等待额度重置。
生产环境建议在代码里加退避重试。
模型不存在:模型名拼错或该模型未对你的账号开放。
用控制台列出的模型名替换,不要凭记忆写版本号。
上线前注意的几个点
密钥只放在服务端,前端代码和公开仓库里不要出现。
请求要设置超时,避免网络异常时线程一直挂起。
对返回内容做空值判断,模型有时会返回空文本或安全拦截结果。
如果需要多轮对话,要把历史消息按 contents 数组格式传入,而不是每次只发最新一句。
把这些步骤跑通后,再根据业务调整模型、温度参数和提示词,比一开始就堆复杂配置更容易定位问题。