google-genai 0.5.0__py3-none-any.whl → 0.6.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
@@ -762,6 +762,34 @@ def _SpeechConfig_to_vertex(
762
762
  return to_object
763
763
 
764
764
 
765
+ def _ThinkingConfig_to_mldev(
766
+ api_client: ApiClient,
767
+ from_object: Union[dict, object],
768
+ parent_object: dict = None,
769
+ ) -> dict:
770
+ to_object = {}
771
+ if getv(from_object, ['include_thoughts']) is not None:
772
+ setv(
773
+ to_object, ['includeThoughts'], getv(from_object, ['include_thoughts'])
774
+ )
775
+
776
+ return to_object
777
+
778
+
779
+ def _ThinkingConfig_to_vertex(
780
+ api_client: ApiClient,
781
+ from_object: Union[dict, object],
782
+ parent_object: dict = None,
783
+ ) -> dict:
784
+ to_object = {}
785
+ if getv(from_object, ['include_thoughts']) is not None:
786
+ setv(
787
+ to_object, ['includeThoughts'], getv(from_object, ['include_thoughts'])
788
+ )
789
+
790
+ return to_object
791
+
792
+
765
793
  def _GenerateContentConfig_to_mldev(
766
794
  api_client: ApiClient,
767
795
  from_object: Union[dict, object],
@@ -906,6 +934,18 @@ def _GenerateContentConfig_to_mldev(
906
934
  ),
907
935
  )
908
936
 
937
+ if getv(from_object, ['audio_timestamp']) is not None:
938
+ raise ValueError('audio_timestamp parameter is not supported in Google AI.')
939
+
940
+ if getv(from_object, ['thinking_config']) is not None:
941
+ setv(
942
+ to_object,
943
+ ['thinkingConfig'],
944
+ _ThinkingConfig_to_mldev(
945
+ api_client, getv(from_object, ['thinking_config']), to_object
946
+ ),
947
+ )
948
+
909
949
  return to_object
910
950
 
911
951
 
@@ -1053,6 +1093,18 @@ def _GenerateContentConfig_to_vertex(
1053
1093
  ),
1054
1094
  )
1055
1095
 
1096
+ if getv(from_object, ['audio_timestamp']) is not None:
1097
+ setv(to_object, ['audioTimestamp'], getv(from_object, ['audio_timestamp']))
1098
+
1099
+ if getv(from_object, ['thinking_config']) is not None:
1100
+ setv(
1101
+ to_object,
1102
+ ['thinkingConfig'],
1103
+ _ThinkingConfig_to_vertex(
1104
+ api_client, getv(from_object, ['thinking_config']), to_object
1105
+ ),
1106
+ )
1107
+
1056
1108
  return to_object
1057
1109
 
1058
1110
 
