From 8421e60f106eb9ba340e9b9e8d52033d211db71d Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Tue, 2 Jan 2024 23:15:27 -0300 Subject: [PATCH] Refactor chat utils module --- src/backend/langflow/services/chat/utils.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/backend/langflow/services/chat/utils.py b/src/backend/langflow/services/chat/utils.py index 2718659a2..2427e9e4e 100644 --- a/src/backend/langflow/services/chat/utils.py +++ b/src/backend/langflow/services/chat/utils.py @@ -3,12 +3,11 @@ from typing import Any from langchain.agents import AgentExecutor from langchain.chains.base import Chain from langchain_core.runnables import Runnable -from loguru import logger - from langflow.api.v1.schemas import ChatMessage from langflow.interface.utils import try_setting_streaming_options from langflow.processing.base import get_result_and_steps -from langflow.utils.chat import ChatAdapter +from langflow.utils.chat import ChatDefinition +from loguru import logger LANGCHAIN_RUNNABLES = (Chain, Runnable, AgentExecutor) @@ -40,13 +39,17 @@ async def process_graph( client_id=client_id, session_id=session_id, ) - elif isinstance(build_result, ChatAdapter): + elif isinstance(build_result, ChatDefinition): result = await run_build_result( build_result, chat_inputs, client_id=client_id, session_id=session_id, ) + if isinstance(result, dict): + if not build_result.output_key: + raise ValueError("No output key provided to select the output from the result") + result = result[build_result.output_key] intermediate_steps = [] raw_output = result else: