How to Add Built-in Tools
How to Add Custom Tools via tools.py
Tool Resolution Order
| Priority | Source | Description |
|---|---|---|
| 1 | tools.py | Recipe-local tools.py |
| 2 | Built-in | praisonaiagents built-in tools |
| 3 | Package | praisonai_tools package |
Step-by-step guide to adding and configuring tools in recipes
Add Tools to agents.yaml
# agents.yaml
framework: praisonai
topic: "{{task}}"
roles:
researcher:
role: Research Agent
goal: Research topics thoroughly
tools:
- internet_search
- shell_tool
- file_read_tool
tasks:
search_task:
description: "Search for {{topic}}"
Create tools.py in Recipe Directory
# tools.py
def my_custom_tool(query: str) -> str:
"""Custom tool that processes a query.
Args:
query: The input query to process
Returns:
Processed result as string
"""
return f"Processed: {query}"
def another_tool(data: str) -> dict:
"""Another custom tool.
Args:
data: Input data
Returns:
Dictionary with results
"""
return {"result": data, "status": "success"}
Reference in agents.yaml
roles:
processor:
role: Data Processor
tools:
- my_custom_tool
- another_tool
tasks:
process_task:
description: "Process the data"
| Priority | Source | Description |
|---|---|---|
| 1 | tools.py | Recipe-local tools.py |
| 2 | Built-in | praisonaiagents built-in tools |
| 3 | Package | praisonai_tools package |