Initial commit: Original Python LLMTester project
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import Dict, List, Type
|
||||
|
||||
from .base import ModelInfo, Provider, ProviderError
|
||||
from .lmstudio import LMStudioProvider
|
||||
from .local_engine import LocalEngineProvider
|
||||
|
||||
_PROVIDER_REGISTRY: Dict[str, Type[Provider]] = {
|
||||
LMStudioProvider.name: LMStudioProvider,
|
||||
LocalEngineProvider.name: LocalEngineProvider,
|
||||
}
|
||||
|
||||
|
||||
def list_provider_names() -> List[str]:
|
||||
return sorted(_PROVIDER_REGISTRY.keys())
|
||||
|
||||
|
||||
def get_provider(provider_name: str, **kwargs) -> Provider:
|
||||
try:
|
||||
provider_cls = _PROVIDER_REGISTRY[provider_name]
|
||||
except KeyError as exc:
|
||||
raise ProviderError(f"Unknown provider '{provider_name}'") from exc
|
||||
return provider_cls(**kwargs)
|
||||
|
||||
|
||||
__all__ = [
|
||||
"ModelInfo",
|
||||
"Provider",
|
||||
"ProviderError",
|
||||
"list_provider_names",
|
||||
"get_provider",
|
||||
"LocalEngineProvider",
|
||||
]
|
||||
Reference in New Issue
Block a user