Expose: generation controls

Temperature, top-p, max tokens, stop sequences — every model has these. They belong in GenerateRequest.

Advertisement

Expose: tool calling

Function/tool calling is now table stakes. Expose a normalized form; each provider adapter converts to its dialect.

Advertisement

Hide: provider-specific tuning

Gemini's safetySettings hierarchy, OpenAI's response_format JSON schema — these stay hidden behind provider-specific configs. Otherwise the interface fractals.