Update api/config.py
Browse files- api/config.py +130 -80
api/config.py
CHANGED
@@ -1,102 +1,152 @@
|
|
1 |
-
# config.py
|
2 |
-
|
3 |
-
from __future__ import annotations
|
4 |
-
|
5 |
import os
|
6 |
-
import
|
7 |
-
|
|
|
8 |
|
9 |
# Base URL
|
10 |
BASE_URL = "https://www.blackbox.ai"
|
11 |
|
12 |
-
#
|
13 |
APP_SECRET = os.getenv("APP_SECRET")
|
14 |
|
15 |
# Default Model
|
16 |
-
DEFAULT_MODEL =
|
17 |
|
18 |
-
#
|
19 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
|
21 |
-
#
|
22 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
|
24 |
# Agent Modes
|
25 |
AGENT_MODE = {
|
26 |
-
|
27 |
}
|
28 |
|
29 |
-
# Trending Agent Modes
|
30 |
TRENDING_AGENT_MODE = {
|
31 |
-
"gemini-1.5-flash": {
|
32 |
-
"llama-3.1-8b": {
|
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 |
# Model Prefixes
|
70 |
MODEL_PREFIXES = {
|
71 |
-
mode: f"@{value['id']}"
|
|
|
72 |
if mode not in ["gemini-1.5-flash", "llama-3.1-8b", "llama-3.1-70b", "llama-3.1-405b", "repomap"]
|
73 |
}
|
74 |
-
|
75 |
-
# Models List
|
76 |
-
MODELS = [
|
77 |
-
DEFAULT_MODEL,
|
78 |
-
*USER_SELECTED_MODELS,
|
79 |
-
*list(AGENT_MODE.keys()),
|
80 |
-
*list(TRENDING_AGENT_MODE.keys()),
|
81 |
-
]
|
82 |
-
|
83 |
-
# Model Aliases
|
84 |
-
MODEL_ALIASES = {
|
85 |
-
"gemini-flash": "gemini-1.5-flash",
|
86 |
-
"claude-3.5-sonnet": "claude-sonnet-3.5",
|
87 |
-
"flux": "Image Generation",
|
88 |
-
}
|
89 |
-
|
90 |
-
# Function to get the model name
|
91 |
-
def get_model(model: str) -> str:
|
92 |
-
if model in MODELS:
|
93 |
-
return model
|
94 |
-
elif model in MODEL_ALIASES:
|
95 |
-
return MODEL_ALIASES[model]
|
96 |
-
else:
|
97 |
-
return DEFAULT_MODEL
|
98 |
-
|
99 |
-
# Function to generate a random alphanumeric ID
|
100 |
-
def generate_id(length=7):
|
101 |
-
characters = string.ascii_letters + string.digits
|
102 |
-
return ''.join(random.choice(characters) for _ in range(length))
|
|
|
|
|
|
|
|
|
|
|
1 |
import os
|
2 |
+
from dotenv import load_dotenv
|
3 |
+
|
4 |
+
load_dotenv()
|
5 |
|
6 |
# Base URL
|
7 |
BASE_URL = "https://www.blackbox.ai"
|
8 |
|
9 |
+
# APP_SECRET
|
10 |
APP_SECRET = os.getenv("APP_SECRET")
|
11 |
|
12 |
# Default Model
|
13 |
+
DEFAULT_MODEL = "blackboxai"
|
14 |
|
15 |
+
# Allowed Models
|
16 |
+
ALLOWED_MODELS = [
|
17 |
+
"blackboxai",
|
18 |
+
"blackboxai-pro",
|
19 |
+
"gpt-4o",
|
20 |
+
"gemini-pro",
|
21 |
+
"gemini-1.5-flash",
|
22 |
+
"claude-sonnet-3.5",
|
23 |
+
"Image Generation",
|
24 |
+
"repomap",
|
25 |
+
"Python Agent",
|
26 |
+
"Java Agent",
|
27 |
+
"JavaScript Agent",
|
28 |
+
"HTML Agent",
|
29 |
+
"Google Cloud Agent",
|
30 |
+
"Android Developer",
|
31 |
+
"Swift Developer",
|
32 |
+
"Next.js Agent",
|
33 |
+
"MongoDB Agent",
|
34 |
+
"PyTorch Agent",
|
35 |
+
"React Agent",
|
36 |
+
"Xcode Agent",
|
37 |
+
"AngularJS Agent",
|
38 |
+
"Heroku Agent",
|
39 |
+
"Godot Agent",
|
40 |
+
"Go Agent",
|
41 |
+
"Gitlab Agent",
|
42 |
+
"Git Agent",
|
43 |
+
"Flask Agent",
|
44 |
+
"Firebase Agent",
|
45 |
+
"FastAPI Agent",
|
46 |
+
"Erlang Agent",
|
47 |
+
"Electron Agent",
|
48 |
+
"Docker Agent",
|
49 |
+
"DigitalOcean Agent",
|
50 |
+
"Bitbucket Agent",
|
51 |
+
"Azure Agent",
|
52 |
+
"Flutter Agent",
|
53 |
+
"Youtube Agent",
|
54 |
+
"builder Agent",
|
55 |
+
]
|
56 |
|
57 |
+
# Model Mapping
|
58 |
+
MODEL_MAPPING = {
|
59 |
+
"blackboxai": "blackboxai",
|
60 |
+
"blackboxai-pro": "blackboxai-pro",
|
61 |
+
"gpt-4o": "gpt-4o",
|
62 |
+
"gemini-pro": "gemini-pro",
|
63 |
+
"gemini-1.5-flash": "gemini-1.5-flash",
|
64 |
+
"claude-sonnet-3.5": "claude-sonnet-3.5",
|
65 |
+
"gemini-flash": "gemini-1.5-flash",
|
66 |
+
"claude-3.5-sonnet": "claude-sonnet-3.5",
|
67 |
+
"flux": "Image Generation",
|
68 |
+
# Agent Models
|
69 |
+
"Image Generation": "Image Generation",
|
70 |
+
"repomap": "repomap",
|
71 |
+
"Python Agent": "Python Agent",
|
72 |
+
"Java Agent": "Java Agent",
|
73 |
+
"JavaScript Agent": "JavaScript Agent",
|
74 |
+
"HTML Agent": "HTML Agent",
|
75 |
+
"Google Cloud Agent": "Google Cloud Agent",
|
76 |
+
"Android Developer": "Android Developer",
|
77 |
+
"Swift Developer": "Swift Developer",
|
78 |
+
"Next.js Agent": "Next.js Agent",
|
79 |
+
"MongoDB Agent": "MongoDB Agent",
|
80 |
+
"PyTorch Agent": "PyTorch Agent",
|
81 |
+
"React Agent": "React Agent",
|
82 |
+
"Xcode Agent": "Xcode Agent",
|
83 |
+
"AngularJS Agent": "AngularJS Agent",
|
84 |
+
"Heroku Agent": "Heroku Agent",
|
85 |
+
"Godot Agent": "Godot Agent",
|
86 |
+
"Go Agent": "Go Agent",
|
87 |
+
"Gitlab Agent": "Gitlab Agent",
|
88 |
+
"Git Agent": "Git Agent",
|
89 |
+
"Flask Agent": "Flask Agent",
|
90 |
+
"Firebase Agent": "Firebase Agent",
|
91 |
+
"FastAPI Agent": "FastAPI Agent",
|
92 |
+
"Erlang Agent": "Erlang Agent",
|
93 |
+
"Electron Agent": "Electron Agent",
|
94 |
+
"Docker Agent": "Docker Agent",
|
95 |
+
"DigitalOcean Agent": "DigitalOcean Agent",
|
96 |
+
"Bitbucket Agent": "Bitbucket Agent",
|
97 |
+
"Azure Agent": "Azure Agent",
|
98 |
+
"Flutter Agent": "Flutter Agent",
|
99 |
+
"Youtube Agent": "Youtube Agent",
|
100 |
+
"builder Agent": "builder Agent",
|
101 |
+
}
|
102 |
|
103 |
# Agent Modes
|
104 |
AGENT_MODE = {
|
105 |
+
"Image Generation": {"mode": True, "id": "ImageGenerationLV45LJp", "name": "Image Generation"},
|
106 |
}
|
107 |
|
|
|
108 |
TRENDING_AGENT_MODE = {
|
109 |
+
"gemini-1.5-flash": {"mode": True, "id": "Gemini"},
|
110 |
+
"llama-3.1-8b": {"mode": True, "id": "llama-3.1-8b"},
|
111 |
+
"llama-3.1-70b": {"mode": True, "id": "llama-3.1-70b"},
|
112 |
+
"llama-3.1-405b": {"mode": True, "id": "llama-3.1-405"},
|
113 |
+
"Python Agent": {"mode": True, "id": "Python Agent"},
|
114 |
+
"Java Agent": {"mode": True, "id": "Java Agent"},
|
115 |
+
"JavaScript Agent": {"mode": True, "id": "JavaScript Agent"},
|
116 |
+
"HTML Agent": {"mode": True, "id": "HTML Agent"},
|
117 |
+
"Google Cloud Agent": {"mode": True, "id": "Google Cloud Agent"},
|
118 |
+
"Android Developer": {"mode": True, "id": "Android Developer"},
|
119 |
+
"Swift Developer": {"mode": True, "id": "Swift Developer"},
|
120 |
+
"Next.js Agent": {"mode": True, "id": "Next.js Agent"},
|
121 |
+
"MongoDB Agent": {"mode": True, "id": "MongoDB Agent"},
|
122 |
+
"PyTorch Agent": {"mode": True, "id": "PyTorch Agent"},
|
123 |
+
"React Agent": {"mode": True, "id": "React Agent"},
|
124 |
+
"Xcode Agent": {"mode": True, "id": "Xcode Agent"},
|
125 |
+
"AngularJS Agent": {"mode": True, "id": "AngularJS Agent"},
|
126 |
+
"blackboxai-pro": {"mode": True, "id": "BLACKBOXAI-PRO"},
|
127 |
+
"repomap": {"mode": True, "id": "repomap"},
|
128 |
+
"Heroku Agent": {"mode": True, "id": "Heroku Agent"},
|
129 |
+
"Godot Agent": {"mode": True, "id": "Godot Agent"},
|
130 |
+
"Go Agent": {"mode": True, "id": "Go Agent"},
|
131 |
+
"Gitlab Agent": {"mode": True, "id": "Gitlab Agent"},
|
132 |
+
"Git Agent": {"mode": True, "id": "Git Agent"},
|
133 |
+
"Flask Agent": {"mode": True, "id": "Flask Agent"},
|
134 |
+
"Firebase Agent": {"mode": True, "id": "Firebase Agent"},
|
135 |
+
"FastAPI Agent": {"mode": True, "id": "FastAPI Agent"},
|
136 |
+
"Erlang Agent": {"mode": True, "id": "Erlang Agent"},
|
137 |
+
"Electron Agent": {"mode": True, "id": "Electron Agent"},
|
138 |
+
"Docker Agent": {"mode": True, "id": "Docker Agent"},
|
139 |
+
"DigitalOcean Agent": {"mode": True, "id": "DigitalOcean Agent"},
|
140 |
+
"Bitbucket Agent": {"mode": True, "id": "Bitbucket Agent"},
|
141 |
+
"Azure Agent": {"mode": True, "id": "Azure Agent"},
|
142 |
+
"Flutter Agent": {"mode": True, "id": "Flutter Agent"},
|
143 |
+
"Youtube Agent": {"mode": True, "id": "Youtube Agent"},
|
144 |
+
"builder Agent": {"mode": True, "id": "builder Agent"},
|
145 |
}
|
146 |
|
147 |
# Model Prefixes
|
148 |
MODEL_PREFIXES = {
|
149 |
+
mode: f"@{value['id']}"
|
150 |
+
for mode, value in TRENDING_AGENT_MODE.items()
|
151 |
if mode not in ["gemini-1.5-flash", "llama-3.1-8b", "llama-3.1-70b", "llama-3.1-405b", "repomap"]
|
152 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|