Link Search Menu Expand Document Documentation Menu

You're viewing version 2.12 of the OpenSearch documentation. This version is no longer maintained. For the latest version, see the current documentation. For information about OpenSearch version maintenance, see Release Schedule and Maintenance Policy.

Tools

Introduced 2.12

A tool performs a set of specific tasks. The following table lists all tools that OpenSearch supports.

Specify a tool by providing its type, parameters, and, optionally, a description. For example, you can specify an AgentTool as follows:

{
  "type": "AgentTool",
  "description": "A general agent to answer any question",
  "parameters": {
    "agent_id": "9X7xWI0Bpc3sThaJdY9i"
  }
}

Each tool takes a list of parameters specific to that tool. In the preceding example, the AgentTool takes an agent_id of the agent it will run. For a list of parameters, see each tool’s documentation.

Tool Description
AgentTool Runs any agent.
CatIndexTool Retrieves index information for the OpenSearch cluster.
IndexMappingTool Retrieves index mapping and setting information for an index.
MLModelTool Runs machine learning models.
NeuralSparseSearchTool Performs sparse vector retrieval.
PPLTool Translates natural language into a Piped Processing Language (PPL) query.
RAGTool Uses neural search or neural sparse search to retrieve documents and integrates a large language model to summarize the answers.
SearchAlertsTool Searches for alerts.
SearchAnomalyDetectorsTool Searches for anomaly detectors.
SearchAnomalyResultsTool Searches anomaly detection results generated by anomaly detectors.
SearchIndexTool Searches an index using a query written in query domain-specific language (DSL).
SearchMonitorsTool Searches for alerting monitors.
VectorDBTool Performs dense vector retrieval.
VisualizationTool Finds visualizations in OpenSearch Dashboards.

Developer information

The agents and tools framework is flexible and extensible. You can find the list of tools provided by OpenSearch in the Tools library. For a different use case, you can build your own tool by implementing the Tool interface.

350 characters left

Have a question? .

Want to contribute? or .