Delete not supported model providers list (#15783)

Delete not supported model providers list
This commit is contained in:
Wang Qi
2026-06-08 20:06:03 +08:00
committed by GitHub
parent 6fc3955cab
commit c5d0060e0b

View File

@@ -263,128 +263,6 @@ class BaiduYiyan(Base):
return res
class TencentCloud(Base):
"""Tencent Cloud is used for ASR (speech-to-text) only.
It uses SDK-based authentication (SID/SK with HMAC signing).
No REST API is available for model listing, and there are no LLM models.
"""
_FACTORY_NAME = "Tencent Cloud"
def get_model_list(self):
raise NotImplementedError
class FishAudio(Base):
_FACTORY_NAME = "Fish Audio"
def _get_access_token(self):
api_key = self._get_api_key()
if not api_key:
return ""
try:
payload = json.loads(api_key)
except Exception:
return api_key
if isinstance(payload, dict):
return payload.get("fish_audio_ak") or payload.get("access_token") or payload.get("api_key") or api_key
return api_key
def _get_model_list_url(self):
if not self.base_url:
return "https://api.fish.audio/model"
base_url = self.base_url.rstrip("/")
if "/v1/" in base_url:
return base_url.split("/v1")[0].rstrip("/") + "/model"
if base_url.endswith("/v1"):
return base_url[:-3] + "/model"
return base_url + "/model"
async def get_model_list(self):
url = self._get_model_list_url()
access_token = self._get_access_token()
if not url or not access_token:
return []
async with aiohttp.ClientSession() as session:
async with session.get(url, headers={"Authorization": f"Bearer {access_token}"}) as resp:
if resp.status != 200:
return []
raw_model_list = await resp.json()
if not isinstance(raw_model_list, dict):
return []
models = raw_model_list.get("items") or []
if not isinstance(models, list):
return []
model_list = []
for model in models:
if not isinstance(model, dict):
continue
model_name = model.get("title") or model.get("_id")
if not model_name:
continue
model_list.append(
{
"name": model_name,
"model_types": [LLMType.TTS.value],
"features": [],
"max_tokens": 8192,
}
)
return model_list
class MinerU(Base):
_FACTORY_NAME = "MinerU"
def _get_access_token(self):
api_key = self._get_api_key()
if not api_key:
return ""
try:
payload = json.loads(api_key)
except Exception:
return api_key
if isinstance(payload, dict):
return payload.get("access_token") or payload.get("api_key") or api_key
return api_key
async def get_model_list(self):
url = self._get_model_list_url()
access_token = self._get_access_token()
if not url or not access_token:
return []
async with aiohttp.ClientSession() as session:
async with session.get(url, headers={"Authorization": f"Bearer {access_token}"}) as resp:
if resp.status != 200:
return []
raw_model_list = await resp.json()
if isinstance(raw_model_list, dict):
raw_model_list = raw_model_list.get("data") or raw_model_list.get("models") or raw_model_list.get("items") or []
if not isinstance(raw_model_list, list):
return []
model_list = []
for model in raw_model_list:
if not isinstance(model, dict):
continue
model_name = model.get("title") or model.get("name") or model.get("id") or model.get("_id")
if not model_name:
continue
model_list.append(
{
"name": model_name,
"model_types": [LLMType.OCR.value],
"features": [],
"max_tokens": model.get("max_tokens", 8192),
}
)
return model_list
class OpenRouter(Base):
_FACTORY_NAME = "OpenRouter"