Call Tool

Call a Tool.

Calling a Tool with inputs runs the tool’s source code and logs the result and metadata to Humanloop.

You can use query parameters version_id, or environment, to target an existing version of the Tool. Otherwise, the default deployed version will be chosen.

Instead of targeting an existing version explicitly, you can instead pass in Tool details in the request body. In this case, we will check if the details correspond to an existing version of the Tool. If they do not, we will create a new version. This is helpful in the case where you are storing or deriving your Tool details in code.

Headers

X-API-KEYstringRequired

Query parameters

version_idstringOptional
A specific Version ID of the Tool to call.
environmentstringOptional
Name of the Environment identifying a deployed version to call.

Request

This endpoint expects an object.
pathstringOptional

Path of the Tool, including the name. This locates the Tool in the Humanloop filesystem and is used as as a unique identifier. For example: folder/name or just name.

idstringOptional
ID for an existing Tool.
toolobjectOptional
Details of your Tool. A new Tool version will be created if the provided details are new.
inputsmap from strings to anyOptional
The inputs passed to the prompt template.
sourcestringOptional
Identifies where the model was called from.
metadatamap from strings to anyOptional
Any additional metadata to record.
start_timedatetimeOptional
When the logged event started.
end_timedatetimeOptional
When the logged event ended.
source_datapoint_idstringOptional

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.

trace_parent_idstringOptional
The ID of the parent Log to nest this Log under in a Trace.
userstringOptional

End-user ID related to the Log.

environmentstringOptional
The name of the Environment the Log is associated to.
savebooleanOptionalDefaults to true

Whether the request/response payloads will be stored on Humanloop.

log_idstringOptional
This will identify a Log. If you don't provide a Log ID, Humanloop will generate one for you.

Response

Successful Response
toolobject
Tool used to generate the Log.
idstring
ID of the log.
evaluator_logslist of objects
List of Evaluator Logs associated with the Log. These contain Evaluator judgments on the Log.
start_timedatetime or null
When the logged event started.
end_timedatetime or null
When the logged event ended.
outputstring or null

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.

created_atdatetime or null
User defined timestamp for when the log was created.
errorstring or null
Error message if the log is an error.
provider_latencydouble or null
Duration of the logged event in seconds.
stdoutstring or null
Captured log and debug statements.
provider_requestmap from strings to any or null
Raw request sent to provider.
provider_responsemap from strings to any or null
Raw response received the provider.
inputsmap from strings to any or null
The inputs passed to the prompt template.
sourcestring or null
Identifies where the model was called from.
metadatamap from strings to any or null
Any additional metadata to record.
source_datapoint_idstring or null

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.

trace_parent_idstring or null
The ID of the parent Log to nest this Log under in a Trace.
batcheslist of strings or null
Array of Batch IDs that this Log is part of. Batches are used to group Logs together for offline Evaluations
userstring or null

End-user ID related to the Log.

environmentstring or null
The name of the Environment the Log is associated to.
saveboolean or nullDefaults to true

Whether the request/response payloads will be stored on Humanloop.

log_idstring or null
This will identify a Log. If you don't provide a Log ID, Humanloop will generate one for you.
trace_flow_idstring or null
Identifier for the Flow that the Trace belongs to.
trace_idstring or null
ID of the Trace containing the Tool Call Log.
trace_childrenlist of objects or null
Logs nested under this Log in the Trace.

Errors