fix: tolerate plaintext api_keys on decrypt failure

This commit is contained in:
yumoqing 2026-08-01 16:42:32 +08:00
parent 13c466069f
commit 328798f5a7

View File

@ -143,7 +143,12 @@ async def _build_context(sor, iteration_id, task_id, max_msgs, system_prompt):
async def _call_llm(model_info, messages, temperature):
"""Call LLM API directly using model config from llm table."""
api_base = model_info.api_base.rstrip('/')
api_key = password_decode(model_info.api_key) if model_info.api_key else ''
# Try decrypt; DB may have plaintext or RC4-encrypted keys
raw_key = model_info.api_key or ''
try:
api_key = password_decode(raw_key)
except Exception:
api_key = raw_key
model_id = model_info.model_id
headers = {