37
37
)
38
38
from ..profiles import ModelProfileSpec
39
39
from ..providers import Provider
40
- from ..settings import ModelSettings , merge_model_settings
40
+ from ..settings import ModelSettings
41
41
from ..tools import ToolDefinition
42
42
from . import (
43
43
Model ,
@@ -225,7 +225,10 @@ async def request(
225
225
model_request_parameters : ModelRequestParameters ,
226
226
) -> ModelResponse :
227
227
check_allow_model_requests ()
228
- model_settings = merge_model_settings (self .settings , model_settings )
228
+ model_settings , model_request_parameters = self .prepare_request (
229
+ model_settings ,
230
+ model_request_parameters ,
231
+ )
229
232
model_settings = cast (GoogleModelSettings , model_settings or {})
230
233
response = await self ._generate_content (messages , False , model_settings , model_request_parameters )
231
234
return self ._process_response (response )
@@ -237,6 +240,10 @@ async def count_tokens(
237
240
model_request_parameters : ModelRequestParameters ,
238
241
) -> usage .RequestUsage :
239
242
check_allow_model_requests ()
243
+ model_settings , model_request_parameters = self .prepare_request (
244
+ model_settings ,
245
+ model_request_parameters ,
246
+ )
240
247
model_settings = cast (GoogleModelSettings , model_settings or {})
241
248
contents , generation_config = await self ._build_content_and_config (
242
249
messages , model_settings , model_request_parameters
@@ -292,7 +299,10 @@ async def request_stream(
292
299
run_context : RunContext [Any ] | None = None ,
293
300
) -> AsyncIterator [StreamedResponse ]:
294
301
check_allow_model_requests ()
295
- model_settings = merge_model_settings (self .settings , model_settings )
302
+ model_settings , model_request_parameters = self .prepare_request (
303
+ model_settings ,
304
+ model_request_parameters ,
305
+ )
296
306
model_settings = cast (GoogleModelSettings , model_settings or {})
297
307
response = await self ._generate_content (messages , True , model_settings , model_request_parameters )
298
308
yield await self ._process_streamed_response (response , model_request_parameters ) # type: ignore
0 commit comments