Incoming Tools
Zylon’s assistant can seamlessly interact with external tools and functions, significantly broadening its capabilities and enabling it to handle a wider variety of tasks directly inside conversations. Tools can be invoked and managed in real time within dialogues, allowing the assistant to dynamically integrate them into its responses. Within this framework, tools fall into two main categories:- Built-in Tools: Built-in Tools: Zylon provides four ready-to-use tools designed for the most common scenarios.
- Custom Tools : You can create your own tools tailored to specific workflows, defining parameters, supported operations, and unique behaviors to match specialized requirements.
Built-in vs Custom Tools: Zylon equips you with flexible built-in tools for everyday tasks, while also giving you the freedom to design custom solutions for advanced or domain-specific needs.
Core Configuration Fields
When integrating tools with the Messages API, you’ll work with three main configuration objects:tools
- Tool Specifications Array
Defines which tools are available for the AI to use during the conversation.
toolspec
object defines a single tool and is used inside the tools
parameter, which accepts an array of toolspec
objects.
Tool Specification Requirements
- For built-in tools, it is necessary to specify the
name
andtype
fields. - For custom tools, you must provide at least the following fields:
name
: unique identifier for the tooldescription
: a human-readable explanation of what the tool doesinput_schema
: defines the structure of the input parameters expected by the tool, typically in JSON Schema format.
tool_choice
- Selection Strategy
Controls how the AI decides when and which tools to use.
tool_choice
parameter allows you to control the criteria for selecting which tool the AI should use and when:
-
type
(Default:"auto"
):"auto"
: The system automatically decides which tool(s) to use based on the list provided intools
."tool"
: Instructs the system to use an specific tool."none"
: Instructs the system not to use any tools.
-
name
(Required iftype
is"tool"
): The name of the tool to invoke explicitly. -
disable_parallel_tool_use
(Default:false
): If set totrue
, prevents calling multiple tools simultaneously. -
validation_mode
(Default:"lazy"
):"eager"
: Validate tool calls before execution."lazy"
: Validate tool calls only when actually invoked.
tool_context
- Contextual Data
Provides the context for tools.
tool_context
depends on the tool selected, as described in Context Artifacts section of the documentation.
How to Configure Tool Usage
Using Built-in Tools
When working with built-in tools:- Define your tool(s) in the
tools
array usingname
andtype
fields. - Provide the corresponding
tool_context
with the appropriate artifact type that matches the tool’s requirements (see Context Artifacts). - Optionally configure how tools are selected with
tool_choice
. By default, this is set to"auto"
for dynamic tool selection.
Using Custom Tools
For custom tools:- Specify
name
,description
, and a validinput_schema
in the tool specification. - Optionally configure how tools are selected with
tool_choice
.
Context Artifacts
Different tools require specific artifact types depending on the nature of the task. Selecting the correct context artifact is essential for proper execution.Tool | Ingested Artifact | SqlDatabase Artifact | Notes |
---|---|---|---|
semantic_search_v1 | ✓ | x | |
tabular_analysis_v1 | ✓ | x | |
database_query_v1 | x | ✓ | |
web_extract_v1 | x | x | Web URL must be included in message content |
Ingested Artifact
Used for already processed or ingested content such as documents, spreadsheets, or HTML files.SQL Database Artifact
Used for connecting and interacting with SQL databases. Allows specifying connection strings, schemas, and SSL configuration.Context Matching: Ensure your tool context matches the requirements of your selected tools. Different tools expect different artifact types.
Built-in Tools
Zylon provides four built-in tools available for immediate use:Tool | Purpose | |
---|---|---|
semantic_search_v1 | Perform semantic search across documents | Semantic Search Tool |
tabular_analysis_v1 | Analyze structured data (CSV, Excel) | Tabular Analysis Tool |
web_extract_v1 | Extract and analyze web content | Web Extract Tool |
database_query_v1 | Execute SQL database operations | Database Query Tool |