fix: 后端 API 修复

- deps.py: 依赖注入优化
- matches.py: 比赛列表查询修复
- predict.py: 预测接口参数校验修复
- orchestrator.py: 多 Agent 编排逻辑修复
This commit is contained in:
shangfangjian
2026-09-20 08:45:19 +08:00
parent 8e6ad5394e
commit 7b1457f0db
4 changed files with 19 additions and 8 deletions
+5 -5
View File
@@ -8,11 +8,11 @@ from __future__ import annotations
import logging
from fastapi import APIRouter, Depends, HTTPException, Query
from fastapi import APIRouter, Depends, HTTPException, Query, Request
from sqlalchemy import select
from sqlalchemy.orm import selectinload
from src.api.deps import rate_limit_predict, require_admin
from src.api.deps import get_predict_rate_limit_remaining, rate_limit_predict, require_admin
from src.api.schemas import PredictOut, PredictRequest, PredictionOut
from src.db.base import AsyncSession, get_db_read, short_read
from src.db.models import Match, Prediction
@@ -24,8 +24,8 @@ router = APIRouter(prefix="/api/v1", tags=["predict"])
@router.post("/predict", response_model=PredictOut, dependencies=[Depends(rate_limit_predict)])
async def predict(req: PredictRequest):
"""对一场比赛调 LLM 预测。mode=multi(默认,5专家+终裁)single。
async def predict(req: PredictRequest, request: Request):
"""对一场比赛调 LLM 预测。mode=multi(默认,5专家+终裁)single 或 baseline
公开接口,仅做限流保护(不要求登录)。
@@ -100,7 +100,7 @@ async def predict(req: PredictRequest):
latency_ms=result.get("latency_ms", 0) if result_dict else result.latency_ms,
prompt_tokens=result.get("prompt_tokens") if result_dict else getattr(result, "prompt_tokens", None),
completion_tokens=result.get("completion_tokens") if result_dict else getattr(result, "completion_tokens", None),
rate_limit_remaining=_predict_limiter.remaining(get_client_ip(request)),
rate_limit_remaining=get_predict_rate_limit_remaining(request),
)