The current Gemini provider implementation (src/provider/gemini.rs) lacks support for safetySettings.
Instead of just adding it for Gemini, we should create a cross-provider abstraction in the core StructuredRequest or GenerationConfig.
Requirements:
- Define a provider-agnostic safety configuration in
src/core/types.rs (or similar).
- Needs generic categories (e.g., Hate Speech, Dangerous Content).
- Needs generic thresholds (e.g., Block None, Block Low, Block Medium).
- Map these generic settings to provider-specific formats.
- Implement mapping for Gemini (
SafetySetting with category and threshold).
- (Optional) Investigate/Stub mappings for other providers.
- Update
GeminiRequest to include the safetySettings field.
The current Gemini provider implementation (
src/provider/gemini.rs) lacks support forsafetySettings.Instead of just adding it for Gemini, we should create a cross-provider abstraction in the core
StructuredRequestorGenerationConfig.Requirements:
src/core/types.rs(or similar).SafetySettingwithcategoryandthreshold).GeminiRequestto include thesafetySettingsfield.