From 8e4fba6cd2e89f8cb66f83b9542c4435ac5cf2fd Mon Sep 17 00:00:00 2001 From: Wang Qi Date: Mon, 8 Jun 2026 19:19:10 +0800 Subject: [PATCH] Fix OpenRouter key JSONDecodeError (#15776) Fix OpenRouter key JSONDecodeError --- rag/llm/chat_model.py | 8 ++++++-- rag/llm/cv_model.py | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/rag/llm/chat_model.py b/rag/llm/chat_model.py index 1200fe3c5e..20d5a12dcd 100644 --- a/rag/llm/chat_model.py +++ b/rag/llm/chat_model.py @@ -1371,8 +1371,12 @@ class LiteLLMBase(ABC): # Factory specific fields if self.provider == SupportedLiteLLMProvider.OpenRouter: - self.api_key = json.loads(key).get("api_key", "") - self.provider_order = json.loads(key).get("provider_order", "") + try: + self.api_key = json.loads(key).get("api_key", "") + self.provider_order = json.loads(key).get("provider_order", "") + except JSONDecodeError: + self.api_key = key + self.provider_order = "" elif self.provider == SupportedLiteLLMProvider.Azure_OpenAI: self.api_key = json.loads(key).get("api_key", "") self.api_version = json.loads(key).get("api_version", "2024-02-01") diff --git a/rag/llm/cv_model.py b/rag/llm/cv_model.py index bcb93d5b42..f3a0379981 100644 --- a/rag/llm/cv_model.py +++ b/rag/llm/cv_model.py @@ -635,13 +635,17 @@ class OpenRouterCV(GptV4): def __init__(self, key, model_name, lang="Chinese", base_url="https://openrouter.ai/api/v1", **kwargs): if not base_url: base_url = "https://openrouter.ai/api/v1" - api_key = json.loads(key).get("api_key", "") + try: + api_key = json.loads(key).get("api_key", "") + provider_order = json.loads(key).get("provider_order", "") + except JSONDecodeError: + api_key = key + provider_order = "" self.client = OpenAI(api_key=api_key, base_url=base_url) self.async_client = AsyncOpenAI(api_key=api_key, base_url=base_url) self.model_name = model_name self.lang = lang Base.__init__(self, **kwargs) - provider_order = json.loads(key).get("provider_order", "") self.extra_body = {} if provider_order: