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",
|
name="input_value",
|
||||||
display_name="Text",
|
display_name="Text",
|
||||||
multiline=True,
|
multiline=True,
|
||||||
input_types=[],
|
|
||||||
value="",
|
value="",
|
||||||
info="Message to be passed as input.",
|
info="Message to be passed as input.",
|
||||||
),
|
),
|
||||||
|
|
@ -41,7 +40,6 @@ class ChatInput(ChatComponent):
|
||||||
]
|
]
|
||||||
outputs = [
|
outputs = [
|
||||||
Output(display_name="Message", name="message", method="message_response"),
|
Output(display_name="Message", name="message", method="message_response"),
|
||||||
Output(display_name="Text", name="text", method="text_response"),
|
|
||||||
]
|
]
|
||||||
|
|
||||||
def message_response(self) -> Message:
|
def message_response(self) -> Message:
|
||||||
|
|
@ -57,7 +55,3 @@ class ChatInput(ChatComponent):
|
||||||
|
|
||||||
self.status = message
|
self.status = message
|
||||||
return 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.base.io.text import TextComponent
|
||||||
from langflow.field_typing import Text
|
|
||||||
from langflow.inputs import TextInput
|
from langflow.inputs import TextInput
|
||||||
from langflow.template import Output
|
from langflow.template import Output
|
||||||
|
from langflow.schema.message import Message
|
||||||
|
|
||||||
|
|
||||||
class TextInputComponent(TextComponent):
|
class TextInputComponent(TextComponent):
|
||||||
|
|
@ -20,5 +20,8 @@ class TextInputComponent(TextComponent):
|
||||||
Output(display_name="Text", name="text", method="text_response"),
|
Output(display_name="Text", name="text", method="text_response"),
|
||||||
]
|
]
|
||||||
|
|
||||||
def text_response(self) -> Text:
|
def text_response(self) -> Message:
|
||||||
return self.build(input_value=self.input_value)
|
message = Message(
|
||||||
|
text=self.input_value,
|
||||||
|
)
|
||||||
|
return message
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
from langflow.base.io.chat import ChatComponent
|
from langflow.base.io.chat import ChatComponent
|
||||||
from langflow.field_typing import Text
|
from langflow.inputs import DropdownInput, TextInput
|
||||||
from langflow.inputs import DropdownInput, StrInput
|
|
||||||
from langflow.schema.message import Message
|
from langflow.schema.message import Message
|
||||||
from langflow.template import Output
|
from langflow.template import Output
|
||||||
|
|
||||||
|
|
@ -11,7 +10,7 @@ class ChatOutput(ChatComponent):
|
||||||
icon = "ChatOutput"
|
icon = "ChatOutput"
|
||||||
|
|
||||||
inputs = [
|
inputs = [
|
||||||
StrInput(
|
TextInput(
|
||||||
name="input_value",
|
name="input_value",
|
||||||
display_name="Text",
|
display_name="Text",
|
||||||
info="Message to be passed as output.",
|
info="Message to be passed as output.",
|
||||||
|
|
@ -24,9 +23,9 @@ class ChatOutput(ChatComponent):
|
||||||
advanced=True,
|
advanced=True,
|
||||||
info="Type of sender.",
|
info="Type of sender.",
|
||||||
),
|
),
|
||||||
StrInput(name="sender_name", display_name="Sender Name", info="Name of the sender.", value="AI", advanced=True),
|
TextInput(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),
|
TextInput(name="session_id", display_name="Session ID", info="Session ID for the message.", advanced=True),
|
||||||
StrInput(
|
TextInput(
|
||||||
name="data_template",
|
name="data_template",
|
||||||
display_name="Data Template",
|
display_name="Data Template",
|
||||||
value="{text}",
|
value="{text}",
|
||||||
|
|
@ -36,7 +35,6 @@ class ChatOutput(ChatComponent):
|
||||||
]
|
]
|
||||||
outputs = [
|
outputs = [
|
||||||
Output(display_name="Message", name="message", method="message_response"),
|
Output(display_name="Message", name="message", method="message_response"),
|
||||||
Output(display_name="Text", name="text", method="text_response"),
|
|
||||||
]
|
]
|
||||||
|
|
||||||
def message_response(self) -> Message:
|
def message_response(self) -> Message:
|
||||||
|
|
@ -52,7 +50,3 @@ class ChatOutput(ChatComponent):
|
||||||
|
|
||||||
self.status = message
|
self.status = message
|
||||||
return 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.base.io.text import TextComponent
|
||||||
from langflow.field_typing import Text
|
|
||||||
from langflow.template import Output
|
from langflow.template import Output
|
||||||
from langflow.inputs import StrInput
|
from langflow.inputs import TextInput
|
||||||
|
from langflow.schema.message import Message
|
||||||
|
|
||||||
|
|
||||||
class TextOutputComponent(TextComponent):
|
class TextOutputComponent(TextComponent):
|
||||||
|
|
@ -10,15 +10,21 @@ class TextOutputComponent(TextComponent):
|
||||||
icon = "type"
|
icon = "type"
|
||||||
|
|
||||||
inputs = [
|
inputs = [
|
||||||
StrInput(
|
TextInput(
|
||||||
name="input_value",
|
name="input_value",
|
||||||
display_name="Text",
|
display_name="Text",
|
||||||
info="Text or Data to be passed as output.",
|
info="Text to be passed as output.",
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
outputs = [
|
outputs = [
|
||||||
Output(display_name="Text", name="text", method="text_response"),
|
Output(display_name="Text", name="text", method="text_response"),
|
||||||
]
|
]
|
||||||
|
|
||||||
def text_response(self) -> Text:
|
def text_response(self) -> Message:
|
||||||
return self.build(input_value=self.input_value)
|
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 = [
|
outputs = [
|
||||||
Output(display_name="Prompt", name="prompt", method="build_prompt"),
|
Output(display_name="Prompt Message", name="prompt", method="build_prompt"),
|
||||||
Output(display_name="Text", name="text", method="format_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(
|
async def build_prompt(
|
||||||
self,
|
self,
|
||||||
) -> Message:
|
) -> Message:
|
||||||
kwargs = {k: v for k, v in self._arguments.items() if k != "template"}
|
kwargs = {k: v for k, v in self._arguments.items() if k != "template"}
|
||||||
prompt = await Message.from_template_and_variables(self.template, kwargs)
|
prompt = await Message.from_template_and_variables(self.template, kwargs)
|
||||||
self.status = prompt.format_text()
|
prompt_message = Message(text=prompt.format_text(), **kwargs)
|
||||||
return prompt
|
self.status = prompt_message
|
||||||
|
return prompt_message
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue