From 72649a034a0d9e5c1282949ed083554b15231112 Mon Sep 17 00:00:00 2001 From: ogabrielluiz Date: Wed, 12 Jun 2024 23:50:49 -0300 Subject: [PATCH] refactor: Update ChatOutput to use MultilineInput for text input Update the ChatOutput class in ChatOutput.py to use the MultilineInput class from the langflow library for text input. This change improves the usability and flexibility of the component, allowing for multiline messages to be passed as output. --- .../langflow/components/outputs/ChatOutput.py | 16 ++-------------- src/backend/base/langflow/inputs/__init__.py | 2 ++ 2 files changed, 4 insertions(+), 14 deletions(-) diff --git a/src/backend/base/langflow/components/outputs/ChatOutput.py b/src/backend/base/langflow/components/outputs/ChatOutput.py index e3c6f3f04..67fd9189e 100644 --- a/src/backend/base/langflow/components/outputs/ChatOutput.py +++ b/src/backend/base/langflow/components/outputs/ChatOutput.py @@ -1,6 +1,5 @@ from langflow.base.io.chat import ChatComponent -from langflow.field_typing import Text -from langflow.inputs import BoolInput, DropdownInput, StrInput +from langflow.inputs import BoolInput, DropdownInput, MultilineInput, StrInput from langflow.schema.message import Message from langflow.template import Output @@ -11,10 +10,9 @@ class ChatOutput(ChatComponent): icon = "ChatOutput" inputs = [ - StrInput( + MultilineInput( name="input_value", display_name="Text", - multiline=True, info="Message to be passed as output.", input_types=["Text", "Message"], ), @@ -37,17 +35,9 @@ class ChatOutput(ChatComponent): ), ] outputs = [ - Output(display_name="Text", name="text", method="text_response"), Output(display_name="Message", name="message", method="message_response"), ] - def text_response(self) -> Text: - result = self.input_value - if self.session_id: - self.message_response() - self.status = result - return result - def message_response(self) -> Message: message = Message( text=self.input_value, @@ -57,7 +47,5 @@ class ChatOutput(ChatComponent): ) if self.session_id and isinstance(message, Message) and isinstance(message.text, str): self.store_message(message) - self.message.value = message - self.status = message return message diff --git a/src/backend/base/langflow/inputs/__init__.py b/src/backend/base/langflow/inputs/__init__.py index 09461df91..dd227d5db 100644 --- a/src/backend/base/langflow/inputs/__init__.py +++ b/src/backend/base/langflow/inputs/__init__.py @@ -9,6 +9,7 @@ from .inputs import ( PromptInput, SecretStrInput, StrInput, + MultilineInput, ) __all__ = [ @@ -22,4 +23,5 @@ __all__ = [ "DropdownInput", "FileInput", "PromptInput", + "MultilineInput", ]