fix(inference): 模板渲染兜底修正——原生jinja2.Environment无renders方法(独立脚本环境崩溃);诊断改print(模块logger未接应用日志管道)
This commit is contained in:
parent
26d083bdd2
commit
31a5c73225
@ -192,14 +192,18 @@ async def _render_tmpl(tmplstr, ns):
|
||||
te = getattr(ServerEnv(), 'tmpl_engine', None)
|
||||
except Exception:
|
||||
te = None
|
||||
if te is None or not callable(getattr(te, 'renders', None)):
|
||||
try:
|
||||
from jinja2 import Environment
|
||||
te = Environment(enable_async=True)
|
||||
except Exception:
|
||||
raise GovernError('模板引擎不可用:jinja2 未安装或未初始化,无法组包上游请求')
|
||||
_tmpl_engine_cache = te
|
||||
return await te.renders(tmplstr, ns)
|
||||
if te is not None and callable(getattr(te, 'renders', None)):
|
||||
_tmpl_engine_cache = te
|
||||
return await te.renders(tmplstr, ns)
|
||||
# 兜底:原生 jinja2.Environment 没有 renders 方法,用 from_string+render_async
|
||||
try:
|
||||
from jinja2 import Environment
|
||||
env = Environment(enable_async=True)
|
||||
_tmpl_engine_cache = None # 原生引擎不缓存(避免掩盖后续真正的引擎注入)
|
||||
t = env.from_string(tmplstr)
|
||||
return await t.render_async(ns)
|
||||
except Exception as e:
|
||||
raise GovernError('模板渲染失败(组包不可用):%s' % str(e)[:200])
|
||||
|
||||
|
||||
async def _render_headers(tmpl, ns):
|
||||
@ -274,10 +278,11 @@ async def _call_upstream_chat(ctx, payload):
|
||||
headers = await _render_headers(profile.get('headers', ''), ns)
|
||||
body = await _build_upstream_body(ctx, payload)
|
||||
timeout = int(_fnum(ctx.get('timeout')) or _TOTAL_TIMEOUT)
|
||||
# 可诊断性:只记长度不记值(真 key 不落日志)
|
||||
logger.info("inference: 组包 url=%s auth头长度=%d body字段=%s",
|
||||
url.split('?')[0], len(headers.get('Authorization', '') or ''),
|
||||
sorted(body.keys()))
|
||||
# 可诊断性:只记长度不记值(真 key 不落日志)。print 确保进应用日志
|
||||
# (模块 logging.getLogger 的 handler 未接应用日志管道,2026-09-04 实测)
|
||||
print("[inference] 组包 url=%s auth头长度=%d body字段=%s" % (
|
||||
url.split('?')[0], len(headers.get('Authorization', '') or ''),
|
||||
sorted(body.keys())))
|
||||
|
||||
last = None
|
||||
for attempt in range(_MAX_ATTEMPTS):
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user