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 | |