Spaces:
Running
Running
| 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" | |