#[non_exhaustive]pub struct Tool {
pub function_declarations: Vec<FunctionDeclaration>,
pub retrieval: Option<Retrieval>,
pub google_search: Option<GoogleSearch>,
pub google_search_retrieval: Option<GoogleSearchRetrieval>,
pub enterprise_web_search: Option<EnterpriseWebSearch>,
pub code_execution: Option<CodeExecution>,
/* private fields */
}Expand description
Tool details that the model may use to generate response.
A Tool is a piece of code that enables the system to interact with
external systems to perform an action, or set of actions, outside of
knowledge and scope of the model. A Tool object should contain exactly
one type of Tool (e.g FunctionDeclaration, Retrieval or
GoogleSearchRetrieval).
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.function_declarations: Vec<FunctionDeclaration>Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 128 function declarations can be provided.
retrieval: Option<Retrieval>Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
google_search: Option<GoogleSearch>Optional. GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google.
google_search_retrieval: Option<GoogleSearchRetrieval>Optional. GoogleSearchRetrieval tool type. Specialized retrieval tool that is powered by Google search.
enterprise_web_search: Option<EnterpriseWebSearch>Optional. Tool to support searching public web data, powered by Vertex AI Search and Sec4 compliance.
code_execution: Option<CodeExecution>Optional. CodeExecution tool type. Enables the model to execute code as part of generation.
Implementations§
Source§impl Tool
impl Tool
pub fn new() -> Self
Sourcepub fn set_function_declarations<T, V>(self, v: T) -> Self
pub fn set_function_declarations<T, V>(self, v: T) -> Self
Sets the value of function_declarations.
Sourcepub fn set_retrieval<T: Into<Option<Retrieval>>>(self, v: T) -> Self
pub fn set_retrieval<T: Into<Option<Retrieval>>>(self, v: T) -> Self
Sets the value of retrieval.
Sourcepub fn set_google_search<T: Into<Option<GoogleSearch>>>(self, v: T) -> Self
pub fn set_google_search<T: Into<Option<GoogleSearch>>>(self, v: T) -> Self
Sets the value of google_search.
Sourcepub fn set_google_search_retrieval<T: Into<Option<GoogleSearchRetrieval>>>(
self,
v: T,
) -> Self
pub fn set_google_search_retrieval<T: Into<Option<GoogleSearchRetrieval>>>( self, v: T, ) -> Self
Sets the value of google_search_retrieval.
Sourcepub fn set_enterprise_web_search<T: Into<Option<EnterpriseWebSearch>>>(
self,
v: T,
) -> Self
pub fn set_enterprise_web_search<T: Into<Option<EnterpriseWebSearch>>>( self, v: T, ) -> Self
Sets the value of enterprise_web_search.
Sourcepub fn set_code_execution<T: Into<Option<CodeExecution>>>(self, v: T) -> Self
pub fn set_code_execution<T: Into<Option<CodeExecution>>>(self, v: T) -> Self
Sets the value of code_execution.