You're viewing version 2.17 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.
Agent tool
Introduced 2.13
The AgentTool
runs any agent.
Step 1: Set up an agent for AgentTool to run
Set up any agent. For example, set up a flow agent that runs an MLModelTool
by following the steps in the ML Model Tool documentation and obtain its agent ID from Step 3:
{
"agent_id": "9X7xWI0Bpc3sThaJdY9i"
}
Step 2: Register a flow agent that will run the AgentTool
A flow agent runs a sequence of tools in order and returns the last tool’s output. To create a flow agent, send the following register agent request, providing the agent ID from the previous step:
POST /_plugins/_ml/agents/_register
{
"name": "Test agent tool",
"type": "flow",
"description": "this is a test agent",
"tools": [
{
"type": "AgentTool",
"description": "A general agent to answer any question",
"parameters": {
"agent_id": "9X7xWI0Bpc3sThaJdY9i"
}
}
]
}
For parameter descriptions, see Register parameters.
OpenSearch responds with an agent ID:
{
"agent_id": "EQyyZ40BT2tRrkdmhT7_"
}
Step 3: Run the agent
Run the agent by sending the following request:
POST /_plugins/_ml/agents/EQyyZ40BT2tRrkdmhT7_/_execute
{
"parameters": {
"question": "what's the population increase of Seattle from 2021 to 2023"
}
}
OpenSearch returns the inference results:
{
"inference_results": [
{
"output": [
{
"name": "response",
"result": " I do not have direct data on the population increase of Seattle from 2021 to 2023 in the context provided. As a data analyst, I would need to research population statistics from credible sources like the US Census Bureau to analyze population trends and make an informed estimate. Without looking up actual data, I don't have enough information to provide a specific answer to the question."
}
]
}
]
}
Register parameters
The following table lists all tool parameters that are available when registering an agent.
Parameter | Type | Required/Optional | Description |
---|---|---|---|
agent_id | String | Required | The agent ID of the agent to run. |
Execute parameters
The following table lists all tool parameters that are available when running the agent.
Parameter | Type | Required/Optional | Description |
---|---|---|---|
question | String | Required | The natural language question to send to the LLM. |