template-with-ai/router/__init__.py
2025-07-01 17:07:02 +05:30

76 lines
No EOL
1.6 KiB
Python

"""AI Router - Clean abstraction for AI providers."""
from .base import AIRouter as BaseAIRouter, RouterResponse
from .factory import AIRouter, create_router
from .config import RouterConfig, config
from .exceptions import (
RouterError,
AuthenticationError,
RateLimitError,
ModelNotFoundError,
InvalidRequestError,
TimeoutError,
ContentFilterError,
QuotaExceededError,
ProviderError,
ConfigurationError,
)
from .gemini import Gemini
from .openai_compatible import OpenAI, OpenAICompatible
from .cohere import Cohere
from .rerank import Rerank, CohereRerank, RerankDocument, RerankResult, RerankResponse
from .embed import (
Embed,
CohereEmbed,
GeminiEmbed,
OllamaEmbed,
CohereEmbedding,
GeminiEmbedding,
OllamaEmbedding,
EmbeddingResponse,
create_embedding,
)
__version__ = "0.1.0"
__all__ = [
# Base classes
"AIRouter",
"BaseAIRouter",
"RouterResponse",
"RouterConfig",
"config",
"create_router",
# Generation Providers
"Gemini",
"OpenAI",
"OpenAICompatible",
"Cohere",
# Reranking
"Rerank",
"CohereRerank",
"RerankDocument",
"RerankResult",
"RerankResponse",
# Embeddings
"Embed",
"CohereEmbed",
"GeminiEmbed",
"OllamaEmbed",
"CohereEmbedding",
"GeminiEmbedding",
"OllamaEmbedding",
"EmbeddingResponse",
"create_embedding",
# Exceptions
"RouterError",
"AuthenticationError",
"RateLimitError",
"ModelNotFoundError",
"InvalidRequestError",
"TimeoutError",
"ContentFilterError",
"QuotaExceededError",
"ProviderError",
"ConfigurationError",
]