This commit is contained in:
2025-08-19 08:03:39 +08:00
parent 2ba7ebdd33
commit 8aa57537f1

View File

@@ -78,35 +78,21 @@ if len(results) > 1:
response.raise_for_status() # 检查请求是否成功 response.raise_for_status() # 检查请求是否成功
rerank_result = response.json() rerank_result = response.json()
# 打印完整响应以调试 # 处理重排结果提取relevance_score
print("重排API响应:", json.dumps(rerank_result, ensure_ascii=False, indent=2))
# 尝试提取分数,兼容不同的字段名称
if "results" in rerank_result: if "results" in rerank_result:
# 处理BAAI/bge-reranker-v2-m3模型的响应格式
for item in rerank_result["results"]: for item in rerank_result["results"]:
doc_idx = item.get("index") doc_idx = item.get("index")
# 尝试不同的分数字段名称 score = item.get("relevance_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): if 0 <= doc_idx < len(results):
reranked_docs_with_scores.append((results[doc_idx], score)) reranked_docs_with_scores.append((results[doc_idx], score))
else: else:
print("警告: 无法识别重排API响应格式") print("警告: 无法识别重排API响应格式")
# 使用原始结果分数设为0.0
reranked_docs_with_scores = [(doc, 0.0) for doc in results] reranked_docs_with_scores = [(doc, 0.0) for doc in results]
print("重排后结果数量:", len(reranked_docs_with_scores)) print("重排后结果数量:", len(reranked_docs_with_scores))
except Exception as e: except Exception as e:
print(f"重排模型调用失败: {e}") print(f"重排模型调用失败: {e}")
print("将使用原始搜索结果") print("将使用原始搜索结果")
# 使用原始结果分数设为0.0
reranked_docs_with_scores = [(doc, 0.0) for doc in results] reranked_docs_with_scores = [(doc, 0.0) for doc in results]
else: else:
# 只有一个结果,无需重排 # 只有一个结果,无需重排