diff --git a/libs/langchain/langchain/retrievers/multi_vector.py b/libs/langchain/langchain/retrievers/multi_vector.py index 9b58a091f60..bfb21af80ce 100644 --- a/libs/langchain/langchain/retrievers/multi_vector.py +++ b/libs/langchain/langchain/retrievers/multi_vector.py @@ -67,7 +67,7 @@ class MultiVectorRetriever(BaseRetriever): # We do this to maintain the order of the ids that are returned ids = [] for d in sub_docs: - if d.metadata[self.id_key] not in ids: + if self.id_key in d.metadata and d.metadata[self.id_key] not in ids: ids.append(d.metadata[self.id_key]) docs = self.docstore.mget(ids) return [d for d in docs if d is not None]