refactor(rag/nlp): refactor reranking logic to apply post-deduplication and remove debug log
This commit is contained in:
@@ -115,9 +115,8 @@ def knowledge_retrieval(
|
||||
# Use the specified reranker for re-ranking
|
||||
if reranker_id:
|
||||
try:
|
||||
return rerank(db=db, reranker_id=reranker_id, query=query, docs=all_results, top_k=reranker_top_k)
|
||||
all_results = rerank(db=db, reranker_id=reranker_id, query=query, docs=all_results, top_k=reranker_top_k)
|
||||
except Exception as rerank_error:
|
||||
# If reranker fails, log warning and continue with original results
|
||||
logger.warning(
|
||||
"Reranker failed, falling back to original results",
|
||||
extra={
|
||||
@@ -254,6 +253,12 @@ def _retrieve_for_knowledge(
|
||||
seen_ids.add(doc.metadata["doc_id"])
|
||||
unique_rs.append(doc)
|
||||
rs = unique_rs
|
||||
if unique_rs:
|
||||
rs = vector_service.rerank(
|
||||
query=kb_config["query"],
|
||||
docs=unique_rs,
|
||||
top_k=kb_config["top_k"]
|
||||
)
|
||||
if kb_config["retrieve_type"] == "graph":
|
||||
try:
|
||||
from app.core.rag.common.settings import kg_retriever
|
||||
|
||||
@@ -223,7 +223,6 @@ def create_knowledge_retrieval_tool(kb_config, kb_ids, user_id, citations_collec
|
||||
|
||||
retrieve_chunks_result = knowledge_retrieval(query, kb_config)
|
||||
if retrieve_chunks_result:
|
||||
logger.warning(f"检索知识结果:{retrieve_chunks_result}")
|
||||
retrieval_knowledge = [i.page_content for i in retrieve_chunks_result]
|
||||
context = '\n\n'.join(retrieval_knowledge)
|
||||
logger.info(
|
||||
|
||||
Reference in New Issue
Block a user