Call Agent
Call an Agent. The Agent will run on the Humanloop runtime and return a completed Agent Log.
If the Agent requires a tool call that cannot be ran by Humanloop, execution will halt. To continue, pass the ID of the incomplete Log and the required tool call to the /agents/continue endpoint.
The agent will run for the maximum number of iterations, or until it encounters a stop condition, according to its configuration.
You can use query parameters version_id
, or environment
, to target
an existing version of the Agent. Otherwise the default deployed version will be chosen.
Instead of targeting an existing version explicitly, you can instead pass in Agent details in the request body. A new version is created if it does not match any existing ones. This is helpful in the case where you are storing or deriving your Agent details in code.
Headers
Query parameters
Request
If true, Agent events and tokens will be sent as data-only server-sent events.
Path of the Agent, including the name. This locates the Agent in the Humanloop filesystem and is used as as a unique identifier. For example: folder/name
or just name
.
Controls how the model uses tools. The following options are supported:
'none'
means the model will not call any tool and instead generates a message; this is the default when no tools are provided as part of the Prompt.'auto'
means the model can decide to call one or more of the provided tools; this is the default when tools are provided as part of the Prompt.'required'
means the model must call one or more of the provided tools.{'type': 'function', 'function': {name': <TOOL_NAME>}}
forces the model to use the named function.
The Agent configuration to use. Two formats are supported:
- An object representing the details of the Agent configuration
- A string representing the raw contents of a .agent file
A new Agent version will be created if the provided details do not match any existing version.
Unique identifier for the Datapoint that this Log is derived from. This can be used by Humanloop to associate Logs to Evaluations. If provided, Humanloop will automatically associate this Log to Evaluations that require a Log for this Datapoint-Version pair.
End-user ID related to the Log.
Whether the request/response payloads will be stored on Humanloop.
If true, populate trace_children
for the returned Agent Log. Only applies when not streaming. Defaults to false.
Response
Controls how the model uses tools. The following options are supported:
'none'
means the model will not call any tool and instead generates a message; this is the default when no tools are provided as part of the Prompt.'auto'
means the model can decide to call one or more of the provided tools; this is the default when tools are provided as part of the Prompt.'required'
means the model must call one or more of the provided tools.{'type': 'function', 'function': {name': <TOOL_NAME>}}
forces the model to use the named function.
Generated output from your model for the provided inputs. Can be None
if logging an error, or if creating a parent Log with the intention to populate it later.
Status of the Agent Log. If incomplete
, the Agent turn was suspended due to a tool call and can be continued by calling /agents/continue with responses to the Agent’s last message (which should contain tool calls). See the previous_agent_message
field for easy access to the Agent’s last message.
Unique identifier for the Datapoint that this Log is derived from. This can be used by Humanloop to associate Logs to Evaluations. If provided, Humanloop will automatically associate this Log to Evaluations that require a Log for this Datapoint-Version pair.
End-user ID related to the Log.
Whether the request/response payloads will be stored on Humanloop.
The Agent’s last message, which should contain tool calls. Only populated if the Log is incomplete due to a suspended Agent turn with tool calls. This is useful for continuing the Agent call by calling /agents/continue.