Class Tool.Builder

java.lang.Object
com.google.genai.types.Tool.Builder
Enclosing class:
Tool

public abstract static class Tool.Builder extends Object
Builder for Tool.
  • Constructor Details

    • Builder

      public Builder()
  • Method Details

    • functionDeclarations

      public abstract Tool.Builder functionDeclarations(List<FunctionDeclaration> functionDeclarations)
      Setter for functionDeclarations.

      functionDeclarations: List of function declarations that the tool supports.

    • functionDeclarations

      @CanIgnoreReturnValue public Tool.Builder functionDeclarations(FunctionDeclaration... functionDeclarations)
      Setter for functionDeclarations.

      functionDeclarations: List of function declarations that the tool supports.

    • functionDeclarations

      @CanIgnoreReturnValue public Tool.Builder functionDeclarations(FunctionDeclaration.Builder... functionDeclarationsBuilders)
      Setter for functionDeclarations builder.

      functionDeclarations: List of function declarations that the tool supports.

    • clearFunctionDeclarations

      @CanIgnoreReturnValue public Tool.Builder clearFunctionDeclarations()
      Clears the value of functionDeclarations field.
    • retrieval

      public abstract Tool.Builder retrieval(Retrieval retrieval)
      Setter for retrieval.

      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. This field is not supported in Gemini API.

    • retrieval

      @CanIgnoreReturnValue public Tool.Builder retrieval(Retrieval.Builder retrievalBuilder)
      Setter for retrieval builder.

      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. This field is not supported in Gemini API.

    • clearRetrieval

      @CanIgnoreReturnValue public Tool.Builder clearRetrieval()
      Clears the value of retrieval field.
    • googleSearchRetrieval

      public abstract Tool.Builder googleSearchRetrieval(GoogleSearchRetrieval googleSearchRetrieval)
      Setter for googleSearchRetrieval.

      googleSearchRetrieval: Optional. Specialized retrieval tool that is powered by Google Search.

    • googleSearchRetrieval

      @CanIgnoreReturnValue public Tool.Builder googleSearchRetrieval(GoogleSearchRetrieval.Builder googleSearchRetrievalBuilder)
      Setter for googleSearchRetrieval builder.

      googleSearchRetrieval: Optional. Specialized retrieval tool that is powered by Google Search.

    • clearGoogleSearchRetrieval

      @CanIgnoreReturnValue public Tool.Builder clearGoogleSearchRetrieval()
      Clears the value of googleSearchRetrieval field.
    • functions

      public abstract Tool.Builder functions(List<Method> functions)
      Setter for functions.

      functions: The java.lang.reflect.Method instance. If provided, it will to be parsed into a list of FunctionDeclaration instances, and be assigned to the functionDeclarations field.

    • functions

      @CanIgnoreReturnValue public Tool.Builder functions(Method... functions)
      Setter for functions.

      functions: The java.lang.reflect.Method instance. If provided, it will to be parsed into a list of FunctionDeclaration instances, and be assigned to the functionDeclarations field.

    • clearFunctions

      @CanIgnoreReturnValue public Tool.Builder clearFunctions()
      Clears the value of functions field.
    • computerUse

      public abstract Tool.Builder computerUse(ComputerUse computerUse)
      Setter for computerUse.

      computerUse: Optional. Tool to support the model interacting directly with the computer. If enabled, it automatically populates computer-use specific Function Declarations.

    • computerUse

      @CanIgnoreReturnValue public Tool.Builder computerUse(ComputerUse.Builder computerUseBuilder)
      Setter for computerUse builder.

      computerUse: Optional. Tool to support the model interacting directly with the computer. If enabled, it automatically populates computer-use specific Function Declarations.

    • clearComputerUse

      @CanIgnoreReturnValue public Tool.Builder clearComputerUse()
      Clears the value of computerUse field.
    • fileSearch

      public abstract Tool.Builder fileSearch(FileSearch fileSearch)
      Setter for fileSearch.

      fileSearch: Optional. Tool to retrieve knowledge from the File Search Stores.

    • fileSearch

      @CanIgnoreReturnValue public Tool.Builder fileSearch(FileSearch.Builder fileSearchBuilder)
      Setter for fileSearch builder.

      fileSearch: Optional. Tool to retrieve knowledge from the File Search Stores.

    • clearFileSearch

      @CanIgnoreReturnValue public Tool.Builder clearFileSearch()
      Clears the value of fileSearch field.
    • codeExecution

      public abstract Tool.Builder codeExecution(ToolCodeExecution codeExecution)
      Setter for codeExecution.

      codeExecution: Optional. CodeExecution tool type. Enables the model to execute code as part of generation.

    • codeExecution

      @CanIgnoreReturnValue public Tool.Builder codeExecution(ToolCodeExecution.Builder codeExecutionBuilder)
      Setter for codeExecution builder.

      codeExecution: Optional. CodeExecution tool type. Enables the model to execute code as part of generation.

    • clearCodeExecution

      @CanIgnoreReturnValue public Tool.Builder clearCodeExecution()
      Clears the value of codeExecution field.
    • enterpriseWebSearch

      public abstract Tool.Builder enterpriseWebSearch(EnterpriseWebSearch enterpriseWebSearch)
      Setter for enterpriseWebSearch.

      enterpriseWebSearch: Optional. Tool to support searching public web data, powered by Vertex AI Search and Sec4 compliance. This field is not supported in Gemini API.

    • enterpriseWebSearch

      @CanIgnoreReturnValue public Tool.Builder enterpriseWebSearch(EnterpriseWebSearch.Builder enterpriseWebSearchBuilder)
      Setter for enterpriseWebSearch builder.

      enterpriseWebSearch: Optional. Tool to support searching public web data, powered by Vertex AI Search and Sec4 compliance. This field is not supported in Gemini API.

    • clearEnterpriseWebSearch

      @CanIgnoreReturnValue public Tool.Builder clearEnterpriseWebSearch()
      Clears the value of enterpriseWebSearch field.
    • googleMaps

      public abstract Tool.Builder googleMaps(GoogleMaps googleMaps)
      Setter for googleMaps.

      googleMaps: Optional. GoogleMaps tool type. Tool to support Google Maps in Model.

    • googleMaps

      @CanIgnoreReturnValue public Tool.Builder googleMaps(GoogleMaps.Builder googleMapsBuilder)
      Setter for googleMaps builder.

      googleMaps: Optional. GoogleMaps tool type. Tool to support Google Maps in Model.

    • clearGoogleMaps

      @CanIgnoreReturnValue public Tool.Builder clearGoogleMaps()
      Clears the value of googleMaps field.
    • googleSearch

      public abstract Tool.Builder googleSearch(GoogleSearch googleSearch)
      Setter for googleSearch.

      googleSearch: Optional. GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google.

    • googleSearch

      @CanIgnoreReturnValue public Tool.Builder googleSearch(GoogleSearch.Builder googleSearchBuilder)
      Setter for googleSearch builder.

      googleSearch: Optional. GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google.

    • clearGoogleSearch

      @CanIgnoreReturnValue public Tool.Builder clearGoogleSearch()
      Clears the value of googleSearch field.
    • urlContext

      public abstract Tool.Builder urlContext(UrlContext urlContext)
      Setter for urlContext.

      urlContext: Optional. Tool to support URL context retrieval.

    • urlContext

      @CanIgnoreReturnValue public Tool.Builder urlContext(UrlContext.Builder urlContextBuilder)
      Setter for urlContext builder.

      urlContext: Optional. Tool to support URL context retrieval.

    • clearUrlContext

      @CanIgnoreReturnValue public Tool.Builder clearUrlContext()
      Clears the value of urlContext field.
    • build

      public abstract Tool build()