Outputs
Outputs are components that define where data exits your flow. They can be used to send data to the user, to the Playground, or to define how the data is presented in the Playground.
Chat Output is similar to the Chat Input component, but it doesn’t have a field that allows for written input. It is used as an Output definition and can be used to send data to the user.
Chat Output
This component displays chat messages in the Playground.
Parameters
Name | Display Name | Info |
---|---|---|
input_value |
Text |
Message to be passed as output. |
should_store_message |
Store Messages |
Store the message in the history. |
sender |
Sender Type |
Type of sender. |
sender_name |
Sender Name |
Name of the sender. |
session_id |
Session ID |
The session ID of the chat. If empty, the current session ID parameter will be used. |
data_template |
Data Template |
Template to convert Data to Text. If left empty, it will be dynamically set to the Data’s text key. |
Name | Display Name | Info |
---|---|---|
message |
Message |
The response message. |
Component code
ChatOutput.py
from langflow.base.io.chat import ChatComponent
from langflow.inputs import BoolInput
from langflow.io import DropdownInput, MessageTextInput, Output
from langflow.memory import store_message
from langflow.schema.message import Message
from langflow.utils.constants import MESSAGE_SENDER_AI, MESSAGE_SENDER_NAME_AI, MESSAGE_SENDER_USER
class ChatOutput(ChatComponent):
display_name = "Chat Output"
description = "Display a chat message in the Playground."
icon = "ChatOutput"
name = "ChatOutput"
inputs = [
MessageTextInput(
name="input_value",
display_name="Text",
info="Message to be passed as output.",
),
BoolInput(
name="should_store_message",
display_name="Store Messages",
info="Store the message in the history.",
value=True,
advanced=True,
),
DropdownInput(
name="sender",
display_name="Sender Type",
options=[MESSAGE_SENDER_AI, MESSAGE_SENDER_USER],
value=MESSAGE_SENDER_AI,
advanced=True,
info="Type of sender.",
),
MessageTextInput(
name="sender_name",
display_name="Sender Name",
info="Name of the sender.",
value=MESSAGE_SENDER_NAME_AI,
advanced=True,
),
MessageTextInput(
name="session_id",
display_name="Session ID",
info="The session ID of the chat. If empty, the current session ID parameter will be used.",
advanced=True,
),
MessageTextInput(
name="data_template",
display_name="Data Template",
value="{text}",
advanced=True,
info="Template to convert Data to Text. If left empty, it will be dynamically set to the Data's text key.",
),
]
outputs = [
Output(display_name="Message", name="message", method="message_response"),
]
def message_response(self) -> Message:
message = Message(
text=self.input_value,
sender=self.sender,
sender_name=self.sender_name,
session_id=self.session_id,
)
if (
self.session_id
and isinstance(message, Message)
and isinstance(message.text, str)
and self.should_store_message
):
store_message(
message,
flow_id=self.graph.flow_id,
)
self.message.value = message
self.status = message
return message
Text Output
This component displays text output in the Playground.
Parameters
Name | Display Name | Info |
---|---|---|
input_value |
Text |
Text to be passed as output. |
Name | Display Name | Info |
---|---|---|
text |
Text |
The response message containing the input text. |
Component code
TextOutput.py
from langflow.base.io.text import TextComponent
from langflow.io import MultilineInput, Output
from langflow.schema.message import Message
class TextOutputComponent(TextComponent):
display_name = "Text Output"
description = "Display a text output in the Playground."
icon = "type"
name = "TextOutput"
inputs = [
MultilineInput(
name="input_value",
display_name="Text",
info="Text to be passed as output.",
),
]
outputs = [
Output(display_name="Text", name="text", method="text_response"),
]
def text_response(self) -> Message:
message = Message(
text=self.input_value,
)
self.status = self.input_value
return message