Class Tool


public abstract class Tool extends JsonSerializable
Tool details of a tool that the model may use to generate a response.
  • Constructor Details

    • Tool

      public Tool()
  • Method Details

    • retrieval

      public abstract Optional<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.
    • functions

      public abstract Optional<List<Method>> 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.
    • computerUse

      public abstract Optional<ComputerUse> computerUse()
      Optional. Tool to support the model interacting directly with the computer. If enabled, it automatically populates computer-use specific Function Declarations.
    • fileSearch

      public abstract Optional<FileSearch> fileSearch()
      Optional. Tool to retrieve knowledge from the File Search Stores.
    • codeExecution

      public abstract Optional<ToolCodeExecution> codeExecution()
      Optional. CodeExecution tool type. Enables the model to execute code as part of generation.
    • enterpriseWebSearch

      public abstract Optional<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.
    • functionDeclarations

      public abstract Optional<List<FunctionDeclaration>> functionDeclarations()
      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 512 function declarations can be provided.
    • googleMaps

      public abstract Optional<GoogleMaps> googleMaps()
      Optional. GoogleMaps tool type. Tool to support Google Maps in Model.
    • googleSearch

      public abstract Optional<GoogleSearch> googleSearch()
      Optional. GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google.
    • googleSearchRetrieval

      public abstract Optional<GoogleSearchRetrieval> googleSearchRetrieval()
      Optional. Specialized retrieval tool that is powered by Google Search.
    • urlContext

      public abstract Optional<UrlContext> urlContext()
      Optional. Tool to support URL context retrieval.
    • builder

      public static Tool.Builder builder()
      Instantiates a builder for Tool.
    • toBuilder

      public abstract Tool.Builder toBuilder()
      Creates a builder with the same values as this instance.
    • fromJson

      public static Tool fromJson(String jsonString)
      Deserializes a JSON string to a Tool object.