73 lines
No EOL
1.5 KiB
Python
73 lines
No EOL
1.5 KiB
Python
"""AI Router - Clean abstraction for AI providers."""
|
|
|
|
from .base import AIRouter, RouterResponse
|
|
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",
|
|
"RouterResponse",
|
|
"RouterConfig",
|
|
"config",
|
|
# 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",
|
|
] |