IRISEmbeddingRetriever¶
IRISEmbeddingRetriever ¶
IRISEmbeddingRetriever(*, document_store: IRISDocumentStore, filters: dict[str, Any] | None = None, top_k: int = 10, filter_policy: FilterPolicy | str = FilterPolicy.REPLACE)
Retrieve documents from :class:IRISDocumentStore by embedding similarity.
Uses IRIS native VECTOR_COSINE function for semantic similarity computation. The similarity metric depends on the model used to generate the embeddings.
Usage in a pipeline
.. code-block:: python
from haystack import Pipeline
from haystack.components.embedders import SentenceTransformersTextEmbedder
from intersystems_iris_haystack.document_stores import IRISDocumentStore
from intersystems_iris_haystack.components.retrievers import IRISEmbeddingRetriever
store = IRISDocumentStore()
pipeline = Pipeline()
pipeline.add_component("embedder", SentenceTransformersTextEmbedder())
pipeline.add_component("retriever", IRISEmbeddingRetriever(document_store=store))
pipeline.connect("embedder.embedding", "retriever.query_embedding")
result = pipeline.run({"embedder": {"text": "What is IRIS?"}})
print(result["retriever"]["documents"])
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
document_store | IRISDocumentStore | An :class: | required |
filters | dict[str, Any] | None | Filters applied to the retrieved documents at initialization time. Runtime filters are merged/replaced according to | None |
top_k | int | Maximum number of documents to retrieve. | 10 |
filter_policy | FilterPolicy | str | Determines how
| REPLACE |
Raises:
| Type | Description |
|---|---|
ValueError | If |
Source code in src/intersystems_iris_haystack/components/retrievers/embedding_retriever.py
run ¶
run(query_embedding: list[float], filters: dict[str, Any] | None = None, top_k: int | None = None) -> dict[str, list[Document]]
Retrieve the most similar documents for a query embedding.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
query_embedding | list[float] | Query vector (must have the same dimensions as stored embeddings). | required |
filters | dict[str, Any] | None | Runtime filters. Combined with init-time filters according to | None |
top_k | int | None | Override the default | None |
Returns:
| Type | Description |
|---|---|
dict |
|
Source code in src/intersystems_iris_haystack/components/retrievers/embedding_retriever.py
to_dict ¶
Serializes the component to a dictionary.
Source code in src/intersystems_iris_haystack/components/retrievers/embedding_retriever.py
from_dict classmethod ¶
Deserializes the component from a dictionary.