improve inputs and outputs

This commit is contained in:
Rodrigo 2024-06-17 22:54:25 -03:00
commit 81034f8ded
5 changed files with 27 additions and 36 deletions

View file

@ -15,7 +15,6 @@ class ChatInput(ChatComponent):
name="input_value",
display_name="Text",
multiline=True,
input_types=[],
value="",
info="Message to be passed as input.",
),
@ -41,7 +40,6 @@ class ChatInput(ChatComponent):
]
outputs = [
Output(display_name="Message", name="message", method="message_response"),
Output(display_name="Text", name="text", method="text_response"),
]
def message_response(self) -> Message:
@ -57,7 +55,3 @@ class ChatInput(ChatComponent):
self.status = message
return message
def text_response(self) -> Text:
text = self.message_response().text
return text

View file

@ -1,7 +1,7 @@
from langflow.base.io.text import TextComponent
from langflow.field_typing import Text
from langflow.inputs import TextInput
from langflow.template import Output
from langflow.schema.message import Message
class TextInputComponent(TextComponent):
@ -20,5 +20,8 @@ class TextInputComponent(TextComponent):
Output(display_name="Text", name="text", method="text_response"),
]
def text_response(self) -> Text:
return self.build(input_value=self.input_value)
def text_response(self) -> Message:
message = Message(
text=self.input_value,
)
return message

View file

@ -1,6 +1,5 @@
from langflow.base.io.chat import ChatComponent
from langflow.field_typing import Text
from langflow.inputs import DropdownInput, StrInput
from langflow.inputs import DropdownInput, TextInput
from langflow.schema.message import Message
from langflow.template import Output
@ -11,7 +10,7 @@ class ChatOutput(ChatComponent):
icon = "ChatOutput"
inputs = [
StrInput(
TextInput(
name="input_value",
display_name="Text",
info="Message to be passed as output.",
@ -24,9 +23,9 @@ class ChatOutput(ChatComponent):
advanced=True,
info="Type of sender.",
),
StrInput(name="sender_name", display_name="Sender Name", info="Name of the sender.", value="AI", advanced=True),
StrInput(name="session_id", display_name="Session ID", info="Session ID for the message.", advanced=True),
StrInput(
TextInput(name="sender_name", display_name="Sender Name", info="Name of the sender.", value="AI", advanced=True),
TextInput(name="session_id", display_name="Session ID", info="Session ID for the message.", advanced=True),
TextInput(
name="data_template",
display_name="Data Template",
value="{text}",
@ -36,7 +35,6 @@ class ChatOutput(ChatComponent):
]
outputs = [
Output(display_name="Message", name="message", method="message_response"),
Output(display_name="Text", name="text", method="text_response"),
]
def message_response(self) -> Message:
@ -52,7 +50,3 @@ class ChatOutput(ChatComponent):
self.status = message
return message
def text_response(self) -> Text:
text = self.message_response().text
return text

View file

@ -1,7 +1,7 @@
from langflow.base.io.text import TextComponent
from langflow.field_typing import Text
from langflow.template import Output
from langflow.inputs import StrInput
from langflow.inputs import TextInput
from langflow.schema.message import Message
class TextOutputComponent(TextComponent):
@ -10,15 +10,21 @@ class TextOutputComponent(TextComponent):
icon = "type"
inputs = [
StrInput(
TextInput(
name="input_value",
display_name="Text",
info="Text or Data to be passed as output.",
info="Text to be passed as output.",
),
]
outputs = [
Output(display_name="Text", name="text", method="text_response"),
]
def text_response(self) -> Text:
return self.build(input_value=self.input_value)
def text_response(self) -> Message:
message = Message(
text=self.input_value,
sender=self.sender,
sender_name=self.sender_name,
session_id=self.session_id,
)
return message

View file

@ -14,20 +14,14 @@ class PromptComponent(Component):
]
outputs = [
Output(display_name="Prompt", name="prompt", method="build_prompt"),
Output(display_name="Text", name="text", method="format_prompt"),
Output(display_name="Prompt Message", name="prompt", method="build_prompt"),
]
async def format_prompt(self) -> str:
prompt = await self.build_prompt()
formatted_text = prompt.format_text()
self.status = formatted_text
return formatted_text
async def build_prompt(
self,
) -> Message:
kwargs = {k: v for k, v in self._arguments.items() if k != "template"}
prompt = await Message.from_template_and_variables(self.template, kwargs)
self.status = prompt.format_text()
return prompt
prompt_message = Message(text=prompt.format_text(), **kwargs)
self.status = prompt_message
return prompt_message