File size: 1,929 Bytes
e91e2b4
3b1bcbe
 
b3b1df7
3b1bcbe
 
e91e2b4
3b1bcbe
d349f76
 
 
e91e2b4
3a73f5d
5e9685d
 
3a73f5d
e91e2b4
3b1bcbe
e91e2b4
 
 
 
 
 
 
3b1bcbe
 
 
b3b1df7
3b1bcbe
 
d349f76
 
 
5e9685d
 
3b1bcbe
 
e91e2b4
4a34f6e
 
9b52469
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3a73f5d
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
PROVIDER_MODEL_MAP = {
    "openai": [
        "gpt-4.1-mini",
        "gpt-5",
        "gpt-5-mini",
        "gpt-5-nano",
    ],
    "anthropic": [
        "anthropic.claude-haiku-4-5-20251001-v1:0",
        "anthropic.claude-sonnet-4-5-20250929-v1:0",
        "anthropic.claude-opus-4-20250514-v1:0",
    ],
    "google": [
        "gemini-3-pro-preview",
        "gemini-2.5-pro",
    ],
}


MODEL_TO_PROVIDER = {
    model: provider
    for provider, models in PROVIDER_MODEL_MAP.items()
    for model in models
}

# Model display names with categories
MODEL_DISPLAY_NAMES = {
    "gpt-4.1-mini": "OpenAI - GPT-4.1 Mini",
    "gpt-5": "OpenAI - GPT-5",
    "gpt-5-mini": "OpenAI - GPT-5 Mini",
    "gpt-5-nano": "OpenAI - GPT-5 Nano",
    "anthropic.claude-haiku-4-5-20251001-v1:0": "AWS Bedrock - Anthropic - Claude Haiku 4.5",
    "anthropic.claude-sonnet-4-5-20250929-v1:0": "AWS Bedrock - Anthropic - Claude Sonnet 4.5",
    "anthropic.claude-opus-4-20250514-v1:0": "AWS Bedrock - Anthropic - Claude Opus 4",
    "gemini-3-pro-preview": "Google - Gemini 3 Pro (Preview)",
    "gemini-2.5-pro": "Google - Gemini 2.5 Pro",
}

MODEL_CHOICES = [model for models in PROVIDER_MODEL_MAP.values() for model in models]

# Inference profile ARNs for provisioned throughput models
# Read from environment variables (Hugging Face secrets)
import os

MODEL_TO_INFERENCE_PROFILE_ARN = {}
# Claude Haiku 4.5
haiku_arn = os.getenv("BEDROCK_HAIKU_4_5_ARN", "").strip()
if haiku_arn:
    MODEL_TO_INFERENCE_PROFILE_ARN["anthropic.claude-haiku-4-5-20251001-v1:0"] = haiku_arn

# Claude Sonnet 4.5
sonnet_arn = os.getenv("BEDROCK_SONNET_4_5_ARN", "").strip()
if sonnet_arn:
    MODEL_TO_INFERENCE_PROFILE_ARN["anthropic.claude-sonnet-4-5-20250929-v1:0"] = sonnet_arn

# Claude Opus 4
opus_arn = os.getenv("BEDROCK_OPUS_4_ARN", "").strip()
if opus_arn:
    MODEL_TO_INFERENCE_PROFILE_ARN["anthropic.claude-opus-4-20250514-v1:0"] = opus_arn