Skip to content

Gemini

The gemini provider calls Google's Gemini API through LangChain's ChatGoogleGenerativeAI.

Settings

Setting Default Notes
core.llm.provider openai Set to gemini.
core.llm.gemini.api_key — Required; the provider refuses to build a model without it. Stored encrypted.
core.llm.gemini.expert_model gemini-2.5-pro The analysts' model.
core.llm.gemini.judge_model gemini-2.5-pro The judge's model.
core.llm.provider            = gemini
core.llm.gemini.api_key      = <your key>
core.llm.gemini.expert_model = gemini-2.5-pro
core.llm.gemini.judge_model  = gemini-2.5-pro

How it behaves

  • Rate limits are retried. A 429 RESOURCE_EXHAUSTED is retried up to six times with exponential backoff before the call gives up.
  • No endpoint to override. Gemini is a vendor API here: a per-agent entry on gemini takes no base_url, and one set is rejected on save.
  • Structured output is used where a caller asks for it.
  • Tool replies. Gemini's parts carry no id and pair by name and order, so a tool reply is placed so the turn's functionResponse parts come out in call order; a request the client already builds right is sent unchanged.
  • Hosted, so parallel. Under core.llm.parallel_analysts = auto, the Gemini API counts as hosted, so a stage's analysts run at once.
  • Request timeout. 1800 s until the model's pace is measured, then sized per request.

The probe for this provider asks through :generateContent.