Skip to content

Commit 12b404b

Browse files
MarkDaoustcopybara-github
authored andcommitted
feat: Add service tier to GenerateContent.
PiperOrigin-RevId: 890679445
1 parent b07002e commit 12b404b

File tree

3 files changed

+29
-0
lines changed

3 files changed

+29
-0
lines changed

google/genai/batches.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1052,6 +1052,9 @@ def _GenerateContentConfig_to_mldev(
10521052
'model_armor_config parameter is not supported in Gemini API.'
10531053
)
10541054

1055+
if getv(from_object, ['service_tier']) is not None:
1056+
setv(parent_object, ['serviceTier'], getv(from_object, ['service_tier']))
1057+
10551058
return to_object
10561059

10571060

google/genai/models.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1316,6 +1316,9 @@ def _GenerateContentConfig_to_mldev(
13161316
'model_armor_config parameter is not supported in Gemini API.'
13171317
)
13181318

1319+
if getv(from_object, ['service_tier']) is not None:
1320+
setv(parent_object, ['serviceTier'], getv(from_object, ['service_tier']))
1321+
13191322
return to_object
13201323

13211324

@@ -1502,6 +1505,9 @@ def _GenerateContentConfig_to_vertex(
15021505
getv(from_object, ['model_armor_config']),
15031506
)
15041507

1508+
if getv(from_object, ['service_tier']) is not None:
1509+
raise ValueError('service_tier parameter is not supported in Vertex AI.')
1510+
15051511
return to_object
15061512

15071513

google/genai/types.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -831,6 +831,19 @@ class ResourceScope(_common.CaseInSensitiveEnum):
831831
"https://aiplatform.googleapis.com/publishers/google/models/gemini-3-pro-preview"""
832832

833833

834+
class ServiceTier(_common.CaseInSensitiveEnum):
835+
"""Pricing and performance service tier."""
836+
837+
SERVICE_TIER_UNSPECIFIED = 'SERVICE_TIER_UNSPECIFIED'
838+
"""Default service tier, which is standard."""
839+
SERVICE_TIER_FLEX = 'SERVICE_TIER_FLEX'
840+
"""Flex service tier."""
841+
SERVICE_TIER_STANDARD = 'SERVICE_TIER_STANDARD'
842+
"""Standard service tier."""
843+
SERVICE_TIER_PRIORITY = 'SERVICE_TIER_PRIORITY'
844+
"""Priority service tier."""
845+
846+
834847
class JSONSchemaType(Enum):
835848
"""The type of the data supported by JSON Schema.
836849

@@ -5937,6 +5950,10 @@ class GenerateContentConfig(_common.BaseModel):
59375950
service. If supplied, safety_settings must not be supplied.
59385951
""",
59395952
)
5953+
service_tier: Optional[ServiceTier] = Field(
5954+
default=None,
5955+
description="""The service tier to use for the request. For example, SERVICE_TIER_FLEX.""",
5956+
)
59405957

59415958
@pydantic.field_validator('response_schema', mode='before')
59425959
@classmethod
@@ -6151,6 +6168,9 @@ class GenerateContentConfigDict(TypedDict, total=False):
61516168
service. If supplied, safety_settings must not be supplied.
61526169
"""
61536170

6171+
service_tier: Optional[ServiceTier]
6172+
"""The service tier to use for the request. For example, SERVICE_TIER_FLEX."""
6173+
61546174

61556175
GenerateContentConfigOrDict = Union[
61566176
GenerateContentConfig, GenerateContentConfigDict

0 commit comments

Comments
 (0)