From c45931363a6e12a67271784d3f1f66295debde13 Mon Sep 17 00:00:00 2001 From: RockChinQ <1010553892@qq.com> Date: Tue, 7 May 2024 14:45:59 +0000 Subject: [PATCH] =?UTF-8?q?feat:=20deepseek=E9=85=8D=E7=BD=AE=E8=BF=81?= =?UTF-8?q?=E7=A7=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../m005_deepseek_cfg_completion.py | 30 +++++++++++++++++++ pkg/core/stages/migrate.py | 1 + 2 files changed, 31 insertions(+) create mode 100644 pkg/config/migrations/m005_deepseek_cfg_completion.py diff --git a/pkg/config/migrations/m005_deepseek_cfg_completion.py b/pkg/config/migrations/m005_deepseek_cfg_completion.py new file mode 100644 index 00000000..bd8aa2ee --- /dev/null +++ b/pkg/config/migrations/m005_deepseek_cfg_completion.py @@ -0,0 +1,30 @@ +from __future__ import annotations + +from .. import migration + + +@migration.migration_class("deepseek-config-completion", 5) +class DeepseekConfigCompletionMigration(migration.Migration): + """OpenAI配置迁移 + """ + + async def need_migrate(self) -> bool: + """判断当前环境是否需要运行此迁移 + """ + return 'deepseek-chat-completions' not in self.ap.provider_cfg.data['requester'] \ + or 'deepseek' not in self.ap.provider_cfg.data['keys'] + + async def run(self): + """执行迁移 + """ + if 'deepseek-chat-completions' not in self.ap.provider_cfg.data['requester']: + self.ap.provider_cfg.data['requester']['deepseek-chat-completions'] = { + 'base-url': 'https://api.deepseek.com', + 'args': {}, + 'timeout': 120, + } + + if 'deepseek' not in self.ap.provider_cfg.data['keys']: + self.ap.provider_cfg.data['keys']['deepseek'] = [] + + await self.ap.provider_cfg.dump_config() \ No newline at end of file diff --git a/pkg/core/stages/migrate.py b/pkg/core/stages/migrate.py index 1146ab67..cef3b42d 100644 --- a/pkg/core/stages/migrate.py +++ b/pkg/core/stages/migrate.py @@ -5,6 +5,7 @@ import importlib from .. import stage, app from ...config import migration from ...config.migrations import m001_sensitive_word_migration, m002_openai_config_migration, m003_anthropic_requester_cfg_completion, m004_moonshot_cfg_completion +from ...config.migrations import m005_deepseek_cfg_completion @stage.stage_class("MigrationStage")