Spaces:
Running
Running
File size: 2,157 Bytes
9f80f96 5df0d69 9f80f96 2afe335 d4cab2b 309d438 2afe335 5df0d69 309d438 9f80f96 309d438 9f80f96 |
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 |
from enum import Enum
class OpenAIModel(str, Enum):
gpt_5_1 = "gpt-5.1"
gpt_4o = "gpt-4o"
gpt_4o_mini = "gpt-4o-mini"
gpt_4_1 = "gpt-4.1"
gpt_4_1_mini = "gpt-4.1-mini"
gpt_4_turbo = "gpt-4-turbo"
gpt_3_5_turbo = "gpt-3.5-turbo-0125"
class AnthropicModel(str, Enum):
claude_3_5_sonnet = "claude-3-5-sonnet-20240620"
claude_3_5_haiku = "claude-3-5-haiku-20241022"
claude_3_opus = "claude-3-opus-20240229"
class GeminiModel(str, Enum):
gemini_3_pro_preview = "gemini-3-pro-preview"
gemini_2_5_flash = "gemini-2.5-flash"
gemini_2_5_pro = "gemini-2.5-pro"
class OSSModel(str, Enum):
llama3_70b_instruct = "meta-llama/Meta-Llama-3-70B-Instruct"
llama3_8b_instruct = "meta-llama/Meta-Llama-3.1-8B-Instruct"
qwen2_7b_instruct = "Qwen/Qwen2.5-7B-Instruct"
deepseek_v3_terminus = "deepseek-ai/DeepSeek-V3.1-Terminus"
deepseek_r1 = "deepseek-ai/DeepSeek-R1"
gpt_oss_120b = "openai/gpt-oss-120b"
kimi_k2_thinking = "moonshotai/Kimi-K2-Thinking",
qwen_3_coder = 'Qwen/Qwen3-Coder-480B-A35B-Instruct'
class EnumNamespace:
"""Proxy to expose Enum members as attribute-accessed .value strings."""
def __init__(self, enum_cls: type[Enum]):
self._enum_cls = enum_cls
def __getattr__(self, item: str) -> str:
try:
return getattr(self._enum_cls, item).value
except AttributeError as exc:
raise AttributeError(f"{self._enum_cls.__name__} has no member '{item}'") from exc
def __dir__(self) -> list[str]:
return [name for name in self._enum_cls.__members__]
def members(self) -> list[Enum]:
"""Return the actual Enum members if needed."""
return list(self._enum_cls)
class LLMModelType:
"""Namespaced access to curated model enums, e.g. LLMModelType.openai.gpt_5_1."""
openai = EnumNamespace(OpenAIModel)
claude = EnumNamespace(AnthropicModel)
gemini = EnumNamespace(GeminiModel)
open_source = EnumNamespace(OSSModel)
class LLMProviderType(str, Enum):
OPENAI = "openai"
GEMINI = "gemini"
CLAUDE = "claude"
HF = "hf"
OPENROUTER = "openrouter"
|