@@ -2547,7 +2599,7 @@ def _CountTokensConfig_to_vertex(
2547
2599
 
2548
2600
  if getv(from_object, ['system_instruction']) is not None:
2549
2601
  setv(
2550
- to_object,
2602
+ parent_object,
2551
2603
  ['systemInstruction'],
2552
2604
  _Content_to_vertex(
2553
2605
  api_client,
@@ -2558,7 +2610,7 @@ def _CountTokensConfig_to_vertex(
2558
2610
 
2559
2611
  if getv(from_object, ['tools']) is not None:
2560
2612
  setv(
2561
- to_object,
2613
+ parent_object,
2562
2614
  ['tools'],
2563
2615
  [
2564
2616
  _Tool_to_vertex(api_client, item, to_object)
@@ -3706,7 +3758,7 @@ class Models(_common.BaseModule):
3706
3758
  config = request_dict.pop('config', None)
3707
3759
  http_options = config.pop('httpOptions', None) if config else None
3708
3760
  request_dict = _common.convert_to_dict(request_dict)
3709
- request_dict = _common.apply_base64_encoding(request_dict)
3761
+ request_dict = _common.encode_unserializable_types(request_dict)
3710
3762
 
3711
3763
  response_dict = self._api_client.request(
3712
3764
  'post', path, request_dict, http_options
@@ -3761,7 +3813,7 @@ class Models(_common.BaseModule):
3761
3813
  config = request_dict.pop('config', None)
3762
3814
  http_options = config.pop('httpOptions', None) if config else None
3763
3815
  request_dict = _common.convert_to_dict(request_dict)
3764
- request_dict = _common.apply_base64_encoding(request_dict)
3816
+ request_dict = _common.encode_unserializable_types(request_dict)
3765
3817
 
3766
3818
  for response_dict in self._api_client.request_streamed(
3767
3819
  'post', path, request_dict, http_options
@@ -3835,7 +3887,7 @@ class Models(_common.BaseModule):
3835
3887
  config = request_dict.pop('config', None)
3836
3888
  http_options = config.pop('httpOptions', None) if config else None
3837
3889
  request_dict = _common.convert_to_dict(request_dict)
3838
- request_dict = _common.apply_base64_encoding(request_dict)
3890
+ request_dict = _common.encode_unserializable_types(request_dict)
3839
3891
 
3840
3892
  response_dict = self._api_client.request(
3841
3893
  'post', path, request_dict, http_options
@@ -3909,7 +3961,7 @@ class Models(_common.BaseModule):
3909
3961
  config = request_dict.pop('config', None)
3910
3962
  http_options = config.pop('httpOptions', None) if config else None
3911
3963
  request_dict = _common.convert_to_dict(request_dict)
3912
- request_dict = _common.apply_base64_encoding(request_dict)
3964
+ request_dict = _common.encode_unserializable_types(request_dict)
3913
3965
 
3914
3966
  response_dict = self._api_client.request(
3915
3967
  'post', path, request_dict, http_options
@@ -4002,7 +4054,7 @@ class Models(_common.BaseModule):
4002
4054
  config = request_dict.pop('config', None)
4003
4055
  http_options = config.pop('httpOptions', None) if config else None
4004
4056
  request_dict = _common.convert_to_dict(request_dict)
4005
- request_dict = _common.apply_base64_encoding(request_dict)
4057
+ request_dict = _common.encode_unserializable_types(request_dict)
4006
4058
 
4007
4059
  response_dict = self._api_client.request(
4008
4060
  'post', path, request_dict, http_options
@@ -4062,7 +4114,7 @@ class Models(_common.BaseModule):
4062
4114
  config = request_dict.pop('config', None)
4063
4115
  http_options = config.pop('httpOptions', None) if config else None
4064
4116
  request_dict = _common.convert_to_dict(request_dict)
4065
- request_dict = _common.apply_base64_encoding(request_dict)
4117
+ request_dict = _common.encode_unserializable_types(request_dict)
4066
4118
 
4067
4119
  response_dict = self._api_client.request(
4068
4120
  'post', path, request_dict, http_options
@@ -4105,7 +4157,7 @@ class Models(_common.BaseModule):
4105
4157
  config = request_dict.pop('config', None)
4106
4158
  http_options = config.pop('httpOptions', None) if config else None
4107
4159
  request_dict = _common.convert_to_dict(request_dict)
4108
- request_dict = _common.apply_base64_encoding(request_dict)
4160
+ request_dict = _common.encode_unserializable_types(request_dict)
4109
4161
 
4110
4162
  response_dict = self._api_client.request(
4111
4163
  'get', path, request_dict, http_options
@@ -4144,7 +4196,7 @@ class Models(_common.BaseModule):
4144
4196
  config = request_dict.pop('config', None)
4145
4197
  http_options = config.pop('httpOptions', None) if config else None
4146
4198
  request_dict = _common.convert_to_dict(request_dict)
4147
- request_dict = _common.apply_base64_encoding(request_dict)
4199
+ request_dict = _common.encode_unserializable_types(request_dict)
4148
4200
 
4149
4201
  response_dict = self._api_client.request(
4150
4202
  'get', path, request_dict, http_options
@@ -4193,7 +4245,7 @@ class Models(_common.BaseModule):
4193
4245
  config = request_dict.pop('config', None)
4194
4246
  http_options = config.pop('httpOptions', None) if config else None
4195
4247
  request_dict = _common.convert_to_dict(request_dict)
4196
- request_dict = _common.apply_base64_encoding(request_dict)
4248
+ request_dict = _common.encode_unserializable_types(request_dict)
4197
4249
 
4198
4250
  response_dict = self._api_client.request(
4199
4251
  'patch', path, request_dict, http_options
@@ -4230,7 +4282,7 @@ class Models(_common.BaseModule):
4230
4282
  config = request_dict.pop('config', None)
4231
4283
  http_options = config.pop('httpOptions', None) if config else None
4232
4284
  request_dict = _common.convert_to_dict(request_dict)
4233
- request_dict = _common.apply_base64_encoding(request_dict)
4285
+ request_dict = _common.encode_unserializable_types(request_dict)
4234
4286
 
4235
4287
  response_dict = self._api_client.request(
4236
4288
  'delete', path, request_dict, http_options
@@ -4301,7 +4353,7 @@ class Models(_common.BaseModule):
4301
4353
  config = request_dict.pop('config', None)
4302
4354
  http_options = config.pop('httpOptions', None) if config else None
4303
4355
  request_dict = _common.convert_to_dict(request_dict)
4304
- request_dict = _common.apply_base64_encoding(request_dict)
4356
+ request_dict = _common.encode_unserializable_types(request_dict)
4305
4357
 
4306
4358
  response_dict = self._api_client.request(
4307
4359
  'post', path, request_dict, http_options
@@ -4372,7 +4424,7 @@ class Models(_common.BaseModule):
4372
4424
  config = request_dict.pop('config', None)
4373
4425
  http_options = config.pop('httpOptions', None) if config else None
4374
4426
  request_dict = _common.convert_to_dict(request_dict)
4375
- request_dict = _common.apply_base64_encoding(request_dict)
4427
+ request_dict = _common.encode_unserializable_types(request_dict)
4376
4428
 
4377
4429
  response_dict = self._api_client.request(
4378
4430
  'post', path, request_dict, http_options
@@ -4546,9 +4598,14 @@ class Models(_common.BaseModule):
4546
4598
  *,
4547
4599
  config: Optional[types.ListModelsConfigOrDict] = None,
4548
4600
  ) -> Pager[types.Model]:
4549
- """Makes an API request to list the tuned models available to your project.
4601
+ """Makes an API request to list the available models.
4602
+
4603
+ If `query_base` is set to True in the config, the API will return all
4604
+ available base models. If set to False or not set (default), it will return
4605
+ all tuned models.
4550
4606
 
4551
- This method only lists tuned models for the Vertex AI API.
4607
+ Args:
4608
+ config (ListModelsConfigOrDict): Configuration for retrieving models.
4552
4609
 
4553
4610
  Usage:
4554
4611
 
@@ -4557,6 +4614,10 @@ class Models(_common.BaseModule):
4557
4614
  response=client.models.list(config={'page_size': 5})
4558
4615
  print(response.page)
4559
4616
  # [Model(name='projects/./locations/./models/123', display_name='my_model'
4617
+
4618
+ response=client.models.list(config={'page_size': 5, 'query_base': True})
4619
+ print(response.page)
4620
+ # [Model(name='publishers/google/models/gemini-2.0-flash-exp' ...
4560
4621
  """
4561
4622
 
4562
4623
  config = (
@@ -4621,7 +4682,7 @@ class AsyncModels(_common.BaseModule):
4621
4682
  config = request_dict.pop('config', None)
4622
4683
  http_options = config.pop('httpOptions', None) if config else None
4623
4684
  request_dict = _common.convert_to_dict(request_dict)
4624
- request_dict = _common.apply_base64_encoding(request_dict)
4685
+ request_dict = _common.encode_unserializable_types(request_dict)
4625
4686
 
4626
4687
  response_dict = await self._api_client.async_request(
4627
4688
  'post', path, request_dict, http_options
@@ -4676,7 +4737,7 @@ class AsyncModels(_common.BaseModule):
4676
4737
  config = request_dict.pop('config', None)
4677
4738
  http_options = config.pop('httpOptions', None) if config else None
4678
4739
  request_dict = _common.convert_to_dict(request_dict)
4679
- request_dict = _common.apply_base64_encoding(request_dict)
4740
+ request_dict = _common.encode_unserializable_types(request_dict)
4680
4741
 
4681
4742
  async for response_dict in self._api_client.async_request_streamed(
4682
4743
  'post', path, request_dict, http_options
@@ -4750,7 +4811,7 @@ class AsyncModels(_common.BaseModule):
4750
4811
  config = request_dict.pop('config', None)
4751
4812
  http_options = config.pop('httpOptions', None) if config else None
4752
4813
  request_dict = _common.convert_to_dict(request_dict)
4753
- request_dict = _common.apply_base64_encoding(request_dict)
4814
+ request_dict = _common.encode_unserializable_types(request_dict)
4754
4815
 
4755
4816
  response_dict = await self._api_client.async_request(
4756
4817
  'post', path, request_dict, http_options
@@ -4824,7 +4885,7 @@ class AsyncModels(_common.BaseModule):
4824
4885
  config = request_dict.pop('config', None)
4825
4886
  http_options = config.pop('httpOptions', None) if config else None
4826
4887
  request_dict = _common.convert_to_dict(request_dict)
4827
- request_dict = _common.apply_base64_encoding(request_dict)
4888
+ request_dict = _common.encode_unserializable_types(request_dict)
4828
4889
 
4829
4890
  response_dict = await self._api_client.async_request(
4830
4891
  'post', path, request_dict, http_options
@@ -4917,7 +4978,7 @@ class AsyncModels(_common.BaseModule):
4917
4978
  config = request_dict.pop('config', None)
4918
4979
  http_options = config.pop('httpOptions', None) if config else None
4919
4980
  request_dict = _common.convert_to_dict(request_dict)
4920
- request_dict = _common.apply_base64_encoding(request_dict)
4981
+ request_dict = _common.encode_unserializable_types(request_dict)
4921
4982
 
4922
4983
  response_dict = await self._api_client.async_request(
4923
4984
  'post', path, request_dict, http_options
@@ -4977,7 +5038,7 @@ class AsyncModels(_common.BaseModule):
4977
5038
  config = request_dict.pop('config', None)
4978
5039
  http_options = config.pop('httpOptions', None) if config else None
4979
5040
  request_dict = _common.convert_to_dict(request_dict)
4980
- request_dict = _common.apply_base64_encoding(request_dict)
5041
+ request_dict = _common.encode_unserializable_types(request_dict)
4981
5042
 
4982
5043
  response_dict = await self._api_client.async_request(
4983
5044
  'post', path, request_dict, http_options
@@ -5020,7 +5081,7 @@ class AsyncModels(_common.BaseModule):
5020
5081
  config = request_dict.pop('config', None)
5021
5082
  http_options = config.pop('httpOptions', None) if config else None
5022
5083
  request_dict = _common.convert_to_dict(request_dict)
5023
- request_dict = _common.apply_base64_encoding(request_dict)
5084
+ request_dict = _common.encode_unserializable_types(request_dict)
5024
5085
 
5025
5086
  response_dict = await self._api_client.async_request(
5026
5087
  'get', path, request_dict, http_options
@@ -5059,7 +5120,7 @@ class AsyncModels(_common.BaseModule):
5059
5120
  config = request_dict.pop('config', None)
5060
5121
  http_options = config.pop('httpOptions', None) if config else None
5061
5122
  request_dict = _common.convert_to_dict(request_dict)
5062
- request_dict = _common.apply_base64_encoding(request_dict)
5123
+ request_dict = _common.encode_unserializable_types(request_dict)
5063
5124
 
5064
5125
  response_dict = await self._api_client.async_request(
5065
5126
  'get', path, request_dict, http_options
@@ -5108,7 +5169,7 @@ class AsyncModels(_common.BaseModule):
5108
5169
  config = request_dict.pop('config', None)
5109
5170
  http_options = config.pop('httpOptions', None) if config else None
5110
5171
  request_dict = _common.convert_to_dict(request_dict)
5111
- request_dict = _common.apply_base64_encoding(request_dict)
5172
+ request_dict = _common.encode_unserializable_types(request_dict)
5112
5173
 
5113
5174
  response_dict = await self._api_client.async_request(
5114
5175
  'patch', path, request_dict, http_options
@@ -5145,7 +5206,7 @@ class AsyncModels(_common.BaseModule):
5145
5206
  config = request_dict.pop('config', None)
5146
5207
  http_options = config.pop('httpOptions', None) if config else None
5147
5208
  request_dict = _common.convert_to_dict(request_dict)
5148
- request_dict = _common.apply_base64_encoding(request_dict)
5209
+ request_dict = _common.encode_unserializable_types(request_dict)
5149
5210
 
5150
5211
  response_dict = await self._api_client.async_request(
5151
5212
  'delete', path, request_dict, http_options
@@ -5216,7 +5277,7 @@ class AsyncModels(_common.BaseModule):
5216
5277
  config = request_dict.pop('config', None)
5217
5278
  http_options = config.pop('httpOptions', None) if config else None
5218
5279
  request_dict = _common.convert_to_dict(request_dict)
5219
- request_dict = _common.apply_base64_encoding(request_dict)
5280
+ request_dict = _common.encode_unserializable_types(request_dict)
5220
5281
 
5221
5282
  response_dict = await self._api_client.async_request(
5222
5283
  'post', path, request_dict, http_options
@@ -5287,7 +5348,7 @@ class AsyncModels(_common.BaseModule):
5287
5348
  config = request_dict.pop('config', None)
5288
5349
  http_options = config.pop('httpOptions', None) if config else None
5289
5350
  request_dict = _common.convert_to_dict(request_dict)
5290
- request_dict = _common.apply_base64_encoding(request_dict)
5351
+ request_dict = _common.encode_unserializable_types(request_dict)
5291
5352
 
5292
5353
  response_dict = await self._api_client.async_request(
5293
5354
  'post', path, request_dict, http_options
@@ -5396,9 +5457,14 @@ class AsyncModels(_common.BaseModule):
5396
5457
  *,
5397
5458
  config: Optional[types.ListModelsConfigOrDict] = None,
5398
5459
  ) -> AsyncPager[types.Model]:
5399
- """Makes an API request to list the tuned models available to your project.
5460
+ """Makes an API request to list the available models.
5400
5461
 
5401
- This method only lists tuned models for the Vertex AI API.
5462
+ If `query_base` is set to True in the config, the API will return all
5463
+ available base models. If set to False or not set (default), it will return
5464
+ all tuned models.
5465
+
5466
+ Args:
5467
+ config (ListModelsConfigOrDict): Configuration for retrieving models.
5402
5468
 
5403
5469
  Usage:
5404
5470
 
@@ -5407,6 +5473,12 @@ class AsyncModels(_common.BaseModule):
5407
5473
  response = await client.aio.models.list(config={'page_size': 5})
5408
5474
  print(response.page)
5409
5475
  # [Model(name='projects/./locations/./models/123', display_name='my_model'
5476
+
5477
+ response = await client.aio.models.list(
5478
+ config={'page_size': 5, 'query_base': True}
5479
+ )
5480
+ print(response.page)
5481
+ # [Model(name='publishers/google/models/gemini-2.0-flash-exp' ...
5410
5482
  """
5411
5483
 
5412
5484
  config = (
google/genai/tunings.py CHANGED
@@ -989,7 +989,7 @@ class Tunings(_common.BaseModule):
989
989
  config = request_dict.pop('config', None)
990
990
  http_options = config.pop('httpOptions', None) if config else None
991
991
  request_dict = _common.convert_to_dict(request_dict)
992
- request_dict = _common.apply_base64_encoding(request_dict)
992
+ request_dict = _common.encode_unserializable_types(request_dict)
993
993
 
994
994
  response_dict = self._api_client.request(
995
995
  'get', path, request_dict, http_options
@@ -1039,7 +1039,7 @@ class Tunings(_common.BaseModule):
1039
1039
  config = request_dict.pop('config', None)
1040
1040
  http_options = config.pop('httpOptions', None) if config else None
1041
1041
  request_dict = _common.convert_to_dict(request_dict)
1042
- request_dict = _common.apply_base64_encoding(request_dict)
1042
+ request_dict = _common.encode_unserializable_types(request_dict)
1043
1043
 
1044
1044
  response_dict = self._api_client.request(
1045
1045
  'get', path, request_dict, http_options
@@ -1101,7 +1101,7 @@ class Tunings(_common.BaseModule):
1101
1101
  config = request_dict.pop('config', None)
1102
1102
  http_options = config.pop('httpOptions', None) if config else None
1103
1103
  request_dict = _common.convert_to_dict(request_dict)
1104
- request_dict = _common.apply_base64_encoding(request_dict)
1104
+ request_dict = _common.encode_unserializable_types(request_dict)
1105
1105
 
1106
1106
  response_dict = self._api_client.request(
1107
1107
  'post', path, request_dict, http_options
@@ -1164,7 +1164,7 @@ class Tunings(_common.BaseModule):
1164
1164
  config = request_dict.pop('config', None)
1165
1165
  http_options = config.pop('httpOptions', None) if config else None
1166
1166
  request_dict = _common.convert_to_dict(request_dict)
1167
- request_dict = _common.apply_base64_encoding(request_dict)
1167
+ request_dict = _common.encode_unserializable_types(request_dict)
1168
1168
 
1169
1169
  response_dict = self._api_client.request(
1170
1170
  'post', path, request_dict, http_options
@@ -1261,7 +1261,7 @@ class AsyncTunings(_common.BaseModule):
1261
1261
  config = request_dict.pop('config', None)
1262
1262
  http_options = config.pop('httpOptions', None) if config else None
1263
1263
  request_dict = _common.convert_to_dict(request_dict)
1264
- request_dict = _common.apply_base64_encoding(request_dict)
1264
+ request_dict = _common.encode_unserializable_types(request_dict)
1265
1265
 
1266
1266
  response_dict = await self._api_client.async_request(
1267
1267
  'get', path, request_dict, http_options
@@ -1311,7 +1311,7 @@ class AsyncTunings(_common.BaseModule):
1311
1311
  config = request_dict.pop('config', None)
1312
1312
  http_options = config.pop('httpOptions', None) if config else None
1313
1313
  request_dict = _common.convert_to_dict(request_dict)
1314
- request_dict = _common.apply_base64_encoding(request_dict)
1314
+ request_dict = _common.encode_unserializable_types(request_dict)
1315
1315
 
1316
1316
  response_dict = await self._api_client.async_request(
1317
1317
  'get', path, request_dict, http_options
@@ -1373,7 +1373,7 @@ class AsyncTunings(_common.BaseModule):
1373
1373
  config = request_dict.pop('config', None)
1374
1374
  http_options = config.pop('httpOptions', None) if config else None
1375
1375
  request_dict = _common.convert_to_dict(request_dict)
1376
- request_dict = _common.apply_base64_encoding(request_dict)
1376
+ request_dict = _common.encode_unserializable_types(request_dict)
1377
1377
 
1378
1378
  response_dict = await self._api_client.async_request(
1379
1379
  'post', path, request_dict, http_options
@@ -1436,7 +1436,7 @@ class AsyncTunings(_common.BaseModule):
1436
1436
  config = request_dict.pop('config', None)
1437
1437
  http_options = config.pop('httpOptions', None) if config else None
1438
1438
  request_dict = _common.convert_to_dict(request_dict)
1439
- request_dict = _common.apply_base64_encoding(request_dict)
1439
+ request_dict = _common.encode_unserializable_types(request_dict)
1440
1440
 
1441
1441
  response_dict = await self._api_client.async_request(
1442
1442
  'post', path, request_dict, http_options