google-genai 1.24.0__py3-none-any.whl → 1.26.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 +11 -1
- google/genai/_common.py +6 -4
- google/genai/_extra_utils.py +1 -1
- google/genai/_live_converters.py +1624 -1922
- google/genai/_replay_api_client.py +15 -8
- google/genai/_tokens_converters.py +11 -874
- google/genai/_transformers.py +33 -17
- google/genai/batches.py +388 -3477
- google/genai/caches.py +0 -65
- google/genai/errors.py +2 -2
- google/genai/files.py +4 -0
- google/genai/live.py +22 -15
- google/genai/models.py +10 -170
- google/genai/operations.py +36 -266
- google/genai/tokens.py +8 -4
- google/genai/tunings.py +7 -46
- google/genai/types.py +126 -46
- google/genai/version.py +1 -1
- {google_genai-1.24.0.dist-info → google_genai-1.26.0.dist-info}/METADATA +70 -12
- google_genai-1.26.0.dist-info/RECORD +35 -0
- google_genai-1.24.0.dist-info/RECORD +0 -35
- {google_genai-1.24.0.dist-info → google_genai-1.26.0.dist-info}/WHEEL +0 -0
- {google_genai-1.24.0.dist-info → google_genai-1.26.0.dist-info}/licenses/LICENSE +0 -0
- {google_genai-1.24.0.dist-info → google_genai-1.26.0.dist-info}/top_level.txt +0 -0
google/genai/operations.py
CHANGED
@@ -17,12 +17,11 @@
|
|
17
17
|
|
18
18
|
import json
|
19
19
|
import logging
|
20
|
-
from typing import Any, Optional, Union
|
20
|
+
from typing import Any, Optional, TypeVar, Union
|
21
21
|
from urllib.parse import urlencode
|
22
22
|
|
23
23
|
from . import _api_module
|
24
24
|
from . import _common
|
25
|
-
from . import _transformers as t
|
26
25
|
from . import types
|
27
26
|
from ._common import get_value_by_path as getv
|
28
27
|
from ._common import set_value_by_path as setv
|
@@ -87,218 +86,6 @@ def _FetchPredictOperationParameters_to_vertex(
|
|
87
86
|
return to_object
|
88
87
|
|
89
88
|
|
90
|
-
def _Video_from_mldev(
|
91
|
-
from_object: Union[dict[str, Any], object],
|
92
|
-
parent_object: Optional[dict[str, Any]] = None,
|
93
|
-
) -> dict[str, Any]:
|
94
|
-
to_object: dict[str, Any] = {}
|
95
|
-
if getv(from_object, ['video', 'uri']) is not None:
|
96
|
-
setv(to_object, ['uri'], getv(from_object, ['video', 'uri']))
|
97
|
-
|
98
|
-
if getv(from_object, ['video', 'encodedVideo']) is not None:
|
99
|
-
setv(
|
100
|
-
to_object,
|
101
|
-
['video_bytes'],
|
102
|
-
t.t_bytes(getv(from_object, ['video', 'encodedVideo'])),
|
103
|
-
)
|
104
|
-
|
105
|
-
if getv(from_object, ['encoding']) is not None:
|
106
|
-
setv(to_object, ['mime_type'], getv(from_object, ['encoding']))
|
107
|
-
|
108
|
-
return to_object
|
109
|
-
|
110
|
-
|
111
|
-
def _GeneratedVideo_from_mldev(
|
112
|
-
from_object: Union[dict[str, Any], object],
|
113
|
-
parent_object: Optional[dict[str, Any]] = None,
|
114
|
-
) -> dict[str, Any]:
|
115
|
-
to_object: dict[str, Any] = {}
|
116
|
-
if getv(from_object, ['_self']) is not None:
|
117
|
-
setv(
|
118
|
-
to_object,
|
119
|
-
['video'],
|
120
|
-
_Video_from_mldev(getv(from_object, ['_self']), to_object),
|
121
|
-
)
|
122
|
-
|
123
|
-
return to_object
|
124
|
-
|
125
|
-
|
126
|
-
def _GenerateVideosResponse_from_mldev(
|
127
|
-
from_object: Union[dict[str, Any], object],
|
128
|
-
parent_object: Optional[dict[str, Any]] = None,
|
129
|
-
) -> dict[str, Any]:
|
130
|
-
to_object: dict[str, Any] = {}
|
131
|
-
if getv(from_object, ['generatedSamples']) is not None:
|
132
|
-
setv(
|
133
|
-
to_object,
|
134
|
-
['generated_videos'],
|
135
|
-
[
|
136
|
-
_GeneratedVideo_from_mldev(item, to_object)
|
137
|
-
for item in getv(from_object, ['generatedSamples'])
|
138
|
-
],
|
139
|
-
)
|
140
|
-
|
141
|
-
if getv(from_object, ['raiMediaFilteredCount']) is not None:
|
142
|
-
setv(
|
143
|
-
to_object,
|
144
|
-
['rai_media_filtered_count'],
|
145
|
-
getv(from_object, ['raiMediaFilteredCount']),
|
146
|
-
)
|
147
|
-
|
148
|
-
if getv(from_object, ['raiMediaFilteredReasons']) is not None:
|
149
|
-
setv(
|
150
|
-
to_object,
|
151
|
-
['rai_media_filtered_reasons'],
|
152
|
-
getv(from_object, ['raiMediaFilteredReasons']),
|
153
|
-
)
|
154
|
-
|
155
|
-
return to_object
|
156
|
-
|
157
|
-
|
158
|
-
def _GenerateVideosOperation_from_mldev(
|
159
|
-
from_object: Union[dict[str, Any], object],
|
160
|
-
parent_object: Optional[dict[str, Any]] = None,
|
161
|
-
) -> dict[str, Any]:
|
162
|
-
to_object: dict[str, Any] = {}
|
163
|
-
if getv(from_object, ['name']) is not None:
|
164
|
-
setv(to_object, ['name'], getv(from_object, ['name']))
|
165
|
-
|
166
|
-
if getv(from_object, ['metadata']) is not None:
|
167
|
-
setv(to_object, ['metadata'], getv(from_object, ['metadata']))
|
168
|
-
|
169
|
-
if getv(from_object, ['done']) is not None:
|
170
|
-
setv(to_object, ['done'], getv(from_object, ['done']))
|
171
|
-
|
172
|
-
if getv(from_object, ['error']) is not None:
|
173
|
-
setv(to_object, ['error'], getv(from_object, ['error']))
|
174
|
-
|
175
|
-
if getv(from_object, ['response', 'generateVideoResponse']) is not None:
|
176
|
-
setv(
|
177
|
-
to_object,
|
178
|
-
['response'],
|
179
|
-
_GenerateVideosResponse_from_mldev(
|
180
|
-
getv(from_object, ['response', 'generateVideoResponse']), to_object
|
181
|
-
),
|
182
|
-
)
|
183
|
-
|
184
|
-
if getv(from_object, ['response', 'generateVideoResponse']) is not None:
|
185
|
-
setv(
|
186
|
-
to_object,
|
187
|
-
['result'],
|
188
|
-
_GenerateVideosResponse_from_mldev(
|
189
|
-
getv(from_object, ['response', 'generateVideoResponse']), to_object
|
190
|
-
),
|
191
|
-
)
|
192
|
-
|
193
|
-
return to_object
|
194
|
-
|
195
|
-
|
196
|
-
def _Video_from_vertex(
|
197
|
-
from_object: Union[dict[str, Any], object],
|
198
|
-
parent_object: Optional[dict[str, Any]] = None,
|
199
|
-
) -> dict[str, Any]:
|
200
|
-
to_object: dict[str, Any] = {}
|
201
|
-
if getv(from_object, ['gcsUri']) is not None:
|
202
|
-
setv(to_object, ['uri'], getv(from_object, ['gcsUri']))
|
203
|
-
|
204
|
-
if getv(from_object, ['bytesBase64Encoded']) is not None:
|
205
|
-
setv(
|
206
|
-
to_object,
|
207
|
-
['video_bytes'],
|
208
|
-
t.t_bytes(getv(from_object, ['bytesBase64Encoded'])),
|
209
|
-
)
|
210
|
-
|
211
|
-
if getv(from_object, ['mimeType']) is not None:
|
212
|
-
setv(to_object, ['mime_type'], getv(from_object, ['mimeType']))
|
213
|
-
|
214
|
-
return to_object
|
215
|
-
|
216
|
-
|
217
|
-
def _GeneratedVideo_from_vertex(
|
218
|
-
from_object: Union[dict[str, Any], object],
|
219
|
-
parent_object: Optional[dict[str, Any]] = None,
|
220
|
-
) -> dict[str, Any]:
|
221
|
-
to_object: dict[str, Any] = {}
|
222
|
-
if getv(from_object, ['_self']) is not None:
|
223
|
-
setv(
|
224
|
-
to_object,
|
225
|
-
['video'],
|
226
|
-
_Video_from_vertex(getv(from_object, ['_self']), to_object),
|
227
|
-
)
|
228
|
-
|
229
|
-
return to_object
|
230
|
-
|
231
|
-
|
232
|
-
def _GenerateVideosResponse_from_vertex(
|
233
|
-
from_object: Union[dict[str, Any], object],
|
234
|
-
parent_object: Optional[dict[str, Any]] = None,
|
235
|
-
) -> dict[str, Any]:
|
236
|
-
to_object: dict[str, Any] = {}
|
237
|
-
if getv(from_object, ['videos']) is not None:
|
238
|
-
setv(
|
239
|
-
to_object,
|
240
|
-
['generated_videos'],
|
241
|
-
[
|
242
|
-
_GeneratedVideo_from_vertex(item, to_object)
|
243
|
-
for item in getv(from_object, ['videos'])
|
244
|
-
],
|
245
|
-
)
|
246
|
-
|
247
|
-
if getv(from_object, ['raiMediaFilteredCount']) is not None:
|
248
|
-
setv(
|
249
|
-
to_object,
|
250
|
-
['rai_media_filtered_count'],
|
251
|
-
getv(from_object, ['raiMediaFilteredCount']),
|
252
|
-
)
|
253
|
-
|
254
|
-
if getv(from_object, ['raiMediaFilteredReasons']) is not None:
|
255
|
-
setv(
|
256
|
-
to_object,
|
257
|
-
['rai_media_filtered_reasons'],
|
258
|
-
getv(from_object, ['raiMediaFilteredReasons']),
|
259
|
-
)
|
260
|
-
|
261
|
-
return to_object
|
262
|
-
|
263
|
-
|
264
|
-
def _GenerateVideosOperation_from_vertex(
|
265
|
-
from_object: Union[dict[str, Any], object],
|
266
|
-
parent_object: Optional[dict[str, Any]] = None,
|
267
|
-
) -> dict[str, Any]:
|
268
|
-
to_object: dict[str, Any] = {}
|
269
|
-
if getv(from_object, ['name']) is not None:
|
270
|
-
setv(to_object, ['name'], getv(from_object, ['name']))
|
271
|
-
|
272
|
-
if getv(from_object, ['metadata']) is not None:
|
273
|
-
setv(to_object, ['metadata'], getv(from_object, ['metadata']))
|
274
|
-
|
275
|
-
if getv(from_object, ['done']) is not None:
|
276
|
-
setv(to_object, ['done'], getv(from_object, ['done']))
|
277
|
-
|
278
|
-
if getv(from_object, ['error']) is not None:
|
279
|
-
setv(to_object, ['error'], getv(from_object, ['error']))
|
280
|
-
|
281
|
-
if getv(from_object, ['response']) is not None:
|
282
|
-
setv(
|
283
|
-
to_object,
|
284
|
-
['response'],
|
285
|
-
_GenerateVideosResponse_from_vertex(
|
286
|
-
getv(from_object, ['response']), to_object
|
287
|
-
),
|
288
|
-
)
|
289
|
-
|
290
|
-
if getv(from_object, ['response']) is not None:
|
291
|
-
setv(
|
292
|
-
to_object,
|
293
|
-
['result'],
|
294
|
-
_GenerateVideosResponse_from_vertex(
|
295
|
-
getv(from_object, ['response']), to_object
|
296
|
-
),
|
297
|
-
)
|
298
|
-
|
299
|
-
return to_object
|
300
|
-
|
301
|
-
|
302
89
|
class Operations(_api_module.BaseModule):
|
303
90
|
|
304
91
|
def _get_videos_operation(
|
@@ -306,7 +93,7 @@ class Operations(_api_module.BaseModule):
|
|
306
93
|
*,
|
307
94
|
operation_name: str,
|
308
95
|
config: Optional[types.GetOperationConfigOrDict] = None,
|
309
|
-
) ->
|
96
|
+
) -> Any:
|
310
97
|
parameter_model = types._GetOperationParameters(
|
311
98
|
operation_name=operation_name,
|
312
99
|
config=config,
|
@@ -348,18 +135,7 @@ class Operations(_api_module.BaseModule):
|
|
348
135
|
|
349
136
|
response_dict = '' if not response.body else json.loads(response.body)
|
350
137
|
|
351
|
-
|
352
|
-
response_dict = _GenerateVideosOperation_from_vertex(response_dict)
|
353
|
-
|
354
|
-
else:
|
355
|
-
response_dict = _GenerateVideosOperation_from_mldev(response_dict)
|
356
|
-
|
357
|
-
return_value = types.GenerateVideosOperation._from_response(
|
358
|
-
response=response_dict, kwargs=parameter_model.model_dump()
|
359
|
-
)
|
360
|
-
|
361
|
-
self._api_client._verify_response(return_value)
|
362
|
-
return return_value
|
138
|
+
return response_dict
|
363
139
|
|
364
140
|
def _fetch_predict_videos_operation(
|
365
141
|
self,
|
@@ -367,7 +143,7 @@ class Operations(_api_module.BaseModule):
|
|
367
143
|
operation_name: str,
|
368
144
|
resource_name: str,
|
369
145
|
config: Optional[types.FetchPredictOperationConfigOrDict] = None,
|
370
|
-
) ->
|
146
|
+
) -> Any:
|
371
147
|
parameter_model = types._FetchPredictOperationParameters(
|
372
148
|
operation_name=operation_name,
|
373
149
|
resource_name=resource_name,
|
@@ -409,22 +185,16 @@ class Operations(_api_module.BaseModule):
|
|
409
185
|
|
410
186
|
response_dict = '' if not response.body else json.loads(response.body)
|
411
187
|
|
412
|
-
|
413
|
-
response_dict = _GenerateVideosOperation_from_vertex(response_dict)
|
188
|
+
return response_dict
|
414
189
|
|
415
|
-
|
416
|
-
response=response_dict, kwargs=parameter_model.model_dump()
|
417
|
-
)
|
418
|
-
|
419
|
-
self._api_client._verify_response(return_value)
|
420
|
-
return return_value
|
190
|
+
T = TypeVar('T', bound=types.Operation)
|
421
191
|
|
422
192
|
def get(
|
423
193
|
self,
|
424
|
-
operation:
|
194
|
+
operation: T,
|
425
195
|
*,
|
426
196
|
config: Optional[types.GetOperationConfigOrDict] = None,
|
427
|
-
) ->
|
197
|
+
) -> T:
|
428
198
|
"""Gets the status of an operation."""
|
429
199
|
# Currently, only GenerateVideosOperation is supported.
|
430
200
|
# TODO(b/398040607): Support short form names
|
@@ -449,16 +219,25 @@ class Operations(_api_module.BaseModule):
|
|
449
219
|
fetch_operation_config = types.FetchPredictOperationConfig(
|
450
220
|
http_options=http_options
|
451
221
|
)
|
452
|
-
|
222
|
+
response_dict = self._fetch_predict_videos_operation(
|
453
223
|
operation_name=operation_name,
|
454
224
|
resource_name=resource_name,
|
455
225
|
config=fetch_operation_config,
|
456
226
|
)
|
227
|
+
|
228
|
+
response_operation = operation.from_api_response(
|
229
|
+
response_dict, is_vertex_ai=True
|
230
|
+
)
|
231
|
+
return response_operation # type: ignore[no-any-return]
|
457
232
|
else:
|
458
|
-
|
233
|
+
response_dict = self._get_videos_operation(
|
459
234
|
operation_name=operation_name,
|
460
235
|
config=config,
|
461
236
|
)
|
237
|
+
response_operation = operation.from_api_response(
|
238
|
+
response_dict, is_vertex_ai=False
|
239
|
+
)
|
240
|
+
return response_operation # type: ignore[no-any-return]
|
462
241
|
|
463
242
|
|
464
243
|
class AsyncOperations(_api_module.BaseModule):
|
@@ -468,7 +247,7 @@ class AsyncOperations(_api_module.BaseModule):
|
|
468
247
|
*,
|
469
248
|
operation_name: str,
|
470
249
|
config: Optional[types.GetOperationConfigOrDict] = None,
|
471
|
-
) ->
|
250
|
+
) -> Any:
|
472
251
|
parameter_model = types._GetOperationParameters(
|
473
252
|
operation_name=operation_name,
|
474
253
|
config=config,
|
@@ -512,18 +291,7 @@ class AsyncOperations(_api_module.BaseModule):
|
|
512
291
|
|
513
292
|
response_dict = '' if not response.body else json.loads(response.body)
|
514
293
|
|
515
|
-
|
516
|
-
response_dict = _GenerateVideosOperation_from_vertex(response_dict)
|
517
|
-
|
518
|
-
else:
|
519
|
-
response_dict = _GenerateVideosOperation_from_mldev(response_dict)
|
520
|
-
|
521
|
-
return_value = types.GenerateVideosOperation._from_response(
|
522
|
-
response=response_dict, kwargs=parameter_model.model_dump()
|
523
|
-
)
|
524
|
-
|
525
|
-
self._api_client._verify_response(return_value)
|
526
|
-
return return_value
|
294
|
+
return response_dict
|
527
295
|
|
528
296
|
async def _fetch_predict_videos_operation(
|
529
297
|
self,
|
@@ -531,7 +299,7 @@ class AsyncOperations(_api_module.BaseModule):
|
|
531
299
|
operation_name: str,
|
532
300
|
resource_name: str,
|
533
301
|
config: Optional[types.FetchPredictOperationConfigOrDict] = None,
|
534
|
-
) ->
|
302
|
+
) -> Any:
|
535
303
|
parameter_model = types._FetchPredictOperationParameters(
|
536
304
|
operation_name=operation_name,
|
537
305
|
resource_name=resource_name,
|
@@ -573,22 +341,16 @@ class AsyncOperations(_api_module.BaseModule):
|
|
573
341
|
|
574
342
|
response_dict = '' if not response.body else json.loads(response.body)
|
575
343
|
|
576
|
-
|
577
|
-
response_dict = _GenerateVideosOperation_from_vertex(response_dict)
|
344
|
+
return response_dict
|
578
345
|
|
579
|
-
|
580
|
-
response=response_dict, kwargs=parameter_model.model_dump()
|
581
|
-
)
|
582
|
-
|
583
|
-
self._api_client._verify_response(return_value)
|
584
|
-
return return_value
|
346
|
+
T = TypeVar('T', bound=types.Operation)
|
585
347
|
|
586
348
|
async def get(
|
587
349
|
self,
|
588
|
-
operation:
|
350
|
+
operation: T,
|
589
351
|
*,
|
590
352
|
config: Optional[types.GetOperationConfigOrDict] = None,
|
591
|
-
) ->
|
353
|
+
) -> T:
|
592
354
|
"""Gets the status of an operation."""
|
593
355
|
# Currently, only GenerateVideosOperation is supported.
|
594
356
|
operation_name = operation.name
|
@@ -611,13 +373,21 @@ class AsyncOperations(_api_module.BaseModule):
|
|
611
373
|
fetch_operation_config = types.FetchPredictOperationConfig(
|
612
374
|
http_options=http_options
|
613
375
|
)
|
614
|
-
|
376
|
+
response_dict = await self._fetch_predict_videos_operation(
|
615
377
|
operation_name=operation_name,
|
616
378
|
resource_name=resource_name,
|
617
379
|
config=fetch_operation_config,
|
618
380
|
)
|
381
|
+
response_operation = operation.from_api_response(
|
382
|
+
response_dict, is_vertex_ai=True
|
383
|
+
)
|
384
|
+
return response_operation # type: ignore[no-any-return]
|
619
385
|
else:
|
620
|
-
|
386
|
+
response_dict = await self._get_videos_operation(
|
621
387
|
operation_name=operation_name,
|
622
388
|
config=config,
|
623
389
|
)
|
390
|
+
response_operation = operation.from_api_response(
|
391
|
+
response_dict, is_vertex_ai=False
|
392
|
+
)
|
393
|
+
return response_operation # type: ignore[no-any-return]
|
google/genai/tokens.py
CHANGED
@@ -166,7 +166,7 @@ class Tokens(_api_module.BaseModule):
|
|
166
166
|
config=types.CreateAuthTokenConfig(
|
167
167
|
uses=10,
|
168
168
|
live_constrained_parameters=types.LiveEphemeralParameters(
|
169
|
-
model='gemini-2.
|
169
|
+
model='gemini-live-2.5-flash-preview',
|
170
170
|
config=types.LiveConnectConfig(
|
171
171
|
system_instruction='You are an LLM called Gemini.'
|
172
172
|
),
|
@@ -202,7 +202,7 @@ class Tokens(_api_module.BaseModule):
|
|
202
202
|
config=types.CreateAuthTokenConfig(
|
203
203
|
uses=10,
|
204
204
|
live_constrained_parameters=types.LiveEphemeralParameters(
|
205
|
-
model='gemini-2.
|
205
|
+
model='gemini-live-2.5-flash-preview',
|
206
206
|
config=types.LiveConnectConfig(
|
207
207
|
system_instruction='You are an LLM called Gemini.'
|
208
208
|
),
|
@@ -284,7 +284,7 @@ class AsyncTokens(_api_module.BaseModule):
|
|
284
284
|
async def create(
|
285
285
|
self, *, config: Optional[types.CreateAuthTokenConfigOrDict] = None
|
286
286
|
) -> types.AuthToken:
|
287
|
-
"""Creates an auth token asynchronously.
|
287
|
+
"""Creates an auth token asynchronously. Support in v1alpha only.
|
288
288
|
|
289
289
|
Args:
|
290
290
|
config (CreateAuthTokenConfig): Optional configuration for the request.
|
@@ -292,12 +292,16 @@ class AsyncTokens(_api_module.BaseModule):
|
|
292
292
|
Usage:
|
293
293
|
|
294
294
|
.. code-block:: python
|
295
|
+
client = genai.Client(
|
296
|
+
api_key=API_KEY,
|
297
|
+
http_options=types.HttpOptions(api_version='v1alpha'),
|
298
|
+
)
|
295
299
|
|
296
300
|
auth_token = await client.aio.tokens.create(
|
297
301
|
config=types.CreateAuthTokenConfig(
|
298
302
|
uses=10,
|
299
303
|
live_constrained_parameters=types.LiveEphemeralParameters(
|
300
|
-
model='gemini-2.
|
304
|
+
model='gemini-live-2.5-flash-preview',
|
301
305
|
config=types.LiveConnectConfig(
|
302
306
|
system_instruction='You are an LLM called Gemini.'
|
303
307
|
),
|
google/genai/tunings.py
CHANGED
@@ -126,22 +126,6 @@ def _TuningDataset_to_mldev(
|
|
126
126
|
return to_object
|
127
127
|
|
128
128
|
|
129
|
-
def _TuningValidationDataset_to_mldev(
|
130
|
-
from_object: Union[dict[str, Any], object],
|
131
|
-
parent_object: Optional[dict[str, Any]] = None,
|
132
|
-
) -> dict[str, Any]:
|
133
|
-
to_object: dict[str, Any] = {}
|
134
|
-
if getv(from_object, ['gcs_uri']) is not None:
|
135
|
-
raise ValueError('gcs_uri parameter is not supported in Gemini API.')
|
136
|
-
|
137
|
-
if getv(from_object, ['vertex_dataset_resource']) is not None:
|
138
|
-
raise ValueError(
|
139
|
-
'vertex_dataset_resource parameter is not supported in Gemini API.'
|
140
|
-
)
|
141
|
-
|
142
|
-
return to_object
|
143
|
-
|
144
|
-
|
145
129
|
def _CreateTuningJobConfig_to_mldev(
|
146
130
|
from_object: Union[dict[str, Any], object],
|
147
131
|
parent_object: Optional[dict[str, Any]] = None,
|
@@ -286,20 +270,6 @@ def _ListTuningJobsParameters_to_vertex(
|
|
286
270
|
return to_object
|
287
271
|
|
288
272
|
|
289
|
-
def _TuningExample_to_vertex(
|
290
|
-
from_object: Union[dict[str, Any], object],
|
291
|
-
parent_object: Optional[dict[str, Any]] = None,
|
292
|
-
) -> dict[str, Any]:
|
293
|
-
to_object: dict[str, Any] = {}
|
294
|
-
if getv(from_object, ['text_input']) is not None:
|
295
|
-
raise ValueError('text_input parameter is not supported in Vertex AI.')
|
296
|
-
|
297
|
-
if getv(from_object, ['output']) is not None:
|
298
|
-
raise ValueError('output parameter is not supported in Vertex AI.')
|
299
|
-
|
300
|
-
return to_object
|
301
|
-
|
302
|
-
|
303
273
|
def _TuningDataset_to_vertex(
|
304
274
|
from_object: Union[dict[str, Any], object],
|
305
275
|
parent_object: Optional[dict[str, Any]] = None,
|
@@ -434,15 +404,6 @@ def _CreateTuningJobParameters_to_vertex(
|
|
434
404
|
return to_object
|
435
405
|
|
436
406
|
|
437
|
-
def _TunedModelCheckpoint_from_mldev(
|
438
|
-
from_object: Union[dict[str, Any], object],
|
439
|
-
parent_object: Optional[dict[str, Any]] = None,
|
440
|
-
) -> dict[str, Any]:
|
441
|
-
to_object: dict[str, Any] = {}
|
442
|
-
|
443
|
-
return to_object
|
444
|
-
|
445
|
-
|
446
407
|
def _TunedModel_from_mldev(
|
447
408
|
from_object: Union[dict[str, Any], object],
|
448
409
|
parent_object: Optional[dict[str, Any]] = None,
|
@@ -561,7 +522,7 @@ def _ListTuningJobsResponse_from_mldev(
|
|
561
522
|
return to_object
|
562
523
|
|
563
524
|
|
564
|
-
def
|
525
|
+
def _TuningOperation_from_mldev(
|
565
526
|
from_object: Union[dict[str, Any], object],
|
566
527
|
parent_object: Optional[dict[str, Any]] = None,
|
567
528
|
) -> dict[str, Any]:
|
@@ -955,7 +916,7 @@ class Tunings(_api_module.BaseModule):
|
|
955
916
|
base_model: str,
|
956
917
|
training_dataset: types.TuningDatasetOrDict,
|
957
918
|
config: Optional[types.CreateTuningJobConfigOrDict] = None,
|
958
|
-
) -> types.
|
919
|
+
) -> types.TuningOperation:
|
959
920
|
"""Creates a supervised fine-tuning job and returns the TuningJob object.
|
960
921
|
|
961
922
|
Args:
|
@@ -1009,9 +970,9 @@ class Tunings(_api_module.BaseModule):
|
|
1009
970
|
response_dict = '' if not response.body else json.loads(response.body)
|
1010
971
|
|
1011
972
|
if not self._api_client.vertexai:
|
1012
|
-
response_dict =
|
973
|
+
response_dict = _TuningOperation_from_mldev(response_dict)
|
1013
974
|
|
1014
|
-
return_value = types.
|
975
|
+
return_value = types.TuningOperation._from_response(
|
1015
976
|
response=response_dict, kwargs=parameter_model.model_dump()
|
1016
977
|
)
|
1017
978
|
|
@@ -1299,7 +1260,7 @@ class AsyncTunings(_api_module.BaseModule):
|
|
1299
1260
|
base_model: str,
|
1300
1261
|
training_dataset: types.TuningDatasetOrDict,
|
1301
1262
|
config: Optional[types.CreateTuningJobConfigOrDict] = None,
|
1302
|
-
) -> types.
|
1263
|
+
) -> types.TuningOperation:
|
1303
1264
|
"""Creates a supervised fine-tuning job and returns the TuningJob object.
|
1304
1265
|
|
1305
1266
|
Args:
|
@@ -1353,9 +1314,9 @@ class AsyncTunings(_api_module.BaseModule):
|
|
1353
1314
|
response_dict = '' if not response.body else json.loads(response.body)
|
1354
1315
|
|
1355
1316
|
if not self._api_client.vertexai:
|
1356
|
-
response_dict =
|
1317
|
+
response_dict = _TuningOperation_from_mldev(response_dict)
|
1357
1318
|
|
1358
|
-
return_value = types.
|
1319
|
+
return_value = types.TuningOperation._from_response(
|
1359
1320
|
response=response_dict, kwargs=parameter_model.model_dump()
|
1360
1321
|
)
|
1361
1322
|
|