PlanOpticon

Blame History Raw 41 lines
1
"""Provider abstraction layer for LLM, vision, and transcription APIs."""
2
3
from video_processor.providers.base import (
4
BaseProvider,
5
ModelInfo,
6
OpenAICompatibleProvider,
7
ProviderRegistry,
8
)
9
from video_processor.providers.manager import ProviderManager
10
11
__all__ = [
12
"BaseProvider",
13
"ModelInfo",
14
"OpenAICompatibleProvider",
15
"ProviderManager",
16
"ProviderRegistry",
17
# OpenAI-compatible providers (lazy-loaded via manager)
18
"AzureOpenAIProvider",
19
"CerebrasProvider",
20
"FireworksProvider",
21
"TogetherProvider",
22
"XAIProvider",
23
]
24
25
26
def __getattr__(name: str):
27
"""Lazy import provider classes to avoid import-time side effects."""
28
_lazy_imports = {
29
"AzureOpenAIProvider": "video_processor.providers.azure_provider",
30
"CerebrasProvider": "video_processor.providers.cerebras_provider",
31
"FireworksProvider": "video_processor.providers.fireworks_provider",
32
"TogetherProvider": "video_processor.providers.together_provider",
33
"XAIProvider": "video_processor.providers.xai_provider",
34
}
35
if name in _lazy_imports:
36
import importlib
37
38
mod = importlib.import_module(_lazy_imports[name])
39
return getattr(mod, name)
40
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
41

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button