File size: 2,185 Bytes
d77c659
 
6331a12
 
 
 
 
d77c659
 
 
 
6331a12
2efedcc
 
 
d77c659
2efedcc
 
 
 
 
 
6331a12
d77c659
 
6331a12
 
d77c659
 
 
 
 
 
6331a12
d77c659
 
2efedcc
 
 
 
 
 
 
 
 
 
 
 
d77c659
2efedcc
 
 
 
 
 
d77c659
6331a12
d77c659
2efedcc
 
 
 
 
 
 
 
 
 
 
 
 
 
6331a12
 
d77c659
6331a12
d77c659
 
 
 
6331a12
3073084
d77c659
 
 
 
3073084
 
 
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
# api/config.py

import os
from dotenv import load_dotenv

load_dotenv()

# Base URL and API Endpoint for GizAI
BASE_URL = "https://app.giz.ai"
API_ENDPOINT = "https://app.giz.ai/api/data/users/inferenceServer.infer"

common_headers = {
    'Accept': 'application/json, text/plain, */*',
    'Accept-Language': 'en-US,en;q=0.9',
    'Cache-Control': 'no-cache',
    'Origin': BASE_URL,
    'Pragma': 'no-cache',
    'Sec-Fetch-Dest': 'empty',
    'Sec-Fetch-Mode': 'cors',
    'Sec-Fetch-Site': 'same-origin',
    'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36',
    'sec-ch-ua': '"Not?A_Brand";v="99", "Chromium";v="130"',
    'sec-ch-ua-mobile': '?0',
    'sec-ch-ua-platform': '"Linux"',
    'Content-Type': 'application/json'
}

# Header Configurations for Specific API Calls
def get_headers_api_chat(referer_url=None):
    headers = common_headers.copy()
    if referer_url:
        headers['Referer'] = referer_url
    return headers

# Define GizAI Models
CHAT_MODELS = [
    'chat-gemini-flash',
    'chat-gemini-pro',
    'chat-gpt4m',
    'chat-gpt4',
    'claude-sonnet',
    'claude-haiku',
    'llama-3-70b',
    'llama-3-8b',
    'mistral-large',
    'chat-o1-mini'
]

IMAGE_MODELS = [
    'flux1',
    'sdxl',
    'sd',
    'sd35',
]

MODELS = CHAT_MODELS + IMAGE_MODELS

MODEL_ALIASES = {
    # Chat model aliases
    "gemini-flash": "chat-gemini-flash",
    "gemini-pro": "chat-gemini-pro",
    "gpt-4o-mini": "chat-gpt4m",
    "gpt-4o": "chat-gpt4",
    "claude-3.5-sonnet": "claude-sonnet",
    "claude-3-haiku": "claude-haiku",
    "llama-3.1-70b": "llama-3-70b",
    "llama-3.1-8b": "llama-3-8b",
    "o1-mini": "chat-o1-mini",
    # Image model aliases
    "sd-1.5": "sd",
    "sd-3.5": "sd35",
    "flux-schnell": "flux1",
}

DEFAULT_MODEL = 'chat-gemini-flash'

MODEL_MAPPING = {model: model for model in MODELS}
MODEL_MAPPING.update(MODEL_ALIASES)

ALLOWED_MODELS = MODELS  # You can adjust this if you want to restrict further

# Agent modes
AGENT_MODE = {}
TRENDING_AGENT_MODE = {}
MODEL_PREFIXES = {}
MODEL_REFERERS = {}

# **Authentication Secret**
APP_SECRET = os.getenv("APP_SECRET")