'commit'
This commit is contained in:
@@ -78,12 +78,29 @@ if len(results) > 1:
|
||||
response.raise_for_status() # 检查请求是否成功
|
||||
rerank_result = response.json()
|
||||
|
||||
# 处理重排结果,保留分数
|
||||
for item in rerank_result.get("results", []):
|
||||
doc_idx = item.get("index")
|
||||
score = item.get("score", 0.0) # 获取可信度分数
|
||||
if 0 <= doc_idx < len(results):
|
||||
reranked_docs_with_scores.append((results[doc_idx], score))
|
||||
# 打印完整响应以调试
|
||||
print("重排API响应:", json.dumps(rerank_result, ensure_ascii=False, indent=2))
|
||||
|
||||
# 尝试提取分数,兼容不同的字段名称
|
||||
if "results" in rerank_result:
|
||||
# 处理BAAI/bge-reranker-v2-m3模型的响应格式
|
||||
for item in rerank_result["results"]:
|
||||
doc_idx = item.get("index")
|
||||
# 尝试不同的分数字段名称
|
||||
score = item.get("score", item.get("relevance_score", 0.0))
|
||||
if 0 <= doc_idx < len(results):
|
||||
reranked_docs_with_scores.append((results[doc_idx], score))
|
||||
elif "rankings" in rerank_result:
|
||||
# 处理其他可能的响应格式
|
||||
for item in rerank_result["rankings"]:
|
||||
doc_idx = item.get("index")
|
||||
score = item.get("score", item.get("relevance_score", 0.0))
|
||||
if 0 <= doc_idx < len(results):
|
||||
reranked_docs_with_scores.append((results[doc_idx], score))
|
||||
else:
|
||||
print("警告: 无法识别重排API响应格式")
|
||||
# 使用原始结果,分数设为0.0
|
||||
reranked_docs_with_scores = [(doc, 0.0) for doc in results]
|
||||
|
||||
print("重排后结果数量:", len(reranked_docs_with_scores))
|
||||
except Exception as e:
|
||||
|
Reference in New Issue
Block a user