google-genai 1.21.1__py3-none-any.whl → 1.22.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/_api_client.py +3 -3
- google/genai/_common.py +181 -1
- google/genai/_extra_utils.py +48 -10
- google/genai/_transformers.py +85 -20
- google/genai/batches.py +4717 -155
- google/genai/caches.py +10 -0
- google/genai/files.py +8 -0
- google/genai/live.py +9 -11
- google/genai/models.py +106 -2
- google/genai/operations.py +4 -0
- google/genai/tunings.py +9 -1
- google/genai/types.py +331 -76
- google/genai/version.py +1 -1
- {google_genai-1.21.1.dist-info → google_genai-1.22.0.dist-info}/METADATA +1 -1
- {google_genai-1.21.1.dist-info → google_genai-1.22.0.dist-info}/RECORD +18 -18
- {google_genai-1.21.1.dist-info → google_genai-1.22.0.dist-info}/WHEEL +0 -0
- {google_genai-1.21.1.dist-info → google_genai-1.22.0.dist-info}/licenses/LICENSE +0 -0
- {google_genai-1.21.1.dist-info → google_genai-1.22.0.dist-info}/top_level.txt +0 -0
google/genai/caches.py
CHANGED
@@ -1543,6 +1543,7 @@ class Caches(_api_module.BaseModule):
|
|
1543
1543
|
return_value = types.CachedContent._from_response(
|
1544
1544
|
response=response_dict, kwargs=parameter_model.model_dump()
|
1545
1545
|
)
|
1546
|
+
|
1546
1547
|
self._api_client._verify_response(return_value)
|
1547
1548
|
return return_value
|
1548
1549
|
|
@@ -1613,6 +1614,7 @@ class Caches(_api_module.BaseModule):
|
|
1613
1614
|
return_value = types.CachedContent._from_response(
|
1614
1615
|
response=response_dict, kwargs=parameter_model.model_dump()
|
1615
1616
|
)
|
1617
|
+
|
1616
1618
|
self._api_client._verify_response(return_value)
|
1617
1619
|
return return_value
|
1618
1620
|
|
@@ -1687,6 +1689,7 @@ class Caches(_api_module.BaseModule):
|
|
1687
1689
|
return_value = types.DeleteCachedContentResponse._from_response(
|
1688
1690
|
response=response_dict, kwargs=parameter_model.model_dump()
|
1689
1691
|
)
|
1692
|
+
|
1690
1693
|
self._api_client._verify_response(return_value)
|
1691
1694
|
return return_value
|
1692
1695
|
|
@@ -1764,6 +1767,7 @@ class Caches(_api_module.BaseModule):
|
|
1764
1767
|
return_value = types.CachedContent._from_response(
|
1765
1768
|
response=response_dict, kwargs=parameter_model.model_dump()
|
1766
1769
|
)
|
1770
|
+
|
1767
1771
|
self._api_client._verify_response(return_value)
|
1768
1772
|
return return_value
|
1769
1773
|
|
@@ -1828,6 +1832,7 @@ class Caches(_api_module.BaseModule):
|
|
1828
1832
|
return_value = types.ListCachedContentsResponse._from_response(
|
1829
1833
|
response=response_dict, kwargs=parameter_model.model_dump()
|
1830
1834
|
)
|
1835
|
+
|
1831
1836
|
self._api_client._verify_response(return_value)
|
1832
1837
|
return return_value
|
1833
1838
|
|
@@ -1924,6 +1929,7 @@ class AsyncCaches(_api_module.BaseModule):
|
|
1924
1929
|
return_value = types.CachedContent._from_response(
|
1925
1930
|
response=response_dict, kwargs=parameter_model.model_dump()
|
1926
1931
|
)
|
1932
|
+
|
1927
1933
|
self._api_client._verify_response(return_value)
|
1928
1934
|
return return_value
|
1929
1935
|
|
@@ -1997,6 +2003,7 @@ class AsyncCaches(_api_module.BaseModule):
|
|
1997
2003
|
return_value = types.CachedContent._from_response(
|
1998
2004
|
response=response_dict, kwargs=parameter_model.model_dump()
|
1999
2005
|
)
|
2006
|
+
|
2000
2007
|
self._api_client._verify_response(return_value)
|
2001
2008
|
return return_value
|
2002
2009
|
|
@@ -2072,6 +2079,7 @@ class AsyncCaches(_api_module.BaseModule):
|
|
2072
2079
|
return_value = types.DeleteCachedContentResponse._from_response(
|
2073
2080
|
response=response_dict, kwargs=parameter_model.model_dump()
|
2074
2081
|
)
|
2082
|
+
|
2075
2083
|
self._api_client._verify_response(return_value)
|
2076
2084
|
return return_value
|
2077
2085
|
|
@@ -2149,6 +2157,7 @@ class AsyncCaches(_api_module.BaseModule):
|
|
2149
2157
|
return_value = types.CachedContent._from_response(
|
2150
2158
|
response=response_dict, kwargs=parameter_model.model_dump()
|
2151
2159
|
)
|
2160
|
+
|
2152
2161
|
self._api_client._verify_response(return_value)
|
2153
2162
|
return return_value
|
2154
2163
|
|
@@ -2215,6 +2224,7 @@ class AsyncCaches(_api_module.BaseModule):
|
|
2215
2224
|
return_value = types.ListCachedContentsResponse._from_response(
|
2216
2225
|
response=response_dict, kwargs=parameter_model.model_dump()
|
2217
2226
|
)
|
2227
|
+
|
2218
2228
|
self._api_client._verify_response(return_value)
|
2219
2229
|
return return_value
|
2220
2230
|
|
google/genai/files.py
CHANGED
@@ -366,6 +366,7 @@ class Files(_api_module.BaseModule):
|
|
366
366
|
return_value = types.ListFilesResponse._from_response(
|
367
367
|
response=response_dict, kwargs=parameter_model.model_dump()
|
368
368
|
)
|
369
|
+
|
369
370
|
self._api_client._verify_response(return_value)
|
370
371
|
return return_value
|
371
372
|
|
@@ -427,6 +428,7 @@ class Files(_api_module.BaseModule):
|
|
427
428
|
return_value = types.CreateFileResponse._from_response(
|
428
429
|
response=response_dict, kwargs=parameter_model.model_dump()
|
429
430
|
)
|
431
|
+
|
430
432
|
self._api_client._verify_response(return_value)
|
431
433
|
return return_value
|
432
434
|
|
@@ -494,6 +496,7 @@ class Files(_api_module.BaseModule):
|
|
494
496
|
return_value = types.File._from_response(
|
495
497
|
response=response_dict, kwargs=parameter_model.model_dump()
|
496
498
|
)
|
499
|
+
|
497
500
|
self._api_client._verify_response(return_value)
|
498
501
|
return return_value
|
499
502
|
|
@@ -562,6 +565,7 @@ class Files(_api_module.BaseModule):
|
|
562
565
|
return_value = types.DeleteFileResponse._from_response(
|
563
566
|
response=response_dict, kwargs=parameter_model.model_dump()
|
564
567
|
)
|
568
|
+
|
565
569
|
self._api_client._verify_response(return_value)
|
566
570
|
return return_value
|
567
571
|
|
@@ -840,6 +844,7 @@ class AsyncFiles(_api_module.BaseModule):
|
|
840
844
|
return_value = types.ListFilesResponse._from_response(
|
841
845
|
response=response_dict, kwargs=parameter_model.model_dump()
|
842
846
|
)
|
847
|
+
|
843
848
|
self._api_client._verify_response(return_value)
|
844
849
|
return return_value
|
845
850
|
|
@@ -901,6 +906,7 @@ class AsyncFiles(_api_module.BaseModule):
|
|
901
906
|
return_value = types.CreateFileResponse._from_response(
|
902
907
|
response=response_dict, kwargs=parameter_model.model_dump()
|
903
908
|
)
|
909
|
+
|
904
910
|
self._api_client._verify_response(return_value)
|
905
911
|
return return_value
|
906
912
|
|
@@ -970,6 +976,7 @@ class AsyncFiles(_api_module.BaseModule):
|
|
970
976
|
return_value = types.File._from_response(
|
971
977
|
response=response_dict, kwargs=parameter_model.model_dump()
|
972
978
|
)
|
979
|
+
|
973
980
|
self._api_client._verify_response(return_value)
|
974
981
|
return return_value
|
975
982
|
|
@@ -1038,6 +1045,7 @@ class AsyncFiles(_api_module.BaseModule):
|
|
1038
1045
|
return_value = types.DeleteFileResponse._from_response(
|
1039
1046
|
response=response_dict, kwargs=parameter_model.model_dump()
|
1040
1047
|
)
|
1048
|
+
|
1041
1049
|
self._api_client._verify_response(return_value)
|
1042
1050
|
return return_value
|
1043
1051
|
|
google/genai/live.py
CHANGED
@@ -212,7 +212,9 @@ class AsyncSession:
|
|
212
212
|
print(msg.text)
|
213
213
|
```
|
214
214
|
"""
|
215
|
-
client_content = t.t_client_content(turns, turn_complete)
|
215
|
+
client_content = t.t_client_content(turns, turn_complete).model_dump(
|
216
|
+
mode='json', exclude_none=True
|
217
|
+
)
|
216
218
|
|
217
219
|
if self._api_client.vertexai:
|
218
220
|
client_content_dict = live_converters._LiveClientContent_to_vertex(
|
@@ -1035,19 +1037,15 @@ class AsyncLive(_api_module.BaseModule):
|
|
1035
1037
|
if headers is None:
|
1036
1038
|
headers = {}
|
1037
1039
|
_mcp_utils.set_mcp_usage_header(headers)
|
1038
|
-
|
1039
|
-
|
1040
|
-
|
1040
|
+
async with ws_connect(uri, additional_headers=headers) as ws:
|
1041
|
+
await ws.send(request)
|
1042
|
+
try:
|
1043
|
+
# websockets 14.0+
|
1041
1044
|
logger.info(await ws.recv(decode=False))
|
1042
|
-
|
1043
|
-
yield AsyncSession(api_client=self._api_client, websocket=ws)
|
1044
|
-
except TypeError:
|
1045
|
-
# Try with the older websockets API
|
1046
|
-
async with ws_connect(uri, extra_headers=headers) as ws:
|
1047
|
-
await ws.send(request)
|
1045
|
+
except TypeError:
|
1048
1046
|
logger.info(await ws.recv())
|
1049
1047
|
|
1050
|
-
|
1048
|
+
yield AsyncSession(api_client=self._api_client, websocket=ws)
|
1051
1049
|
|
1052
1050
|
|
1053
1051
|
async def _t_live_connect_config(
|
google/genai/models.py
CHANGED
@@ -781,6 +781,13 @@ def _GenerateContentConfig_to_mldev(
|
|
781
781
|
),
|
782
782
|
)
|
783
783
|
|
784
|
+
if getv(from_object, ['response_json_schema']) is not None:
|
785
|
+
setv(
|
786
|
+
to_object,
|
787
|
+
['responseJsonSchema'],
|
788
|
+
getv(from_object, ['response_json_schema']),
|
789
|
+
)
|
790
|
+
|
784
791
|
if getv(from_object, ['routing_config']) is not None:
|
785
792
|
raise ValueError('routing_config parameter is not supported in Gemini API.')
|
786
793
|
|
@@ -1397,6 +1404,11 @@ def _GenerateVideosConfig_to_mldev(
|
|
1397
1404
|
if getv(from_object, ['last_frame']) is not None:
|
1398
1405
|
raise ValueError('last_frame parameter is not supported in Gemini API.')
|
1399
1406
|
|
1407
|
+
if getv(from_object, ['compression_quality']) is not None:
|
1408
|
+
raise ValueError(
|
1409
|
+
'compression_quality parameter is not supported in Gemini API.'
|
1410
|
+
)
|
1411
|
+
|
1400
1412
|
return to_object
|
1401
1413
|
|
1402
1414
|
|
@@ -2197,6 +2209,13 @@ def _GenerateContentConfig_to_vertex(
|
|
2197
2209
|
),
|
2198
2210
|
)
|
2199
2211
|
|
2212
|
+
if getv(from_object, ['response_json_schema']) is not None:
|
2213
|
+
setv(
|
2214
|
+
to_object,
|
2215
|
+
['responseJsonSchema'],
|
2216
|
+
getv(from_object, ['response_json_schema']),
|
2217
|
+
)
|
2218
|
+
|
2200
2219
|
if getv(from_object, ['routing_config']) is not None:
|
2201
2220
|
setv(to_object, ['routingConfig'], getv(from_object, ['routing_config']))
|
2202
2221
|
|
@@ -2848,6 +2867,20 @@ def _UpscaleImageAPIConfig_to_vertex(
|
|
2848
2867
|
getv(from_object, ['output_compression_quality']),
|
2849
2868
|
)
|
2850
2869
|
|
2870
|
+
if getv(from_object, ['enhance_input_image']) is not None:
|
2871
|
+
setv(
|
2872
|
+
parent_object,
|
2873
|
+
['parameters', 'upscaleConfig', 'enhanceInputImage'],
|
2874
|
+
getv(from_object, ['enhance_input_image']),
|
2875
|
+
)
|
2876
|
+
|
2877
|
+
if getv(from_object, ['image_preservation_factor']) is not None:
|
2878
|
+
setv(
|
2879
|
+
parent_object,
|
2880
|
+
['parameters', 'upscaleConfig', 'imagePreservationFactor'],
|
2881
|
+
getv(from_object, ['image_preservation_factor']),
|
2882
|
+
)
|
2883
|
+
|
2851
2884
|
if getv(from_object, ['number_of_images']) is not None:
|
2852
2885
|
setv(
|
2853
2886
|
parent_object,
|
@@ -3240,6 +3273,13 @@ def _GenerateVideosConfig_to_vertex(
|
|
3240
3273
|
_Image_to_vertex(getv(from_object, ['last_frame']), to_object),
|
3241
3274
|
)
|
3242
3275
|
|
3276
|
+
if getv(from_object, ['compression_quality']) is not None:
|
3277
|
+
setv(
|
3278
|
+
parent_object,
|
3279
|
+
['parameters', 'compressionQuality'],
|
3280
|
+
getv(from_object, ['compression_quality']),
|
3281
|
+
)
|
3282
|
+
|
3243
3283
|
return to_object
|
3244
3284
|
|
3245
3285
|
|
@@ -3554,6 +3594,12 @@ def _GenerateContentResponse_from_mldev(
|
|
3554
3594
|
parent_object: Optional[dict[str, Any]] = None,
|
3555
3595
|
) -> dict[str, Any]:
|
3556
3596
|
to_object: dict[str, Any] = {}
|
3597
|
+
|
3598
|
+
if getv(from_object, ['sdkHttpResponse']) is not None:
|
3599
|
+
setv(
|
3600
|
+
to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse'])
|
3601
|
+
)
|
3602
|
+
|
3557
3603
|
if getv(from_object, ['candidates']) is not None:
|
3558
3604
|
setv(
|
3559
3605
|
to_object,
|
@@ -4211,6 +4257,12 @@ def _GenerateContentResponse_from_vertex(
|
|
4211
4257
|
parent_object: Optional[dict[str, Any]] = None,
|
4212
4258
|
) -> dict[str, Any]:
|
4213
4259
|
to_object: dict[str, Any] = {}
|
4260
|
+
|
4261
|
+
if getv(from_object, ['sdkHttpResponse']) is not None:
|
4262
|
+
setv(
|
4263
|
+
to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse'])
|
4264
|
+
)
|
4265
|
+
|
4214
4266
|
if getv(from_object, ['candidates']) is not None:
|
4215
4267
|
setv(
|
4216
4268
|
to_object,
|
@@ -4792,6 +4844,9 @@ class Models(_api_module.BaseModule):
|
|
4792
4844
|
return_value = types.GenerateContentResponse._from_response(
|
4793
4845
|
response=response_dict, kwargs=parameter_model.model_dump()
|
4794
4846
|
)
|
4847
|
+
return_value.sdk_http_response = types.HttpResponse(
|
4848
|
+
headers=response.headers
|
4849
|
+
)
|
4795
4850
|
self._api_client._verify_response(return_value)
|
4796
4851
|
return return_value
|
4797
4852
|
|
@@ -4856,10 +4911,12 @@ class Models(_api_module.BaseModule):
|
|
4856
4911
|
' methods.'
|
4857
4912
|
)
|
4858
4913
|
|
4859
|
-
for
|
4914
|
+
for response in self._api_client.request_streamed(
|
4860
4915
|
'post', path, request_dict, http_options
|
4861
4916
|
):
|
4862
4917
|
|
4918
|
+
response_dict = '' if not response.body else json.loads(response.body)
|
4919
|
+
|
4863
4920
|
if self._api_client.vertexai:
|
4864
4921
|
response_dict = _GenerateContentResponse_from_vertex(response_dict)
|
4865
4922
|
|
@@ -4869,6 +4926,9 @@ class Models(_api_module.BaseModule):
|
|
4869
4926
|
return_value = types.GenerateContentResponse._from_response(
|
4870
4927
|
response=response_dict, kwargs=parameter_model.model_dump()
|
4871
4928
|
)
|
4929
|
+
return_value.sdk_http_response = types.HttpResponse(
|
4930
|
+
headers=response.headers
|
4931
|
+
)
|
4872
4932
|
self._api_client._verify_response(return_value)
|
4873
4933
|
yield return_value
|
4874
4934
|
|
@@ -4959,6 +5019,7 @@ class Models(_api_module.BaseModule):
|
|
4959
5019
|
return_value = types.EmbedContentResponse._from_response(
|
4960
5020
|
response=response_dict, kwargs=parameter_model.model_dump()
|
4961
5021
|
)
|
5022
|
+
|
4962
5023
|
self._api_client._verify_response(return_value)
|
4963
5024
|
return return_value
|
4964
5025
|
|
@@ -5034,6 +5095,7 @@ class Models(_api_module.BaseModule):
|
|
5034
5095
|
return_value = types.GenerateImagesResponse._from_response(
|
5035
5096
|
response=response_dict, kwargs=parameter_model.model_dump()
|
5036
5097
|
)
|
5098
|
+
|
5037
5099
|
self._api_client._verify_response(return_value)
|
5038
5100
|
return return_value
|
5039
5101
|
|
@@ -5135,6 +5197,7 @@ class Models(_api_module.BaseModule):
|
|
5135
5197
|
return_value = types.EditImageResponse._from_response(
|
5136
5198
|
response=response_dict, kwargs=parameter_model.model_dump()
|
5137
5199
|
)
|
5200
|
+
|
5138
5201
|
self._api_client._verify_response(return_value)
|
5139
5202
|
return return_value
|
5140
5203
|
|
@@ -5203,6 +5266,7 @@ class Models(_api_module.BaseModule):
|
|
5203
5266
|
return_value = types.UpscaleImageResponse._from_response(
|
5204
5267
|
response=response_dict, kwargs=parameter_model.model_dump()
|
5205
5268
|
)
|
5269
|
+
|
5206
5270
|
self._api_client._verify_response(return_value)
|
5207
5271
|
return return_value
|
5208
5272
|
|
@@ -5263,6 +5327,7 @@ class Models(_api_module.BaseModule):
|
|
5263
5327
|
return_value = types.Model._from_response(
|
5264
5328
|
response=response_dict, kwargs=parameter_model.model_dump()
|
5265
5329
|
)
|
5330
|
+
|
5266
5331
|
self._api_client._verify_response(return_value)
|
5267
5332
|
return return_value
|
5268
5333
|
|
@@ -5322,6 +5387,7 @@ class Models(_api_module.BaseModule):
|
|
5322
5387
|
return_value = types.ListModelsResponse._from_response(
|
5323
5388
|
response=response_dict, kwargs=parameter_model.model_dump()
|
5324
5389
|
)
|
5390
|
+
|
5325
5391
|
self._api_client._verify_response(return_value)
|
5326
5392
|
return return_value
|
5327
5393
|
|
@@ -5387,6 +5453,7 @@ class Models(_api_module.BaseModule):
|
|
5387
5453
|
return_value = types.Model._from_response(
|
5388
5454
|
response=response_dict, kwargs=parameter_model.model_dump()
|
5389
5455
|
)
|
5456
|
+
|
5390
5457
|
self._api_client._verify_response(return_value)
|
5391
5458
|
return return_value
|
5392
5459
|
|
@@ -5452,6 +5519,7 @@ class Models(_api_module.BaseModule):
|
|
5452
5519
|
return_value = types.DeleteModelResponse._from_response(
|
5453
5520
|
response=response_dict, kwargs=parameter_model.model_dump()
|
5454
5521
|
)
|
5522
|
+
|
5455
5523
|
self._api_client._verify_response(return_value)
|
5456
5524
|
return return_value
|
5457
5525
|
|
@@ -5540,6 +5608,7 @@ class Models(_api_module.BaseModule):
|
|
5540
5608
|
return_value = types.CountTokensResponse._from_response(
|
5541
5609
|
response=response_dict, kwargs=parameter_model.model_dump()
|
5542
5610
|
)
|
5611
|
+
|
5543
5612
|
self._api_client._verify_response(return_value)
|
5544
5613
|
return return_value
|
5545
5614
|
|
@@ -5620,6 +5689,7 @@ class Models(_api_module.BaseModule):
|
|
5620
5689
|
return_value = types.ComputeTokensResponse._from_response(
|
5621
5690
|
response=response_dict, kwargs=parameter_model.model_dump()
|
5622
5691
|
)
|
5692
|
+
|
5623
5693
|
self._api_client._verify_response(return_value)
|
5624
5694
|
return return_value
|
5625
5695
|
|
@@ -5725,6 +5795,7 @@ class Models(_api_module.BaseModule):
|
|
5725
5795
|
return_value = types.GenerateVideosOperation._from_response(
|
5726
5796
|
response=response_dict, kwargs=parameter_model.model_dump()
|
5727
5797
|
)
|
5798
|
+
|
5728
5799
|
self._api_client._verify_response(return_value)
|
5729
5800
|
return return_value
|
5730
5801
|
|
@@ -5973,6 +6044,7 @@ class Models(_api_module.BaseModule):
|
|
5973
6044
|
# Yield chunks only if there's no function response parts.
|
5974
6045
|
for chunk in response:
|
5975
6046
|
if not function_map:
|
6047
|
+
_extra_utils.append_chunk_contents(contents, chunk)
|
5976
6048
|
yield chunk
|
5977
6049
|
else:
|
5978
6050
|
if (
|
@@ -5985,6 +6057,7 @@ class Models(_api_module.BaseModule):
|
|
5985
6057
|
chunk, function_map
|
5986
6058
|
)
|
5987
6059
|
if not func_response_parts:
|
6060
|
+
_extra_utils.append_chunk_contents(contents, chunk)
|
5988
6061
|
yield chunk
|
5989
6062
|
|
5990
6063
|
else:
|
@@ -5994,6 +6067,7 @@ class Models(_api_module.BaseModule):
|
|
5994
6067
|
chunk.automatic_function_calling_history = (
|
5995
6068
|
automatic_function_calling_history
|
5996
6069
|
)
|
6070
|
+
_extra_utils.append_chunk_contents(contents, chunk)
|
5997
6071
|
yield chunk
|
5998
6072
|
if (
|
5999
6073
|
chunk is None
|
@@ -6192,6 +6266,10 @@ class Models(_api_module.BaseModule):
|
|
6192
6266
|
output_compression_quality=config_dct.get(
|
6193
6267
|
'output_compression_quality', None
|
6194
6268
|
),
|
6269
|
+
enhance_input_image=config_dct.get('enhance_input_image', None),
|
6270
|
+
image_preservation_factor=config_dct.get(
|
6271
|
+
'image_preservation_factor', None
|
6272
|
+
),
|
6195
6273
|
) # pylint: disable=protected-access
|
6196
6274
|
|
6197
6275
|
# Provide default values through API config.
|
@@ -6322,6 +6400,9 @@ class AsyncModels(_api_module.BaseModule):
|
|
6322
6400
|
return_value = types.GenerateContentResponse._from_response(
|
6323
6401
|
response=response_dict, kwargs=parameter_model.model_dump()
|
6324
6402
|
)
|
6403
|
+
return_value.sdk_http_response = types.HttpResponse(
|
6404
|
+
headers=response.headers
|
6405
|
+
)
|
6325
6406
|
self._api_client._verify_response(return_value)
|
6326
6407
|
return return_value
|
6327
6408
|
|
@@ -6391,7 +6472,9 @@ class AsyncModels(_api_module.BaseModule):
|
|
6391
6472
|
)
|
6392
6473
|
|
6393
6474
|
async def async_generator(): # type: ignore[no-untyped-def]
|
6394
|
-
async for
|
6475
|
+
async for response in response_stream:
|
6476
|
+
|
6477
|
+
response_dict = '' if not response.body else json.loads(response.body)
|
6395
6478
|
|
6396
6479
|
if self._api_client.vertexai:
|
6397
6480
|
response_dict = _GenerateContentResponse_from_vertex(response_dict)
|
@@ -6402,6 +6485,9 @@ class AsyncModels(_api_module.BaseModule):
|
|
6402
6485
|
return_value = types.GenerateContentResponse._from_response(
|
6403
6486
|
response=response_dict, kwargs=parameter_model.model_dump()
|
6404
6487
|
)
|
6488
|
+
return_value.sdk_http_response = types.HttpResponse(
|
6489
|
+
headers=response.headers
|
6490
|
+
)
|
6405
6491
|
self._api_client._verify_response(return_value)
|
6406
6492
|
yield return_value
|
6407
6493
|
|
@@ -6494,6 +6580,7 @@ class AsyncModels(_api_module.BaseModule):
|
|
6494
6580
|
return_value = types.EmbedContentResponse._from_response(
|
6495
6581
|
response=response_dict, kwargs=parameter_model.model_dump()
|
6496
6582
|
)
|
6583
|
+
|
6497
6584
|
self._api_client._verify_response(return_value)
|
6498
6585
|
return return_value
|
6499
6586
|
|
@@ -6569,6 +6656,7 @@ class AsyncModels(_api_module.BaseModule):
|
|
6569
6656
|
return_value = types.GenerateImagesResponse._from_response(
|
6570
6657
|
response=response_dict, kwargs=parameter_model.model_dump()
|
6571
6658
|
)
|
6659
|
+
|
6572
6660
|
self._api_client._verify_response(return_value)
|
6573
6661
|
return return_value
|
6574
6662
|
|
@@ -6670,6 +6758,7 @@ class AsyncModels(_api_module.BaseModule):
|
|
6670
6758
|
return_value = types.EditImageResponse._from_response(
|
6671
6759
|
response=response_dict, kwargs=parameter_model.model_dump()
|
6672
6760
|
)
|
6761
|
+
|
6673
6762
|
self._api_client._verify_response(return_value)
|
6674
6763
|
return return_value
|
6675
6764
|
|
@@ -6738,6 +6827,7 @@ class AsyncModels(_api_module.BaseModule):
|
|
6738
6827
|
return_value = types.UpscaleImageResponse._from_response(
|
6739
6828
|
response=response_dict, kwargs=parameter_model.model_dump()
|
6740
6829
|
)
|
6830
|
+
|
6741
6831
|
self._api_client._verify_response(return_value)
|
6742
6832
|
return return_value
|
6743
6833
|
|
@@ -6800,6 +6890,7 @@ class AsyncModels(_api_module.BaseModule):
|
|
6800
6890
|
return_value = types.Model._from_response(
|
6801
6891
|
response=response_dict, kwargs=parameter_model.model_dump()
|
6802
6892
|
)
|
6893
|
+
|
6803
6894
|
self._api_client._verify_response(return_value)
|
6804
6895
|
return return_value
|
6805
6896
|
|
@@ -6861,6 +6952,7 @@ class AsyncModels(_api_module.BaseModule):
|
|
6861
6952
|
return_value = types.ListModelsResponse._from_response(
|
6862
6953
|
response=response_dict, kwargs=parameter_model.model_dump()
|
6863
6954
|
)
|
6955
|
+
|
6864
6956
|
self._api_client._verify_response(return_value)
|
6865
6957
|
return return_value
|
6866
6958
|
|
@@ -6926,6 +7018,7 @@ class AsyncModels(_api_module.BaseModule):
|
|
6926
7018
|
return_value = types.Model._from_response(
|
6927
7019
|
response=response_dict, kwargs=parameter_model.model_dump()
|
6928
7020
|
)
|
7021
|
+
|
6929
7022
|
self._api_client._verify_response(return_value)
|
6930
7023
|
return return_value
|
6931
7024
|
|
@@ -6991,6 +7084,7 @@ class AsyncModels(_api_module.BaseModule):
|
|
6991
7084
|
return_value = types.DeleteModelResponse._from_response(
|
6992
7085
|
response=response_dict, kwargs=parameter_model.model_dump()
|
6993
7086
|
)
|
7087
|
+
|
6994
7088
|
self._api_client._verify_response(return_value)
|
6995
7089
|
return return_value
|
6996
7090
|
|
@@ -7079,6 +7173,7 @@ class AsyncModels(_api_module.BaseModule):
|
|
7079
7173
|
return_value = types.CountTokensResponse._from_response(
|
7080
7174
|
response=response_dict, kwargs=parameter_model.model_dump()
|
7081
7175
|
)
|
7176
|
+
|
7082
7177
|
self._api_client._verify_response(return_value)
|
7083
7178
|
return return_value
|
7084
7179
|
|
@@ -7158,6 +7253,7 @@ class AsyncModels(_api_module.BaseModule):
|
|
7158
7253
|
return_value = types.ComputeTokensResponse._from_response(
|
7159
7254
|
response=response_dict, kwargs=parameter_model.model_dump()
|
7160
7255
|
)
|
7256
|
+
|
7161
7257
|
self._api_client._verify_response(return_value)
|
7162
7258
|
return return_value
|
7163
7259
|
|
@@ -7263,6 +7359,7 @@ class AsyncModels(_api_module.BaseModule):
|
|
7263
7359
|
return_value = types.GenerateVideosOperation._from_response(
|
7264
7360
|
response=response_dict, kwargs=parameter_model.model_dump()
|
7265
7361
|
)
|
7362
|
+
|
7266
7363
|
self._api_client._verify_response(return_value)
|
7267
7364
|
return return_value
|
7268
7365
|
|
@@ -7483,6 +7580,7 @@ class AsyncModels(_api_module.BaseModule):
|
|
7483
7580
|
# Yield chunks only if there's no function response parts.
|
7484
7581
|
async for chunk in response: # type: ignore[attr-defined]
|
7485
7582
|
if not function_map:
|
7583
|
+
_extra_utils.append_chunk_contents(contents, chunk)
|
7486
7584
|
yield chunk
|
7487
7585
|
else:
|
7488
7586
|
if (
|
@@ -7497,6 +7595,7 @@ class AsyncModels(_api_module.BaseModule):
|
|
7497
7595
|
)
|
7498
7596
|
)
|
7499
7597
|
if not func_response_parts:
|
7598
|
+
_extra_utils.append_chunk_contents(contents, chunk)
|
7500
7599
|
yield chunk
|
7501
7600
|
|
7502
7601
|
else:
|
@@ -7507,6 +7606,7 @@ class AsyncModels(_api_module.BaseModule):
|
|
7507
7606
|
chunk.automatic_function_calling_history = (
|
7508
7607
|
automatic_function_calling_history
|
7509
7608
|
)
|
7609
|
+
_extra_utils.append_chunk_contents(contents, chunk)
|
7510
7610
|
yield chunk
|
7511
7611
|
if (
|
7512
7612
|
chunk is None
|
@@ -7762,6 +7862,10 @@ class AsyncModels(_api_module.BaseModule):
|
|
7762
7862
|
output_compression_quality=config_dct.get(
|
7763
7863
|
'output_compression_quality', None
|
7764
7864
|
),
|
7865
|
+
enhance_input_image=config_dct.get('enhance_input_image', None),
|
7866
|
+
image_preservation_factor=config_dct.get(
|
7867
|
+
'image_preservation_factor', None
|
7868
|
+
),
|
7765
7869
|
) # pylint: disable=protected-access
|
7766
7870
|
|
7767
7871
|
# Provide default values through API config.
|
google/genai/operations.py
CHANGED
@@ -357,6 +357,7 @@ class Operations(_api_module.BaseModule):
|
|
357
357
|
return_value = types.GenerateVideosOperation._from_response(
|
358
358
|
response=response_dict, kwargs=parameter_model.model_dump()
|
359
359
|
)
|
360
|
+
|
360
361
|
self._api_client._verify_response(return_value)
|
361
362
|
return return_value
|
362
363
|
|
@@ -414,6 +415,7 @@ class Operations(_api_module.BaseModule):
|
|
414
415
|
return_value = types.GenerateVideosOperation._from_response(
|
415
416
|
response=response_dict, kwargs=parameter_model.model_dump()
|
416
417
|
)
|
418
|
+
|
417
419
|
self._api_client._verify_response(return_value)
|
418
420
|
return return_value
|
419
421
|
|
@@ -519,6 +521,7 @@ class AsyncOperations(_api_module.BaseModule):
|
|
519
521
|
return_value = types.GenerateVideosOperation._from_response(
|
520
522
|
response=response_dict, kwargs=parameter_model.model_dump()
|
521
523
|
)
|
524
|
+
|
522
525
|
self._api_client._verify_response(return_value)
|
523
526
|
return return_value
|
524
527
|
|
@@ -576,6 +579,7 @@ class AsyncOperations(_api_module.BaseModule):
|
|
576
579
|
return_value = types.GenerateVideosOperation._from_response(
|
577
580
|
response=response_dict, kwargs=parameter_model.model_dump()
|
578
581
|
)
|
582
|
+
|
579
583
|
self._api_client._verify_response(return_value)
|
580
584
|
return return_value
|
581
585
|
|
google/genai/tunings.py
CHANGED
@@ -777,6 +777,7 @@ class Tunings(_api_module.BaseModule):
|
|
777
777
|
return_value = types.TuningJob._from_response(
|
778
778
|
response=response_dict, kwargs=parameter_model.model_dump()
|
779
779
|
)
|
780
|
+
|
780
781
|
self._api_client._verify_response(return_value)
|
781
782
|
return return_value
|
782
783
|
|
@@ -841,6 +842,7 @@ class Tunings(_api_module.BaseModule):
|
|
841
842
|
return_value = types.ListTuningJobsResponse._from_response(
|
842
843
|
response=response_dict, kwargs=parameter_model.model_dump()
|
843
844
|
)
|
845
|
+
|
844
846
|
self._api_client._verify_response(return_value)
|
845
847
|
return return_value
|
846
848
|
|
@@ -907,6 +909,7 @@ class Tunings(_api_module.BaseModule):
|
|
907
909
|
return_value = types.TuningJob._from_response(
|
908
910
|
response=response_dict, kwargs=parameter_model.model_dump()
|
909
911
|
)
|
912
|
+
|
910
913
|
self._api_client._verify_response(return_value)
|
911
914
|
return return_value
|
912
915
|
|
@@ -975,6 +978,7 @@ class Tunings(_api_module.BaseModule):
|
|
975
978
|
return_value = types.Operation._from_response(
|
976
979
|
response=response_dict, kwargs=parameter_model.model_dump()
|
977
980
|
)
|
981
|
+
|
978
982
|
self._api_client._verify_response(return_value)
|
979
983
|
return return_value
|
980
984
|
|
@@ -1115,6 +1119,7 @@ class AsyncTunings(_api_module.BaseModule):
|
|
1115
1119
|
return_value = types.TuningJob._from_response(
|
1116
1120
|
response=response_dict, kwargs=parameter_model.model_dump()
|
1117
1121
|
)
|
1122
|
+
|
1118
1123
|
self._api_client._verify_response(return_value)
|
1119
1124
|
return return_value
|
1120
1125
|
|
@@ -1181,6 +1186,7 @@ class AsyncTunings(_api_module.BaseModule):
|
|
1181
1186
|
return_value = types.ListTuningJobsResponse._from_response(
|
1182
1187
|
response=response_dict, kwargs=parameter_model.model_dump()
|
1183
1188
|
)
|
1189
|
+
|
1184
1190
|
self._api_client._verify_response(return_value)
|
1185
1191
|
return return_value
|
1186
1192
|
|
@@ -1247,6 +1253,7 @@ class AsyncTunings(_api_module.BaseModule):
|
|
1247
1253
|
return_value = types.TuningJob._from_response(
|
1248
1254
|
response=response_dict, kwargs=parameter_model.model_dump()
|
1249
1255
|
)
|
1256
|
+
|
1250
1257
|
self._api_client._verify_response(return_value)
|
1251
1258
|
return return_value
|
1252
1259
|
|
@@ -1315,6 +1322,7 @@ class AsyncTunings(_api_module.BaseModule):
|
|
1315
1322
|
return_value = types.Operation._from_response(
|
1316
1323
|
response=response_dict, kwargs=parameter_model.model_dump()
|
1317
1324
|
)
|
1325
|
+
|
1318
1326
|
self._api_client._verify_response(return_value)
|
1319
1327
|
return return_value
|
1320
1328
|
|
@@ -1514,7 +1522,7 @@ class _IpythonUtils:
|
|
1514
1522
|
</script>
|
1515
1523
|
"""
|
1516
1524
|
|
1517
|
-
from IPython.
|
1525
|
+
from IPython.display import display
|
1518
1526
|
from IPython.display import HTML
|
1519
1527
|
|
1520
1528
|
display(HTML(html))
|