- 将llmusage_ioinfo_display.ui和llmusage_usages_display.ui从Jinja模板改为.dspy脚本 - 在utils.py中添加get_llmusage_by_id和read_ioinfo_content两个函数 - 重写get_llmusage.dspy,避免sqlPaging子查询包装,分离count和data查询 - 为llmusage表添加use_time索引提升排序性能 - 更新load_path.py和json/llmusage.json引用新的.dspy文件
49 lines
1.4 KiB
Plaintext
49 lines
1.4 KiB
Plaintext
import json
|
|
from llmage.utils import get_llmusage_by_id, read_ioinfo_content
|
|
|
|
usage_id = params_kw.get('id')
|
|
if not usage_id:
|
|
return {"widgettype": "Message", "options": {"message": "缺少 id 参数", "type": "error"}}
|
|
|
|
record = await get_llmusage_by_id(usage_id)
|
|
if not record:
|
|
return {"widgettype": "Message", "options": {"message": "未找到记录", "type": "error"}}
|
|
|
|
llmid = record.get('llmid', '')
|
|
ioinfo_webpath = record.get('ioinfo', '')
|
|
|
|
ioinfo_content = await read_ioinfo_content(ioinfo_webpath) if ioinfo_webpath else None
|
|
ioinfo_text = json.dumps(ioinfo_content, ensure_ascii=False, indent=2) if ioinfo_content else "无交互内容"
|
|
|
|
return {
|
|
"widgettype": "VScrollPanel",
|
|
"options": {
|
|
"width": "100%",
|
|
"height": "100%"
|
|
},
|
|
"subwidgets": [
|
|
{
|
|
"widgettype": "VBox",
|
|
"options": {
|
|
"width": "100%",
|
|
"padding": "16px",
|
|
"spacing": 12
|
|
},
|
|
"subwidgets": [
|
|
{
|
|
"widgettype": "Title4",
|
|
"options": {
|
|
"text": f"Model: {llmid}"
|
|
}
|
|
},
|
|
{
|
|
"widgettype": "Text",
|
|
"options": {
|
|
"text": ioinfo_text
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|