File size: 3,574 Bytes
c922f8b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
"""
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,
    },
}