File size: 3,666 Bytes
2bdb4ed
 
2ae7fb3
 
6a247c1
2ae7fb3
 
6a247c1
2ae7fb3
6a247c1
 
2ae7fb3
6a247c1
 
2ae7fb3
 
6a247c1
2ae7fb3
 
 
 
 
532a10c
2ae7fb3
6a247c1
2ae7fb3
6a247c1
 
2ae7fb3
6a247c1
c498853
 
 
 
2ae7fb3
 
 
 
 
 
 
 
 
 
 
 
 
c498853
2ae7fb3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6a247c1
 
2ae7fb3
2bdb4ed
 
 
 
3b0818d
2ae7fb3
2bdb4ed
 
 
 
 
 
2ae7fb3
 
 
 
 
 
c498853
2ae7fb3
 
 
 
 
 
 
 
 
 
 
 
 
 
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
# config.py

from __future__ import annotations

import os
import random
import string

# Base URL
BASE_URL = "https://www.blackbox.ai"

# Application Secret
APP_SECRET = os.getenv("APP_SECRET")

# Default Model
DEFAULT_MODEL = 'blackboxai'

# Image Models
IMAGE_MODELS = ['Image Generation', 'repomap']

# User Selected Models
USER_SELECTED_MODELS = ['gpt-4o', 'gemini-pro', 'claude-sonnet-3.5', 'blackboxai-pro']

# Agent Modes
AGENT_MODE = {
    'Image Generation': {'mode': True, 'id': "ImageGenerationLV45LJp", 'name': "Image Generation"},
}

# Trending Agent Modes
TRENDING_AGENT_MODE = {
    "gemini-1.5-flash": {'mode': True, 'id': 'Gemini'},
    "llama-3.1-8b": {'mode': True, 'id': "llama-3.1-8b"},
    'llama-3.1-70b': {'mode': True, 'id': "llama-3.1-70b"},
    'llama-3.1-405b': {'mode': True, 'id': "llama-3.1-405"},
    'Python Agent': {'mode': True, 'id': "Python Agent"},
    'Java Agent': {'mode': True, 'id': "Java Agent"},
    'JavaScript Agent': {'mode': True, 'id': "JavaScript Agent"},
    'HTML Agent': {'mode': True, 'id': "HTML Agent"},
    'Google Cloud Agent': {'mode': True, 'id': "Google Cloud Agent"},
    'Android Developer': {'mode': True, 'id': "Android Developer"},
    'Swift Developer': {'mode': True, 'id': "Swift Developer"},
    'Next.js Agent': {'mode': True, 'id': "Next.js Agent"},
    'MongoDB Agent': {'mode': True, 'id': "MongoDB Agent"},
    'PyTorch Agent': {'mode': True, 'id': "PyTorch Agent"},
    'React Agent': {'mode': True, 'id': "React Agent"},
    'Xcode Agent': {'mode': True, 'id': "Xcode Agent"},
    'AngularJS Agent': {'mode': True, 'id': "AngularJS Agent"},
    'blackboxai-pro': {'mode': True, 'id': "BLACKBOXAI-PRO"},
    'repomap': {'mode': True, 'id': "repomap"},
    'Heroku Agent': {'mode': True, 'id': "Heroku Agent"},
    'Godot Agent': {'mode': True, 'id': "Godot Agent"},
    'Go Agent': {'mode': True, 'id': "Go Agent"},
    'Gitlab Agent': {'mode': True, 'id': "Gitlab Agent"},
    'Git Agent': {'mode': True, 'id': "Git Agent"},
    'Flask Agent': {'mode': True, 'id': "Flask Agent"},
    'Firebase Agent': {'mode': True, 'id': "Firebase Agent"},
    'FastAPI Agent': {'mode': True, 'id': "FastAPI Agent"},
    'Erlang Agent': {'mode': True, 'id': "Erlang Agent"},
    'Electron Agent': {'mode': True, 'id': "Electron Agent"},
    'Docker Agent': {'mode': True, 'id': "Docker Agent"},
    'DigitalOcean Agent': {'mode': True, 'id': "DigitalOcean Agent"},
    'Bitbucket Agent': {'mode': True, 'id': "Bitbucket Agent"},
    'Azure Agent': {'mode': True, 'id': "Azure Agent"},
    'Flutter Agent': {'mode': True, 'id': "Flutter Agent"},
    'Youtube Agent': {'mode': True, 'id': "Youtube Agent"},
    'builder Agent': {'mode': True, 'id': "builder Agent"},
}

# Model Prefixes
MODEL_PREFIXES = {
    mode: f"@{value['id']}" for mode, value in TRENDING_AGENT_MODE.items()
    if mode not in ["gemini-1.5-flash", "llama-3.1-8b", "llama-3.1-70b", "llama-3.1-405b", "repomap"]
}

# Models List
MODELS = [
    DEFAULT_MODEL,
    *USER_SELECTED_MODELS,
    *list(AGENT_MODE.keys()),
    *list(TRENDING_AGENT_MODE.keys()),
]

# Model Aliases
MODEL_ALIASES = {
    "gemini-flash": "gemini-1.5-flash",
    "claude-3.5-sonnet": "claude-sonnet-3.5",
    "flux": "Image Generation",
}

# Function to get the model name
def get_model(model: str) -> str:
    if model in MODELS:
        return model
    elif model in MODEL_ALIASES:
        return MODEL_ALIASES[model]
    else:
        return DEFAULT_MODEL

# Function to generate a random alphanumeric ID
def generate_id(length=7):
    characters = string.ascii_letters + string.digits
    return ''.join(random.choice(characters) for _ in range(length))