This commit is contained in:
2025-08-19 08:02:40 +08:00
parent 17e52bc315
commit 2ba7ebdd33

View File

@@ -78,12 +78,29 @@ if len(results) > 1:
response.raise_for_status() # 检查请求是否成功
rerank_result = response.json()
# 处理重排结果,保留分数
for item in rerank_result.get("results", []):
# 打印完整响应以调试
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", 0.0) # 获取可信度分数
# 尝试不同的分数字段名称
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: