Adds embeddings filter option to return scores in state (#12489)

CC @baskaryan @assafelovic
pull/8568/head
Jacob Lee 8 months ago committed by GitHub
parent 18601bd4c8
commit 76283e9625
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -67,4 +67,6 @@ class EmbeddingsFilter(BaseDocumentCompressor):
similarity[included_idxs] > self.similarity_threshold
)
included_idxs = included_idxs[similar_enough]
for i in included_idxs:
stateful_documents[i].state["query_similarity_score"] = similarity[i]
return [stateful_documents[i] for i in included_idxs]

@ -35,7 +35,9 @@ def test_embeddings_filter_with_state() -> None:
state = {"embedded_doc": np.zeros(len(embedded_query))}
docs = [_DocumentWithState(page_content=t, state=state) for t in texts]
docs[-1].state = {"embedded_doc": embedded_query}
relevant_filter = EmbeddingsFilter(embeddings=embeddings, similarity_threshold=0.75)
relevant_filter = EmbeddingsFilter(
embeddings=embeddings, similarity_threshold=0.75, return_similarity_scores=True
)
actual = relevant_filter.compress_documents(docs, query)
assert len(actual) == 1
assert texts[-1] == actual[0].page_content

Loading…
Cancel
Save