feat: Add CreateListComponent for creating a list of texts
This commit adds a new component called CreateListComponent, which is responsible for creating a list of texts. The component takes in one or more texts as input and outputs a list of Data objects. This component is useful for scenarios where a list of texts needs to be processed or manipulated. The CreateListComponent class is added to the helpers module in the langflow.components package. It includes the necessary inputs and outputs, as well as a create_list method that generates the list of Data objects based on the input texts. This commit also includes some minor changes to other files, such as renaming the UUIDGeneratorComponent to IDGeneratorComponent and updating import statements.
This commit is contained in:
parent
d5f034e667
commit
093fa018f1
6 changed files with 41 additions and 16 deletions
27
src/backend/base/langflow/components/helpers/CreateList.py
Normal file
27
src/backend/base/langflow/components/helpers/CreateList.py
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
from langflow.custom import Component
|
||||
from langflow.inputs import StrInput
|
||||
from langflow.schema import Data
|
||||
from langflow.template import Output
|
||||
|
||||
class CreateListComponent(Component):
|
||||
display_name = "Create List"
|
||||
description = "Creates a list of texts."
|
||||
icon = "list"
|
||||
|
||||
inputs = [
|
||||
StrInput(
|
||||
name="texts",
|
||||
display_name="Texts",
|
||||
info="Enter one or more texts.",
|
||||
is_list=True,
|
||||
),
|
||||
]
|
||||
|
||||
outputs = [
|
||||
Output(display_name="Data List", name="list", method="create_list"),
|
||||
]
|
||||
|
||||
def create_list(self) -> list[Data]:
|
||||
data = [Data(text=text) for text in self.texts]
|
||||
self.status = data
|
||||
return data
|
||||
|
|
@ -5,7 +5,7 @@ from langflow.custom import CustomComponent
|
|||
from langflow.schema.dotdict import dotdict
|
||||
|
||||
|
||||
class UUIDGeneratorComponent(CustomComponent):
|
||||
class IDGeneratorComponent(CustomComponent):
|
||||
display_name = "ID Generator"
|
||||
description = "Generates a unique ID."
|
||||
|
||||
|
|
|
|||
|
|
@ -1,22 +1,25 @@
|
|||
from .CombineText import CombineTextComponent
|
||||
from .CustomComponent import CustomComponent
|
||||
from .FilterData import FilterDataComponent
|
||||
from .IDGenerator import UUIDGeneratorComponent
|
||||
from .IDGenerator import IDGeneratorComponent
|
||||
from .Memory import MemoryComponent
|
||||
from .MergeData import MergeDataComponent
|
||||
from .ParseData import ParseDataComponent
|
||||
from .SplitText import SplitTextComponent
|
||||
from .StoreMessage import StoreMessageComponent
|
||||
from .CreateList import CreateListComponent
|
||||
|
||||
|
||||
__all__ = [
|
||||
"CreateListComponent",
|
||||
"CombineTextComponent",
|
||||
"CustomComponent",
|
||||
"FilterDataComponent",
|
||||
"UUIDGeneratorComponent",
|
||||
"IDGeneratorComponent",
|
||||
"MemoryComponent",
|
||||
"MergeDataComponent",
|
||||
"ParseDataComponent",
|
||||
"SplitTextComponent",
|
||||
"StoreMessageComponent",
|
||||
"ListComponent",
|
||||
]
|
||||
|
|
|
|||
|
|
@ -66,21 +66,17 @@ class ConditionalRouterComponent(Component):
|
|||
def true_response(self) -> Message:
|
||||
result = self.evaluate_condition(self.input_text, self.match_text, self.operator, self.case_sensitive)
|
||||
if result:
|
||||
self.stop("false_result")
|
||||
response = self.message if self.message else self.input_text
|
||||
self.status = response
|
||||
return response
|
||||
self.status = self.message
|
||||
return self.message
|
||||
else:
|
||||
self.stop("true_result")
|
||||
return Message()
|
||||
return None
|
||||
|
||||
def false_response(self) -> Message:
|
||||
result = self.evaluate_condition(self.input_text, self.match_text, self.operator, self.case_sensitive)
|
||||
if not result:
|
||||
self.stop("true_result")
|
||||
response = self.message if self.message else self.input_text
|
||||
self.status = response
|
||||
return response
|
||||
self.status = self.message
|
||||
return self.message
|
||||
else:
|
||||
self.stop("false_result")
|
||||
return Message()
|
||||
return None
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ from langflow.io import MessageInput
|
|||
from langflow.schema.message import Message
|
||||
from langflow.template import Output
|
||||
|
||||
|
||||
class PassMessageComponent(Component):
|
||||
display_name = "Pass"
|
||||
description = "Forwards the input message, unchanged."
|
||||
|
|
@ -19,7 +18,7 @@ class PassMessageComponent(Component):
|
|||
name="ignored_message",
|
||||
display_name="Ignored Message",
|
||||
info="A second message to be ignored. Used as a workaround for continuity.",
|
||||
advanced=True,
|
||||
advanced=True
|
||||
),
|
||||
]
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue