Skip to content

Commit

Permalink
Merge pull request #27 from isinyaaa/main
Browse files Browse the repository at this point in the history
Simplify interfaces and modernize packaging
  • Loading branch information
vprelovac authored Jan 25, 2025
2 parents 95f60ed + f4bc562 commit df18aac
Show file tree
Hide file tree
Showing 28 changed files with 5,403 additions and 3,834 deletions.
10 changes: 5 additions & 5 deletions llms/__init__.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
from .llms import LLMS


def init(*args, **kwargs):
if len(args) > 1 and not kwargs.get('model'):
raise ValueError(
"Please provide a list of models, like this: model=['j2-grande-instruct', 'claude-v1', 'gpt-3.5-turbo']"
)
return LLMS(*args, **kwargs)
if len(args) > 1 and not kwargs.get("model"):
msg = "Please provide a list of models, like this: model=['j2-grande-instruct', 'claude-v1', 'gpt-3.5-turbo']"
raise ValueError(msg)
return LLMS(*args, **kwargs)
498 changes: 498 additions & 0 deletions llms/_bench.py

Large diffs are not rendered by default.

50 changes: 50 additions & 0 deletions llms/_providers.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
from __future__ import annotations

from dataclasses import dataclass

from .providers import (
AI21Provider,
AlephAlphaProvider,
AnthropicProvider,
BedrockAnthropicProvider,
CohereProvider,
DeepSeekProvider,
GoogleGenAIProvider,
GoogleProvider,
GroqProvider,
HuggingfaceHubProvider,
MistralProvider,
OllamaProvider,
OpenAIProvider,
OpenRouterProvider,
RekaProvider,
TogetherProvider,
)
from .providers.base import Provider


@dataclass
class ProviderSpec:
kind: type[Provider]
api_key_name: str | None = None
api_key: str | None = None


PROVIDER_MAP = {
"OpenAI": ProviderSpec(OpenAIProvider, "OPENAI_API_KEY"),
"Anthropic": ProviderSpec(AnthropicProvider, "ANTHROPIC_API_KEY"),
"BedrockAnthropic": ProviderSpec(BedrockAnthropicProvider),
"AI21": ProviderSpec(AI21Provider, "AI21_API_KEY"),
"Cohere": ProviderSpec(CohereProvider, "COHERE_API_KEY"),
"AlephAlpha": ProviderSpec(AlephAlphaProvider, "ALEPHALPHA_API_KEY"),
"HuggingfaceHub": ProviderSpec(HuggingfaceHubProvider, "HUGGINFACEHUB_API_KEY"),
"GoogleGenAI": ProviderSpec(GoogleGenAIProvider, "GOOGLE_API_KEY"),
"Mistral": ProviderSpec(MistralProvider, "MISTRAL_API_KEY"),
"Google": ProviderSpec(GoogleProvider),
"Ollama": ProviderSpec(OllamaProvider),
"DeepSeek": ProviderSpec(DeepSeekProvider, "DEEPSEEK_API_KEY"),
"Groq": ProviderSpec(GroqProvider, "GROQ_API_KEY"),
"Reka": ProviderSpec(RekaProvider, "REKA_API_KEY"),
"Together": ProviderSpec(TogetherProvider, "TOGETHER_API_KEY"),
"OpenRouter": ProviderSpec(OpenRouterProvider, "OPENROUTER_API_KEY"),
}
Loading

0 comments on commit df18aac

Please sign in to comment.