国内调用 Gemini API 完整指南:2.5 Pro 实测延迟不到 200ms

10 阅读5分钟

国内调用 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/MTok1M最强推理,100万上下文
Gemini 2.5 Pro(>200k)$2.50/MTok$15/MTok1M超长上下文加价档
Gemini 2.5 Flash$0.30/MTok$2.50/MTok1M性价比神器
Gemini 2.5 Flash-Lite$0.10/MTok$0.40/MTok1M最便宜,简单任务首选

注意 Gemini 2.5 Flash-Lite 的价格——输入 0.10/MTok,输出0.10/MTok,输出 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 Pro100万上下文,别家做不到
批量分类/提取Gemini 2.5 Flash-Lite最便宜档位,$0.10/MTok
通用对话/客服GPT-4o稳定,生态最好
快速原型验证DeepSeek V3中文理解好,价格低

这些模型我都通过一个兼容 OpenAI 的聚合接口调用,换模型只要改 model 参数,不用改代码。

踩坑汇总

  1. Gemini 的 safety settings 很敏感:默认安全过滤比较严,涉及医疗、法律相关内容可能被拦截。通过 Vertex AI 或中转接口调用时,可以调整安全级别
  2. 100万上下文不是免费的:超过 200k token 的请求会触发加价(2.50/MTok),40token的输入要2.50/MTok),40 万 token 的输入要 1。别动不动就把整个项目丢进去
  3. Flash 和 Pro 的输出质量差距明显:简单任务用 Flash 没问题,但推理链长的任务一定要用 Pro
  4. Google AI Studio 的免费额度有 RPM 限制:免费版 Gemini 2.5 Flash 每分钟只有 15 次请求,并发高了就 429
  5. 模型名经常变:Google 的模型 ID 带日期版本号(如 gemini-2.5-pro-preview-05-06),隔一阵就更新。用中转接口的好处是模型名相对稳定

小结

国内调 Gemini API,核心问题和调 Claude 一样——网络。解决了网络问题,剩下的就是选对模型和控制成本。

我的建议:

  • 刚开始玩 → 找个有免费额度的中转接口试试手感
  • 确认要上生产 → 评估 Vertex AI 或稳定的中转平台
  • 只是偶尔用用 → Google AI Studio 免费版够了(如果你能访问的话)

Gemini 2.5 Pro 的 100 万上下文确实是杀手锏,做长文档处理的场景目前没有替代品。