add llm_provider Deepseek

docs: https://api-docs.deepseek.com/
This commit is contained in:
jin10086
2025-01-10 09:33:15 +08:00
parent 4decaa0722
commit 0c1f225252
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 .openai import OpenAI
from .xai import XAI
from .deepseek import Deepseek
providers: List[Type[BaseProvider]] = [
Anthropic,
@@ -18,6 +19,7 @@ providers: List[Type[BaseProvider]] = [
Ollama,
XAI,
Amazon,
Deepseek,
]
__all__ = [
@@ -31,4 +33,5 @@ __all__ = [
"providers",
"BaseProvider",
"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):
super().__init__(api_key=api_key)
self.api_key = os.getenv("DEEPSEEK_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)