Skip to content

Commit 84ffdbf

Browse files
google-genai-botcopybara-github
authored andcommitted
feat(interaction-api): Add Vertex AI Search and Enterprise Web Search to Interaction API For Vertex AI.
PiperOrigin-RevId: 893615421
1 parent 0596cb5 commit 84ffdbf

File tree

4 files changed

+54
-6
lines changed

4 files changed

+54
-6
lines changed

google/genai/_interactions/types/google_search_call_content.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ class GoogleSearchCallContent(BaseModel):
3535

3636
type: Literal["google_search_call"]
3737

38-
search_type: Optional[Literal["web_search", "image_search"]] = None
38+
search_type: Optional[Literal["web_search", "image_search", "enterprise_web_search"]] = None
3939
"""The type of search grounding enabled."""
4040

4141
signature: Optional[str] = None

google/genai/_interactions/types/google_search_call_content_param.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ class GoogleSearchCallContentParam(TypedDict, total=False):
3939

4040
type: Required[Literal["google_search_call"]]
4141

42-
search_type: Literal["web_search", "image_search"]
42+
search_type: Literal["web_search", "image_search", "enterprise_web_search"]
4343
"""The type of search grounding enabled."""
4444

4545
signature: Annotated[Union[str, Base64FileInput], PropertyInfo(format="base64")]

google/genai/_interactions/types/tool.py

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@
3434
"GoogleSearch",
3535
"FileSearch",
3636
"GoogleMaps",
37+
"Retrieval",
38+
"RetrievalVertexAISearchConfig",
3739
]
3840

3941

@@ -84,7 +86,7 @@ class GoogleSearch(BaseModel):
8486

8587
type: Literal["google_search"]
8688

87-
search_types: Optional[List[Literal["web_search", "image_search"]]] = None
89+
search_types: Optional[List[Literal["web_search", "image_search", "enterprise_web_search"]]] = None
8890
"""The types of search grounding to enable."""
8991

9092

@@ -121,7 +123,29 @@ class GoogleMaps(BaseModel):
121123
"""The longitude of the user's location."""
122124

123125

126+
class RetrievalVertexAISearchConfig(BaseModel):
127+
"""Used to specify configuration for VertexAISearch."""
128+
129+
datastores: Optional[List[str]] = None
130+
"""Optional. Used to specify Vertex AI Search datastores."""
131+
132+
engine: Optional[str] = None
133+
"""Optional. Used to specify Vertex AI Search engine."""
134+
135+
136+
class Retrieval(BaseModel):
137+
"""A tool that can be used by the model to search files."""
138+
139+
type: Literal["retrieval"]
140+
141+
retrieval_types: Optional[List[Literal["vertex_ai_search"]]] = None
142+
"""The types of file search to enable."""
143+
144+
vertex_ai_search_config: Optional[RetrievalVertexAISearchConfig] = None
145+
"""Used to specify configuration for VertexAISearch."""
146+
147+
124148
Tool: TypeAlias = Annotated[
125-
Union[Function, CodeExecution, URLContext, ComputerUse, MCPServer, GoogleSearch, FileSearch, GoogleMaps],
149+
Union[Function, CodeExecution, URLContext, ComputerUse, MCPServer, GoogleSearch, FileSearch, GoogleMaps, Retrieval],
126150
PropertyInfo(discriminator="type"),
127151
]

google/genai/_interactions/types/tool_param.py

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@
3434
"GoogleSearch",
3535
"FileSearch",
3636
"GoogleMaps",
37+
"Retrieval",
38+
"RetrievalVertexAISearchConfig",
3739
]
3840

3941

@@ -84,7 +86,7 @@ class GoogleSearch(TypedDict, total=False):
8486

8587
type: Required[Literal["google_search"]]
8688

87-
search_types: List[Literal["web_search", "image_search"]]
89+
search_types: List[Literal["web_search", "image_search", "enterprise_web_search"]]
8890
"""The types of search grounding to enable."""
8991

9092

@@ -121,6 +123,28 @@ class GoogleMaps(TypedDict, total=False):
121123
"""The longitude of the user's location."""
122124

123125

126+
class RetrievalVertexAISearchConfig(TypedDict, total=False):
127+
"""Used to specify configuration for VertexAISearch."""
128+
129+
datastores: SequenceNotStr[str]
130+
"""Optional. Used to specify Vertex AI Search datastores."""
131+
132+
engine: str
133+
"""Optional. Used to specify Vertex AI Search engine."""
134+
135+
136+
class Retrieval(TypedDict, total=False):
137+
"""A tool that can be used by the model to search files."""
138+
139+
type: Required[Literal["retrieval"]]
140+
141+
retrieval_types: List[Literal["vertex_ai_search"]]
142+
"""The types of file search to enable."""
143+
144+
vertex_ai_search_config: RetrievalVertexAISearchConfig
145+
"""Used to specify configuration for VertexAISearch."""
146+
147+
124148
ToolParam: TypeAlias = Union[
125-
FunctionParam, CodeExecution, URLContext, ComputerUse, MCPServer, GoogleSearch, FileSearch, GoogleMaps
149+
FunctionParam, CodeExecution, URLContext, ComputerUse, MCPServer, GoogleSearch, FileSearch, GoogleMaps, Retrieval
126150
]

0 commit comments

Comments
 (0)