| 148 | |
| 149 | |
| 150 | class GeminiGenerationConfig(BaseModel): |
| 151 | temperature: Optional[float] = Field(None, ge=0.0, le=2.0) |
| 152 | topP: Optional[float] = Field(None, ge=0.0, le=1.0) |
| 153 | topK: Optional[int] = Field(None, ge=1) |
| 154 | maxOutputTokens: Optional[int] = Field(None, ge=1) |
| 155 | stopSequences: Optional[List[str]] = None |
| 156 | responseMimeType: Optional[str] = None |
| 157 | responseSchema: Optional[Dict[str, Any]] = None |
| 158 | candidateCount: Optional[int] = Field(None, ge=1, le=8) |
| 159 | seed: Optional[int] = None |
| 160 | frequencyPenalty: Optional[float] = Field(None, ge=-2.0, le=2.0) |
| 161 | presencePenalty: Optional[float] = Field(None, ge=-2.0, le=2.0) |
| 162 | thinkingConfig: Optional[Dict[str, Any]] = None |
| 163 | # 图片生成相关参数 |
| 164 | response_modalities: Optional[List[str]] = None # ["TEXT", "IMAGE"] |
| 165 | image_config: Optional[GeminiImageConfig] = None |
| 166 | |
| 167 | |
| 168 | class GeminiSafetySetting(BaseModel): |
nothing calls this directly
no outgoing calls
no test coverage detected