|
|
|
@@ -15,6 +15,7 @@ |
|
|
|
# |
|
|
|
import logging |
|
|
|
import re |
|
|
|
import math |
|
|
|
from collections import OrderedDict |
|
|
|
from dataclasses import dataclass |
|
|
|
|
|
|
|
@@ -353,11 +354,13 @@ class Dealer: |
|
|
|
return ranks |
|
|
|
|
|
|
|
RERANK_LIMIT = 64 |
|
|
|
req = {"kb_ids": kb_ids, "doc_ids": doc_ids, "page": page, "size": RERANK_LIMIT, |
|
|
|
RERANK_LIMIT = int(RERANK_LIMIT//page_size + ((RERANK_LIMIT%page_size)/(page_size*1.) + 0.5)) * page_size if page_size>1 else 1 |
|
|
|
req = {"kb_ids": kb_ids, "doc_ids": doc_ids, "page": math.ceil(page_size*page/RERANK_LIMIT), "size": RERANK_LIMIT, |
|
|
|
"question": question, "vector": True, "topk": top, |
|
|
|
"similarity": similarity_threshold, |
|
|
|
"available_int": 1} |
|
|
|
|
|
|
|
|
|
|
|
if isinstance(tenant_ids, str): |
|
|
|
tenant_ids = tenant_ids.split(",") |
|
|
|
|
|
|
|
@@ -373,6 +376,7 @@ class Dealer: |
|
|
|
sim, tsim, vsim = self.rerank( |
|
|
|
sres, question, 1 - vector_similarity_weight, vector_similarity_weight, |
|
|
|
rank_feature=rank_feature) |
|
|
|
# Already paginated in search function |
|
|
|
idx = np.argsort(sim * -1)[(page - 1) * page_size:page * page_size] |
|
|
|
|
|
|
|
|