refactor(api): TOML 配置 SSOT、统一错误契约、Auth/事务加固与可观测性 (#33)

配置 SSOT(TOML + .env)
统一错误契约
Auth 与事务边界
Redis / Celery 可靠性:业务 Redis(DB/0)与 Celery broker/backend(DB/1)显式拆分;连接池、sync client
可观测性(OpenTelemetry + LGTM)
This commit is contained in:
Sully
2026-05-22 13:44:50 +08:00
committed by GitHub
parent f09ae248f9
commit 53e0065e3e
298 changed files with 15247 additions and 4344 deletions

View File

@@ -7,27 +7,28 @@ from langchain_openai import ChatOpenAI
from app.adapters.llm.openai_base_url import normalize_openai_compatible_base_url
from app.core.config import settings
from app.core.eval_judge_spec import EvalJudgeLlmSpec
from app.features.evaluation.constants import eval_cfg
def build_zhipu_eval_judge_spec(
judge_model: str | None,
) -> EvalJudgeLlmSpec | None:
"""密钥缺失时返回 None。"""
api_key = (settings.eval_judge_api_key or settings.zhipu_api_key or "").strip()
api_key = (settings.zhipu_api_key or "").strip()
if not api_key:
return None
want = (judge_model or "").strip()
base = normalize_openai_compatible_base_url(
settings.eval_judge_base_url,
eval_cfg.judge_base_url,
fallback="https://open.bigmodel.cn/api/paas/v4",
)
model = want or (settings.eval_judge_model or "glm-5")
ctx = int(settings.eval_judge_context_window_tokens)
model = want or (eval_cfg.judge_model or "glm-5")
ctx = int(eval_cfg.judge_context_window_tokens)
llm_kw: dict = {
"api_key": api_key,
"base_url": base,
"model": model,
"temperature": settings.eval_judge_temperature,
"temperature": eval_cfg.judge_temperature,
}
return EvalJudgeLlmSpec(
llm=ChatOpenAI(**llm_kw),