19 lines
866 B
Plaintext

ns = params_kw.copy()
db = DBPools()
dbname = get_module_dbname('rag')
async with db.sqlorContext(dbname) as sor:
import uuid
env = request._run_ns
userorgid = await env.get_userorgid()
kb_id = uuid.uuid4().hex[:12]
name = ns.get("name", "")
desc = ns.get("description", "")
engine = ns.get("embedding_engine", "CLIP ViT-H-14")
vdb = ns.get("vdb_collection", name)
await sor.sqlExe(
"INSERT INTO knowledge_bases (id, name, description, org_id, embedding_engine, vdb_collection, doc_count, total_size, chunk_count, status, created_at) "
"VALUES (${id}$, ${name}$, ${desc}$, ${org_id}$, ${engine}$, ${vdb}$, 0, 0, 0, 'active', NOW())",
{"id": kb_id, "name": name, "desc": desc, "org_id": userorgid, "engine": engine, "vdb": vdb})
return {"status": "SUCCEEDED", "kb_id": kb_id}
return {"error": "failed"}