Skip to content

Commit

Permalink
Deprecate SentenceWindowRetrieval (#8206) (#8223)
Browse files Browse the repository at this point in the history
  • Loading branch information
Amnah199 authored Aug 14, 2024
1 parent 21c5073 commit 40cb53f
Show file tree
Hide file tree
Showing 5 changed files with 51 additions and 1 deletion.
1 change: 1 addition & 0 deletions docs/pydoc/config/retrievers_api.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ loaders:
"in_memory/embedding_retriever",
"filter_retriever",
"sentence_window_retriever",
"sentence_window_retrieval"
]
ignore_when_discovered: ["__init__"]
processors:
Expand Down
9 changes: 8 additions & 1 deletion haystack/components/retrievers/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,13 @@
from haystack.components.retrievers.filter_retriever import FilterRetriever
from haystack.components.retrievers.in_memory.bm25_retriever import InMemoryBM25Retriever
from haystack.components.retrievers.in_memory.embedding_retriever import InMemoryEmbeddingRetriever
from haystack.components.retrievers.sentence_window_retrieval import SentenceWindowRetrieval
from haystack.components.retrievers.sentence_window_retriever import SentenceWindowRetriever

__all__ = ["FilterRetriever", "InMemoryEmbeddingRetriever", "InMemoryBM25Retriever", "SentenceWindowRetriever"]
__all__ = [
"FilterRetriever",
"InMemoryEmbeddingRetriever",
"InMemoryBM25Retriever",
"SentenceWindowRetriever",
"SentenceWindowRetrieval",
]
22 changes: 22 additions & 0 deletions haystack/components/retrievers/sentence_window_retrieval.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# SPDX-FileCopyrightText: 2022-present deepset GmbH <[email protected]>
#
# SPDX-License-Identifier: Apache-2.0

import warnings

from .sentence_window_retriever import SentenceWindowRetriever


class SentenceWindowRetrieval(SentenceWindowRetriever):
"""
This class is deprecated. Please use `SentenceWindowRetriever` instead.
"""

def __init__(self, *args, **kwargs):
warnings.warn(
"The class `SentenceWindowRetrieval` is deprecated and will be removed in a future release. "
"Please use `SentenceWindowRetriever` instead.",
DeprecationWarning,
stacklevel=2,
)
super().__init__(*args, **kwargs)
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
deprecations:
- |
`SentenceWindowRetrieval` is deprecated and will be removed in future. Use `SentenceWindowRetriever` instead.
16 changes: 16 additions & 0 deletions test/components/retrievers/test_sentence_window_retrieval.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
from haystack.components.retrievers.sentence_window_retrieval import SentenceWindowRetrieval
from haystack.components.retrievers.sentence_window_retriever import SentenceWindowRetriever
from haystack.document_stores.in_memory import InMemoryDocumentStore
from unittest.mock import patch


class TestSentenceWindowRetrieval:
def test_init_default(self):
retriever = SentenceWindowRetrieval(InMemoryDocumentStore())
assert retriever.window_size == 3

def test_init_calls_parent(self):
with patch.object(SentenceWindowRetriever, "__init__", return_value=None) as mock_init:
document_store = InMemoryDocumentStore()
retriever = SentenceWindowRetrieval(document_store)
mock_init.assert_called_once_with(document_store)

0 comments on commit 40cb53f

Please sign in to comment.