Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions integrations/qdrant/CHANGELOG.md
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please revert the changes made here, the Changelog is generated automatically whenever we release a new version.

Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Changelog

## [Unreleased]

### 🧪 Testing

- Replace in-place `Document` dataclass mutations with `dataclasses.replace()` in sparse embedding retriever tests (#3180)

## [integrations/qdrant-v10.3.0] - 2026-03-23

### 📚 Documentation
Expand Down
28 changes: 16 additions & 12 deletions integrations/qdrant/tests/test_sparse_embedding_retriever.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import dataclasses

import pytest
from haystack.dataclasses import Document, SparseEmbedding
from haystack.document_stores.types import FilterPolicy
Expand Down Expand Up @@ -153,9 +155,9 @@ def test_run(self, filterable_docs: list[Document], generate_sparse_embedding):
document_store = QdrantDocumentStore(location=":memory:", index="Boi", use_sparse_embeddings=True)

# Add fake sparse embedding to documents
for doc in filterable_docs:
doc.sparse_embedding = generate_sparse_embedding()

filterable_docs = [
dataclasses.replace(doc, sparse_embedding=generate_sparse_embedding()) for doc in filterable_docs
]
document_store.write_documents(filterable_docs)
retriever = QdrantSparseEmbeddingRetriever(document_store=document_store)
sparse_embedding = SparseEmbedding(indices=[0, 1, 2, 3], values=[0.1, 0.8, 0.05, 0.33])
Expand All @@ -173,9 +175,10 @@ def test_run_with_group_by(self, filterable_docs: list[Document], generate_spars
document_store = QdrantDocumentStore(location=":memory:", index="Boi", use_sparse_embeddings=True)

# Add fake sparse embedding to documents
for index, doc in enumerate(filterable_docs):
doc.sparse_embedding = generate_sparse_embedding()
doc.meta = {"group_field": index // 2} # So at least two docs have same group each time
filterable_docs = [
dataclasses.replace(doc, sparse_embedding=generate_sparse_embedding(), meta={"group_field": index // 2})
for index, doc in enumerate(filterable_docs)
] # So at least two docs have same group each time
document_store.write_documents(filterable_docs)
retriever = QdrantSparseEmbeddingRetriever(document_store=document_store)
sparse_embedding = SparseEmbedding(indices=[0, 1, 2, 3], values=[0.1, 0.8, 0.05, 0.33])
Expand All @@ -197,9 +200,9 @@ async def test_run_async(self, filterable_docs: list[Document], generate_sparse_
document_store = QdrantDocumentStore(location=":memory:", index="Boi", use_sparse_embeddings=True)

# Add fake sparse embedding to documents
for doc in filterable_docs:
doc.sparse_embedding = generate_sparse_embedding()

filterable_docs = [
dataclasses.replace(doc, sparse_embedding=generate_sparse_embedding()) for doc in filterable_docs
]
await document_store.write_documents_async(filterable_docs)
retriever = QdrantSparseEmbeddingRetriever(document_store=document_store)
sparse_embedding = SparseEmbedding(indices=[0, 1, 2, 3], values=[0.1, 0.8, 0.05, 0.33])
Expand All @@ -218,9 +221,10 @@ async def test_run_with_group_by_async(self, filterable_docs: list[Document], ge
document_store = QdrantDocumentStore(location=":memory:", index="Boi", use_sparse_embeddings=True)

# Add fake sparse embedding to documents
for index, doc in enumerate(filterable_docs):
doc.sparse_embedding = generate_sparse_embedding()
doc.meta = {"group_field": index // 2} # So at least two docs have same group each time
filterable_docs = [
dataclasses.replace(doc, sparse_embedding=generate_sparse_embedding(), meta={"group_field": index // 2})
for index, doc in enumerate(filterable_docs)
] # So at least two docs have same group each time
await document_store.write_documents_async(filterable_docs)
retriever = QdrantSparseEmbeddingRetriever(document_store=document_store)
sparse_embedding = SparseEmbedding(indices=[0, 1, 2, 3], values=[0.1, 0.8, 0.05, 0.33])
Expand Down
Loading