|
@@ -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的处理
|