Merge pull request #55 from jin10086/deepseek

add llm_provider  Deepseek
This commit is contained in:
2025-01-27 11:46:57 -05:00
committed by GitHub
2 changed files with 30 additions and 0 deletions
+3
View File
@@ -9,6 +9,7 @@ from .groq import Groq
from .ollama import Ollama from .ollama import Ollama
from .openai import OpenAI from .openai import OpenAI
from .xai import XAI from .xai import XAI
from .deepseek import Deepseek
providers: List[Type[BaseProvider]] = [ providers: List[Type[BaseProvider]] = [
Anthropic, Anthropic,
@@ -18,6 +19,7 @@ providers: List[Type[BaseProvider]] = [
Ollama, Ollama,
XAI, XAI,
Amazon, Amazon,
Deepseek,
] ]
__all__ = [ __all__ = [
@@ -31,4 +33,5 @@ __all__ = [
"providers", "providers",
"BaseProvider", "BaseProvider",
"BaseTool", "BaseTool",
"Deepseek"
] ]
+27
View File
@@ -0,0 +1,27 @@
import os
from functools import cached_property
from .openai import OpenAI
class Deepseek(OpenAI):
NAME = "deepseek"
DEFAULT_MODEL = "deepseek-chat"
def __init__(self, api_key: str | None = None):
api_key = api_key or os.getenv("DEEPSEEK_API_KEY")
super().__init__(api_key=api_key)
self.endpoint = "https://api.deepseek.com/v1"
@cached_property
def client(self):
"""The raw OpenAI client."""
if not self.api_key:
raise ValueError("DEEPSEEK API key is required")
try:
import openai as oa
except ImportError as exc:
raise ImportError(
"Please install the `openai` package: `pip install openai`"
) from exc
return oa.OpenAI(api_key=self.api_key, base_url=self.endpoint)