Providers¶
Интеграции с внешними AI-сервисами.
Модули¶
| Модуль | Описание |
|---|---|
| LLM | OpenAI, Anthropic |
| Video | Kling, Fal.ai |
| TTS | Edge-TTS с таймингами слов |
| Telegram | Aiogram wrapper |
| Kie.ai | Универсальный API клиент |
| Factory | Auto-fallback pattern |
Архитектура¶
Все провайдеры следуют единому паттерну:
class BaseProvider(ABC):
@abstractmethod
async def generate(self, *args, **kwargs) -> Result:
pass
@abstractmethod
async def close(self) -> None:
pass
Быстрый пример¶
from kit.providers.llm import OpenAIProvider, AnthropicProvider
from kit.providers.video import KlingProvider
from kit.providers.tts import EdgeTTSProvider
from kit.providers.factory import ProviderFactory
# LLM
llm = OpenAIProvider(api_key="sk-...")
response = await llm.generate("Привет!")
# Video
video = KlingProvider(access_key="...", secret_key="...")
result = await video.text_to_video("Sunset over ocean")
# TTS
tts = EdgeTTSProvider(voice="ru-RU-DmitryNeural")
audio = await tts.synthesize("Привет, мир!", "output.mp3")
# Factory с fallback
factory = ProviderFactory()
factory.register("primary", OpenAIProvider(...))
factory.register("fallback", AnthropicProvider(...))
# Автоматический fallback при ошибке
response = await factory.generate("Привет!")