From 0c1f225252b76c5ff820d7daf4a1421201fffd2b Mon Sep 17 00:00:00 2001 From: jin10086 Date: Fri, 10 Jan 2025 09:33:15 +0800 Subject: [PATCH 1/2] add llm_provider Deepseek docs: https://api-docs.deepseek.com/ --- simplemind/providers/__init__.py | 3 +++ simplemind/providers/deepseek.py | 27 +++++++++++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 simplemind/providers/deepseek.py diff --git a/simplemind/providers/__init__.py b/simplemind/providers/__init__.py index 1f92912..c588b5a 100644 --- a/simplemind/providers/__init__.py +++ b/simplemind/providers/__init__.py @@ -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" ] diff --git a/simplemind/providers/deepseek.py b/simplemind/providers/deepseek.py new file mode 100644 index 0000000..12ea1cd --- /dev/null +++ b/simplemind/providers/deepseek.py @@ -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) From d963bc0b1c557f85a6867fdc0111b6ba017101f1 Mon Sep 17 00:00:00 2001 From: Kenneth Reitz Date: Fri, 10 Jan 2025 11:40:20 -0500 Subject: [PATCH 2/2] Update simplemind/providers/deepseek.py Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- simplemind/providers/deepseek.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/simplemind/providers/deepseek.py b/simplemind/providers/deepseek.py index 12ea1cd..07942b6 100644 --- a/simplemind/providers/deepseek.py +++ b/simplemind/providers/deepseek.py @@ -9,8 +9,8 @@ class Deepseek(OpenAI): 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.api_key = os.getenv("DEEPSEEK_API_KEY") self.endpoint = "https://api.deepseek.com/v1" @cached_property