mirror of
https://github.com/kennethreitz/simplemind.git
synced 2026-06-05 06:46:18 +00:00
Merge pull request #55 from jin10086/deepseek
add llm_provider Deepseek
This commit is contained in:
@@ -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"
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -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)
|
||||||
Reference in New Issue
Block a user