33 lines
752 B
Plaintext
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 []
|