From 92e3546e8a96feefe17327d69881cecda8202cf2 Mon Sep 17 00:00:00 2001 From: WangCham <651122857@qq.com> Date: Thu, 17 Apr 2025 16:18:05 +0800 Subject: [PATCH] feat: add support for ppio --- .../modelmgr/requesters/ppiochatcmpl.py | 20 +++++++++++ .../modelmgr/requesters/ppiochatcmpl.yaml | 34 +++++++++++++++++++ templates/provider.json | 8 +++++ 3 files changed, 62 insertions(+) create mode 100644 pkg/provider/modelmgr/requesters/ppiochatcmpl.py create mode 100644 pkg/provider/modelmgr/requesters/ppiochatcmpl.yaml diff --git a/pkg/provider/modelmgr/requesters/ppiochatcmpl.py b/pkg/provider/modelmgr/requesters/ppiochatcmpl.py new file mode 100644 index 00000000..d0149a80 --- /dev/null +++ b/pkg/provider/modelmgr/requesters/ppiochatcmpl.py @@ -0,0 +1,20 @@ + +from __future__ import annotations + +import openai + +from . import chatcmpl, modelscopechatcmpl +from .. import requester +from ....core import app + +class PPIOChatCompletions(chatcmpl.OpenAIChatCompletions): + """欧派云 ChatCompletion API 请求器""" + + client: openai.AsyncClient + + requester_cfg: dict + + def __init__(self, ap: app.Application): + self.ap = ap + + self.requester_cfg = self.ap.provider_cfg.data['requester']['ppio-chat-completions'] \ No newline at end of file diff --git a/pkg/provider/modelmgr/requesters/ppiochatcmpl.yaml b/pkg/provider/modelmgr/requesters/ppiochatcmpl.yaml new file mode 100644 index 00000000..555f6416 --- /dev/null +++ b/pkg/provider/modelmgr/requesters/ppiochatcmpl.yaml @@ -0,0 +1,34 @@ +apiVersion: v1 +kind: LLMAPIRequester +metadata: + name: ppio-chat-completions + label: + en_US: ppio + zh_CN: 派欧云 +spec: + config: + - name: base-url + label: + en_US: Base URL + zh_CN: 基础 URL + type: string + required: true + default: "https://api.ppinfra.com/v3/openai" + - name: args + label: + en_US: Args + zh_CN: 附加参数 + type: object + required: true + default: {} + - name: timeout + label: + en_US: Timeout + zh_CN: 超时时间 + type: int + required: true + default: 120 +execution: + python: + path: ./ppiochatcmpl.py + attr: PPIOChatCompletions \ No newline at end of file diff --git a/templates/provider.json b/templates/provider.json index 135c086d..75b107f5 100644 --- a/templates/provider.json +++ b/templates/provider.json @@ -34,6 +34,9 @@ ], "modelscope": [ "xxxxxxxx" + ], + "ppio": [ + "xxxxxxxx" ] }, "requester": { @@ -103,6 +106,11 @@ "base-url": "https://api-inference.modelscope.cn/v1", "args": {}, "timeout": 120 + }, + "ppio-chat-completions": { + "base-url": "https://api.ppinfra.com/v3/openai", + "args": {}, + "timeout": 120 } }, "model": "gpt-4o",