diff --git a/rag/llm/model_meta.py b/rag/llm/model_meta.py index 6f8df39b03..2394904268 100644 --- a/rag/llm/model_meta.py +++ b/rag/llm/model_meta.py @@ -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"