From 09d4c89136e29ec9d39888876d1b63ea56c3fd0d Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Tue, 13 Jun 2023 14:07:27 -0300 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20fix(loading.py):=20ensure=20meta?= =?UTF-8?q?data=20values=20are=20not=20None=20for=20Chroma=20class=20The?= =?UTF-8?q?=20docstring=20for=20the=20CombineDocsChain=20class=20has=20bee?= =?UTF-8?q?n=20updated=20to=20reflect=20the=20correct=20function=20name.?= =?UTF-8?q?=20In=20the=20loading.py=20file,=20the=20instantiate=5Fvectorst?= =?UTF-8?q?ore=20function=20has=20been=20updated=20to=20ensure=20that=20me?= =?UTF-8?q?tadata=20values=20are=20not=20None=20for=20the=20Chroma=20class?= =?UTF-8?q?.=20This=20is=20because=20Chroma=20requires=20all=20metadata=20?= =?UTF-8?q?values=20to=20not=20be=20None,=20and=20this=20fix=20ensures=20t?= =?UTF-8?q?hat=20the=20application=20will=20not=20encounter=20errors=20whe?= =?UTF-8?q?n=20using=20Chroma.=20=F0=9F=90=9B=20fix(custom.py):=20update?= =?UTF-8?q?=20docstring=20to=20reflect=20the=20correct=20function=20name?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/backend/langflow/interface/chains/custom.py | 2 +- src/backend/langflow/interface/loading.py | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/backend/langflow/interface/chains/custom.py b/src/backend/langflow/interface/chains/custom.py index 2b12cb121..01dd9bab0 100644 --- a/src/backend/langflow/interface/chains/custom.py +++ b/src/backend/langflow/interface/chains/custom.py @@ -97,7 +97,7 @@ class TimeTravelGuideChain(BaseCustomConversationChain): class CombineDocsChain(CustomChain): - """Implementation of AgentInitializer function""" + """Implementation of load_qa_chain function""" @staticmethod def function_name(): diff --git a/src/backend/langflow/interface/loading.py b/src/backend/langflow/interface/loading.py index 0d3070f75..acc0cbd39 100644 --- a/src/backend/langflow/interface/loading.py +++ b/src/backend/langflow/interface/loading.py @@ -151,6 +151,15 @@ def instantiate_vectorstore(class_object, params): "The source you provided did not load correctly or was empty." "This may cause an error in the vectorstore." ) + + # Chroma requires all metadata values to not be None + if class_object.__name__ == "Chroma": + for doc in params["documents"]: + if doc.metadata is None: + doc.metadata = {} + for key, value in doc.metadata.items(): + if value is None: + doc.metadata[key] = "" return class_object.from_documents(**params)