Skip to content

Commit ce86f2b

Browse files
jaycee-licopybara-github
authored andcommitted
feat: Add model_status to GenerateContentResponse (Gemini API only)
feat: Add part_metadata in Part (Gemini API only) feat: Support rendered_parts in GroundingSupport PiperOrigin-RevId: 886938835
1 parent 07ae1b1 commit ce86f2b

File tree

8 files changed

+721
-373
lines changed

8 files changed

+721
-373
lines changed

google/genai/_live_converters.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1461,6 +1461,9 @@ def _Part_to_mldev(
14611461
if getv(from_object, ['tool_response']) is not None:
14621462
setv(to_object, ['toolResponse'], getv(from_object, ['tool_response']))
14631463

1464+
if getv(from_object, ['part_metadata']) is not None:
1465+
setv(to_object, ['partMetadata'], getv(from_object, ['part_metadata']))
1466+
14641467
return to_object
14651468

14661469

@@ -1522,6 +1525,9 @@ def _Part_to_vertex(
15221525
if getv(from_object, ['tool_response']) is not None:
15231526
raise ValueError('tool_response parameter is not supported in Vertex AI.')
15241527

1528+
if getv(from_object, ['part_metadata']) is not None:
1529+
raise ValueError('part_metadata parameter is not supported in Vertex AI.')
1530+
15251531
return to_object
15261532

15271533

google/genai/_tokens_converters.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -521,6 +521,9 @@ def _Part_to_mldev(
521521
if getv(from_object, ['tool_response']) is not None:
522522
setv(to_object, ['toolResponse'], getv(from_object, ['tool_response']))
523523

524+
if getv(from_object, ['part_metadata']) is not None:
525+
setv(to_object, ['partMetadata'], getv(from_object, ['part_metadata']))
526+
524527
return to_object
525528

526529

google/genai/batches.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1087,6 +1087,9 @@ def _GenerateContentResponse_from_mldev(
10871087
if getv(from_object, ['usageMetadata']) is not None:
10881088
setv(to_object, ['usage_metadata'], getv(from_object, ['usageMetadata']))
10891089

1090+
if getv(from_object, ['modelStatus']) is not None:
1091+
setv(to_object, ['model_status'], getv(from_object, ['modelStatus']))
1092+
10901093
return to_object
10911094

10921095

@@ -1460,6 +1463,9 @@ def _Part_to_mldev(
14601463
if getv(from_object, ['tool_response']) is not None:
14611464
setv(to_object, ['toolResponse'], getv(from_object, ['tool_response']))
14621465

1466+
if getv(from_object, ['part_metadata']) is not None:
1467+
setv(to_object, ['partMetadata'], getv(from_object, ['part_metadata']))
1468+
14631469
return to_object
14641470

14651471

google/genai/caches.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -703,6 +703,9 @@ def _Part_to_mldev(
703703
if getv(from_object, ['tool_response']) is not None:
704704
setv(to_object, ['toolResponse'], getv(from_object, ['tool_response']))
705705

706+
if getv(from_object, ['part_metadata']) is not None:
707+
setv(to_object, ['partMetadata'], getv(from_object, ['part_metadata']))
708+
706709
return to_object
707710

708711

@@ -764,6 +767,9 @@ def _Part_to_vertex(
764767
if getv(from_object, ['tool_response']) is not None:
765768
raise ValueError('tool_response parameter is not supported in Vertex AI.')
766769

770+
if getv(from_object, ['part_metadata']) is not None:
771+
raise ValueError('part_metadata parameter is not supported in Vertex AI.')
772+
767773
return to_object
768774

769775

google/genai/models.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1606,6 +1606,9 @@ def _GenerateContentResponse_from_mldev(
16061606
if getv(from_object, ['usageMetadata']) is not None:
16071607
setv(to_object, ['usage_metadata'], getv(from_object, ['usageMetadata']))
16081608

1609+
if getv(from_object, ['modelStatus']) is not None:
1610+
setv(to_object, ['model_status'], getv(from_object, ['modelStatus']))
1611+
16091612
return to_object
16101613

16111614

@@ -3375,6 +3378,9 @@ def _Part_to_mldev(
33753378
if getv(from_object, ['tool_response']) is not None:
33763379
setv(to_object, ['toolResponse'], getv(from_object, ['tool_response']))
33773380

3381+
if getv(from_object, ['part_metadata']) is not None:
3382+
setv(to_object, ['partMetadata'], getv(from_object, ['part_metadata']))
3383+
33783384
return to_object
33793385

33803386

@@ -3437,6 +3443,9 @@ def _Part_to_vertex(
34373443
if getv(from_object, ['tool_response']) is not None:
34383444
raise ValueError('tool_response parameter is not supported in Vertex AI.')
34393445

3446+
if getv(from_object, ['part_metadata']) is not None:
3447+
raise ValueError('part_metadata parameter is not supported in Vertex AI.')
3448+
34403449
return to_object
34413450

34423451

google/genai/tests/models/test_generate_content_tools.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -607,7 +607,8 @@ def divide_floats(a: float, b: float) -> float:
607607
name='test_include_server_side_tool_invocations',
608608
parameters=types._GenerateContentParameters(
609609
model='gemini-3.1-pro-preview',
610-
contents=t.t_contents('Why is the sky blue?'),
610+
contents=t.t_contents(
611+
'Use Google Search to tell me about the 1970 world cup match'),
611612
config=types.GenerateContentConfig(
612613
tools=[
613614
types.Tool(

google/genai/tunings.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1314,6 +1314,20 @@ def _TuningJob_from_vertex(
13141314
if getv(from_object, ['veoTuningSpec']) is not None:
13151315
setv(to_object, ['veo_tuning_spec'], getv(from_object, ['veoTuningSpec']))
13161316

1317+
if getv(from_object, ['distillationSamplingSpec']) is not None:
1318+
setv(
1319+
to_object,
1320+
['distillation_sampling_spec'],
1321+
getv(from_object, ['distillationSamplingSpec']),
1322+
)
1323+
1324+
if getv(from_object, ['tuningJobMetadata']) is not None:
1325+
setv(
1326+
to_object,
1327+
['tuning_job_metadata'],
1328+
getv(from_object, ['tuningJobMetadata']),
1329+
)
1330+
13171331
return to_object
13181332

13191333

0 commit comments

Comments
 (0)