File size: 2,118 Bytes
5249394
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
from dataclasses import dataclass
from pickle import DICT
from autogen import ConversableAgent, UserProxyAgent, AssistantAgent
from autogen.tools import tool


from typing import Dict, Any, List





# ----------------------------------------------------------------
# General Config
# ----------------------------------------------------------------


extension_to_language = {
        '.py': 'Python',
        '.js': 'JavaScript',
        '.java': 'Java',
        '.cpp': 'C++',
        '.cxx': 'C++',
        '.cc': 'C++',
        '.c': 'C',
        '.cs': 'C#',
        '.rb': 'Ruby',
        '.php': 'PHP',
        '.html': 'HTML',
        '.htm': 'HTML',
        '.css': 'CSS',
        '.ts': 'TypeScript',
        '.go': 'Go',
        '.rs': 'Rust',
        '.swift': 'Swift',
        '.kt': 'Kotlin',
        '.m': 'Objective-C',
        '.sh': 'Shell',
        '.pl': 'Perl',
        '.r': 'R',
        '.lua': 'Lua',
        '.scala': 'Scala',
        '.sql': 'SQL',
        '.dart': 'Dart',
        '.jl': 'Julia',
        '.json': 'JSON',
        '.xml': 'XML',
        '.yml': 'YAML',
        '.yaml': 'YAML',
    }



@dataclass
class DefaultSettings:
    default_model_type: str = "google"
    default_display_language: str = "python"





@dataclass
class BaseLLMConfig:
    model_name: str
    api_key: str
    api_type: str
    temperature: float
    max_tokens: int

    def get_llm_config(self):
        return {'config_list': [
            {'model': self.model_name,
             'api_key': self.api_key,
             'api_type': self.api_type}
        ]}


@dataclass
class GeminiLLMConfig(BaseLLMConfig):
    model_name: str = "gemini-2.0-flash"
    api_key: str = "AIzaSyCYI-tm7QjAfYKKlb2wfdgnQ1aTmqh91GY"
    api_type: str = "google"
    temperature: float = 0.1
    max_tokens: int = 1024



@dataclass
class OpenAILLMConfig(BaseLLMConfig):
    model_name: str = "chatgpt-4"
    api_key: str = "api-key"
    api_type: str = "openai"
    temperature: float = 0.1
    max_tokens: int = 1024