From 119fa1eb732ee8e636dc9ad13280e5d965ca6599 Mon Sep 17 00:00:00 2001 From: hajdul88 <52442977+hajdul88@users.noreply.github.com> Date: Fri, 28 Mar 2025 17:39:56 +0100 Subject: [PATCH] feat: adds graph completion retriever fix (#676) ## Description Adds graph completion retriever fix ## DCO Affirmation I affirm that all code in every commit of this pull request conforms to the terms of the Topoteretes Developer Certificate of Origin --- cognee/modules/retrieval/graph_completion_retriever.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/cognee/modules/retrieval/graph_completion_retriever.py b/cognee/modules/retrieval/graph_completion_retriever.py index 66002825f..16b22eab7 100644 --- a/cognee/modules/retrieval/graph_completion_retriever.py +++ b/cognee/modules/retrieval/graph_completion_retriever.py @@ -60,9 +60,13 @@ class GraphCompletionRetriever(BaseRetriever): vector_index_collections = [] for subclass in subclasses: - index_fields = subclass.model_fields["metadata"].default.get("index_fields", []) - for field_name in index_fields: - vector_index_collections.append(f"{subclass.__name__}_{field_name}") + if "metadata" in subclass.model_fields: + metadata_field = subclass.model_fields["metadata"] + if hasattr(metadata_field, "default") and metadata_field.default is not None: + if isinstance(metadata_field.default, dict): + index_fields = metadata_field.default.get("index_fields", []) + for field_name in index_fields: + vector_index_collections.append(f"{subclass.__name__}_{field_name}") found_triplets = await brute_force_triplet_search( query, top_k=self.top_k, collections=vector_index_collections or None