Merge branch 'HFC-para' of https://github.com/MaiM-with-u/MaiBot into HFC-para
This commit is contained in:
@@ -512,46 +512,54 @@ class StatisticOutputTask(AsyncTask):
|
|||||||
# format总在线时间
|
# format总在线时间
|
||||||
|
|
||||||
# 按模型分类统计
|
# 按模型分类统计
|
||||||
model_rows = "\n".join([
|
model_rows = "\n".join(
|
||||||
f"<tr>"
|
[
|
||||||
f"<td>{model_name}</td>"
|
f"<tr>"
|
||||||
f"<td>{count}</td>"
|
f"<td>{model_name}</td>"
|
||||||
f"<td>{stat_data[IN_TOK_BY_MODEL][model_name]}</td>"
|
f"<td>{count}</td>"
|
||||||
f"<td>{stat_data[OUT_TOK_BY_MODEL][model_name]}</td>"
|
f"<td>{stat_data[IN_TOK_BY_MODEL][model_name]}</td>"
|
||||||
f"<td>{stat_data[TOTAL_TOK_BY_MODEL][model_name]}</td>"
|
f"<td>{stat_data[OUT_TOK_BY_MODEL][model_name]}</td>"
|
||||||
f"<td>{stat_data[COST_BY_MODEL][model_name]:.4f} ¥</td>"
|
f"<td>{stat_data[TOTAL_TOK_BY_MODEL][model_name]}</td>"
|
||||||
f"</tr>"
|
f"<td>{stat_data[COST_BY_MODEL][model_name]:.4f} ¥</td>"
|
||||||
for model_name, count in sorted(stat_data[REQ_CNT_BY_MODEL].items())
|
f"</tr>"
|
||||||
])
|
for model_name, count in sorted(stat_data[REQ_CNT_BY_MODEL].items())
|
||||||
|
]
|
||||||
|
)
|
||||||
# 按请求类型分类统计
|
# 按请求类型分类统计
|
||||||
type_rows = "\n".join([
|
type_rows = "\n".join(
|
||||||
f"<tr>"
|
[
|
||||||
f"<td>{req_type}</td>"
|
f"<tr>"
|
||||||
f"<td>{count}</td>"
|
f"<td>{req_type}</td>"
|
||||||
f"<td>{stat_data[IN_TOK_BY_TYPE][req_type]}</td>"
|
f"<td>{count}</td>"
|
||||||
f"<td>{stat_data[OUT_TOK_BY_TYPE][req_type]}</td>"
|
f"<td>{stat_data[IN_TOK_BY_TYPE][req_type]}</td>"
|
||||||
f"<td>{stat_data[TOTAL_TOK_BY_TYPE][req_type]}</td>"
|
f"<td>{stat_data[OUT_TOK_BY_TYPE][req_type]}</td>"
|
||||||
f"<td>{stat_data[COST_BY_TYPE][req_type]:.4f} ¥</td>"
|
f"<td>{stat_data[TOTAL_TOK_BY_TYPE][req_type]}</td>"
|
||||||
f"</tr>"
|
f"<td>{stat_data[COST_BY_TYPE][req_type]:.4f} ¥</td>"
|
||||||
for req_type, count in sorted(stat_data[REQ_CNT_BY_TYPE].items())
|
f"</tr>"
|
||||||
])
|
for req_type, count in sorted(stat_data[REQ_CNT_BY_TYPE].items())
|
||||||
|
]
|
||||||
|
)
|
||||||
# 按用户分类统计
|
# 按用户分类统计
|
||||||
user_rows = "\n".join([
|
user_rows = "\n".join(
|
||||||
f"<tr>"
|
[
|
||||||
f"<td>{user_id}</td>"
|
f"<tr>"
|
||||||
f"<td>{count}</td>"
|
f"<td>{user_id}</td>"
|
||||||
f"<td>{stat_data[IN_TOK_BY_USER][user_id]}</td>"
|
f"<td>{count}</td>"
|
||||||
f"<td>{stat_data[OUT_TOK_BY_USER][user_id]}</td>"
|
f"<td>{stat_data[IN_TOK_BY_USER][user_id]}</td>"
|
||||||
f"<td>{stat_data[TOTAL_TOK_BY_USER][user_id]}</td>"
|
f"<td>{stat_data[OUT_TOK_BY_USER][user_id]}</td>"
|
||||||
f"<td>{stat_data[COST_BY_USER][user_id]:.4f} ¥</td>"
|
f"<td>{stat_data[TOTAL_TOK_BY_USER][user_id]}</td>"
|
||||||
f"</tr>"
|
f"<td>{stat_data[COST_BY_USER][user_id]:.4f} ¥</td>"
|
||||||
for user_id, count in sorted(stat_data[REQ_CNT_BY_USER].items())
|
f"</tr>"
|
||||||
])
|
for user_id, count in sorted(stat_data[REQ_CNT_BY_USER].items())
|
||||||
|
]
|
||||||
|
)
|
||||||
# 聊天消息统计
|
# 聊天消息统计
|
||||||
chat_rows = "\n".join([
|
chat_rows = "\n".join(
|
||||||
f"<tr><td>{self.name_mapping[chat_id][0]}</td><td>{count}</td></tr>"
|
[
|
||||||
for chat_id, count in sorted(stat_data[MSG_CNT_BY_CHAT].items())
|
f"<tr><td>{self.name_mapping[chat_id][0]}</td><td>{count}</td></tr>"
|
||||||
])
|
for chat_id, count in sorted(stat_data[MSG_CNT_BY_CHAT].items())
|
||||||
|
]
|
||||||
|
)
|
||||||
# 生成HTML
|
# 生成HTML
|
||||||
return f"""
|
return f"""
|
||||||
<div id=\"{div_id}\" class=\"tab-content\">
|
<div id=\"{div_id}\" class=\"tab-content\">
|
||||||
|
|||||||
Reference in New Issue
Block a user