Agent tool
Introduced 2.12
This is an experimental feature and is not recommended for use in a production environment. For updates on the progress of the feature or if you want to leave feedback, see the associated GitHub issue.
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"
}
}
]
}
copy
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"
}
}
copy
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. |