国内调用 Gemini API 完整指南:2.5 Pro 实测延迟不到 200ms
前段时间 Google 把 Gemini 2.5 Pro 的上下文窗口干到了 100 万 token,我寻思这玩意拿来做长文档分析不是绝了?结果第一步就卡住了——API 在国内直接超时。
搞了一天,总算找到几条能用的路,分享给同样在折腾的兄弟。
先说结论
| 方案 | 延迟 | 免费额度 | 适合谁 |
|---|---|---|---|
| Google AI Studio 直连 | ❌ 超时 | 有 | 能稳定访问 Google 的人 |
| Vertex AI + 代理 | 200-500ms | 无 | 企业用户,有 GCP 账号 |
| 兼容接口中转 | 100-300ms | 看平台 | 大多数国内开发者 |
Gemini 当前模型和价格(2026年3月)
Google 这模型更新速度太快了,3 个月前的文章基本都过时了。当前在线的:
| 模型 | 输入价格 | 输出价格 | 上下文 | 亮点 |
|---|---|---|---|---|
| Gemini 2.5 Pro(≤200k) | $1.25/MTok | $10/MTok | 1M | 最强推理,100万上下文 |
| Gemini 2.5 Pro(>200k) | $2.50/MTok | $15/MTok | 1M | 超长上下文加价档 |
| Gemini 2.5 Flash | $0.30/MTok | $2.50/MTok | 1M | 性价比神器 |
| Gemini 2.5 Flash-Lite | $0.10/MTok | $0.40/MTok | 1M | 最便宜,简单任务首选 |
注意 Gemini 2.5 Flash-Lite 的价格——输入 0.40/MTok,是目前主流大模型里最便宜的档位之一。做日志分析、文本分类这种任务,成本非常低。
方案一:Google AI Studio(需要稳定网络)
如果你能稳定访问 Google 服务,最简单的方式是直接用 Google 的 SDK:
import google.generativeai as genai
genai.configure(api_key="YOUR_API_KEY")
model = genai.GenerativeModel("gemini-2.5-pro-preview-05-06")
response = model.generate_content(
"分析这段日志中的异常模式:\n\n[2026-03-06 10:23:45] ERROR: Connection refused...",
generation_config=genai.GenerationConfig(
max_output_tokens=2048,
temperature=0.3,
),
)
print(response.text)
获取 API Key:去 Google AI Studio 注册,免费额度还挺大方的——Gemini 2.5 Flash 免费版每分钟 15 次请求。
问题:国内网络直连 generativelanguage.googleapis.com 基本超时。有人说挂代理能用,但稳定性堪忧,生产环境不推荐。
方案二:Vertex AI(企业级正规路线)
Vertex AI 是 Google Cloud 的 AI 服务,比 AI Studio 更适合生产环境。
import vertexai
from vertexai.generative_models import GenerativeModel
vertexai.init(project="your-gcp-project", location="asia-northeast1")
model = GenerativeModel("gemini-2.5-pro")
response = model.generate_content(
"把以下英文技术文档翻译成中文,保持代码块不翻译:\n\n..."
)
print(response.text)
优势:
- 可以选亚洲区域(asia-northeast1 东京),延迟相对低
- SLA 保障,适合企业级应用
- 支持 VPC Service Controls,安全合规
踩坑:
- 需要 GCP 账号 + 开通 Vertex AI API + 绑定计费
- 国内访问 GCP 端点同样可能超时,建议走专线或 Cloud Interconnect
- 没有免费额度,按量计费从第一个 token 开始
- Vertex AI 的 SDK 和 Google AI Studio 的 SDK 不是同一个包,别装错了
方案三:中转接口(我日常用的)
和调 Claude 一样的思路——找一个国内有节点、兼容 OpenAI 协议的聚合平台。
from openai import OpenAI
client = OpenAI(
api_key="your-key",
base_url="https://api.ofox.ai/v1"
)
# Gemini 2.5 Pro - 100万上下文,拿来做长文档分析
response = client.chat.completions.create(
model="google/gemini-2.5-pro",
messages=[
{"role": "system", "content": "你是技术文档分析专家"},
{"role": "user", "content": f"分析以下 API 文档,提取所有端点、参数和返回值:\n\n{long_document}"}
],
max_tokens=8192,
)
print(response.choices[0].message.content)
# Gemini 2.5 Flash-Lite - 超便宜,批量任务用它
response = client.chat.completions.create(
model="google/gemini-2.5-flash-lite",
messages=[
{"role": "user", "content": "把这条客服消息分类为:投诉/咨询/表扬/其他\n\n消息:这个功能太难用了,找了半天找不到入口"}
],
max_tokens=50,
)
# → "投诉"
延迟实测:
Gemini 2.5 Pro(短回复):首 token 180ms,总耗时 1.2s
Gemini 2.5 Flash(短回复):首 token 90ms,总耗时 0.6s
Gemini 2.5 Flash-Lite:首 token 60ms,总耗时 0.3s
Flash-Lite 的速度真的离谱,做实时分类几乎感觉不到延迟。
实战:用 Gemini 100 万上下文分析整个代码仓库
Gemini 2.5 Pro 最大的杀手锏是 100 万 token 的上下文。我试了一下把整个项目的代码喂进去:
import os
from openai import OpenAI
client = OpenAI(api_key="your-key", base_url="https://api.ofox.ai/v1")
def collect_source_files(directory, extensions=(".py", ".ts", ".js")):
"""收集项目所有源码文件"""
files_content = []
for root, _, files in os.walk(directory):
if "node_modules" in root or ".git" in root or "__pycache__" in root:
continue
for f in files:
if any(f.endswith(ext) for ext in extensions):
path = os.path.join(root, f)
try:
with open(path, "r") as fp:
content = fp.read()
files_content.append(f"=== {path} ===\n{content}")
except Exception:
pass
return "\n\n".join(files_content)
# 收集整个项目的代码
project_code = collect_source_files("./my-project")
print(f"代码总长度: {len(project_code)} 字符")
# 让 Gemini 分析架构
response = client.chat.completions.create(
model="google/gemini-2.5-pro",
messages=[
{"role": "system", "content": "你是资深架构师,分析代码仓库并输出:1.项目架构概览 2.模块依赖关系 3.潜在的设计问题 4.重构建议"},
{"role": "user", "content": f"以下是完整的项目代码:\n\n{project_code}"}
],
max_tokens=8192,
)
print(response.choices[0].message.content)
我拿一个约 15 万行的 Python 项目试了一下(压缩后大概 40 万 token),Gemini 2.5 Pro 用了 45 秒,输出了一份非常详细的架构分析报告,包括模块间的循环依赖和几个明显的 God Class 问题。
这是 Claude 和 GPT 目前做不到的——它们的上下文窗口最多 200K,塞不下整个项目。
Gemini vs Claude vs GPT:我的分工方案
用了一段时间后,我根据各模型的特点做了分工:
| 任务类型 | 首选模型 | 原因 |
|---|---|---|
| 代码审查/编程 | Claude Sonnet 4.6 | 编程能力最强,SWE-bench 79.6% |
| 长文档/代码库分析 | Gemini 2.5 Pro | 100万上下文,别家做不到 |
| 批量分类/提取 | Gemini 2.5 Flash-Lite | 最便宜档位,$0.10/MTok |
| 通用对话/客服 | GPT-4o | 稳定,生态最好 |
| 快速原型验证 | DeepSeek V3 | 中文理解好,价格低 |
这些模型我都通过一个兼容 OpenAI 的聚合接口调用,换模型只要改 model 参数,不用改代码。
踩坑汇总
- Gemini 的 safety settings 很敏感:默认安全过滤比较严,涉及医疗、法律相关内容可能被拦截。通过 Vertex AI 或中转接口调用时,可以调整安全级别
- 100万上下文不是免费的:超过 200k token 的请求会触发加价(1。别动不动就把整个项目丢进去
- Flash 和 Pro 的输出质量差距明显:简单任务用 Flash 没问题,但推理链长的任务一定要用 Pro
- Google AI Studio 的免费额度有 RPM 限制:免费版 Gemini 2.5 Flash 每分钟只有 15 次请求,并发高了就 429
- 模型名经常变:Google 的模型 ID 带日期版本号(如
gemini-2.5-pro-preview-05-06),隔一阵就更新。用中转接口的好处是模型名相对稳定
小结
国内调 Gemini API,核心问题和调 Claude 一样——网络。解决了网络问题,剩下的就是选对模型和控制成本。
我的建议:
- 刚开始玩 → 找个有免费额度的中转接口试试手感
- 确认要上生产 → 评估 Vertex AI 或稳定的中转平台
- 只是偶尔用用 → Google AI Studio 免费版够了(如果你能访问的话)
Gemini 2.5 Pro 的 100 万上下文确实是杀手锏,做长文档处理的场景目前没有替代品。