From 11185affdde27f0f9c71ddb8788e69aa55044d0d Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Mon, 19 Jun 2023 12:02:15 -0300 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20fix(process.py):=20refactor=20fi?= =?UTF-8?q?x=5Fmemory=5Finputs=20function=20to=20improve=20readability=20a?= =?UTF-8?q?nd=20reduce=20nesting=20The=20fix=5Fmemory=5Finputs=20function?= =?UTF-8?q?=20was=20refactored=20to=20reduce=20nesting=20and=20improve=20r?= =?UTF-8?q?eadability.=20The=20function=20now=20checks=20if=20the=20langch?= =?UTF-8?q?ain=5Fobject=20has=20a=20memory=20attribute=20and=20if=20it=20i?= =?UTF-8?q?s=20not=20None=20before=20proceeding.=20The=20try-except=20bloc?= =?UTF-8?q?k=20was=20also=20refactored=20to=20reduce=20nesting.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/backend/langflow/processing/process.py | 31 +++++++++++----------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/src/backend/langflow/processing/process.py b/src/backend/langflow/processing/process.py index e4ae33d27..8383f0cfe 100644 --- a/src/backend/langflow/processing/process.py +++ b/src/backend/langflow/processing/process.py @@ -20,22 +20,23 @@ def fix_memory_inputs(langchain_object): object's input variables. If so, it does nothing. Otherwise, it gets a possible new memory key using the get_memory_key function and updates the memory keys using the update_memory_keys function. """ - if hasattr(langchain_object, "memory") and langchain_object.memory is not None: - try: - if langchain_object.memory.memory_key in langchain_object.input_variables: - return - except AttributeError: - input_variables = ( - langchain_object.prompt.input_variables - if hasattr(langchain_object, "prompt") - else langchain_object.input_keys - ) - if langchain_object.memory.memory_key in input_variables: - return + if not hasattr(langchain_object, "memory") or langchain_object.memory is None: + return + try: + if langchain_object.memory.memory_key in langchain_object.input_variables: + return + except AttributeError: + input_variables = ( + langchain_object.prompt.input_variables + if hasattr(langchain_object, "prompt") + else langchain_object.input_keys + ) + if langchain_object.memory.memory_key in input_variables: + return - possible_new_mem_key = get_memory_key(langchain_object) - if possible_new_mem_key is not None: - update_memory_keys(langchain_object, possible_new_mem_key) + possible_new_mem_key = get_memory_key(langchain_object) + if possible_new_mem_key is not None: + update_memory_keys(langchain_object, possible_new_mem_key) def format_actions(actions: List[Tuple[AgentAction, str]]) -> str: