feat: add Qiniu provider support (#2155)

* feat: add Qiniu provider support

* feat: add Qiniu provider support

---------

Co-authored-by: JiangZhuo <jiangzhuo@qiniu.com>
This commit is contained in:
Jack Chiang
2026-04-29 13:52:56 +08:00
committed by GitHub
parent ce6e79db8e
commit 86a4d1bf0b
12 changed files with 130 additions and 43 deletions
@@ -0,0 +1,45 @@
from __future__ import annotations
import typing
import openai
from . import chatcmpl
class QiniuChatCompletions(chatcmpl.OpenAIChatCompletions):
"""七牛云 ChatCompletion API 请求器"""
client: openai.AsyncClient
default_config: dict[str, typing.Any] = {
'base_url': 'https://api.qnaigc.com/v1',
'timeout': 120,
}
async def scan_models(self, api_key: str | None = None) -> dict[str, typing.Any]:
try:
result = await super().scan_models(api_key)
except Exception:
return self._qiniu_fallback_scan_result()
models = result.get('models') or []
if not models:
return self._qiniu_fallback_scan_result()
return result
def _qiniu_fallback_scan_result(self) -> dict[str, typing.Any]:
mid = 'deepseek-v3'
return {
'models': [
{
'id': mid,
'name': mid,
'type': 'llm',
'abilities': [],
}
],
'debug': {
'request': {'method': 'GET', 'url': '', 'headers': {}},
'response': {},
},
}