diff --git a/wwwroot/rag/kb_buttons.dspy b/wwwroot/rag/kb_buttons.dspy new file mode 100644 index 0000000..fb9b87a --- /dev/null +++ b/wwwroot/rag/kb_buttons.dspy @@ -0,0 +1,18 @@ +"""返回知识库选择按钮列表""" +env = request._run_ns +userorgid = await env.get_userorgid() +async with get_sor_context(env, 'rag') as sor: + sql = "SELECT id, name FROM knowledge_bases WHERE org_id IS NULL OR org_id=${org_id}$ ORDER BY name" + recs = await sor.sqlExe(sql, {"org_id": userorgid}) + +buttons = [] +for r in recs: + buttons.append({ + "widgettype": "Text", + "options": {"text": str(r.name), "cfontsize": 12, "padding": "4px 12px", + "bgcolor": "#eee", "color": "#333", "borderRadius": "4px", "css": "clickable kb-btn"}, + "binds": [{"wid": "self", "event": "click", "actiontype": "script", "target": "self", + "script": f"var f=document.querySelector('[name=kb_id]');if(f)f.value='{r.id}';var btns=document.querySelectorAll('.kb-btn');for(var i=0;i