feat(llm_bridge): llm_call/llm_call_msgs加timeout参数——_timeout经payload透传统一推理端点(提取等长任务超端点默认60秒)

This commit is contained in:
ymq 2026-09-05 10:24:55 +08:00
parent 03c79fe356
commit e88e0bfc37

View File

@ -105,7 +105,8 @@ def _no_llm_error(model_name=None, org_id=None) -> ValueError:
async def llm_call(prompt: str, model: str = None, temperature: float = 0.7,
org_id: str = None, user_id: str = None, purpose: str = '') -> str:
org_id: str = None, user_id: str = None, purpose: str = '',
timeout: int = 0) -> str:
"""Call LLM and return text response.
统一走模型治理推理 API门禁链 + 双维度记账
@ -133,6 +134,8 @@ async def llm_call(prompt: str, model: str = None, temperature: float = 0.7,
}
if purpose:
payload["_purpose"] = purpose
if timeout:
payload["_timeout"] = int(timeout)
data = await _http_chat(payload, org_id or '0', user_id or '', model or '')
try:
return data["choices"][0]["message"]["content"]
@ -147,14 +150,18 @@ async def call_llm(tenant_id: str, prompt: str, model: str = None, temperature:
async def llm_call_msgs(messages: list, model: str = None, temperature: float = 0.7,
org_id: str = None, user_id: str = None, purpose: str = '') -> str:
org_id: str = None, user_id: str = None, purpose: str = '',
timeout: int = 0) -> str:
"""Call LLM with full message array (system/user/assistant).
purpose='utility'辅助任务分类/选择/摘要治理层按用途选模型链
timeout单次上游调用超时秒数0=用端点默认上限 900超长文本提取用
"""
payload = {"model": model or '', "messages": messages, "temperature": temperature}
if purpose:
payload["_purpose"] = purpose
if timeout:
payload["_timeout"] = int(timeout)
data = await _http_chat(payload, org_id or '0', user_id or '', model or '')
try:
return data["choices"][0]["message"]["content"]