lsc 1 月之前
父节点
当前提交
75cbcacaa4
共有 2 个文件被更改,包括 55 次插入1 次删除
  1. 3 1
      mysql.js
  2. 52 0
      pbl.js

+ 3 - 1
mysql.js

@@ -24,7 +24,9 @@ us.mysqlconnection = function(host, database) {
             database: database, //数据库名称
             // port: 20007 //端口
             port: port, //端口
-            // connectTimeout: 60000 // 设置连接超时为 60 秒
+            // connectionLimit: 10,
+            // connectTimeout: 60000, // 超过此时间连接会失败
+            // acquireTimeout: 60000, // 获取连接的超时时间
         }); //连接超时和错误从连
     }
     //connectionLimit: 1000, 

+ 52 - 0
pbl.js

@@ -926,6 +926,58 @@ router.route("/searchFolder2").all(async (req, res, next) => {
     }
 });
 
+//召回测试
+router.route("/searchFolder3").all(async (req, res, next) => {
+    let reqJson = req.body[0]
+    if (reqJson) {
+        reqJson.query = decodeURIComponent(reqJson.query)
+        try {
+            let filters = {}
+            let documentids = reqJson.documentids ? decodeURIComponent(reqJson.documentids).split(",").filter(id => id) : [];
+            let folderids = reqJson.folderids ? decodeURIComponent(reqJson.folderids).split(",").filter(id => id) : [];
+            filters = {
+                "$or": [
+                    { "collection_ids": { "$in": folderids } },
+                    { "document_id": { "$in": documentids } }
+                ]
+            };
+
+            let params = {
+                query: reqJson.query,
+                searchSettings: {
+                    useHybridSearch: reqJson.useType == 3,
+                    useSemanticSearch: reqJson.useType == 1 || reqJson.useType == 2 || reqJson.useType == 3,
+                    useFullTextSearch: reqJson.useType == 1 || reqJson.useType == 2 || reqJson.useType == 3,
+                    hybrid_settings: {
+                        fullTextWeight: reqJson.fullTextWeight,
+                        semanticWeight: reqJson.semanticWeight,
+                    },
+                    filters: filters,
+                    limit: reqJson.limit ? reqJson.limit : 100,
+                },
+                ragGenerationConfig: {
+                    stream: false,
+                    temperature: reqJson.temperature ? reqJson.temperature : 0,
+                    maxTokens: reqJson.tokens ? reqJson.tokens : 5000
+                }
+            }
+            // console.log(params);
+            
+            const response = await client.retrieval.search(params);
+            
+            p = [reqJson.userid, reqJson.folderids, encodeURIComponent(JSON.stringify(reqJson)), encodeURIComponent(JSON.stringify(response.results))];
+            p.unshift(_mysqlLabor[0], _mysqlLabor[1], "addRagData");
+            mysql.usselect(p, async function (ret) {
+                res.status(200).json({ result: response.results });
+            });
+        } catch (error) {
+            console.log(error);
+            
+            res.status(500).json({ error: error instanceof Error ? error.message : "An error occurred" });
+        }
+
+    }
+});
 //获取召回测试数据
 router.route("/getRagData").all(async (req, res, next) => {
     //mode的处理