""" Default configuration values for the GAIA agent. This module defines the default configuration structure and values used by GAIA when no overrides are provided. It serves as both documentation of available options and as a fallback when specific values are not set in environment variables or configuration files. """ from typing import Dict, Any # Default Configuration Dictionary DEFAULT_CONFIG: Dict[str, Any] = { # API Keys and Endpoints (Empty by default, should be provided by env vars) "api": { "openai": { "api_key": "", "api_base": "https://api.openai.com/v1", }, "serper": { "api_key": "", "api_url": "https://google.serper.dev/search", }, "perplexity": { "api_key": "", "api_url": "https://api.perplexity.ai", }, "supabase": { "key": "", "url": "https://tjamxhvvtnypbadvrkjq.supabase.co", "project_id": "tjamxhvvtnypbadvrkjq", "project_name": "HF_GAIA_Assessment_AGT", }, "huggingface": { "token": "", "api_url": "https://api-inference.huggingface.co/models", }, }, # Model Configuration "models": { "default_model": "gpt-4o", "embedding_model": "text-embedding-3-large", "fallback_model": "gpt-3.5-turbo", "vision_model": "gpt-4o", "reasoning_model": "gpt-4o", "temperature": 0.1, "max_tokens": 4096, }, # Tool Configuration "tools": { "web_search": { "result_count": 5, "timeout": 10, }, "arxiv": { "max_results": 3, }, "duckduckgo": { "timeout": 10, "max_results": 5, }, "perplexity": { "timeout": 30, "model": "sonar-reasoning", }, "web_scraping": { "timeout": 15, "max_links": 3, "max_content_length": 10000, }, }, # Memory Settings "memory": { "enabled": True, "table_name": "gaia_memory", "ttl": 86400, # 24 hours in seconds "cache_size": 100, "similarity_threshold": 0.85, "max_entries": 1000, # Memory Components "supabase": { "enabled": False, # Disabled by default until credentials are provided }, "conversation": { "enabled": True, }, "cache": { "enabled": True, }, "working": { "enabled": True, }, }, # Agent Settings "agent": { "max_iterations": 10, "verbose": False, "timeout": 300, # 5 minutes in seconds "max_retries": 3, "retry_delay": 2, # seconds "parallel_tool_execution": False, }, # Logging Configuration "logging": { "level": "INFO", "file": "gaia_agent.log", "format": "%(asctime)s - %(name)s - %(levelname)s - %(message)s", }, # Multimodal Settings "multimodal": { "image_max_size": 1024, # pixels "image_format": "JPEG", "vision_detail_level": "high", # low, medium, high }, # Web Browsing Settings "browser": { "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36", "timeout": 30, "headless": True, "images_enabled": True, }, }