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.