Tools

Equip EVI with Tools to enable function calling during Chats.

EVI supports tool use to enhance conversations. Tools allow EVI to trigger custom logic based on user input, such as searching the web, invoking business logic, calling an API, or updating a database.

Tool use is only supported when specifying certain supplemental LLMs within your configuration. Currently, tool use is only supported by Claude, GPT, and Gemini models. Function calling is not available if you are using your own custom language model.

For best results, we suggest choosing a fast and intelligent LLM that performs well on function calling benchmarks.

Tool types

Function tools

Also sometimes referred to as client tools, function tools are schemas containing a description and parameters.

When included in your EVI configuration, the model will infer when your function should be called and with which arguments based upon the user’s prompt and the tool schema’s tool and parameter descriptions. You then invoke a function in your application code with the provided arguments and send the result to EVI for response generation.

Function tools are user-defined, and are created and managed via our Platform UI or through the API.

Built-in tools

Often referred to as server tools, are tools which are natively implemented on the server, and therefore do not require you to define or invoke them.

EVI currently supports two built-in tools:

  1. web_search: Searches the web for real-time information when needed.
  2. hang_up: Closes the WebSocket connection with a status code of 1000 (normal closure), typically triggered when the conversation has ended.

Creating tools

You can create and manage Tools through our UI or programmatically using our API.