feat: Skip rerank filtering when min_rerank_score is 0.0

This commit is contained in:
yangdx 2025-07-27 16:50:12 +08:00
parent ebaff228aa
commit a9565d7379
2 changed files with 17 additions and 16 deletions

View file

@ -19,11 +19,11 @@ DEFAULT_MAX_ENTITY_TOKENS = 10000
DEFAULT_MAX_RELATION_TOKENS = 10000
DEFAULT_MAX_TOTAL_TOKENS = 30000
DEFAULT_HISTORY_TURNS = 0
DEFAULT_ENABLE_RERANK = True
DEFAULT_COSINE_THRESHOLD = 0.2
DEFAULT_RELATED_CHUNK_NUMBER = 5
# Rerank configuration defaults
DEFAULT_ENABLE_RERANK = True
DEFAULT_MIN_RERANK_SCORE = 0.0
# Separator for graph fields

View file

@ -1874,24 +1874,25 @@ async def process_chunks_unified(
# 2. Filter by minimum rerank score if reranking is enabled
if query_param.enable_rerank and unique_chunks:
min_rerank_score = global_config.get("min_rerank_score", 0.5)
original_count = len(unique_chunks)
if min_rerank_score > 0.0:
original_count = len(unique_chunks)
# Filter chunks with score below threshold
filtered_chunks = []
for chunk in unique_chunks:
rerank_score = chunk.get("rerank_score", 1.0) # Default to 1.0 if no score
if rerank_score >= min_rerank_score:
filtered_chunks.append(chunk)
# Filter chunks with score below threshold
filtered_chunks = []
for chunk in unique_chunks:
rerank_score = chunk.get("rerank_score", 1.0) # Default to 1.0 if no score
if rerank_score >= min_rerank_score:
filtered_chunks.append(chunk)
unique_chunks = filtered_chunks
filtered_count = original_count - len(unique_chunks)
unique_chunks = filtered_chunks
filtered_count = original_count - len(unique_chunks)
if filtered_count > 0:
logger.info(
f"Rerank filtering remained: {len(unique_chunks)} chunks (min rerank score: {min_rerank_score})"
)
if not unique_chunks:
return []
if filtered_count > 0:
logger.info(
f"Rerank filtering remained: {len(unique_chunks)} chunks (min rerank score: {min_rerank_score})"
)
if not unique_chunks:
return []
# 3. Apply chunk_top_k limiting if specified
if query_param.chunk_top_k is not None and query_param.chunk_top_k > 0: