google-genai 1.9.0__py3-none-any.whl → 1.11.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
google/genai/models.py CHANGED
@@ -176,6 +176,20 @@ def _Schema_to_mldev(
176
176
  return to_object
177
177
 
178
178
 
179
+ def _ModelSelectionConfig_to_mldev(
180
+ api_client: BaseApiClient,
181
+ from_object: Union[dict, object],
182
+ parent_object: Optional[dict] = None,
183
+ ) -> dict:
184
+ to_object: dict[str, Any] = {}
185
+ if getv(from_object, ['feature_selection_preference']) is not None:
186
+ raise ValueError(
187
+ 'feature_selection_preference parameter is not supported in Gemini API.'
188
+ )
189
+
190
+ return to_object
191
+
192
+
179
193
  def _SafetySetting_to_mldev(
180
194
  api_client: BaseApiClient,
181
195
  from_object: Union[dict, object],
@@ -393,6 +407,9 @@ def _SpeechConfig_to_mldev(
393
407
  ),
394
408
  )
395
409
 
410
+ if getv(from_object, ['language_code']) is not None:
411
+ setv(to_object, ['languageCode'], getv(from_object, ['language_code']))
412
+
396
413
  return to_object
397
414
 
398
415
 
@@ -407,6 +424,9 @@ def _ThinkingConfig_to_mldev(
407
424
  to_object, ['includeThoughts'], getv(from_object, ['include_thoughts'])
408
425
  )
409
426
 
427
+ if getv(from_object, ['thinking_budget']) is not None:
428
+ setv(to_object, ['thinkingBudget'], getv(from_object, ['thinking_budget']))
429
+
410
430
  return to_object
411
431
 
412
432
 
@@ -494,6 +514,11 @@ def _GenerateContentConfig_to_mldev(
494
514
  if getv(from_object, ['routing_config']) is not None:
495
515
  raise ValueError('routing_config parameter is not supported in Gemini API.')
496
516
 
517
+ if getv(from_object, ['model_selection_config']) is not None:
518
+ raise ValueError(
519
+ 'model_selection_config parameter is not supported in Gemini API.'
520
+ )
521
+
497
522
  if getv(from_object, ['safety_settings']) is not None:
498
523
  setv(
499
524
  parent_object,
@@ -1267,6 +1292,22 @@ def _Schema_to_vertex(
1267
1292
  return to_object
1268
1293
 
1269
1294
 
1295
+ def _ModelSelectionConfig_to_vertex(
1296
+ api_client: BaseApiClient,
1297
+ from_object: Union[dict, object],
1298
+ parent_object: Optional[dict] = None,
1299
+ ) -> dict:
1300
+ to_object: dict[str, Any] = {}
1301
+ if getv(from_object, ['feature_selection_preference']) is not None:
1302
+ setv(
1303
+ to_object,
1304
+ ['featureSelectionPreference'],
1305
+ getv(from_object, ['feature_selection_preference']),
1306
+ )
1307
+
1308
+ return to_object
1309
+
1310
+
1270
1311
  def _SafetySetting_to_vertex(
1271
1312
  api_client: BaseApiClient,
1272
1313
  from_object: Union[dict, object],
@@ -1490,6 +1531,9 @@ def _SpeechConfig_to_vertex(
1490
1531
  ),
1491
1532
  )
1492
1533
 
1534
+ if getv(from_object, ['language_code']) is not None:
1535
+ setv(to_object, ['languageCode'], getv(from_object, ['language_code']))
1536
+
1493
1537
  return to_object
1494
1538
 
1495
1539
 
@@ -1504,6 +1548,9 @@ def _ThinkingConfig_to_vertex(
1504
1548
  to_object, ['includeThoughts'], getv(from_object, ['include_thoughts'])
1505
1549
  )
1506
1550
 
1551
+ if getv(from_object, ['thinking_budget']) is not None:
1552
+ setv(to_object, ['thinkingBudget'], getv(from_object, ['thinking_budget']))
1553
+
1507
1554
  return to_object
1508
1555
 
1509
1556
 
@@ -1591,6 +1638,15 @@ def _GenerateContentConfig_to_vertex(
1591
1638
  if getv(from_object, ['routing_config']) is not None:
1592
1639
  setv(to_object, ['routingConfig'], getv(from_object, ['routing_config']))
1593
1640
 
1641
+ if getv(from_object, ['model_selection_config']) is not None:
1642
+ setv(
1643
+ to_object,
1644
+ ['modelConfig'],
1645
+ _ModelSelectionConfig_to_vertex(
1646
+ api_client, getv(from_object, ['model_selection_config']), to_object
1647
+ ),
1648
+ )
1649
+
1594
1650
  if getv(from_object, ['safety_settings']) is not None:
1595
1651
  setv(
1596
1652
  parent_object,
@@ -2653,6 +2709,16 @@ def _GenerateVideosParameters_to_vertex(
2653
2709
  return to_object
2654
2710
 
2655
2711
 
2712
+ def _FeatureSelectionPreference_to_mldev_enum_validate(enum_value: Any):
2713
+ if enum_value in set([
2714
+ 'FEATURE_SELECTION_PREFERENCE_UNSPECIFIED',
2715
+ 'PRIORITIZE_QUALITY',
2716
+ 'BALANCED',
2717
+ 'PRIORITIZE_COST',
2718
+ ]):
2719
+ raise ValueError(f'{enum_value} enum value is not supported in Gemini API.')
2720
+
2721
+
2656
2722
  def _SafetyFilterLevel_to_mldev_enum_validate(enum_value: Any):
2657
2723
  if enum_value in set(['BLOCK_NONE']):
2658
2724
  raise ValueError(f'{enum_value} enum value is not supported in Gemini API.')
@@ -3204,8 +3270,16 @@ def _GenerateVideosOperation_from_mldev(
3204
3270
  if getv(from_object, ['error']) is not None:
3205
3271
  setv(to_object, ['error'], getv(from_object, ['error']))
3206
3272
 
3207
- if getv(from_object, ['response']) is not None:
3208
- setv(to_object, ['response'], getv(from_object, ['response']))
3273
+ if getv(from_object, ['response', 'generateVideoResponse']) is not None:
3274
+ setv(
3275
+ to_object,
3276
+ ['response'],
3277
+ _GenerateVideosResponse_from_mldev(
3278
+ api_client,
3279
+ getv(from_object, ['response', 'generateVideoResponse']),
3280
+ to_object,
3281
+ ),
3282
+ )
3209
3283
 
3210
3284
  if getv(from_object, ['response', 'generateVideoResponse']) is not None:
3211
3285
  setv(
@@ -3847,7 +3921,13 @@ def _GenerateVideosOperation_from_vertex(
3847
3921
  setv(to_object, ['error'], getv(from_object, ['error']))
3848
3922
 
3849
3923
  if getv(from_object, ['response']) is not None:
3850
- setv(to_object, ['response'], getv(from_object, ['response']))
3924
+ setv(
3925
+ to_object,
3926
+ ['response'],
3927
+ _GenerateVideosResponse_from_vertex(
3928
+ api_client, getv(from_object, ['response']), to_object
3929
+ ),
3930
+ )
3851
3931
 
3852
3932
  if getv(from_object, ['response']) is not None:
3853
3933
  setv(
@@ -4766,9 +4846,6 @@ class Models(_api_module.BaseModule):
4766
4846
  self._api_client._verify_response(return_value)
4767
4847
  return return_value
4768
4848
 
4769
- @_common.experimental_warning(
4770
- 'This method is experimental and may change in future versions.'
4771
- )
4772
4849
  def generate_videos(
4773
4850
  self,
4774
4851
  *,
@@ -6269,9 +6346,6 @@ class AsyncModels(_api_module.BaseModule):
6269
6346
  self._api_client._verify_response(return_value)
6270
6347
  return return_value
6271
6348
 
6272
- @_common.experimental_warning(
6273
- 'This method is experimental and may change in future versions.'
6274
- )
6275
6349
  async def generate_videos(
6276
6350
  self,
6277
6351
  *,
@@ -6419,7 +6493,9 @@ class AsyncModels(_api_module.BaseModule):
6419
6493
  if remaining_remote_calls_afc == 0:
6420
6494
  logger.info('Reached max remote calls for automatic function calling.')
6421
6495
 
6422
- function_map = _extra_utils.get_function_map(config)
6496
+ function_map = _extra_utils.get_function_map(
6497
+ config, is_caller_method_async=True
6498
+ )
6423
6499
  if not function_map:
6424
6500
  break
6425
6501
  if not response:
@@ -6430,8 +6506,10 @@ class AsyncModels(_api_module.BaseModule):
6430
6506
  or not response.candidates[0].content.parts
6431
6507
  ):
6432
6508
  break
6433
- func_response_parts = _extra_utils.get_function_response_parts(
6434
- response, function_map
6509
+ func_response_parts = (
6510
+ await _extra_utils.get_function_response_parts_async(
6511
+ response, function_map
6512
+ )
6435
6513
  )
6436
6514
  if not func_response_parts:
6437
6515
  break
@@ -6551,7 +6629,9 @@ class AsyncModels(_api_module.BaseModule):
6551
6629
  'Reached max remote calls for automatic function calling.'
6552
6630
  )
6553
6631
 
6554
- function_map = _extra_utils.get_function_map(config)
6632
+ function_map = _extra_utils.get_function_map(
6633
+ config, is_caller_method_async=True
6634
+ )
6555
6635
 
6556
6636
  if i == 1:
6557
6637
  # First request gets a function call.
@@ -6567,8 +6647,10 @@ class AsyncModels(_api_module.BaseModule):
6567
6647
  or not chunk.candidates[0].content.parts
6568
6648
  ):
6569
6649
  break
6570
- func_response_parts = _extra_utils.get_function_response_parts(
6571
- chunk, function_map
6650
+ func_response_parts = (
6651
+ await _extra_utils.get_function_response_parts_async(
6652
+ chunk, function_map
6653
+ )
6572
6654
  )
6573
6655
  if not func_response_parts:
6574
6656
  yield chunk
@@ -178,8 +178,16 @@ def _GenerateVideosOperation_from_mldev(
178
178
  if getv(from_object, ['error']) is not None:
179
179
  setv(to_object, ['error'], getv(from_object, ['error']))
180
180
 
181
- if getv(from_object, ['response']) is not None:
182
- setv(to_object, ['response'], getv(from_object, ['response']))
181
+ if getv(from_object, ['response', 'generateVideoResponse']) is not None:
182
+ setv(
183
+ to_object,
184
+ ['response'],
185
+ _GenerateVideosResponse_from_mldev(
186
+ api_client,
187
+ getv(from_object, ['response', 'generateVideoResponse']),
188
+ to_object,
189
+ ),
190
+ )
183
191
 
184
192
  if getv(from_object, ['response', 'generateVideoResponse']) is not None:
185
193
  setv(
@@ -285,7 +293,13 @@ def _GenerateVideosOperation_from_vertex(
285
293
  setv(to_object, ['error'], getv(from_object, ['error']))
286
294
 
287
295
  if getv(from_object, ['response']) is not None:
288
- setv(to_object, ['response'], getv(from_object, ['response']))
296
+ setv(
297
+ to_object,
298
+ ['response'],
299
+ _GenerateVideosResponse_from_vertex(
300
+ api_client, getv(from_object, ['response']), to_object
301
+ ),
302
+ )
289
303
 
290
304
  if getv(from_object, ['response']) is not None:
291
305
  setv(
@@ -427,9 +441,6 @@ class Operations(_api_module.BaseModule):
427
441
  self._api_client._verify_response(return_value)
428
442
  return return_value
429
443
 
430
- @_common.experimental_warning(
431
- 'This method is experimental and may change in future versions.'
432
- )
433
444
  def get(
434
445
  self,
435
446
  operation: types.GenerateVideosOperation,
@@ -600,9 +611,6 @@ class AsyncOperations(_api_module.BaseModule):
600
611
  self._api_client._verify_response(return_value)
601
612
  return return_value
602
613
 
603
- @_common.experimental_warning(
604
- 'This method is experimental and may change in future versions.'
605
- )
606
614
  async def get(
607
615
  self,
608
616
  operation: types.GenerateVideosOperation,
google/genai/tunings.py CHANGED
@@ -545,9 +545,6 @@ def _Operation_from_mldev(
545
545
  if getv(from_object, ['error']) is not None:
546
546
  setv(to_object, ['error'], getv(from_object, ['error']))
547
547
 
548
- if getv(from_object, ['response']) is not None:
549
- setv(to_object, ['response'], getv(from_object, ['response']))
550
-
551
548
  return to_object
552
549
 
553
550