Skip to content

Commit

Permalink
Merge pull request #762 from RockChinQ/feat/deepseek
Browse files Browse the repository at this point in the history
Feat: 支持 deepseek 模型
  • Loading branch information
RockChinQ authored May 7, 2024
2 parents becac2f + c459313 commit 930321b
Show file tree
Hide file tree
Showing 7 changed files with 60 additions and 2 deletions.
30 changes: 30 additions & 0 deletions pkg/config/migrations/m005_deepseek_cfg_completion.py
Original file line number Diff line number Diff line change
@@ -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()
1 change: 1 addition & 0 deletions pkg/core/stages/migrate.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
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")
Expand Down
15 changes: 15 additions & 0 deletions pkg/provider/modelmgr/apis/deepseekchatcmpl.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
from __future__ import annotations

from ....core import app

from . import chatcmpl
from .. import api


@api.requester_class("deepseek-chat-completions")
class DeepseekChatCompletions(chatcmpl.OpenAIChatCompletions):
"""Deepseek ChatCompletion API 请求器"""

def __init__(self, ap: app.Application):
self.requester_cfg = ap.provider_cfg.data['requester']['deepseek-chat-completions']
self.ap = ap
2 changes: 1 addition & 1 deletion pkg/provider/modelmgr/modelmgr.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
from ...core import app

from . import token, api
from .apis import chatcmpl, anthropicmsgs, moonshotchatcmpl
from .apis import chatcmpl, anthropicmsgs, moonshotchatcmpl, deepseekchatcmpl

FETCH_MODEL_LIST_URL = "https://api.qchatgpt.rockchin.top/api/v2/fetch/model_list"

Expand Down
5 changes: 5 additions & 0 deletions templates/metadata/llm-models.json
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,11 @@
"name": "moonshot-v1-128k",
"requester": "moonshot-chat-completions",
"token_mgr": "moonshot"
},
{
"name": "deepseek-chat",
"requester": "deepseek-chat-completions",
"token_mgr": "deepseek"
}
]
}
1 change: 0 additions & 1 deletion templates/pipeline.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
"api-key": "",
"api-secret": ""
},
"submit-messages-tokens": 3072,
"rate-limit": {
"strategy": "drop",
"algo": "fixwin",
Expand Down
8 changes: 8 additions & 0 deletions templates/provider.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@
],
"moonshot": [
"sk-1234567890"
],
"deepseek": [
"sk-1234567890"
]
},
"requester": {
Expand All @@ -28,6 +31,11 @@
"base-url": "https://api.moonshot.cn/v1",
"args": {},
"timeout": 120
},
"deepseek-chat-completions": {
"base-url": "https://api.deepseek.com",
"args": {},
"timeout": 120
}
},
"model": "gpt-3.5-turbo",
Expand Down

0 comments on commit 930321b

Please sign in to comment.