Skip to content

Commit 8124174

Browse files
authored
Merge pull request #185 from SentienceAPI/deepinfra_models
deep infra models
2 parents 30ef246 + 188231c commit 8124174

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-0
lines changed

sentience/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@
6464
from .inspector import Inspector, inspect
6565
from .llm_provider import (
6666
AnthropicProvider,
67+
DeepInfraProvider,
6768
LLMProvider,
6869
LLMResponse,
6970
LocalLLMProvider,
@@ -227,6 +228,7 @@
227228
"LLMResponse",
228229
"OpenAIProvider",
229230
"AnthropicProvider",
231+
"DeepInfraProvider",
230232
"LocalLLMProvider",
231233
"LocalVisionLLMProvider",
232234
"MLXVLMProvider",

sentience/llm_provider.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -319,6 +319,28 @@ def model_name(self) -> str:
319319
return self._model_name
320320

321321

322+
class DeepInfraProvider(OpenAIProvider):
323+
"""
324+
DeepInfra provider via OpenAI-compatible API.
325+
326+
Uses DeepInfra's OpenAI-compatible endpoint:
327+
https://api.deepinfra.com/v1/openai
328+
329+
API token is read from DEEPINFRA_TOKEN or DEEPINFRA_API_KEY if not provided.
330+
"""
331+
332+
def __init__(
333+
self,
334+
api_key: str | None = None,
335+
model: str = "meta-llama/Meta-Llama-3-8B-Instruct",
336+
base_url: str = "https://api.deepinfra.com/v1/openai",
337+
):
338+
api_key = get_api_key_from_env(
339+
["DEEPINFRA_TOKEN", "DEEPINFRA_API_KEY"], api_key
340+
)
341+
super().__init__(api_key=api_key, model=model, base_url=base_url)
342+
343+
322344
class AnthropicProvider(LLMProvider):
323345
"""
324346
Anthropic provider implementation (Claude 3 Opus, Sonnet, Haiku, etc.)

0 commit comments

Comments
 (0)