MODELS_LIST =  {
    "anthropic_models": [
        "claude-3-5-haiku-latest",
        "claude-3-5-sonnet-latest",
        "claude-3-7-sonnet-latest",
        "claude-sonnet-4-0",
        "claude-opus-4-0",
        "claude-opus-4-1",
        "claude-sonnet-4-5-20250929"
    ],
    "mistral_models": [
        "mistral-small-latest",
        "mistral-medium-latest",
        "mistral-large-latest",
        "codestral-latest",
        "pixtral-large-latest",
        "magistral-medium-latest"
    ],
    "openai_models": [
        "gpt-4.1-nano",
        "gpt-4.1-mini",
        "gpt-4.1",
        "o3-pro",
        "gpt-5-nano",
        "gpt-5-mini",
        "gpt-5",
        "gpt-5-codex"
    ],
    "grok_models": [
        "grok-code-fast",
        "grok-4-latest",
        "grok-4-fast-reasoning-latest",
        "grok-4-fast-non-reasoning-latest"
    ],
    "gemini_models": [
        "gemini-2.5-flash",
        "gemini-2.5-pro"
    ]
}
MODELS_MAX_TOKEN =  {
    "gpt-4.1-nano": 1047576,
    "gpt-4.1-mini": 1047576,
    "gpt-4.1": 1047576,
    "o3-pro": 200000,
    "gpt-5-nano": 400000,
    "gpt-5-mini": 400000,
    "gpt-5": 400000,
    "gpt-5-codex": 400000,
    "mistral-small-latest": 128000,
    "mistral-medium-latest": 128000,
    "mistral-large-latest": 128000,
    "codestral-latest": 256000,
    "pixtral-large-latest": 128000,
    "magistral-medium-latest": 40000,
    "claude-3-5-haiku-latest": 4096,
    "claude-3-5-sonnet-latest": 8192,
    "claude-3-7-sonnet-latest": 64000,
    "claude-sonnet-4-0": 64000,
    "claude-opus-4-0": 32000,
    "claude-opus-4-1": 32000,
    "claude-sonnet-4-5-20250929": 64000,
    "grok-code-fast": 256000,
    "grok-4-latest": 256000,
    "grok-4-fast-reasoning-latest": 2000000,
    "grok-4-fast-non-reasoning-latest": 2000000,
    "gemini-2.5-flash": 1048576,
    "gemini-2.5-pro": 1048576
}
