fix: 模型性能排行按model归并(GROUP BY),消除同模型多条记录
This commit is contained in:
parent
3b9391b582
commit
85913f8332
@ -57,7 +57,15 @@ async def api_model_perf(sor, params_kw=None):
|
|||||||
try:
|
try:
|
||||||
model = params_kw.get('model') if params_kw else None
|
model = params_kw.get('model') if params_kw else None
|
||||||
stat_date = params_kw.get('date') if params_kw else None
|
stat_date = params_kw.get('date') if params_kw else None
|
||||||
sql = "SELECT * FROM dm_model_perf_daily WHERE 1=1"
|
sql = """SELECT model, catelogid, providerid,
|
||||||
|
SUM(total_calls) as total_calls,
|
||||||
|
SUM(success_calls) as success_calls,
|
||||||
|
SUM(fail_calls) as fail_calls,
|
||||||
|
CASE WHEN SUM(total_calls)>0 THEN ROUND(SUM(success_calls)*100.0/SUM(total_calls),1) ELSE 0 END as success_rate,
|
||||||
|
CASE WHEN SUM(total_calls)>0 THEN ROUND(SUM(total_calls*avg_ttft_ms)/SUM(total_calls),1) ELSE NULL END as avg_ttft_ms,
|
||||||
|
CASE WHEN SUM(total_calls)>0 THEN ROUND(SUM(total_calls*avg_ttot_ms)/SUM(total_calls),1) ELSE NULL END as avg_ttot_ms,
|
||||||
|
COALESCE(SUM(total_amount_cny),0) as total_amount_cny
|
||||||
|
FROM dm_model_perf_daily WHERE 1=1"""
|
||||||
ns = {}
|
ns = {}
|
||||||
if stat_date:
|
if stat_date:
|
||||||
sql += " AND stat_date=${stat_date}$"
|
sql += " AND stat_date=${stat_date}$"
|
||||||
@ -65,6 +73,7 @@ async def api_model_perf(sor, params_kw=None):
|
|||||||
if model:
|
if model:
|
||||||
sql += " AND model=${model}$"
|
sql += " AND model=${model}$"
|
||||||
ns['model'] = model
|
ns['model'] = model
|
||||||
|
sql += " GROUP BY model, catelogid, providerid"
|
||||||
sql += " ORDER BY total_calls DESC LIMIT 50"
|
sql += " ORDER BY total_calls DESC LIMIT 50"
|
||||||
rows = await sor.sqlExe(sql, ns)
|
rows = await sor.sqlExe(sql, ns)
|
||||||
return [dict(r) for r in rows]
|
return [dict(r) for r in rows]
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user