fix: Tree dspy return Message widget format, use description as parentid

This commit is contained in:
yumoqing 2026-07-23 11:05:04 +08:00
parent 4a846e8757
commit f935553f55
4 changed files with 16 additions and 10 deletions

View File

@ -3,5 +3,5 @@ db = DBPools()
dbname = get_module_dbname('rag')
async with db.sqlorContext(dbname) as sor:
await sor.sqlExe("DELETE FROM document_chunks WHERE id=${id}$", {"id": ns.get("id","")})
return {"status": "SUCCEEDED"}
return {"error": "failed"}
result = {"widgettype": "Message", "options": {"user_data": {"id": ns.get("id","")}}}
result

View File

@ -6,12 +6,12 @@ dbname = get_module_dbname('rag')
async with db.sqlorContext(dbname) as sor:
if not id:
recs = await sor.sqlExe(
"SELECT id, '' as parentid, content as label FROM document_chunks WHERE kb_id=${kb_id}$ AND chunk_type='directory' ORDER BY content",
"SELECT id, '' as parentid, content as label FROM document_chunks WHERE kb_id=${kb_id}$ AND chunk_type='directory' AND (description IS NULL OR description='') ORDER BY content",
{"kb_id": kb_id})
return [dict(r) for r in recs]
else:
recs = await sor.sqlExe(
"SELECT id, '' as parentid, content as label FROM document_chunks WHERE kb_id=${kb_id}$ AND chunk_type='directory' AND parent_id=${id}$ ORDER BY content",
"SELECT id, description as parentid, content as label FROM document_chunks WHERE kb_id=${kb_id}$ AND chunk_type='directory' AND description=${id}$ ORDER BY content",
{"kb_id": kb_id, "id": id})
return [dict(r) for r in recs]
return []

View File

@ -4,9 +4,12 @@ dbname = get_module_dbname('rag')
async with db.sqlorContext(dbname) as sor:
import uuid
dir_id = uuid.uuid4().hex[:16]
name = ns.get("name", "")
parent_id = ns.get("parentid", "")
kb_id = ns.get("kb_id", "")
await sor.sqlExe(
"INSERT INTO document_chunks (id, doc_id, kb_id, chunk_index, chunk_type, content, description, created_at) "
"VALUES (${id}$, '', ${kb_id}$, 0, 'directory', ${name}$, ${parentid}$, NOW())",
{"id": dir_id, "kb_id": ns.get("kb_id",""), "name": ns.get("name",""), "parentid": ns.get("parentid","")})
return {"status": "SUCCEEDED", "id": dir_id}
return {"error": "failed"}
{"id": dir_id, "kb_id": kb_id, "name": name, "parentid": parent_id})
result = {"widgettype": "Message", "options": {"user_data": {"id": dir_id, "label": name, "parentid": parent_id}}}
result

View File

@ -2,7 +2,10 @@ ns = params_kw.copy()
db = DBPools()
dbname = get_module_dbname('rag')
async with db.sqlorContext(dbname) as sor:
id = ns.get("id", "")
kb_id = ns.get("kb_id", "")
name = ns.get("name", "")
await sor.sqlExe("UPDATE document_chunks SET content=${name}$ WHERE id=${id}$",
{"name": ns.get("name",""), "id": ns.get("id","")})
return {"status": "SUCCEEDED"}
return {"error": "failed"}
{"name": name, "id": id})
result = {"widgettype": "Message", "options": {"user_data": {"id": id, "label": name}}}
result