From b0479c078a0edb125891dd62906a3be45ffcb546 Mon Sep 17 00:00:00 2001 From: zrguo <49157727+LarFii@users.noreply.github.com> Date: Wed, 9 Jul 2025 15:55:38 +0800 Subject: [PATCH] fix process_chunks_unified() --- lightrag/operate.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/lightrag/operate.py b/lightrag/operate.py index a27e19f4..be4499ab 100644 --- a/lightrag/operate.py +++ b/lightrag/operate.py @@ -2879,15 +2879,7 @@ async def process_chunks_unified( f"Deduplication: {len(unique_chunks)} chunks (original: {len(chunks)})" ) - # 2. Apply chunk_top_k limiting if specified - if query_param.chunk_top_k is not None and query_param.chunk_top_k > 0: - if len(unique_chunks) > query_param.chunk_top_k: - unique_chunks = unique_chunks[: query_param.chunk_top_k] - logger.debug( - f"Chunk top-k limiting: kept {len(unique_chunks)} chunks (chunk_top_k={query_param.chunk_top_k})" - ) - - # 3. Apply reranking if enabled and query is provided + # 2. Apply reranking if enabled and query is provided if global_config.get("enable_rerank", False) and query and unique_chunks: rerank_top_k = query_param.chunk_rerank_top_k or len(unique_chunks) unique_chunks = await apply_rerank_if_enabled( @@ -2898,6 +2890,14 @@ async def process_chunks_unified( ) logger.debug(f"Rerank: {len(unique_chunks)} chunks (source: {source_type})") + # 3. Apply chunk_top_k limiting if specified + if query_param.chunk_top_k is not None and query_param.chunk_top_k > 0: + if len(unique_chunks) > query_param.chunk_top_k: + unique_chunks = unique_chunks[: query_param.chunk_top_k] + logger.debug( + f"Chunk top-k limiting: kept {len(unique_chunks)} chunks (chunk_top_k={query_param.chunk_top_k})" + ) + # 4. Token-based final truncation tokenizer = global_config.get("tokenizer") if tokenizer and unique_chunks: