Tools
Tool types for function calling with LLMs.
Tools allow LLMs to invoke external functions. Define tools with a name, description, and JSON Schema parameters.
const tools = [
{
type: "function",
definition: {
schema: {
name: "get_weather",
description: "Get the current weather for a location",
parameters: {
type: "object",
properties: {
location: {
type: "string",
description: "City name, e.g. San Francisco",
},
unit: {
type: "string",
enum: ["celsius", "fahrenheit"],
description: "Temperature unit",
},
},
required: ["location"],
},
},
},
handler: async (args) => {
// Your function logic here
return { temperature: 72, condition: "sunny" };
},
},
];
Fields
The tool type. Currently only "function" is supported.
The function schema following JSON Schema format.
The function name. Must be a-z, A-Z, 0-9, underscores, or dashes.
A description of what the function does. Helps the model decide when to call it.
JSON Schema object describing the function parameters.
An async function that executes when the tool is called via gateway.getToolResponses(). Receives the parsed arguments and returns the result.