improve inputs and outputs
This commit is contained in:
parent
11bff8f180
commit
81034f8ded
5 changed files with 27 additions and 36 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue