Skip to content

feat(yeti): let the agents chat offer a choice of Gemini models - #281

Merged
tomchop merged 2 commits into
google:mainfrom
tomchop:feat/agents-model-list
Sep 1, 2026
Merged

tomchop merged 2 commits into
google:mainfrom
tomchop:feat/agents-model-list

Conversation

@tomchop

@tomchop tomchop commented Sep 1, 2026

Copy link
Copy Markdown
Collaborator

Problem

The chart sets GEMINI_MODEL — the model a conversation uses when none is chosen — but not GEMINI_MODELS, the set a user may pick from. yeti-agents#10 added a model picker to the chat, and the UI hides the selector when only one model is offered, so the feature is unreachable from a Helm deployment.

Change

geminiModels:
  - gemini-3.7-flash
  - gemini-3.5-flash
  - gemini-3.5-flash-lite
  - gemini-3.1-pro-preview

rendered as a comma-separated GEMINI_MODELS, and omitted entirely when the list is empty so the service falls back to offering just geminiModel.

The list is deliberately short. It is what the deployment is willing to spend quota on, not everything the provider publishes — the usual reason to switch models is that one is throttling, so the set wants to be a considered one. geminiModel is always available whether or not it appears in the list.

On gemini-3.1-pro-preview

There is no gemini-3.1-pro; the only Pro in that line is the preview. It is included because Pro is worth having available, and flagged in values.yaml as a preview — those are retired on Google's schedule, so one listed here can stop working with no change on this side. That is also why the default stays on a stable id.

Verified

helm lint passes. Rendered:

- name: GEMINI_MODEL
  value: "gemini-3.7-flash"
- name: GEMINI_MODELS
  value: "gemini-3.7-flash,gemini-3.5-flash,gemini-3.5-flash-lite,gemini-3.1-pro-preview"

and fed that exact string to yetiplatform/yeti-agents:dev, which parses it as intended:

available: ['gemini-3.7-flash', 'gemini-3.5-flash', 'gemini-3.5-flash-lite', 'gemini-3.1-pro-preview']

Chart versions bumped to yeti 2.8.0 / osdfir-infrastructure 2.14.0, Chart.lock regenerated.

The chart set GEMINI_MODEL, the model a conversation uses when none is chosen,
but not GEMINI_MODELS, the set a user may choose between. Without the second
the chat UI has one option and hides its selector, so the picker added in
yeti-agents#10 could not be reached from a Helm deployment at all.

The default list is deliberately short. It is what a deployment is willing to
spend quota on rather than everything the provider publishes, which is the
point of choosing: the usual reason is that one model is throttling.

gemini-3.1-pro-preview is included because it is the only Pro in that line --
there is no gemini-3.1-pro -- and noted as a preview in values.yaml, since
those are retired on Google's schedule rather than ours.
Two settings described the same thing and could disagree, with nothing stopping
a deployment defaulting to a model it did not offer. yeti-agents#11 takes the
default from the head of the list, so ordering geminiModels by preference says
both things at once.

Deployments that set agents.geminiModel keep working: the service still honours
GEMINI_MODEL where it is set, it is simply no longer something this chart
writes.
@tomchop

tomchop commented Sep 1, 2026

Copy link
Copy Markdown
Collaborator Author

Pushed a follow-up now that yeti-platform/yeti-agents#11 has merged: geminiModel is gone, and the first entry of geminiModels is the default.

Two settings described the same thing and could disagree — nothing stopped a deployment defaulting to a model it did not offer. Ordering the list by preference says both things at once:

geminiModels:
  - gemini-3.7-flash        # <- used unless a conversation picks another
  - gemini-3.5-flash
  - gemini-3.5-flash-lite
  - gemini-3.1-pro-preview

Rendered env is now just:

- name: LLM_PROVIDER
  value: "gemini"
- name: GEMINI_MODELS
  value: "gemini-3.7-flash,gemini-3.5-flash,gemini-3.5-flash-lite,gemini-3.1-pro-preview"

and fed to yetiplatform/yeti-agents:dev, which resolves it as intended:

default : gemini-3.7-flash
offered : ['gemini-3.7-flash', 'gemini-3.5-flash', 'gemini-3.5-flash-lite', 'gemini-3.1-pro-preview']

Nothing breaks for anyone setting GEMINI_MODEL directly — the service still honours it and it wins over the list; it is simply no longer something this chart writes. helm lint passes.

@tomchop
tomchop merged commit 85fead1 into google:main Sep 1, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant