Skip to content

Gemini

TL;DR

bash
ONGRID_GEMINI_API_KEY=...
ONGRID_GEMINI_MODEL=gemini-2.5-pro          # default
ONGRID_GEMINI_BASE_URL=                     # defaults to generativelanguage.googleapis.com OAI mode

Provider id:gemini。SDK 适配器:在 Google generativelanguage API 上走 OpenAI 兼容模式。

env 变量

变量默认备注
ONGRID_GEMINI_API_KEY空 = provider 掉出
ONGRID_GEMINI_MODELgemini-2.5-pro默认 model
ONGRID_GEMINI_BASE_URLhttps://generativelanguage.googleapis.com/v1beta/openaiOpenAI 兼容 endpoint
ONGRID_GEMINI_MODELSgemini-3.5-flash,gemini-2.5-pro,gemini-2.5-flash目录列表

默认目录

  • gemini-3.5-flash —— 前沿;又快又惊人地便宜。
  • gemini-2.5-pro —— 目录默认;平衡。
  • gemini-2.5-flash —— 便宜那个。

为什么用 OAI 兼容端点

Gemini 有两套 API surface:

  1. Google 原生 generativelanguage.googleapis.com/v1beta/ —— generateContent 形状,跟 OpenAI 不一样。
  2. .../v1beta/openai/ 上的 OpenAI 兼容层 —— 接受 OpenAI 风格的 chat/completions 请求,返回 OpenAI 形态的响应。

Ongrid 用 #2。兼容层意味着 eino-openai 适配器不用改,tool 调用 / system 消息 / 流式都跟其他每个 provider 槽一样行为。无特殊处理。

如果你要 OAI 兼容 surface 不暴露的 Gemini 独有功能(比如 OAI 形状无法表达 的媒体输入),塞个自定义适配器 —— 那超出支持配置范围。

把 Gemini 设为默认

bash
ONGRID_LLM_DEFAULT_PROVIDER=gemini

BaseURL

默认走 generativelanguage.googleapis.com。BaseURL 覆盖用于:

  • Vertex AI 代理端点(一般 us-central1-aiplatform...)。
  • 公司 Google Cloud 中继。

Settings UI 这字段的 hint 是 "Google generativelanguage.googleapis.com (OpenAI compatibility mode)"。

怪癖

  • 区域限制 —— 有些 Gemini 模型不是每个区域都可用。上游 403 在 chat 记录里以常规 API 错误形式出现;遇到就查 provider 的区域矩阵。
  • 安全过滤 —— Google 内容过滤可能返空消息加 finishReason: SAFETY。 Ongrid 适配器在 chat 里渲染成明确的 "blocked by safety filter" 消息,而 不是空答案。
  • 视觉 —— 图像输入通过 OAI 兼容层用标准 image_url content block 工作; BaseTool surface 还没暴露图像参数。

另见