2 KiB
2 KiB
USE TOOL
Syntax
USE TOOL tool-name
Parameters
| Parameter | Type | Description |
|---|---|---|
| tool-name | String | Name of the tool to load (without .bas extension) |
Description
Loads a tool definition and makes it available to the LLM for the current session. Tools extend the bot's capabilities with specific functions like calculations, API calls, or data processing.
Examples
Basic Usage
' Load weather tool
USE TOOL "weather"
' Now LLM can use weather functions
answer = LLM "What's the weather in Tokyo?"
TALK answer
Multiple Tools
' Load several tools
USE TOOL "calculator"
USE TOOL "translator"
USE TOOL "date-time"
' LLM has access to all loaded tools
response = LLM "Calculate 15% tip on $45.80 and translate to Spanish"
TALK response
Conditional Loading
user_type = GET "user_type"
IF user_type = "admin" THEN
USE TOOL "admin-functions"
USE TOOL "database-query"
ELSE
USE TOOL "basic-search"
END IF
With Error Handling
tool_needed = "advanced-analytics"
IF FILE EXISTS tool_needed + ".bas" THEN
USE TOOL tool_needed
TALK "Analytics tool loaded"
ELSE
TALK "Advanced features not available"
END IF
Tool Definition Format
Tools are defined as BASIC scripts with PARAM declarations:
' weather.bas
PARAM location AS string LIKE "Tokyo" DESCRIPTION "City name"
DESCRIPTION "Get current weather for a location"
' Tool logic here
temp = GET_TEMPERATURE(location)
conditions = GET_CONDITIONS(location)
result = location + ": " + temp + "°, " + conditions
RETURN result
Notes
- Tools remain active for the entire session
- Use CLEAR TOOLS to remove all loaded tools
- Tool names should be descriptive
- Tools are loaded from the .gbdialog/tools/ directory
- Maximum 10 tools can be active simultaneously