dashboard_for_sage/wwwroot/api/get_top_models.dspy

33 lines
752 B
Plaintext

"""获取当天排名前三的模型数量和金额"""
from datetime import date
ns = params_kw.copy()
today = date.today().isoformat()
sql = """
SELECT
b.name as model_name,
COUNT(*) as cnt,
COALESCE(SUM(a.amount), 0) as total_amount
FROM llmusage a
LEFT JOIN llm b ON a.llmid = b.id
WHERE a.use_date = ${today}$
GROUP BY a.llmid, b.name
ORDER BY cnt DESC
LIMIT 3
"""
db = DBPools()
async with db.sqlorContext('sage') as sor:
recs = await sor.sqlExe(sql, {'today': today})
result = []
for r in recs:
result.append({
'model_name': r.get('model_name', 'Unknown'),
'cnt': int(r.get('cnt', 0)),
'total_amount': float(r.get('total_amount', 0))
})
return result
return []