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
|
# Use the specified reranker for re-ranking
|
||||||
if reranker_id:
|
if reranker_id:
|
||||||
try:
|
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:
|
except Exception as rerank_error:
|
||||||
# If reranker fails, log warning and continue with original results
|
|
||||||
logger.warning(
|
logger.warning(
|
||||||
"Reranker failed, falling back to original results",
|
"Reranker failed, falling back to original results",
|
||||||
extra={
|
extra={
|
||||||
@@ -254,6 +253,12 @@ def _retrieve_for_knowledge(
|
|||||||
seen_ids.add(doc.metadata["doc_id"])
|
seen_ids.add(doc.metadata["doc_id"])
|
||||||
unique_rs.append(doc)
|
unique_rs.append(doc)
|
||||||
rs = unique_rs
|
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":
|
if kb_config["retrieve_type"] == "graph":
|
||||||
try:
|
try:
|
||||||
from app.core.rag.common.settings import kg_retriever
|
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)
|
retrieve_chunks_result = knowledge_retrieval(query, kb_config)
|
||||||
if retrieve_chunks_result:
|
if retrieve_chunks_result:
|
||||||
logger.warning(f"检索知识结果:{retrieve_chunks_result}")
|
|
||||||
retrieval_knowledge = [i.page_content for i in retrieve_chunks_result]
|
retrieval_knowledge = [i.page_content for i in retrieve_chunks_result]
|
||||||
context = '\n\n'.join(retrieval_knowledge)
|
context = '\n\n'.join(retrieval_knowledge)
|
||||||
logger.info(
|
logger.info(
|
||||||
|
|||||||
Reference in New Issue
Block a user