Spaces:
Running
Running
| from ..config import BackendConfig | |
| from .anthropic import Claude | |
| from .base import IntelligenceBackend | |
| from .cohere import CohereAIChat | |
| from .hf_transformers import TransformersConversational | |
| from .human import Human | |
| from .openai import OpenAIChat | |
| from .dummy import Dummy | |
| ALL_BACKENDS = [ | |
| Human, | |
| OpenAIChat, | |
| CohereAIChat, | |
| TransformersConversational, | |
| Claude, | |
| Dummy, | |
| ] | |
| BACKEND_REGISTRY = {backend.type_name: backend for backend in ALL_BACKENDS} | |
| # Load a backend from a config dictionary | |
| def load_backend(config: BackendConfig): | |
| try: | |
| backend_cls = BACKEND_REGISTRY[config.backend_type] | |
| except KeyError: | |
| raise ValueError(f"Unknown backend type: {config.backend_type}") | |
| backend = backend_cls.from_config(config) | |
| return backend | |