Google Gen AI SDK
Google GenAI SDK 适合需要 Gemini 原生 generateContent 格式的 Python 应用。本页使用 google-genai 包。
安装
python -m pip install --upgrade google-genai
创建客户端
from google import genai
from google.genai import types
client = genai.Client(
api_key="YOUR_BITA_API_KEY",
http_options=types.HttpOptions(
base_url="https://www.bita-api.com",
),
)
这里填写 Bita API 的站点根地址。SDK 会使用 Gemini Developer API 的默认版本路径 /v1beta,并通过 x-goog-api-key 传递 API 密钥。
不要在
base_url 后添加 /v1beta如果地址中已经包含 /v1beta,SDK 可能再次追加版本路径。请使用 https://www.bita-api.com。
查询模型
for model in client.models.list():
print(model.name)
模型名称可能显示为 models/YOUR_MODEL_ID。调用 generate_content 时通常填写不带 models/ 前缀的模型 ID。
生成文本
response = client.models.generate_content(
model="YOUR_MODEL_ID",
contents="请用一句话介绍 Bita API。",
)
print(response.text)
需要系统指令和生成参数时,可以使用 GenerateContentConfig:
response = client.models.generate_content(
model="YOUR_MODEL_ID",
contents="请介绍 API 中转服务。",
config=types.GenerateContentConfig(
system_instruction="使用简体中文简洁回答。",
temperature=0.3,
),
)
print(response.text)
并非所有模型都支持相同的生成参数。基础请求成功后,再按模型能力增加配置。
流式输出
for chunk in client.models.generate_content_stream(
model="YOUR_MODEL_ID",
contents="请介绍流式响应的作用。",
):
if chunk.text:
print(chunk.text, end="", flush=True)
print()
图片理解
下面的示例直接读取本地图片字节,不需要先上传到外部地址:
from pathlib import Path
image = types.Part.from_bytes(
data=Path("image.jpg").read_bytes(),
mime_type="image/jpeg",
)
response = client.models.generate_content(
model="YOUR_VISION_MODEL_ID",
contents=[
image,
"请描述这张图片中的主要内容。",
],
)
print(response.text)
图片的 MIME 类型必须与实际格式一致。模型还需要支持 Gemini 图片输入能力。
关闭客户端
应用不再使用客户端时可以释放连接资源:
client.close()
异步客户端对应使用 await client.aio.aclose()。
常见问题
| 现象 | 建议检查 |
|---|---|
ModuleNotFoundError: google.genai | 安装或升级 google-genai,不要只安装旧包 |
401 或 403 | API 密钥、密钥状态、分组和额度是否正确 |
404 | base_url 是否为站点根地址,模型 ID 是否重复带有 models/ |
| 模型列表正常但生成失败 | 模型是否支持 generateContent,端点类型是否为 Gemini |
| 图片请求失败 | 模型是否支持视觉输入,MIME 类型和文件内容是否正确 |
| 参数不受支持 | 删除可选配置后重试,并确认模型能力 |
更多原始请求结构参见Gemini 原生接口。