@@ -29,7 +29,7 @@ class OpenAIOptions(BaseModel):
2929 model_config = ConfigDict (extra = "forbid" )
3030
3131 api_key : Optional [str ] = Field (default = None , description = "OpenAI API key" )
32- model : str = Field (default = "gpt-4o-mini" , description = "Model name" )
32+ model : str = Field (... , description = "Model name" )
3333 base_url : Optional [str ] = Field (default = None , description = "Custom base URL" )
3434 temperature : Optional [float ] = Field (default = None , ge = 0.0 , le = 2.0 )
3535 top_p : Optional [float ] = Field (default = None , ge = 0.0 , le = 1.0 )
@@ -49,6 +49,8 @@ class OpenAIOptions(BaseModel):
4949
5050 @model_validator (mode = "after" )
5151 def _validate_byok_params (self ) -> "OpenAIOptions" :
52+ if not self .model :
53+ raise ValueError ("OpenAI requires model" )
5254 if self .api_key is not None and self .base_url is None :
5355 raise ValueError ("OpenAI requires base_url when api_key is set" )
5456 if self .api_key is None and self .base_url is not None :
@@ -184,7 +186,7 @@ class AnthropicOptions(BaseModel):
184186 model_config = ConfigDict (extra = "forbid" )
185187
186188 api_key : str = Field (..., description = "Anthropic API key" )
187- model : str = Field (default = "claude-3-5-sonnet-20241022" , description = "Model name" )
189+ model : str = Field (... , description = "Model name" )
188190 url : str = Field (..., description = "Anthropic messages endpoint URL" )
189191 max_tokens : int = Field (..., gt = 0 )
190192 temperature : Optional [float ] = Field (default = None , ge = 0.0 , le = 1.0 )
@@ -251,7 +253,7 @@ class GeminiOptions(BaseModel):
251253 model_config = ConfigDict (extra = "forbid" )
252254
253255 api_key : str = Field (..., description = "Google AI API key" )
254- model : str = Field (default = "gemini-2.0-flash-exp" , description = "Model name" )
256+ model : str = Field (... , description = "Model name" )
255257 url : Optional [str ] = Field (default = None , description = "Custom API endpoint URL" )
256258 temperature : Optional [float ] = Field (default = None , ge = 0.0 , le = 2.0 )
257259 top_p : Optional [float ] = Field (default = None , ge = 0.0 , le = 1.0 )
@@ -322,7 +324,7 @@ class GroqOptions(OpenAIOptions):
322324 model_config = ConfigDict (extra = "forbid" )
323325
324326 api_key : str = Field (..., description = "Groq API key" )
325- model : str = Field (default = "llama-3.3-70b-versatile" , description = "Model name" )
327+ model : str = Field (... , description = "Model name" )
326328 base_url : str = Field (..., description = "Groq-compatible endpoint" )
327329
328330
@@ -383,6 +385,7 @@ class AmazonBedrockOptions(AnthropicOptions):
383385 access_key : str = Field (..., description = "AWS access key ID" )
384386 secret_key : str = Field (..., description = "AWS secret access key" )
385387 region : str = Field (..., description = "AWS region" )
388+ model : str = Field (..., description = "Amazon Bedrock model identifier" )
386389 max_tokens : Optional [int ] = Field (default = None , gt = 0 )
387390 api_key : Optional [str ] = Field (default = None , description = "Unused; kept for AnthropicOptions compatibility" )
388391 url : Optional [str ] = Field (default = None , description = "Unused; kept for AnthropicOptions compatibility" )
0 commit comments