Skip to content

Commit 334198e

Browse files
committed
Dont' modify docs in place
1 parent 79650ab commit 334198e

1 file changed

Lines changed: 7 additions & 4 deletions

File tree

integrations/optimum/src/haystack_integrations/components/embedders/optimum/optimum_document_embedder.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
#
33
# SPDX-License-Identifier: Apache-2.0
44

5+
from dataclasses import replace
56
from typing import Any, Optional, Union
67

78
from haystack import Document, component, default_from_dict, default_to_dict
@@ -56,7 +57,7 @@ def __init__(
5657
progress_bar: bool = True,
5758
meta_fields_to_embed: Optional[list[str]] = None,
5859
embedding_separator: str = "\n",
59-
):
60+
) -> None:
6061
"""
6162
Create a OptimumDocumentEmbedder component.
6263
@@ -140,7 +141,7 @@ def __init__(
140141
self._backend = _EmbedderBackend(params)
141142
self._initialized = False
142143

143-
def warm_up(self):
144+
def warm_up(self) -> None:
144145
"""
145146
Initializes the component.
146147
"""
@@ -223,7 +224,9 @@ def run(self, documents: list[Document]) -> dict[str, list[Document]]:
223224

224225
texts_to_embed = self._prepare_texts_to_embed(documents=documents)
225226
embeddings = self._backend.embed_texts(texts_to_embed)
227+
228+
new_documents = []
226229
for doc, emb in zip(documents, embeddings):
227-
doc.embedding = emb
230+
new_documents.append(replace(doc, embedding=emb))
228231

229-
return {"documents": documents}
232+
return {"documents": new_documents}

0 commit comments

Comments
 (0)