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.