Skip to content

Configuration

Configure Enhanced Toolkits for production use with caching, rate limiting, and security controls.

Environment Variables

Set up environment variables for API keys and configuration:

# Required for specific tools
export OPENWEATHERMAP_API_KEY="your_api_key"
export YOUTUBE_API_KEY="your_api_key"

# Optional configuration
export SEARXNG_HOST="http://localhost:8080"
export CACHE_TTL="300"
export RATE_LIMIT_DELAY="0.1"

Tool Configuration

Reasoning Tools

from enhancedtoolkits import ReasoningTools

reasoning = ReasoningTools(
    reasoning_depth=5,
    enable_bias_detection=True,
    max_iterations=10
)

Search Tools

from enhancedtoolkits import SearxngTools

search = SearxngTools(
    host="http://your-searxng:8080",
    max_results=10,
    enable_content_fetching=True,
    timeout=30
)

Finance Tools

from enhancedtoolkits import YFinanceTools

finance = YFinanceTools(
    enable_caching=True,
    cache_ttl=300,
    rate_limit_delay=0.1
)

Files Tools

from enhancedtoolkits import FilesTools

files = FilesTools(
    allowed_extensions=['.txt', '.json', '.csv'],
    max_file_size=10485760,  # 10MB
    enable_security_scan=True
)

Production Settings

For production deployments, consider these settings:

# Enable caching for all tools
tools_config = {
    'enable_caching': True,
    'cache_ttl': 300,
    'rate_limit_delay': 0.1,
    'timeout': 30,
    'max_retries': 3
}

# Apply to all tools
reasoning = ReasoningTools(**tools_config)
finance = YFinanceTools(**tools_config)
search = SearxngTools(host="http://searxng:8080", **tools_config)

Security Configuration

# Files Tools security settings
files = FilesTools(
    allowed_extensions=['.txt', '.json', '.csv', '.md'],
    blocked_extensions=['.exe', '.bat', '.sh'],
    max_file_size=10485760,  # 10MB
    enable_security_scan=True,
    scan_timeout=10
)

# Downloader Tools security settings
downloader = DownloaderTools(
    allowed_domains=['example.com', 'trusted-site.org'],
    blocked_domains=['malicious-site.com'],
    max_file_size=52428800,  # 50MB
    enable_virus_scan=True
)

Next Steps