xueyiming 1 týždeň pred
rodič
commit
82394da642
1 zmenil súbory, kde vykonal 38 pridanie a 0 odobranie
  1. 38 0
      routes/buleprint.py

+ 38 - 0
routes/buleprint.py

@@ -482,3 +482,41 @@ async def delete_task():
     )
     await build_graph_task.deal(doc_id)
     return jsonify({"status_code": 200, "detail": "success", "data": {}})
+
+@server_bp.route("/rag/search", methods=["POST"])
+async def rag_search():
+    body = await request.get_json()
+    query_text = body.get("queryText")
+    dataset_id_strs = "11,12"
+    dataset_ids = dataset_id_strs.split(",")
+    search_type = "hybrid"
+
+    query_results = await query_search(
+        query_text=query_text,
+        filters={"dataset_id": dataset_ids},
+        search_type=search_type,
+    )
+
+    resource = get_resource_manager()
+    chat_result_mapper = ChatResult(resource.mysql_client)
+    rag_chat_agent = RAGChatAgent()
+    chat_res = await rag_chat_agent.chat_with_deepseek(query_text, query_results)
+    deepseek_search = await rag_chat_agent.search_with_deepseek(query_text)
+    select = await rag_chat_agent.select_with_deepseek(chat_res, deepseek_search)
+    data = {
+        "result": select["result"],
+        "status": select["status"],
+        "relevance_score": select["relevance_score"],
+    }
+    await chat_result_mapper.insert_chat_result(
+        query_text,
+        dataset_id_strs,
+        json.dumps(query_results, ensure_ascii=False),
+        chat_res["summary"],
+        chat_res["relevance_score"],
+        chat_res["status"],
+        deepseek_search["answer"],
+        deepseek_search["source"],
+        deepseek_search["status"],
+    )
+    return jsonify({"status_code": 200, "detail": "success", "data": data})