Disable SimilarityPostprocessor to avoid Pydantic score validation errors
The SimilarityPostprocessor tries to access node.score which isn't supported
in the current llama-index version and causes Pydantic validation errors.
Since we're already getting sorted results from vector similarity search,
disable the postprocessor and use retrieved nodes directly.
This fixes chat and search endpoints.
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
5a14284d62
commit
0d8d6d7bb8
1 changed files with 8 additions and 4 deletions
|
|
@ -146,8 +146,9 @@ class RAGEngine:
|
|||
)
|
||||
self.qa_prompt = qa_prompt_template
|
||||
|
||||
# Create similarity filter
|
||||
self.similarity_filter = SimilarityPostprocessor(similarity_cutoff=Config.SIMILARITY_THRESHOLD)
|
||||
# Create similarity filter (disabled due to Pydantic validation issues with score attribute)
|
||||
# self.similarity_filter = SimilarityPostprocessor(similarity_cutoff=Config.SIMILARITY_THRESHOLD)
|
||||
self.similarity_filter = None
|
||||
|
||||
logger.info(f"Created RAGEngine for {collection_name}")
|
||||
|
||||
|
|
@ -300,8 +301,11 @@ class RAGEngine:
|
|||
# Retrieve similar documents
|
||||
source_nodes = self.vector_retriever.retrieve(question, query_embedding)
|
||||
|
||||
# Apply similarity filtering
|
||||
filtered_nodes = self.similarity_filter.postprocess_nodes(source_nodes, query_str=question)
|
||||
# Apply similarity filtering (if enabled)
|
||||
if self.similarity_filter is not None:
|
||||
filtered_nodes = self.similarity_filter.postprocess_nodes(source_nodes, query_str=question)
|
||||
else:
|
||||
filtered_nodes = source_nodes
|
||||
|
||||
# If we filtered out all results, return a no-results response
|
||||
if not filtered_nodes:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue