From fee226a14943e49db55e68d0e6caf57b8ed571d6 Mon Sep 17 00:00:00 2001 From: harry Date: Mon, 13 May 2024 21:48:53 +0800 Subject: [PATCH] support deepseek llm --- README.md | 2 +- app/config/config.py | 2 +- app/services/llm.py | 6 ++++++ config.example.toml | 6 ++++++ webui/Main.py | 16 +++++++++++++++- 5 files changed, 29 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index e59b7d1..ef32955 100644 --- a/README.md +++ b/README.md @@ -58,7 +58,7 @@ - [x] 支持 **字幕生成**,可以调整 `字体`、`位置`、`颜色`、`大小`,同时支持`字幕描边`设置 - [x] 支持 **背景音乐**,随机或者指定音乐文件,可设置`背景音乐音量` - [x] 视频素材来源 **高清**,而且 **无版权**,也可以使用自己的 **本地素材** -- [x] 支持 **OpenAI**、**moonshot**、**Azure**、**gpt4free**、**one-api**、**通义千问**、**Google Gemini**、**Ollama** 等多种模型接入 +- [x] 支持 **OpenAI**、**Moonshot**、**Azure**、**gpt4free**、**one-api**、**通义千问**、**Google Gemini**、**Ollama**、**DeepSeek** 等多种模型接入 ❓[如何使用免费的 **OpenAI GPT-3.5 ** 模型?](https://github.com/harry0703/MoneyPrinterTurbo?tab=readme-ov-file#%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98-) diff --git a/app/config/config.py b/app/config/config.py index ee10fb6..c99ebaa 100644 --- a/app/config/config.py +++ b/app/config/config.py @@ -56,7 +56,7 @@ listen_port = _cfg.get("listen_port", 8080) project_name = _cfg.get("project_name", "MoneyPrinterTurbo") project_description = _cfg.get("project_description", "https://github.com/harry0703/MoneyPrinterTurbo") -project_version = _cfg.get("project_version", "1.1.6") +project_version = _cfg.get("project_version", "1.1.7") reload_debug = False imagemagick_path = app.get("imagemagick_path", "") diff --git a/app/services/llm.py b/app/services/llm.py index 520a374..6137cbd 100644 --- a/app/services/llm.py +++ b/app/services/llm.py @@ -64,6 +64,12 @@ def _generate_response(prompt: str) -> str: model_name = config.app.get("cloudflare_model_name") account_id = config.app.get("cloudflare_account_id") base_url = "***" + elif llm_provider == "deepseek": + api_key = config.app.get("deepseek_api_key") + model_name = config.app.get("deepseek_model_name") + base_url = config.app.get("deepseek_base_url") + if not base_url: + base_url = "https://api.deepseek.com" else: raise ValueError("llm_provider is not set, please set it in the config.toml file.") diff --git a/config.example.toml b/config.example.toml index 2798e38..e8b00c9 100644 --- a/config.example.toml +++ b/config.example.toml @@ -71,6 +71,12 @@ qwen_model_name = "qwen-max" + ########## DeepSeek API Key + # Visit https://platform.deepseek.com/api_keys to get your API key + deepseek_api_key = "" + deepseek_base_url = "https://api.deepseek.com" + deepseek_model_name = "deepseek-chat" + # Subtitle Provider, "edge" or "whisper" # If empty, the subtitle will not be generated subtitle_provider = "edge" diff --git a/webui/Main.py b/webui/Main.py index 857ee73..c0db0b9 100644 --- a/webui/Main.py +++ b/webui/Main.py @@ -183,7 +183,8 @@ if not config.app.get("hide_config", False): # qwen (通义千问) # gemini # ollama - llm_providers = ['OpenAI', 'Moonshot', 'Azure', 'Qwen', 'Gemini', 'Ollama', 'G4f', 'OneAPI', "Cloudflare"] + llm_providers = ['OpenAI', 'Moonshot', 'Azure', 'Qwen', 'DeepSeek', 'Gemini', 'Ollama', 'G4f', 'OneAPI', + "Cloudflare"] saved_llm_provider = config.app.get("llm_provider", "OpenAI").lower() saved_llm_provider_index = 0 for i, provider in enumerate(llm_providers): @@ -286,6 +287,19 @@ if not config.app.get("hide_config", False): - **Model Name**: 比如 gemini-1.0-pro """ + if llm_provider == 'deepseek': + if not llm_model_name: + llm_model_name = "deepseek-chat" + if not llm_base_url: + llm_base_url = "https://api.deepseek.com" + with llm_helper: + tips = """ + ##### DeepSeek 配置说明 + - **API Key**: [点击到官网申请](https://platform.deepseek.com/api_keys) + - **Base Url**: 固定为 https://api.deepseek.com + - **Model Name**: 固定为 deepseek-chat + """ + if tips and config.ui['language'] == 'zh': st.info(tips)