refactor: starter projects templates and components (#4121)

* Update starter flows

* Update button with new menu variants

* Updated AstraDB icon

* Made header be optional on baseModal and added classname to content

* Removed old newFlowModal

* added a Nav component to show the sidebar categories

* Created new templates modal

* Updated components and modals to use new Templates modal

* Added used icons

* added template card

* changed templates modal to use modular components

* Add template content

* Add get started content

* added other size for templates

* Added size in base modal

* Changed menu ring-0 to be important

* Added all of the images of get started

* Fix hover effect on spirals

* Implement clicking get started templates

* Fix shiny design

* update package lock

* update examples

* updated card design

* Added grid of examples to templates

* Implemented card click

* Changed hover effect

* Added arrows

* delete unused

* implemented fuse search

* Added create blank project

* Made tags be read

* Added tags to basic prompting

* Added types

* Added tags to the tabs

* remove important from tailwind config

* updated setup and model to include icon

* added random-gradient npm package

* updated colors to remove white

* added icons

* inserted metadata of icons and etc into starter flows

* Removed integrations and added blank project creation

* Added gradient to cards

* Reset query when changing tab, reset scroll when typing

* added mix blend overlay to text

* Added id and gradient to templatecard type

* made icons for components still work

* added important on stroke

* formatting

* Fixed infinite render

* added test id to create blank project

* added data test id for templates title

* ✨ (navComponent/index.tsx): add data-testid attribute with converted test name for side navigation options to improve testability and accessibility

* ✨ (starter-projects.spec.ts): add test to ensure user can interact with starter projects in the frontend application

* ✨ (TemplateCardComponent/index.tsx): add data-testid attribute with converted test name for better testability and accessibility

* ✨ (TemplateCategoryComponent/index.tsx): import convertTestName function to convert test names for data-testid attributes in TemplateCategoryComponent

* fixed currentTab not changing results

* Fixed various tests

* ✨ (similarity.spec.ts): improve user experience by adding functionality to fit view and scroll using mouse wheel in the test suite

* Fix other tests relying on multiple

* fix two edges test

* Fix hover on test 3 of generalBugs

---------

Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
This commit is contained in:
Lucas Oliveira 2024-10-14 11:05:45 -03:00 • committed by GitHub
commit 0964190579
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
83 changed files with 2226 additions and 3241 deletions

View file

@ -14,7 +14,11 @@ from emoji import demojize, purely_emoji
from loguru import logger
from sqlmodel import select
from langflow.base.constants import FIELD_FORMAT_ATTRIBUTES, NODE_FORMAT_ATTRIBUTES, ORJSON_OPTIONS
from langflow.base.constants import (
FIELD_FORMAT_ATTRIBUTES,
NODE_FORMAT_ATTRIBUTES,
ORJSON_OPTIONS,
)
from langflow.graph.graph.base import Graph
from langflow.services.auth.utils import create_super_user
from langflow.services.database.models.flow.model import Flow, FlowCreate
@ -24,7 +28,12 @@ from langflow.services.database.models.folder.utils import (
get_default_folder_id,
)
from langflow.services.database.models.user.crud import get_user_by_username
from langflow.services.deps import get_settings_service, get_storage_service, get_variable_service, session_scope
from langflow.services.deps import (
get_settings_service,
get_storage_service,
get_variable_service,
session_scope,
)
from langflow.template.field.prompt import DEFAULT_PROMPT_INTUT_TYPES
from langflow.utils.util import escape_json_dump
@ -237,10 +246,12 @@ def update_edges_with_latest_component_versions(project_data):
target_handle = scape_json_parse(target_handle)
# Now find the source and target nodes in the nodes list
source_node = next(
(node for node in project_data.get("nodes", []) if node.get("id") == edge.get("source")), None
(node for node in project_data.get("nodes", []) if node.get("id") == edge.get("source")),
None,
)
target_node = next(
(node for node in project_data.get("nodes", []) if node.get("id") == edge.get("target")), None
(node for node in project_data.get("nodes", []) if node.get("id") == edge.get("target")),
None,
)
if source_node and target_node:
source_node_data = source_node.get("data").get("node")
@ -397,8 +408,10 @@ def get_project_data(project):
updated_at_datetime = datetime.fromisoformat(project_updated_at)
project_data = project.get("data")
project_icon = project.get("icon")
project_icon = demojize(project_icon) if project_icon and purely_emoji(project_icon) else ""
project_icon = demojize(project_icon) if project_icon and purely_emoji(project_icon) else project_icon
project_icon_bg_color = project.get("icon_bg_color")
project_gradient = project.get("gradient")
project_tags = project.get("tags")
return (
project_name,
project_description,
@ -407,6 +420,8 @@ def get_project_data(project):
project_data,
project_icon,
project_icon_bg_color,
project_gradient,
project_tags,
)
@ -444,6 +459,8 @@ def create_new_project(
project_is_component,
updated_at_datetime,
project_data,
project_gradient,
project_tags,
project_icon,
project_icon_bg_color,
new_folder_id,
@ -458,6 +475,8 @@ def create_new_project(
is_component=project_is_component,
updated_at=updated_at_datetime,
folder_id=new_folder_id,
gradient=project_gradient,
tags=project_tags,
)
db_flow = Flow.model_validate(new_project, from_attributes=True)
session.add(db_flow)
@ -595,6 +614,8 @@ async def create_or_update_starter_projects(get_all_components_coro: Awaitable[d
project_data,
project_icon,
project_icon_bg_color,
project_gradient,
project_tags,
) = get_project_data(project)
updated_project_data = update_projects_components_with_latest_component_versions(
project_data.copy(), all_types_dict
@ -614,15 +635,17 @@ async def create_or_update_starter_projects(get_all_components_coro: Awaitable[d
session.delete(existing_project)
create_new_project(
session,
project_name,
project_description,
project_is_component,
updated_at_datetime,
project_data,
project_icon,
project_icon_bg_color,
new_folder.id,
session=session,
project_name=project_name,
project_description=project_description,
project_is_component=project_is_component,
updated_at_datetime=updated_at_datetime,
project_data=project_data,
project_icon=project_icon,
project_icon_bg_color=project_icon_bg_color,
project_gradient=project_gradient,
project_tags=project_tags,
new_folder_id=new_folder.id,
)

View file

@ -8,16 +8,12 @@
"dataType": "ToolCallingAgent",
"id": "ToolCallingAgent-mf0BN",
"name": "response",
"output_types": [
"Message"
]
"output_types": ["Message"]
},
"targetHandle": {
"fieldName": "input_value",
"id": "ChatOutput-Ag9YG",
"inputTypes": [
"Message"
],
"inputTypes": ["Message"],
"type": "str"
}
},
@ -34,16 +30,12 @@
"dataType": "OpenAIModel",
"id": "OpenAIModel-1ioeW",
"name": "model_output",
"output_types": [
"LanguageModel"
]
"output_types": ["LanguageModel"]
},
"targetHandle": {
"fieldName": "llm",
"id": "ToolCallingAgent-mf0BN",
"inputTypes": [
"LanguageModel"
],
"inputTypes": ["LanguageModel"],
"type": "other"
}
},
@ -60,17 +52,12 @@
"dataType": "CalculatorTool",
"id": "CalculatorTool-Nb4P5",
"name": "api_build_tool",
"output_types": [
"Tool"
]
"output_types": ["Tool"]
},
"targetHandle": {
"fieldName": "tools",
"id": "ToolCallingAgent-mf0BN",
"inputTypes": [
"Tool",
"BaseTool"
],
"inputTypes": ["Tool", "BaseTool"],
"type": "other"
}
},
@ -87,16 +74,12 @@
"dataType": "ChatInput",
"id": "ChatInput-X3ARP",
"name": "message",
"output_types": [
"Message"
]
"output_types": ["Message"]
},
"targetHandle": {
"fieldName": "input_value",
"id": "ToolCallingAgent-mf0BN",
"inputTypes": [
"Message"
],
"inputTypes": ["Message"],
"type": "str"
}
},
@ -112,17 +95,12 @@
"dataType": "PythonREPLTool",
"id": "PythonREPLTool-i922a",
"name": "api_build_tool",
"output_types": [
"Tool"
]
"output_types": ["Tool"]
},
"targetHandle": {
"fieldName": "tools",
"id": "ToolCallingAgent-mf0BN",
"inputTypes": [
"Tool",
"BaseTool"
],
"inputTypes": ["Tool", "BaseTool"],
"type": "other"
}
},
@ -138,9 +116,7 @@
"data": {
"id": "ChatInput-X3ARP",
"node": {
"base_classes": [
"Message"
],
"base_classes": ["Message"],
"beta": false,
"conditional_paths": [],
"custom_fields": {},
@ -168,9 +144,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"types": [
"Message"
],
"types": ["Message"],
"value": "__UNDEFINED__"
}
],
@ -243,9 +217,7 @@
"display_name": "Text",
"dynamic": false,
"info": "Message to be passed as input.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -267,10 +239,7 @@
"dynamic": false,
"info": "Type of sender.",
"name": "sender",
"options": [
"Machine",
"User"
],
"options": ["Machine", "User"],
"placeholder": "",
"required": false,
"show": true,
@ -285,9 +254,7 @@
"display_name": "Sender Name",
"dynamic": false,
"info": "Name of the sender.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "sender_name",
@ -306,9 +273,7 @@
"display_name": "Session ID",
"dynamic": false,
"info": "The session ID of the chat. If empty, the current session ID parameter will be used.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "session_id",
@ -360,9 +325,7 @@
"data": {
"id": "ChatOutput-Ag9YG",
"node": {
"base_classes": [
"Message"
],
"base_classes": ["Message"],
"beta": false,
"conditional_paths": [],
"custom_fields": {},
@ -390,9 +353,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"types": [
"Message"
],
"types": ["Message"],
"value": "__UNDEFINED__"
}
],
@ -423,9 +384,7 @@
"display_name": "Data Template",
"dynamic": false,
"info": "Template to convert Data to Text. If left empty, it will be dynamically set to the Data's text key.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "data_template",
@ -444,9 +403,7 @@
"display_name": "Text",
"dynamic": false,
"info": "Message to be passed as output.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "input_value",
@ -467,10 +424,7 @@
"dynamic": false,
"info": "Type of sender.",
"name": "sender",
"options": [
"Machine",
"User"
],
"options": ["Machine", "User"],
"placeholder": "",
"required": false,
"show": true,
@ -485,9 +439,7 @@
"display_name": "Sender Name",
"dynamic": false,
"info": "Name of the sender.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "sender_name",
@ -506,9 +458,7 @@
"display_name": "Session ID",
"dynamic": false,
"info": "The session ID of the chat. If empty, the current session ID parameter will be used.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "session_id",
@ -562,10 +512,7 @@
"display_name": "OpenAI",
"id": "OpenAIModel-1ioeW",
"node": {
"base_classes": [
"LanguageModel",
"Message"
],
"base_classes": ["LanguageModel", "Message"],
"beta": false,
"conditional_paths": [],
"custom_fields": {},
@ -598,15 +545,9 @@
"display_name": "Text",
"method": "text_response",
"name": "text_output",
"required_inputs": [
"input_value",
"stream",
"system_message"
],
"required_inputs": ["input_value", "stream", "system_message"],
"selected": "Message",
"types": [
"Message"
],
"types": ["Message"],
"value": "__UNDEFINED__"
},
{
@ -626,9 +567,7 @@
"temperature"
],
"selected": "LanguageModel",
"types": [
"LanguageModel"
],
"types": ["LanguageModel"],
"value": "__UNDEFINED__"
}
],
@ -641,9 +580,7 @@
"display_name": "OpenAI API Key",
"dynamic": false,
"info": "The OpenAI API Key to use for the OpenAI model.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"load_from_db": true,
"name": "api_key",
"password": true,
@ -678,9 +615,7 @@
"display_name": "Input",
"dynamic": false,
"info": "",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "input_value",
@ -796,9 +731,7 @@
"display_name": "Output Parser",
"dynamic": false,
"info": "The parser to use to parse the output of the model",
"input_types": [
"OutputParser"
],
"input_types": ["OutputParser"],
"list": false,
"name": "output_parser",
"placeholder": "",
@ -863,9 +796,7 @@
"display_name": "System Message",
"dynamic": false,
"info": "System message to pass to the model.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "system_message",
@ -917,10 +848,7 @@
"data": {
"id": "ToolCallingAgent-mf0BN",
"node": {
"base_classes": [
"AgentExecutor",
"Message"
],
"base_classes": ["AgentExecutor", "Message"],
"beta": true,
"conditional_paths": [],
"custom_fields": {},
@ -951,9 +879,7 @@
"method": "build_agent",
"name": "agent",
"selected": "AgentExecutor",
"types": [
"AgentExecutor"
],
"types": ["AgentExecutor"],
"value": "__UNDEFINED__"
},
{
@ -962,9 +888,7 @@
"method": "message_response",
"name": "response",
"selected": "Message",
"types": [
"Message"
],
"types": ["Message"],
"value": "__UNDEFINED__"
}
],
@ -977,9 +901,7 @@
"display_name": "Chat History",
"dynamic": false,
"info": "",
"input_types": [
"Data"
],
"input_types": ["Data"],
"list": true,
"name": "chat_history",
"placeholder": "",
@ -1031,9 +953,7 @@
"display_name": "Input",
"dynamic": false,
"info": "",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "input_value",
@ -1052,9 +972,7 @@
"display_name": "Language Model",
"dynamic": false,
"info": "",
"input_types": [
"LanguageModel"
],
"input_types": ["LanguageModel"],
"list": false,
"name": "llm",
"placeholder": "",
@ -1087,9 +1005,7 @@
"display_name": "System Prompt",
"dynamic": false,
"info": "System prompt for the agent.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -1109,10 +1025,7 @@
"display_name": "Tools",
"dynamic": false,
"info": "",
"input_types": [
"Tool",
"BaseTool"
],
"input_types": ["Tool", "BaseTool"],
"list": true,
"load_from_db": false,
"name": "tools",
@ -1130,9 +1043,7 @@
"display_name": "Prompt",
"dynamic": false,
"info": "This prompt must contain 'input' key.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -1185,12 +1096,7 @@
"data": {
"id": "CalculatorTool-Nb4P5",
"node": {
"base_classes": [
"Data",
"list",
"Sequence",
"Tool"
],
"base_classes": ["Data", "list", "Sequence", "Tool"],
"beta": false,
"conditional_paths": [],
"custom_fields": {},
@ -1198,9 +1104,7 @@
"display_name": "Calculator",
"documentation": "",
"edited": false,
"field_order": [
"expression"
],
"field_order": ["expression"],
"frozen": false,
"icon": "calculator",
"lf_version": "1.0.16",
@ -1213,13 +1117,9 @@
"display_name": "Data",
"method": "run_model",
"name": "api_run_model",
"required_inputs": [
"expression"
],
"required_inputs": ["expression"],
"selected": "Data",
"types": [
"Data"
],
"types": ["Data"],
"value": "__UNDEFINED__"
},
{
@ -1227,13 +1127,9 @@
"display_name": "Tool",
"method": "build_tool",
"name": "api_build_tool",
"required_inputs": [
"expression"
],
"required_inputs": ["expression"],
"selected": "Tool",
"types": [
"Tool"
],
"types": ["Tool"],
"value": "__UNDEFINED__"
}
],
@ -1264,9 +1160,7 @@
"display_name": "Expression",
"dynamic": false,
"info": "The arithmetic expression to evaluate (e.g., '4*4*(33/22)+12-20').",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "expression",
@ -1304,10 +1198,7 @@
"display_name": "Python REPL Tool",
"id": "PythonREPLTool-i922a",
"node": {
"base_classes": [
"Data",
"Tool"
],
"base_classes": ["Data", "Tool"],
"beta": false,
"conditional_paths": [],
"custom_fields": {},
@ -1315,12 +1206,7 @@
"display_name": "Python REPL Tool",
"documentation": "",
"edited": false,
"field_order": [
"name",
"description",
"global_imports",
"code"
],
"field_order": ["name", "description", "global_imports", "code"],
"frozen": false,
"metadata": {},
"output_types": [],
@ -1337,9 +1223,7 @@
"name"
],
"selected": "Data",
"types": [
"Data"
],
"types": ["Data"],
"value": "__UNDEFINED__"
},
{
@ -1354,9 +1238,7 @@
"name"
],
"selected": "Tool",
"types": [
"Tool"
],
"types": ["Tool"],
"value": "__UNDEFINED__"
}
],
@ -1460,8 +1342,10 @@
},
"description": "Single Agent Flow to get you started. This flow contains a calculator and a Python REPL tool, that could be used by our tool calling agent.",
"endpoint_name": null,
"icon": "Users",
"id": "beda74a3-7e03-4c14-a148-a7740e810dbf",
"is_component": false,
"last_tested_version": "1.0.17",
"name": "Simple Agent"
}
"name": "Simple Agent",
"tags": ["agents", "openai", "chatbots"]
}

View file

@ -8,17 +8,12 @@
"dataType": "ChatInput",
"id": "ChatInput-AwB1F",
"name": "message",
"output_types": [
"Message"
]
"output_types": ["Message"]
},
"targetHandle": {
"fieldName": "user_input",
"id": "Prompt-bHLxK",
"inputTypes": [
"Message",
"Text"
],
"inputTypes": ["Message", "Text"],
"type": "str"
}
},
@ -35,16 +30,12 @@
"dataType": "Prompt",
"id": "Prompt-bHLxK",
"name": "prompt",
"output_types": [
"Message"
]
"output_types": ["Message"]
},
"targetHandle": {
"fieldName": "input_value",
"id": "OpenAIModel-tnzXU",
"inputTypes": [
"Message"
],
"inputTypes": ["Message"],
"type": "str"
}
},
@ -61,16 +52,12 @@
"dataType": "OpenAIModel",
"id": "OpenAIModel-tnzXU",
"name": "text_output",
"output_types": [
"Message"
]
"output_types": ["Message"]
},
"targetHandle": {
"fieldName": "input_value",
"id": "ChatOutput-wbcyd",
"inputTypes": [
"Message"
],
"inputTypes": ["Message"],
"type": "str"
}
},
@ -88,9 +75,7 @@
"display_name": "Chat Input",
"id": "ChatInput-AwB1F",
"node": {
"base_classes": [
"Message"
],
"base_classes": ["Message"],
"beta": false,
"conditional_paths": [],
"custom_fields": {},
@ -117,9 +102,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"types": [
"Message"
],
"types": ["Message"],
"value": "__UNDEFINED__"
}
],
@ -190,9 +173,7 @@
"display_name": "Text",
"dynamic": false,
"info": "Message to be passed as input.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -212,10 +193,7 @@
"dynamic": false,
"info": "Type of sender.",
"name": "sender",
"options": [
"Machine",
"User"
],
"options": ["Machine", "User"],
"placeholder": "",
"required": false,
"show": true,
@ -229,9 +207,7 @@
"display_name": "Sender Name",
"dynamic": false,
"info": "Name of the sender.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "sender_name",
@ -249,9 +225,7 @@
"display_name": "Session ID",
"dynamic": false,
"info": "The session ID of the chat. If empty, the current session ID parameter will be used.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "session_id",
@ -305,23 +279,17 @@
"display_name": "Prompt",
"id": "Prompt-bHLxK",
"node": {
"base_classes": [
"Message"
],
"base_classes": ["Message"],
"beta": false,
"conditional_paths": [],
"custom_fields": {
"template": [
"user_input"
]
"template": ["user_input"]
},
"description": "Create a prompt template with dynamic variables.",
"display_name": "Prompt",
"documentation": "",
"edited": false,
"field_order": [
"template"
],
"field_order": ["template"],
"frozen": false,
"icon": "prompts",
"metadata": {},
@ -333,9 +301,7 @@
"method": "build_prompt",
"name": "prompt",
"selected": "Message",
"types": [
"Message"
],
"types": ["Message"],
"value": "__UNDEFINED__"
}
],
@ -384,10 +350,7 @@
"fileTypes": [],
"file_path": "",
"info": "",
"input_types": [
"Message",
"Text"
],
"input_types": ["Message", "Text"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -425,9 +388,7 @@
"display_name": "Chat Output",
"id": "ChatOutput-wbcyd",
"node": {
"base_classes": [
"Message"
],
"base_classes": ["Message"],
"beta": false,
"conditional_paths": [],
"custom_fields": {},
@ -454,9 +415,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"types": [
"Message"
],
"types": ["Message"],
"value": "__UNDEFINED__"
}
],
@ -486,9 +445,7 @@
"display_name": "Data Template",
"dynamic": false,
"info": "Template to convert Data to Text. If left empty, it will be dynamically set to the Data's text key.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "data_template",
@ -506,9 +463,7 @@
"display_name": "Text",
"dynamic": false,
"info": "Message to be passed as output.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "input_value",
@ -527,10 +482,7 @@
"dynamic": false,
"info": "Type of sender.",
"name": "sender",
"options": [
"Machine",
"User"
],
"options": ["Machine", "User"],
"placeholder": "",
"required": false,
"show": true,
@ -544,9 +496,7 @@
"display_name": "Sender Name",
"dynamic": false,
"info": "Name of the sender.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "sender_name",
@ -564,9 +514,7 @@
"display_name": "Session ID",
"dynamic": false,
"info": "The session ID of the chat. If empty, the current session ID parameter will be used.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "session_id",
@ -620,10 +568,7 @@
"display_name": "OpenAI",
"id": "OpenAIModel-tnzXU",
"node": {
"base_classes": [
"LanguageModel",
"Message"
],
"base_classes": ["LanguageModel", "Message"],
"beta": false,
"conditional_paths": [],
"custom_fields": {},
@ -655,15 +600,9 @@
"display_name": "Text",
"method": "text_response",
"name": "text_output",
"required_inputs": [
"input_value",
"stream",
"system_message"
],
"required_inputs": ["input_value", "stream", "system_message"],
"selected": "Message",
"types": [
"Message"
],
"types": ["Message"],
"value": "__UNDEFINED__"
},
{
@ -683,9 +622,7 @@
"temperature"
],
"selected": "LanguageModel",
"types": [
"LanguageModel"
],
"types": ["LanguageModel"],
"value": "__UNDEFINED__"
}
],
@ -698,9 +635,7 @@
"display_name": "OpenAI API Key",
"dynamic": false,
"info": "The OpenAI API Key to use for the OpenAI model.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"load_from_db": true,
"name": "api_key",
"password": true,
@ -734,9 +669,7 @@
"display_name": "Input",
"dynamic": false,
"info": "",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "input_value",
@ -839,9 +772,7 @@
"display_name": "Output Parser",
"dynamic": false,
"info": "The parser to use to parse the output of the model",
"input_types": [
"OutputParser"
],
"input_types": ["OutputParser"],
"list": false,
"name": "output_parser",
"placeholder": "",
@ -988,8 +919,11 @@
},
"description": "This flow will get you experimenting with the basics of the UI, the Chat and the Prompt component. \n\nTry changing the Template in it to see how the model behaves. \nYou can change it to this and a Text Input into the `type_of_person` variable : \"Answer the user as if you were a pirate.\n\nUser: {user_input}\n\nAnswer: \" ",
"endpoint_name": null,
"gradient": "oaidfnoaienfwpiawjde",
"icon": "BotMessageSquare",
"id": "fd36e130-512d-48e6-96cc-f1e03c5d3a18",
"is_component": false,
"last_tested_version": "1.0.18",
"name": "Basic Prompting (Hello, World)"
}
"name": "Basic Prompting (Hello, World)",
"tags": ["chatbots", "openai"]
}

View file

@ -8,16 +8,12 @@
"dataType": "URL",
"id": "URL-46k0m",
"name": "data",
"output_types": [
"Data"
]
"output_types": ["Data"]
},
"targetHandle": {
"fieldName": "data",
"id": "ParseData-jUQRS",
"inputTypes": [
"Data"
],
"inputTypes": ["Data"],
"type": "other"
}
},
@ -34,17 +30,12 @@
"dataType": "ParseData",
"id": "ParseData-jUQRS",
"name": "text",
"output_types": [
"Message"
]
"output_types": ["Message"]
},
"targetHandle": {
"fieldName": "references",
"id": "Prompt-Pf4QQ",
"inputTypes": [
"Message",
"Text"
],
"inputTypes": ["Message", "Text"],
"type": "str"
}
},
@ -61,17 +52,12 @@
"dataType": "TextInput",
"id": "TextInput-slCbp",
"name": "text",
"output_types": [
"Message"
]
"output_types": ["Message"]
},
"targetHandle": {
"fieldName": "instructions",
"id": "Prompt-Pf4QQ",
"inputTypes": [
"Message",
"Text"
],
"inputTypes": ["Message", "Text"],
"type": "str"
}
},
@ -88,16 +74,12 @@
"dataType": "Prompt",
"id": "Prompt-Pf4QQ",
"name": "prompt",
"output_types": [
"Message"
]
"output_types": ["Message"]
},
"targetHandle": {
"fieldName": "input_value",
"id": "OpenAIModel-o0Gr0",
"inputTypes": [
"Message"
],
"inputTypes": ["Message"],
"type": "str"
}
},
@ -114,16 +96,12 @@
"dataType": "OpenAIModel",
"id": "OpenAIModel-o0Gr0",
"name": "text_output",
"output_types": [
"Message"
]
"output_types": ["Message"]
},
"targetHandle": {
"fieldName": "input_value",
"id": "ChatOutput-eIVde",
"inputTypes": [
"Message"
],
"inputTypes": ["Message"],
"type": "str"
}
},
@ -141,9 +119,7 @@
"display_name": "URL",
"id": "URL-46k0m",
"node": {
"base_classes": [
"Data"
],
"base_classes": ["Data"],
"beta": false,
"conditional_paths": [],
"custom_fields": {},
@ -151,9 +127,7 @@
"display_name": "URL",
"documentation": "",
"edited": false,
"field_order": [
"urls"
],
"field_order": ["urls"],
"frozen": false,
"icon": "layout-template",
"metadata": {},
@ -165,9 +139,7 @@
"method": "fetch_content",
"name": "data",
"selected": "Data",
"types": [
"Data"
],
"types": ["Data"],
"value": "__UNDEFINED__"
},
{
@ -176,9 +148,7 @@
"method": "fetch_content_text",
"name": "text",
"selected": "Message",
"types": [
"Message"
],
"types": ["Message"],
"value": "__UNDEFINED__"
}
],
@ -211,10 +181,7 @@
"dynamic": false,
"info": "Output format. Use 'Text' to extract the text from the HTML or 'Raw HTML' for the raw HTML content.",
"name": "format",
"options": [
"Text",
"Raw HTML"
],
"options": ["Text", "Raw HTML"],
"placeholder": "",
"required": false,
"show": true,
@ -228,9 +195,7 @@
"display_name": "URLs",
"dynamic": false,
"info": "Enter one or more URLs, by clicking the '+' button.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": true,
"load_from_db": false,
"name": "urls",
@ -241,10 +206,7 @@
"trace_as_input": true,
"trace_as_metadata": true,
"type": "str",
"value": [
"langflow.org/",
"docs.langflow.org/"
]
"value": ["langflow.org/", "docs.langflow.org/"]
}
}
},
@ -271,9 +233,7 @@
"display_name": "Parse Data",
"id": "ParseData-jUQRS",
"node": {
"base_classes": [
"Message"
],
"base_classes": ["Message"],
"beta": false,
"conditional_paths": [],
"custom_fields": {},
@ -281,11 +241,7 @@
"display_name": "Parse Data",
"documentation": "",
"edited": false,
"field_order": [
"data",
"template",
"sep"
],
"field_order": ["data", "template", "sep"],
"frozen": false,
"icon": "braces",
"metadata": {},
@ -297,9 +253,7 @@
"method": "parse_data",
"name": "text",
"selected": "Message",
"types": [
"Message"
],
"types": ["Message"],
"value": "__UNDEFINED__"
}
],
@ -329,9 +283,7 @@
"display_name": "Data",
"dynamic": false,
"info": "The data to convert to text.",
"input_types": [
"Data"
],
"input_types": ["Data"],
"list": false,
"name": "data",
"placeholder": "",
@ -364,9 +316,7 @@
"display_name": "Template",
"dynamic": false,
"info": "The template to use for formatting the data. It can contain the keys {text}, {data} or any other key in the Data.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -405,24 +355,17 @@
"display_name": "Prompt",
"id": "Prompt-Pf4QQ",
"node": {
"base_classes": [
"Message"
],
"base_classes": ["Message"],
"beta": false,
"conditional_paths": [],
"custom_fields": {
"template": [
"references",
"instructions"
]
"template": ["references", "instructions"]
},
"description": "Create a prompt template with dynamic variables.",
"display_name": "Prompt",
"documentation": "",
"edited": false,
"field_order": [
"template"
],
"field_order": ["template"],
"frozen": false,
"icon": "prompts",
"metadata": {},
@ -434,9 +377,7 @@
"method": "build_prompt",
"name": "prompt",
"selected": "Message",
"types": [
"Message"
],
"types": ["Message"],
"value": "__UNDEFINED__"
}
],
@ -469,10 +410,7 @@
"fileTypes": [],
"file_path": "",
"info": "",
"input_types": [
"Message",
"Text"
],
"input_types": ["Message", "Text"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -493,10 +431,7 @@
"fileTypes": [],
"file_path": "",
"info": "",
"input_types": [
"Message",
"Text"
],
"input_types": ["Message", "Text"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -550,9 +485,7 @@
"display_name": "Instructions",
"id": "TextInput-slCbp",
"node": {
"base_classes": [
"Message"
],
"base_classes": ["Message"],
"beta": false,
"conditional_paths": [],
"custom_fields": {},
@ -560,9 +493,7 @@
"display_name": "Instructions",
"documentation": "",
"edited": false,
"field_order": [
"input_value"
],
"field_order": ["input_value"],
"frozen": false,
"icon": "type",
"output_types": [],
@ -573,9 +504,7 @@
"method": "text_response",
"name": "text",
"selected": "Message",
"types": [
"Message"
],
"types": ["Message"],
"value": "__UNDEFINED__"
}
],
@ -606,9 +535,7 @@
"display_name": "Text",
"dynamic": false,
"info": "Text to be passed as input.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -647,9 +574,7 @@
"display_name": "Chat Output",
"id": "ChatOutput-eIVde",
"node": {
"base_classes": [
"Message"
],
"base_classes": ["Message"],
"beta": false,
"conditional_paths": [],
"custom_fields": {},
@ -676,9 +601,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"types": [
"Message"
],
"types": ["Message"],
"value": "__UNDEFINED__"
}
],
@ -708,9 +631,7 @@
"display_name": "Data Template",
"dynamic": false,
"info": "Template to convert Data to Text. If left empty, it will be dynamically set to the Data's text key.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "data_template",
@ -728,9 +649,7 @@
"display_name": "Text",
"dynamic": false,
"info": "Message to be passed as output.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "input_value",
@ -749,10 +668,7 @@
"dynamic": false,
"info": "Type of sender.",
"name": "sender",
"options": [
"Machine",
"User"
],
"options": ["Machine", "User"],
"placeholder": "",
"required": false,
"show": true,
@ -766,9 +682,7 @@
"display_name": "Sender Name",
"dynamic": false,
"info": "Name of the sender.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "sender_name",
@ -786,9 +700,7 @@
"display_name": "Session ID",
"dynamic": false,
"info": "The session ID of the chat. If empty, the current session ID parameter will be used.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "session_id",
@ -842,10 +754,7 @@
"display_name": "OpenAI",
"id": "OpenAIModel-o0Gr0",
"node": {
"base_classes": [
"LanguageModel",
"Message"
],
"base_classes": ["LanguageModel", "Message"],
"beta": false,
"conditional_paths": [],
"custom_fields": {},
@ -877,15 +786,9 @@
"display_name": "Text",
"method": "text_response",
"name": "text_output",
"required_inputs": [
"input_value",
"stream",
"system_message"
],
"required_inputs": ["input_value", "stream", "system_message"],
"selected": "Message",
"types": [
"Message"
],
"types": ["Message"],
"value": "__UNDEFINED__"
},
{
@ -905,9 +808,7 @@
"temperature"
],
"selected": "LanguageModel",
"types": [
"LanguageModel"
],
"types": ["LanguageModel"],
"value": "__UNDEFINED__"
}
],
@ -920,9 +821,7 @@
"display_name": "OpenAI API Key",
"dynamic": false,
"info": "The OpenAI API Key to use for the OpenAI model.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"load_from_db": true,
"name": "api_key",
"password": true,
@ -956,9 +855,7 @@
"display_name": "Input",
"dynamic": false,
"info": "",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "input_value",
@ -1061,9 +958,7 @@
"display_name": "Output Parser",
"dynamic": false,
"info": "The parser to use to parse the output of the model",
"input_types": [
"OutputParser"
],
"input_types": ["OutputParser"],
"list": false,
"name": "output_parser",
"placeholder": "",
@ -1178,8 +1073,10 @@
},
"description": "This flow can be used to create a blog post following instructions from the user, using two other blogs as reference.",
"endpoint_name": null,
"icon": "FileText",
"id": "92d42e25-91d4-4108-8187-92fc53fc9778",
"is_component": false,
"last_tested_version": "1.0.17",
"name": "Blog Writer"
}
"name": "Blog Writer",
"tags": ["chatbots"]
}

View file

@ -8,17 +8,12 @@
"dataType": "ChatInput",
"id": "ChatInput-Emi4q",
"name": "message",
"output_types": [
"Message"
]
"output_types": ["Message"]
},
"targetHandle": {
"fieldName": "Question",
"id": "Prompt-n8yRL",
"inputTypes": [
"Message",
"Text"
],
"inputTypes": ["Message", "Text"],
"type": "str"
}
},
@ -35,16 +30,12 @@
"dataType": "Prompt",
"id": "Prompt-n8yRL",
"name": "prompt",
"output_types": [
"Message"
]
"output_types": ["Message"]
},
"targetHandle": {
"fieldName": "input_value",
"id": "OpenAIModel-1hwZ2",
"inputTypes": [
"Message"
],
"inputTypes": ["Message"],
"type": "str"
}
},
@ -61,16 +52,12 @@
"dataType": "OpenAIModel",
"id": "OpenAIModel-1hwZ2",
"name": "text_output",
"output_types": [
"Message"
]
"output_types": ["Message"]
},
"targetHandle": {
"fieldName": "input_value",
"id": "ChatOutput-sD0lp",
"inputTypes": [
"Message"
],
"inputTypes": ["Message"],
"type": "str"
}
},
@ -87,17 +74,12 @@
"dataType": "ParseData",
"id": "ParseData-qYLes",
"name": "text",
"output_types": [
"Message"
]
"output_types": ["Message"]
},
"targetHandle": {
"fieldName": "Document",
"id": "Prompt-n8yRL",
"inputTypes": [
"Message",
"Text"
],
"inputTypes": ["Message", "Text"],
"type": "str"
}
},
@ -114,16 +96,12 @@
"dataType": "File",
"id": "File-0oa6O",
"name": "data",
"output_types": [
"Data"
]
"output_types": ["Data"]
},
"targetHandle": {
"fieldName": "data",
"id": "ParseData-qYLes",
"inputTypes": [
"Data"
],
"inputTypes": ["Data"],
"type": "other"
}
},
@ -141,24 +119,17 @@
"display_name": "Prompt",
"id": "Prompt-n8yRL",
"node": {
"base_classes": [
"Message"
],
"base_classes": ["Message"],
"beta": false,
"conditional_paths": [],
"custom_fields": {
"template": [
"Document",
"Question"
]
"template": ["Document", "Question"]
},
"description": "Create a prompt template with dynamic variables.",
"display_name": "Prompt",
"documentation": "",
"edited": false,
"field_order": [
"template"
],
"field_order": ["template"],
"frozen": false,
"icon": "prompts",
"metadata": {},
@ -170,9 +141,7 @@
"method": "build_prompt",
"name": "prompt",
"selected": "Message",
"types": [
"Message"
],
"types": ["Message"],
"value": "__UNDEFINED__"
}
],
@ -186,10 +155,7 @@
"fileTypes": [],
"file_path": "",
"info": "",
"input_types": [
"Message",
"Text"
],
"input_types": ["Message", "Text"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -210,10 +176,7 @@
"fileTypes": [],
"file_path": "",
"info": "",
"input_types": [
"Message",
"Text"
],
"input_types": ["Message", "Text"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -286,9 +249,7 @@
"display_name": "Chat Input",
"id": "ChatInput-Emi4q",
"node": {
"base_classes": [
"Message"
],
"base_classes": ["Message"],
"beta": false,
"conditional_paths": [],
"custom_fields": {},
@ -315,9 +276,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"types": [
"Message"
],
"types": ["Message"],
"value": "__UNDEFINED__"
}
],
@ -388,9 +347,7 @@
"display_name": "Text",
"dynamic": false,
"info": "Message to be passed as input.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -410,10 +367,7 @@
"dynamic": false,
"info": "Type of sender.",
"name": "sender",
"options": [
"Machine",
"User"
],
"options": ["Machine", "User"],
"placeholder": "",
"required": false,
"show": true,
@ -427,9 +381,7 @@
"display_name": "Sender Name",
"dynamic": false,
"info": "Name of the sender.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "sender_name",
@ -447,9 +399,7 @@
"display_name": "Session ID",
"dynamic": false,
"info": "The session ID of the chat. If empty, the current session ID parameter will be used.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "session_id",
@ -503,9 +453,7 @@
"display_name": "Chat Output",
"id": "ChatOutput-sD0lp",
"node": {
"base_classes": [
"Message"
],
"base_classes": ["Message"],
"beta": false,
"conditional_paths": [],
"custom_fields": {},
@ -532,9 +480,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"types": [
"Message"
],
"types": ["Message"],
"value": "__UNDEFINED__"
}
],
@ -564,9 +510,7 @@
"display_name": "Data Template",
"dynamic": false,
"info": "Template to convert Data to Text. If left empty, it will be dynamically set to the Data's text key.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "data_template",
@ -584,9 +528,7 @@
"display_name": "Text",
"dynamic": false,
"info": "Message to be passed as output.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "input_value",
@ -605,10 +547,7 @@
"dynamic": false,
"info": "Type of sender.",
"name": "sender",
"options": [
"Machine",
"User"
],
"options": ["Machine", "User"],
"placeholder": "",
"required": false,
"show": true,
@ -622,9 +561,7 @@
"display_name": "Sender Name",
"dynamic": false,
"info": "Name of the sender.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "sender_name",
@ -642,9 +579,7 @@
"display_name": "Session ID",
"dynamic": false,
"info": "The session ID of the chat. If empty, the current session ID parameter will be used.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "session_id",
@ -698,10 +633,7 @@
"display_name": "OpenAI",
"id": "OpenAIModel-1hwZ2",
"node": {
"base_classes": [
"LanguageModel",
"Message"
],
"base_classes": ["LanguageModel", "Message"],
"beta": false,
"conditional_paths": [],
"custom_fields": {},
@ -733,15 +665,9 @@
"display_name": "Text",
"method": "text_response",
"name": "text_output",
"required_inputs": [
"input_value",
"stream",
"system_message"
],
"required_inputs": ["input_value", "stream", "system_message"],
"selected": "Message",
"types": [
"Message"
],
"types": ["Message"],
"value": "__UNDEFINED__"
},
{
@ -761,9 +687,7 @@
"temperature"
],
"selected": "LanguageModel",
"types": [
"LanguageModel"
],
"types": ["LanguageModel"],
"value": "__UNDEFINED__"
}
],
@ -776,9 +700,7 @@
"display_name": "OpenAI API Key",
"dynamic": false,
"info": "The OpenAI API Key to use for the OpenAI model.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"load_from_db": true,
"name": "api_key",
"password": true,
@ -812,9 +734,7 @@
"display_name": "Input",
"dynamic": false,
"info": "",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "input_value",
@ -917,9 +837,7 @@
"display_name": "Output Parser",
"dynamic": false,
"info": "The parser to use to parse the output of the model",
"input_types": [
"OutputParser"
],
"input_types": ["OutputParser"],
"list": false,
"name": "output_parser",
"placeholder": "",
@ -1031,9 +949,7 @@
"display_name": "Parse Data",
"id": "ParseData-qYLes",
"node": {
"base_classes": [
"Message"
],
"base_classes": ["Message"],
"beta": false,
"conditional_paths": [],
"custom_fields": {},
@ -1041,11 +957,7 @@
"display_name": "Parse Data",
"documentation": "",
"edited": false,
"field_order": [
"data",
"template",
"sep"
],
"field_order": ["data", "template", "sep"],
"frozen": false,
"icon": "braces",
"metadata": {},
@ -1057,9 +969,7 @@
"method": "parse_data",
"name": "text",
"selected": "Message",
"types": [
"Message"
],
"types": ["Message"],
"value": "__UNDEFINED__"
}
],
@ -1089,9 +999,7 @@
"display_name": "Data",
"dynamic": false,
"info": "The data to convert to text.",
"input_types": [
"Data"
],
"input_types": ["Data"],
"list": false,
"name": "data",
"placeholder": "",
@ -1124,9 +1032,7 @@
"display_name": "Template",
"dynamic": false,
"info": "The template to use for formatting the data. It can contain the keys {text}, {data} or any other key in the Data.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -1165,9 +1071,7 @@
"display_name": "File",
"id": "File-0oa6O",
"node": {
"base_classes": [
"Data"
],
"base_classes": ["Data"],
"beta": false,
"conditional_paths": [],
"custom_fields": {},
@ -1175,10 +1079,7 @@
"display_name": "File",
"documentation": "",
"edited": false,
"field_order": [
"path",
"silent_errors"
],
"field_order": ["path", "silent_errors"],
"frozen": false,
"icon": "file-text",
"metadata": {},
@ -1190,9 +1091,7 @@
"method": "load_file",
"name": "data",
"selected": "Data",
"types": [
"Data"
],
"types": ["Data"],
"value": "__UNDEFINED__"
}
],
@ -1296,8 +1195,10 @@
},
"description": "This flow integrates PDF reading with a language model to answer document-specific questions. Ideal for small-scale texts, it facilitates direct queries with immediate insights.",
"endpoint_name": null,
"icon": "FileText",
"id": "6fb449a7-563c-446e-82d2-36f3defb9a48",
"is_component": false,
"last_tested_version": "1.0.9",
"name": "Document QA"
}
"name": "Document QA",
"tags": ["chatbots", "openai"]
}

View file

@ -8,16 +8,12 @@
"dataType": "HierarchicalCrewComponent",
"id": "HierarchicalCrewComponent-Y0Uvf",
"name": "output",
"output_types": [
"Message"
]
"output_types": ["Message"]
},
"targetHandle": {
"fieldName": "input_value",
"id": "ChatOutput-VzVJK",
"inputTypes": [
"Message"
],
"inputTypes": ["Message"],
"type": "str"
}
},
@ -35,16 +31,12 @@
"dataType": "HierarchicalTaskComponent",
"id": "HierarchicalTaskComponent-hE8H5",
"name": "task_output",
"output_types": [
"HierarchicalTask"
]
"output_types": ["HierarchicalTask"]
},
"targetHandle": {
"fieldName": "tasks",
"id": "HierarchicalCrewComponent-Y0Uvf",
"inputTypes": [
"HierarchicalTask"
],
"inputTypes": ["HierarchicalTask"],
"type": "other"
}
},
@ -62,16 +54,12 @@
"dataType": "CrewAIAgentComponent",
"id": "CrewAIAgentComponent-EbpXd",
"name": "output",
"output_types": [
"Agent"
]
"output_types": ["Agent"]
},
"targetHandle": {
"fieldName": "agents",
"id": "HierarchicalCrewComponent-Y0Uvf",
"inputTypes": [
"Agent"
],
"inputTypes": ["Agent"],
"type": "other"
}
},
@ -89,16 +77,12 @@
"dataType": "OpenAIModel",
"id": "OpenAIModel-Yjtpu",
"name": "model_output",
"output_types": [
"LanguageModel"
]
"output_types": ["LanguageModel"]
},
"targetHandle": {
"fieldName": "llm",
"id": "CrewAIAgentComponent-EbpXd",
"inputTypes": [
"LanguageModel"
],
"inputTypes": ["LanguageModel"],
"type": "other"
}
},
@ -116,16 +100,12 @@
"dataType": "CrewAIAgentComponent",
"id": "CrewAIAgentComponent-9D8ao",
"name": "output",
"output_types": [
"Agent"
]
"output_types": ["Agent"]
},
"targetHandle": {
"fieldName": "manager_agent",
"id": "HierarchicalCrewComponent-Y0Uvf",
"inputTypes": [
"Agent"
],
"inputTypes": ["Agent"],
"type": "other"
}
},
@ -143,16 +123,12 @@
"dataType": "OpenAIModel",
"id": "OpenAIModel-HgNnu",
"name": "model_output",
"output_types": [
"LanguageModel"
]
"output_types": ["LanguageModel"]
},
"targetHandle": {
"fieldName": "llm",
"id": "CrewAIAgentComponent-9D8ao",
"inputTypes": [
"LanguageModel"
],
"inputTypes": ["LanguageModel"],
"type": "other"
}
},
@ -170,16 +146,12 @@
"dataType": "Prompt",
"id": "Prompt-eqGhn",
"name": "prompt",
"output_types": [
"Message"
]
"output_types": ["Message"]
},
"targetHandle": {
"fieldName": "task_description",
"id": "HierarchicalTaskComponent-hE8H5",
"inputTypes": [
"Message"
],
"inputTypes": ["Message"],
"type": "str"
}
},
@ -196,17 +168,12 @@
"dataType": "ChatInput",
"id": "ChatInput-xgRl9",
"name": "message",
"output_types": [
"Message"
]
"output_types": ["Message"]
},
"targetHandle": {
"fieldName": "query",
"id": "Prompt-eqGhn",
"inputTypes": [
"Message",
"Text"
],
"inputTypes": ["Message", "Text"],
"type": "str"
}
},
@ -223,16 +190,12 @@
"dataType": "CrewAIAgentComponent",
"id": "CrewAIAgentComponent-UMpxO",
"name": "output",
"output_types": [
"Agent"
]
"output_types": ["Agent"]
},
"targetHandle": {
"fieldName": "agents",
"id": "HierarchicalCrewComponent-Y0Uvf",
"inputTypes": [
"Agent"
],
"inputTypes": ["Agent"],
"type": "other"
}
},
@ -249,16 +212,12 @@
"dataType": "OpenAIModel",
"id": "OpenAIModel-Yjtpu",
"name": "model_output",
"output_types": [
"LanguageModel"
]
"output_types": ["LanguageModel"]
},
"targetHandle": {
"fieldName": "llm",
"id": "CrewAIAgentComponent-UMpxO",
"inputTypes": [
"LanguageModel"
],
"inputTypes": ["LanguageModel"],
"type": "other"
}
},
@ -275,16 +234,12 @@
"dataType": "SearchAPI",
"id": "SearchAPI-Yokat",
"name": "api_build_tool",
"output_types": [
"Tool"
]
"output_types": ["Tool"]
},
"targetHandle": {
"fieldName": "tools",
"id": "CrewAIAgentComponent-EbpXd",
"inputTypes": [
"Tool"
],
"inputTypes": ["Tool"],
"type": "other"
}
},
@ -302,9 +257,7 @@
"display_name": "Hierarchical Crew",
"id": "HierarchicalCrewComponent-Y0Uvf",
"node": {
"base_classes": [
"Message"
],
"base_classes": ["Message"],
"beta": false,
"conditional_paths": [],
"custom_fields": {},
@ -336,9 +289,7 @@
"name": "output",
"required_inputs": [],
"selected": "Message",
"types": [
"Message"
],
"types": ["Message"],
"value": "__UNDEFINED__"
}
],
@ -350,9 +301,7 @@
"display_name": "Agents",
"dynamic": false,
"info": "",
"input_types": [
"Agent"
],
"input_types": ["Agent"],
"list": true,
"name": "agents",
"placeholder": "",
@ -386,9 +335,7 @@
"display_name": "Function Calling LLM",
"dynamic": false,
"info": "Turns the ReAct CrewAI agent into a function-calling agent",
"input_types": [
"LanguageModel"
],
"input_types": ["LanguageModel"],
"list": false,
"name": "function_calling_llm",
"placeholder": "",
@ -404,9 +351,7 @@
"display_name": "Manager Agent",
"dynamic": false,
"info": "",
"input_types": [
"Agent"
],
"input_types": ["Agent"],
"list": false,
"name": "manager_agent",
"placeholder": "",
@ -422,9 +367,7 @@
"display_name": "Manager LLM",
"dynamic": false,
"info": "",
"input_types": [
"LanguageModel"
],
"input_types": ["LanguageModel"],
"list": false,
"name": "manager_llm",
"placeholder": "",
@ -485,9 +428,7 @@
"display_name": "Tasks",
"dynamic": false,
"info": "",
"input_types": [
"HierarchicalTask"
],
"input_types": ["HierarchicalTask"],
"list": true,
"name": "tasks",
"placeholder": "",
@ -549,10 +490,7 @@
"display_name": "OpenAI",
"id": "OpenAIModel-Yjtpu",
"node": {
"base_classes": [
"LanguageModel",
"Message"
],
"base_classes": ["LanguageModel", "Message"],
"beta": false,
"conditional_paths": [],
"custom_fields": {},
@ -584,15 +522,9 @@
"display_name": "Text",
"method": "text_response",
"name": "text_output",
"required_inputs": [
"input_value",
"stream",
"system_message"
],
"required_inputs": ["input_value", "stream", "system_message"],
"selected": "Message",
"types": [
"Message"
],
"types": ["Message"],
"value": "__UNDEFINED__"
},
{
@ -612,9 +544,7 @@
"temperature"
],
"selected": "LanguageModel",
"types": [
"LanguageModel"
],
"types": ["LanguageModel"],
"value": "__UNDEFINED__"
}
],
@ -626,9 +556,7 @@
"display_name": "OpenAI API Key",
"dynamic": false,
"info": "The OpenAI API Key to use for the OpenAI model.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"load_from_db": true,
"name": "api_key",
"password": true,
@ -662,9 +590,7 @@
"display_name": "Input",
"dynamic": false,
"info": "",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "input_value",
@ -768,9 +694,7 @@
"display_name": "Output Parser",
"dynamic": false,
"info": "The parser to use to parse the output of the model",
"input_types": [
"OutputParser"
],
"input_types": ["OutputParser"],
"list": false,
"name": "output_parser",
"placeholder": "",
@ -831,9 +755,7 @@
"display_name": "System Message",
"dynamic": false,
"info": "System message to pass to the model.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "system_message",
@ -886,9 +808,7 @@
"display_name": "Chat Output",
"id": "ChatOutput-VzVJK",
"node": {
"base_classes": [
"Message"
],
"base_classes": ["Message"],
"beta": false,
"conditional_paths": [],
"custom_fields": {},
@ -915,9 +835,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"types": [
"Message"
],
"types": ["Message"],
"value": "__UNDEFINED__"
}
],
@ -947,9 +865,7 @@
"display_name": "Data Template",
"dynamic": false,
"info": "Template to convert Data to Text. If left empty, it will be dynamically set to the Data's text key.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "data_template",
@ -967,9 +883,7 @@
"display_name": "Text",
"dynamic": false,
"info": "Message to be passed as output.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "input_value",
@ -988,10 +902,7 @@
"dynamic": false,
"info": "Type of sender.",
"name": "sender",
"options": [
"Machine",
"User"
],
"options": ["Machine", "User"],
"placeholder": "",
"required": false,
"show": true,
@ -1005,9 +916,7 @@
"display_name": "Sender Name",
"dynamic": false,
"info": "Name of the sender.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "sender_name",
@ -1025,9 +934,7 @@
"display_name": "Session ID",
"dynamic": false,
"info": "The session ID of the chat. If empty, the current session ID parameter will be used.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "session_id",
@ -1080,9 +987,7 @@
"display_name": "Hierarchical Task",
"id": "HierarchicalTaskComponent-hE8H5",
"node": {
"base_classes": [
"HierarchicalTask"
],
"base_classes": ["HierarchicalTask"],
"beta": false,
"conditional_paths": [],
"custom_fields": {},
@ -1090,11 +995,7 @@
"display_name": "Hierarchical Task",
"documentation": "",
"edited": false,
"field_order": [
"task_description",
"expected_output",
"tools"
],
"field_order": ["task_description", "expected_output", "tools"],
"frozen": false,
"icon": "CrewAI",
"metadata": {},
@ -1106,9 +1007,7 @@
"method": "build_task",
"name": "task_output",
"selected": "HierarchicalTask",
"types": [
"HierarchicalTask"
],
"types": ["HierarchicalTask"],
"value": "__UNDEFINED__"
}
],
@ -1138,9 +1037,7 @@
"display_name": "Expected Output",
"dynamic": false,
"info": "Clear definition of expected task outcome.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -1159,9 +1056,7 @@
"display_name": "Description",
"dynamic": false,
"info": "Descriptive text detailing task's purpose and execution.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -1180,9 +1075,7 @@
"display_name": "Tools",
"dynamic": false,
"info": "List of tools/resources limited for task execution. Uses the Agent tools by default.",
"input_types": [
"Tool"
],
"input_types": ["Tool"],
"list": true,
"name": "tools",
"placeholder": "",
@ -1218,9 +1111,7 @@
"display_name": "CrewAI Agent",
"id": "CrewAIAgentComponent-EbpXd",
"node": {
"base_classes": [
"Agent"
],
"base_classes": ["Agent"],
"beta": false,
"conditional_paths": [],
"custom_fields": {},
@ -1251,9 +1142,7 @@
"method": "build_output",
"name": "output",
"selected": "Agent",
"types": [
"Agent"
],
"types": ["Agent"],
"value": "__UNDEFINED__"
}
],
@ -1295,9 +1184,7 @@
"display_name": "Backstory",
"dynamic": false,
"info": "The backstory of the agent.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -1334,9 +1221,7 @@
"display_name": "Goal",
"dynamic": false,
"info": "The objective of the agent.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -1370,9 +1255,7 @@
"display_name": "Language Model",
"dynamic": false,
"info": "Language model that will run the agent.",
"input_types": [
"LanguageModel"
],
"input_types": ["LanguageModel"],
"list": false,
"name": "llm",
"placeholder": "",
@ -1403,9 +1286,7 @@
"display_name": "Role",
"dynamic": false,
"info": "The role of the agent.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -1424,9 +1305,7 @@
"display_name": "Tools",
"dynamic": false,
"info": "Tools at agents disposal",
"input_types": [
"Tool"
],
"input_types": ["Tool"],
"list": true,
"name": "tools",
"placeholder": "",
@ -1477,9 +1356,7 @@
"display_name": "CrewAI Agent",
"id": "CrewAIAgentComponent-9D8ao",
"node": {
"base_classes": [
"Agent"
],
"base_classes": ["Agent"],
"beta": false,
"conditional_paths": [],
"custom_fields": {},
@ -1510,9 +1387,7 @@
"method": "build_output",
"name": "output",
"selected": "Agent",
"types": [
"Agent"
],
"types": ["Agent"],
"value": "__UNDEFINED__"
}
],
@ -1554,9 +1429,7 @@
"display_name": "Backstory",
"dynamic": false,
"info": "The backstory of the agent.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -1593,9 +1466,7 @@
"display_name": "Goal",
"dynamic": false,
"info": "The objective of the agent.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -1629,9 +1500,7 @@
"display_name": "Language Model",
"dynamic": false,
"info": "Language model that will run the agent.",
"input_types": [
"LanguageModel"
],
"input_types": ["LanguageModel"],
"list": false,
"name": "llm",
"placeholder": "",
@ -1662,9 +1531,7 @@
"display_name": "Role",
"dynamic": false,
"info": "The role of the agent.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -1683,9 +1550,7 @@
"display_name": "Tools",
"dynamic": false,
"info": "Tools at agents disposal",
"input_types": [
"Tool"
],
"input_types": ["Tool"],
"list": true,
"name": "tools",
"placeholder": "",
@ -1736,10 +1601,7 @@
"display_name": "OpenAI",
"id": "OpenAIModel-HgNnu",
"node": {
"base_classes": [
"LanguageModel",
"Message"
],
"base_classes": ["LanguageModel", "Message"],
"beta": false,
"conditional_paths": [],
"custom_fields": {},
@ -1771,15 +1633,9 @@
"display_name": "Text",
"method": "text_response",
"name": "text_output",
"required_inputs": [
"input_value",
"stream",
"system_message"
],
"required_inputs": ["input_value", "stream", "system_message"],
"selected": "Message",
"types": [
"Message"
],
"types": ["Message"],
"value": "__UNDEFINED__"
},
{
@ -1799,9 +1655,7 @@
"temperature"
],
"selected": "LanguageModel",
"types": [
"LanguageModel"
],
"types": ["LanguageModel"],
"value": "__UNDEFINED__"
}
],
@ -1813,9 +1667,7 @@
"display_name": "OpenAI API Key",
"dynamic": false,
"info": "The OpenAI API Key to use for the OpenAI model.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"load_from_db": true,
"name": "api_key",
"password": true,
@ -1849,9 +1701,7 @@
"display_name": "Input",
"dynamic": false,
"info": "",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "input_value",
@ -1955,9 +1805,7 @@
"display_name": "Output Parser",
"dynamic": false,
"info": "The parser to use to parse the output of the model",
"input_types": [
"OutputParser"
],
"input_types": ["OutputParser"],
"list": false,
"name": "output_parser",
"placeholder": "",
@ -2018,9 +1866,7 @@
"display_name": "System Message",
"dynamic": false,
"info": "System message to pass to the model.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "system_message",
@ -2073,24 +1919,18 @@
"display_name": "Prompt",
"id": "Prompt-eqGhn",
"node": {
"base_classes": [
"Message"
],
"base_classes": ["Message"],
"beta": false,
"conditional_paths": [],
"custom_fields": {
"template": [
"query"
]
"template": ["query"]
},
"description": "Create a prompt template with dynamic variables.",
"display_name": "Prompt",
"documentation": "",
"edited": false,
"error": null,
"field_order": [
"template"
],
"field_order": ["template"],
"frozen": false,
"full_path": null,
"icon": "prompts",
@ -2107,9 +1947,7 @@
"method": "build_prompt",
"name": "prompt",
"selected": "Message",
"types": [
"Message"
],
"types": ["Message"],
"value": "__UNDEFINED__"
}
],
@ -2142,10 +1980,7 @@
"fileTypes": [],
"file_path": "",
"info": "",
"input_types": [
"Message",
"Text"
],
"input_types": ["Message", "Text"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -2196,9 +2031,7 @@
"data": {
"id": "ChatInput-xgRl9",
"node": {
"base_classes": [
"Message"
],
"base_classes": ["Message"],
"beta": false,
"conditional_paths": [],
"custom_fields": {},
@ -2225,9 +2058,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"types": [
"Message"
],
"types": ["Message"],
"value": "__UNDEFINED__"
}
],
@ -2298,9 +2129,7 @@
"display_name": "Text",
"dynamic": false,
"info": "Message to be passed as input.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -2320,10 +2149,7 @@
"dynamic": false,
"info": "Type of sender.",
"name": "sender",
"options": [
"Machine",
"User"
],
"options": ["Machine", "User"],
"placeholder": "",
"required": false,
"show": true,
@ -2337,9 +2163,7 @@
"display_name": "Sender Name",
"dynamic": false,
"info": "Name of the sender.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "sender_name",
@ -2357,9 +2181,7 @@
"display_name": "Session ID",
"dynamic": false,
"info": "The session ID of the chat. If empty, the current session ID parameter will be used.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "session_id",
@ -2412,9 +2234,7 @@
"display_name": "CrewAI Agent",
"id": "CrewAIAgentComponent-UMpxO",
"node": {
"base_classes": [
"Agent"
],
"base_classes": ["Agent"],
"beta": false,
"conditional_paths": [],
"custom_fields": {},
@ -2445,9 +2265,7 @@
"method": "build_output",
"name": "output",
"selected": "Agent",
"types": [
"Agent"
],
"types": ["Agent"],
"value": "__UNDEFINED__"
}
],
@ -2489,9 +2307,7 @@
"display_name": "Backstory",
"dynamic": false,
"info": "The backstory of the agent.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -2528,9 +2344,7 @@
"display_name": "Goal",
"dynamic": false,
"info": "The objective of the agent.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -2564,9 +2378,7 @@
"display_name": "Language Model",
"dynamic": false,
"info": "Language model that will run the agent.",
"input_types": [
"LanguageModel"
],
"input_types": ["LanguageModel"],
"list": false,
"name": "llm",
"placeholder": "",
@ -2597,9 +2409,7 @@
"display_name": "Role",
"dynamic": false,
"info": "The role of the agent.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -2618,9 +2428,7 @@
"display_name": "Tools",
"dynamic": false,
"info": "Tools at agents disposal",
"input_types": [
"Tool"
],
"input_types": ["Tool"],
"list": true,
"name": "tools",
"placeholder": "",
@ -2669,10 +2477,7 @@
"data": {
"id": "SearchAPI-Yokat",
"node": {
"base_classes": [
"Data",
"Tool"
],
"base_classes": ["Data", "Tool"],
"beta": false,
"conditional_paths": [],
"custom_fields": {},
@ -2704,9 +2509,7 @@
"search_params"
],
"selected": "Data",
"types": [
"Data"
],
"types": ["Data"],
"value": "__UNDEFINED__"
},
{
@ -2723,9 +2526,7 @@
"search_params"
],
"selected": "Tool",
"types": [
"Tool"
],
"types": ["Tool"],
"value": "__UNDEFINED__"
}
],
@ -2737,9 +2538,7 @@
"display_name": "SearchAPI API Key",
"dynamic": false,
"info": "",
"input_types": [
"Message"
],
"input_types": ["Message"],
"load_from_db": true,
"name": "api_key",
"password": true,
@ -2773,9 +2572,7 @@
"display_name": "Engine",
"dynamic": false,
"info": "",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "engine",
@ -2793,9 +2590,7 @@
"display_name": "Input",
"dynamic": false,
"info": "",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -2884,8 +2679,10 @@
},
"description": "This Agentic Flow has a Manager and a couple Workers. The manager can answer the user's question straightaway or delegate the task to other agents.",
"endpoint_name": null,
"icon": "GitFork",
"id": "6302081f-5af2-4b9f-bd19-2baaf7218ba6",
"is_component": false,
"last_tested_version": "1.0.12",
"name": "Hierarchical Tasks Agent"
}
"name": "Hierarchical Tasks Agent",
"tags": ["agents", "openai", "chatbots"]
}

View file

@ -8,17 +8,12 @@
"dataType": "ChatInput",
"id": "ChatInput-6yuNd",
"name": "message",
"output_types": [
"Message"
]
"output_types": ["Message"]
},
"targetHandle": {
"fieldName": "user_message",
"id": "Prompt-tifRl",
"inputTypes": [
"Message",
"Text"
],
"inputTypes": ["Message", "Text"],
"type": "str"
}
},
@ -35,16 +30,12 @@
"dataType": "Prompt",
"id": "Prompt-tifRl",
"name": "prompt",
"output_types": [
"Message"
]
"output_types": ["Message"]
},
"targetHandle": {
"fieldName": "input_value",
"id": "OpenAIModel-ZIeE0",
"inputTypes": [
"Message"
],
"inputTypes": ["Message"],
"type": "str"
}
},
@ -61,16 +52,12 @@
"dataType": "OpenAIModel",
"id": "OpenAIModel-ZIeE0",
"name": "text_output",
"output_types": [
"Message"
]
"output_types": ["Message"]
},
"targetHandle": {
"fieldName": "input_value",
"id": "ChatOutput-c3v9q",
"inputTypes": [
"Message"
],
"inputTypes": ["Message"],
"type": "str"
}
},
@ -87,17 +74,12 @@
"dataType": "Memory",
"id": "Memory-6s5g1",
"name": "messages_text",
"output_types": [
"Message"
]
"output_types": ["Message"]
},
"targetHandle": {
"fieldName": "context",
"id": "Prompt-tifRl",
"inputTypes": [
"Message",
"Text"
],
"inputTypes": ["Message", "Text"],
"type": "str"
}
},
@ -115,24 +97,17 @@
"display_name": "Prompt",
"id": "Prompt-tifRl",
"node": {
"base_classes": [
"Message"
],
"base_classes": ["Message"],
"beta": false,
"conditional_paths": [],
"custom_fields": {
"template": [
"context",
"user_message"
]
"template": ["context", "user_message"]
},
"description": "Create a prompt template with dynamic variables.",
"display_name": "Prompt",
"documentation": "",
"edited": false,
"field_order": [
"template"
],
"field_order": ["template"],
"frozen": false,
"icon": "prompts",
"metadata": {},
@ -144,9 +119,7 @@
"method": "build_prompt",
"name": "prompt",
"selected": "Message",
"types": [
"Message"
],
"types": ["Message"],
"value": "__UNDEFINED__"
}
],
@ -179,10 +152,7 @@
"fileTypes": [],
"file_path": "",
"info": "",
"input_types": [
"Message",
"Text"
],
"input_types": ["Message", "Text"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -219,10 +189,7 @@
"fileTypes": [],
"file_path": "",
"info": "",
"input_types": [
"Message",
"Text"
],
"input_types": ["Message", "Text"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -260,9 +227,7 @@
"display_name": "Chat Input",
"id": "ChatInput-6yuNd",
"node": {
"base_classes": [
"Message"
],
"base_classes": ["Message"],
"beta": false,
"conditional_paths": [],
"custom_fields": {},
@ -289,9 +254,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"types": [
"Message"
],
"types": ["Message"],
"value": "__UNDEFINED__"
}
],
@ -362,9 +325,7 @@
"display_name": "Text",
"dynamic": false,
"info": "Message to be passed as input.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -384,10 +345,7 @@
"dynamic": false,
"info": "Type of sender.",
"name": "sender",
"options": [
"Machine",
"User"
],
"options": ["Machine", "User"],
"placeholder": "",
"required": false,
"show": true,
@ -401,9 +359,7 @@
"display_name": "Sender Name",
"dynamic": false,
"info": "Name of the sender.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "sender_name",
@ -421,9 +377,7 @@
"display_name": "Session ID",
"dynamic": false,
"info": "The session ID of the chat. If empty, the current session ID parameter will be used.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "session_id",
@ -477,10 +431,7 @@
"display_name": "OpenAI",
"id": "OpenAIModel-ZIeE0",
"node": {
"base_classes": [
"LanguageModel",
"Message"
],
"base_classes": ["LanguageModel", "Message"],
"beta": false,
"conditional_paths": [],
"custom_fields": {},
@ -512,15 +463,9 @@
"display_name": "Text",
"method": "text_response",
"name": "text_output",
"required_inputs": [
"input_value",
"stream",
"system_message"
],
"required_inputs": ["input_value", "stream", "system_message"],
"selected": "Message",
"types": [
"Message"
],
"types": ["Message"],
"value": "__UNDEFINED__"
},
{
@ -540,9 +485,7 @@
"temperature"
],
"selected": "LanguageModel",
"types": [
"LanguageModel"
],
"types": ["LanguageModel"],
"value": "__UNDEFINED__"
}
],
@ -555,9 +498,7 @@
"display_name": "OpenAI API Key",
"dynamic": false,
"info": "The OpenAI API Key to use for the OpenAI model.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"load_from_db": true,
"name": "api_key",
"password": true,
@ -591,9 +532,7 @@
"display_name": "Input",
"dynamic": false,
"info": "",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "input_value",
@ -696,9 +635,7 @@
"display_name": "Output Parser",
"dynamic": false,
"info": "The parser to use to parse the output of the model",
"input_types": [
"OutputParser"
],
"input_types": ["OutputParser"],
"list": false,
"name": "output_parser",
"placeholder": "",
@ -810,9 +747,7 @@
"display_name": "Chat Output",
"id": "ChatOutput-c3v9q",
"node": {
"base_classes": [
"Message"
],
"base_classes": ["Message"],
"beta": false,
"conditional_paths": [],
"custom_fields": {},
@ -839,9 +774,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"types": [
"Message"
],
"types": ["Message"],
"value": "__UNDEFINED__"
}
],
@ -871,9 +804,7 @@
"display_name": "Data Template",
"dynamic": false,
"info": "Template to convert Data to Text. If left empty, it will be dynamically set to the Data's text key.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "data_template",
@ -891,9 +822,7 @@
"display_name": "Text",
"dynamic": false,
"info": "Message to be passed as output.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "input_value",
@ -912,10 +841,7 @@
"dynamic": false,
"info": "Type of sender.",
"name": "sender",
"options": [
"Machine",
"User"
],
"options": ["Machine", "User"],
"placeholder": "",
"required": false,
"show": true,
@ -929,9 +855,7 @@
"display_name": "Sender Name",
"dynamic": false,
"info": "Name of the sender.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "sender_name",
@ -949,9 +873,7 @@
"display_name": "Session ID",
"dynamic": false,
"info": "The session ID of the chat. If empty, the current session ID parameter will be used.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "session_id",
@ -1000,11 +922,7 @@
"display_name": "Chat Memory",
"id": "Memory-6s5g1",
"node": {
"base_classes": [
"BaseChatMemory",
"Data",
"Message"
],
"base_classes": ["BaseChatMemory", "Data", "Message"],
"beta": false,
"conditional_paths": [],
"custom_fields": {},
@ -1032,9 +950,7 @@
"method": "retrieve_messages",
"name": "messages",
"selected": "Data",
"types": [
"Data"
],
"types": ["Data"],
"value": "__UNDEFINED__"
},
{
@ -1043,9 +959,7 @@
"method": "retrieve_messages_as_text",
"name": "messages_text",
"selected": "Message",
"types": [
"Message"
],
"types": ["Message"],
"value": "__UNDEFINED__"
},
{
@ -1054,9 +968,7 @@
"method": "build_lc_memory",
"name": "lc_memory",
"selected": "BaseChatMemory",
"types": [
"BaseChatMemory"
],
"types": ["BaseChatMemory"],
"value": "__UNDEFINED__"
}
],
@ -1086,9 +998,7 @@
"display_name": "External Memory",
"dynamic": false,
"info": "Retrieve messages from an external memory. If empty, it will use the Langflow tables.",
"input_types": [
"BaseChatMessageHistory"
],
"input_types": ["BaseChatMessageHistory"],
"list": false,
"name": "memory",
"placeholder": "",
@ -1120,10 +1030,7 @@
"dynamic": false,
"info": "Order of the messages.",
"name": "order",
"options": [
"Ascending",
"Descending"
],
"options": ["Ascending", "Descending"],
"placeholder": "",
"required": false,
"show": true,
@ -1138,11 +1045,7 @@
"dynamic": false,
"info": "Filter by sender type.",
"name": "sender",
"options": [
"Machine",
"User",
"Machine and User"
],
"options": ["Machine", "User", "Machine and User"],
"placeholder": "",
"required": false,
"show": true,
@ -1156,9 +1059,7 @@
"display_name": "Sender Name",
"dynamic": false,
"info": "Filter by sender name.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "sender_name",
@ -1176,9 +1077,7 @@
"display_name": "Session ID",
"dynamic": false,
"info": "The session ID of the chat. If empty, the current session ID parameter will be used.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "session_id",
@ -1196,9 +1095,7 @@
"display_name": "Template",
"dynamic": false,
"info": "The template to use for formatting the data. It can contain the keys {text}, {sender} or any other key in the message data.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -1240,8 +1137,10 @@
},
"description": "This project can be used as a starting point for building a Chat experience with user specific memory. You can set a different Session ID to start a new message history.",
"endpoint_name": null,
"icon": "MessagesSquare",
"id": "ff6810d0-1d7b-4455-9b35-c9f54f7d63b6",
"is_component": false,
"last_tested_version": "1.0.9",
"name": "Memory Chatbot"
}
"name": "Memory Chatbot",
"tags": ["chatbots", "openai"]
}

View file

@ -8,16 +8,12 @@
"dataType": "SequentialCrewComponent",
"id": "SequentialCrewComponent-3dbbB",
"name": "output",
"output_types": [
"Message"
]
"output_types": ["Message"]
},
"targetHandle": {
"fieldName": "input_value",
"id": "ChatOutput-nwCjg",
"inputTypes": [
"Message"
],
"inputTypes": ["Message"],
"type": "str"
}
},
@ -34,17 +30,12 @@
"dataType": "TextInput",
"id": "TextInput-6QUGr",
"name": "text",
"output_types": [
"Message"
]
"output_types": ["Message"]
},
"targetHandle": {
"fieldName": "topic",
"id": "Prompt-GOdlL",
"inputTypes": [
"Message",
"Text"
],
"inputTypes": ["Message", "Text"],
"type": "str"
}
},
@ -61,17 +52,12 @@
"dataType": "TextInput",
"id": "TextInput-6QUGr",
"name": "text",
"output_types": [
"Message"
]
"output_types": ["Message"]
},
"targetHandle": {
"fieldName": "topic",
"id": "Prompt-824D7",
"inputTypes": [
"Message",
"Text"
],
"inputTypes": ["Message", "Text"],
"type": "str"
}
},
@ -88,17 +74,12 @@
"dataType": "TextInput",
"id": "TextInput-6QUGr",
"name": "text",
"output_types": [
"Message"
]
"output_types": ["Message"]
},
"targetHandle": {
"fieldName": "topic",
"id": "Prompt-0vHob",
"inputTypes": [
"Message",
"Text"
],
"inputTypes": ["Message", "Text"],
"type": "str"
}
},
@ -115,16 +96,12 @@
"dataType": "Prompt",
"id": "Prompt-GOdlL",
"name": "prompt",
"output_types": [
"Message"
]
"output_types": ["Message"]
},
"targetHandle": {
"fieldName": "task_description",
"id": "SequentialTaskAgentComponent-GWMA1",
"inputTypes": [
"Message"
],
"inputTypes": ["Message"],
"type": "str"
}
},
@ -141,16 +118,12 @@
"dataType": "OpenAIModel",
"id": "OpenAIModel-lQ5HF",
"name": "model_output",
"output_types": [
"LanguageModel"
]
"output_types": ["LanguageModel"]
},
"targetHandle": {
"fieldName": "llm",
"id": "SequentialTaskAgentComponent-GWMA1",
"inputTypes": [
"LanguageModel"
],
"inputTypes": ["LanguageModel"],
"type": "other"
}
},
@ -166,16 +139,12 @@
"dataType": "OpenAIModel",
"id": "OpenAIModel-lQ5HF",
"name": "model_output",
"output_types": [
"LanguageModel"
]
"output_types": ["LanguageModel"]
},
"targetHandle": {
"fieldName": "llm",
"id": "SequentialTaskAgentComponent-5i4Wg",
"inputTypes": [
"LanguageModel"
],
"inputTypes": ["LanguageModel"],
"type": "other"
}
},
@ -191,16 +160,12 @@
"dataType": "Prompt",
"id": "Prompt-824D7",
"name": "prompt",
"output_types": [
"Message"
]
"output_types": ["Message"]
},
"targetHandle": {
"fieldName": "task_description",
"id": "SequentialTaskAgentComponent-5i4Wg",
"inputTypes": [
"Message"
],
"inputTypes": ["Message"],
"type": "str"
}
},
@ -216,16 +181,12 @@
"dataType": "SequentialTaskAgentComponent",
"id": "SequentialTaskAgentComponent-GWMA1",
"name": "task_output",
"output_types": [
"SequentialTask"
]
"output_types": ["SequentialTask"]
},
"targetHandle": {
"fieldName": "previous_task",
"id": "SequentialTaskAgentComponent-5i4Wg",
"inputTypes": [
"SequentialTask"
],
"inputTypes": ["SequentialTask"],
"type": "other"
}
},
@ -241,16 +202,12 @@
"dataType": "SequentialTaskAgentComponent",
"id": "SequentialTaskAgentComponent-5i4Wg",
"name": "task_output",
"output_types": [
"SequentialTask"
]
"output_types": ["SequentialTask"]
},
"targetHandle": {
"fieldName": "previous_task",
"id": "SequentialTaskAgentComponent-TPEWE",
"inputTypes": [
"SequentialTask"
],
"inputTypes": ["SequentialTask"],
"type": "other"
}
},
@ -266,16 +223,12 @@
"dataType": "Prompt",
"id": "Prompt-0vHob",
"name": "prompt",
"output_types": [
"Message"
]
"output_types": ["Message"]
},
"targetHandle": {
"fieldName": "task_description",
"id": "SequentialTaskAgentComponent-TPEWE",
"inputTypes": [
"Message"
],
"inputTypes": ["Message"],
"type": "str"
}
},
@ -291,16 +244,12 @@
"dataType": "SequentialTaskAgentComponent",
"id": "SequentialTaskAgentComponent-TPEWE",
"name": "task_output",
"output_types": [
"SequentialTask"
]
"output_types": ["SequentialTask"]
},
"targetHandle": {
"fieldName": "tasks",
"id": "SequentialCrewComponent-3dbbB",
"inputTypes": [
"SequentialTask"
],
"inputTypes": ["SequentialTask"],
"type": "other"
}
},
@ -316,16 +265,12 @@
"dataType": "OpenAIModel",
"id": "OpenAIModel-lQ5HF",
"name": "model_output",
"output_types": [
"LanguageModel"
]
"output_types": ["LanguageModel"]
},
"targetHandle": {
"fieldName": "llm",
"id": "SequentialTaskAgentComponent-TPEWE",
"inputTypes": [
"LanguageModel"
],
"inputTypes": ["LanguageModel"],
"type": "other"
}
},
@ -341,16 +286,12 @@
"dataType": "YFinanceTool",
"id": "YFinanceTool-Asoka",
"name": "tool",
"output_types": [
"Tool"
]
"output_types": ["Tool"]
},
"targetHandle": {
"fieldName": "tools",
"id": "SequentialTaskAgentComponent-GWMA1",
"inputTypes": [
"Tool"
],
"inputTypes": ["Tool"],
"type": "other"
}
},
@ -368,9 +309,7 @@
"display_name": "Sequential Crew",
"id": "SequentialCrewComponent-3dbbB",
"node": {
"base_classes": [
"Message"
],
"base_classes": ["Message"],
"beta": false,
"conditional_paths": [],
"custom_fields": {},
@ -400,9 +339,7 @@
"name": "output",
"required_inputs": [],
"selected": "Message",
"types": [
"Message"
],
"types": ["Message"],
"value": "__UNDEFINED__"
}
],
@ -432,9 +369,7 @@
"display_name": "Function Calling LLM",
"dynamic": false,
"info": "Turns the ReAct CrewAI agent into a function-calling agent",
"input_types": [
"LanguageModel"
],
"input_types": ["LanguageModel"],
"list": false,
"name": "function_calling_llm",
"placeholder": "",
@ -495,9 +430,7 @@
"display_name": "Tasks",
"dynamic": false,
"info": "",
"input_types": [
"SequentialTask"
],
"input_types": ["SequentialTask"],
"list": true,
"name": "tasks",
"placeholder": "",
@ -561,10 +494,7 @@
"data": {
"id": "OpenAIModel-lQ5HF",
"node": {
"base_classes": [
"LanguageModel",
"Message"
],
"base_classes": ["LanguageModel", "Message"],
"beta": false,
"conditional_paths": [],
"custom_fields": {},
@ -597,15 +527,9 @@
"display_name": "Text",
"method": "text_response",
"name": "text_output",
"required_inputs": [
"input_value",
"stream",
"system_message"
],
"required_inputs": ["input_value", "stream", "system_message"],
"selected": "Message",
"types": [
"Message"
],
"types": ["Message"],
"value": "__UNDEFINED__"
},
{
@ -625,9 +549,7 @@
"temperature"
],
"selected": "LanguageModel",
"types": [
"LanguageModel"
],
"types": ["LanguageModel"],
"value": "__UNDEFINED__"
}
],
@ -640,9 +562,7 @@
"display_name": "OpenAI API Key",
"dynamic": false,
"info": "The OpenAI API Key to use for the OpenAI model.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"load_from_db": true,
"name": "api_key",
"password": true,
@ -676,9 +596,7 @@
"display_name": "Input",
"dynamic": false,
"info": "",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "input_value",
@ -781,9 +699,7 @@
"display_name": "Output Parser",
"dynamic": false,
"info": "The parser to use to parse the output of the model",
"input_types": [
"OutputParser"
],
"input_types": ["OutputParser"],
"list": false,
"name": "output_parser",
"placeholder": "",
@ -895,9 +811,7 @@
"display_name": "Chat Output",
"id": "ChatOutput-nwCjg",
"node": {
"base_classes": [
"Message"
],
"base_classes": ["Message"],
"beta": false,
"conditional_paths": [],
"custom_fields": {},
@ -925,9 +839,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"types": [
"Message"
],
"types": ["Message"],
"value": "__UNDEFINED__"
}
],
@ -957,9 +869,7 @@
"display_name": "Data Template",
"dynamic": false,
"info": "Template to convert Data to Text. If left empty, it will be dynamically set to the Data's text key.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "data_template",
@ -977,9 +887,7 @@
"display_name": "Text",
"dynamic": false,
"info": "Message to be passed as output.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "input_value",
@ -998,10 +906,7 @@
"dynamic": false,
"info": "Type of sender.",
"name": "sender",
"options": [
"Machine",
"User"
],
"options": ["Machine", "User"],
"placeholder": "",
"required": false,
"show": true,
@ -1015,9 +920,7 @@
"display_name": "Sender Name",
"dynamic": false,
"info": "Name of the sender.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "sender_name",
@ -1035,9 +938,7 @@
"display_name": "Session ID",
"dynamic": false,
"info": "The session ID of the chat. If empty, the current session ID parameter will be used.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "session_id",
@ -1084,9 +985,7 @@
"data": {
"id": "TextInput-6QUGr",
"node": {
"base_classes": [
"Message"
],
"base_classes": ["Message"],
"beta": false,
"conditional_paths": [],
"custom_fields": {},
@ -1094,9 +993,7 @@
"display_name": "Topic",
"documentation": "",
"edited": false,
"field_order": [
"input_value"
],
"field_order": ["input_value"],
"frozen": false,
"icon": "type",
"lf_version": "1.0.15",
@ -1108,9 +1005,7 @@
"method": "text_response",
"name": "text",
"selected": "Message",
"types": [
"Message"
],
"types": ["Message"],
"value": "__UNDEFINED__"
}
],
@ -1140,9 +1035,7 @@
"display_name": "Text",
"dynamic": false,
"info": "Text to be passed as input.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "input_value",
@ -1180,23 +1073,17 @@
"display_name": "Prompt",
"id": "Prompt-GOdlL",
"node": {
"base_classes": [
"Message"
],
"base_classes": ["Message"],
"beta": false,
"conditional_paths": [],
"custom_fields": {
"template": [
"topic"
]
"template": ["topic"]
},
"description": "Create a prompt template with dynamic variables.",
"display_name": "Prompt",
"documentation": "",
"edited": false,
"field_order": [
"template"
],
"field_order": ["template"],
"frozen": false,
"icon": "prompts",
"lf_version": "1.0.15",
@ -1209,9 +1096,7 @@
"method": "build_prompt",
"name": "prompt",
"selected": "Message",
"types": [
"Message"
],
"types": ["Message"],
"value": "__UNDEFINED__"
}
],
@ -1260,10 +1145,7 @@
"fileTypes": [],
"file_path": "",
"info": "",
"input_types": [
"Message",
"Text"
],
"input_types": ["Message", "Text"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -1301,23 +1183,17 @@
"display_name": "Prompt",
"id": "Prompt-824D7",
"node": {
"base_classes": [
"Message"
],
"base_classes": ["Message"],
"beta": false,
"conditional_paths": [],
"custom_fields": {
"template": [
"topic"
]
"template": ["topic"]
},
"description": "Create a prompt template with dynamic variables.",
"display_name": "Prompt",
"documentation": "",
"edited": false,
"field_order": [
"template"
],
"field_order": ["template"],
"frozen": false,
"icon": "prompts",
"lf_version": "1.0.15",
@ -1330,9 +1206,7 @@
"method": "build_prompt",
"name": "prompt",
"selected": "Message",
"types": [
"Message"
],
"types": ["Message"],
"value": "__UNDEFINED__"
}
],
@ -1381,10 +1255,7 @@
"fileTypes": [],
"file_path": "",
"info": "",
"input_types": [
"Message",
"Text"
],
"input_types": ["Message", "Text"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -1422,23 +1293,17 @@
"display_name": "Prompt",
"id": "Prompt-0vHob",
"node": {
"base_classes": [
"Message"
],
"base_classes": ["Message"],
"beta": false,
"conditional_paths": [],
"custom_fields": {
"template": [
"topic"
]
"template": ["topic"]
},
"description": "Create a prompt template with dynamic variables.",
"display_name": "Prompt",
"documentation": "",
"edited": false,
"field_order": [
"template"
],
"field_order": ["template"],
"frozen": false,
"icon": "prompts",
"lf_version": "1.0.15",
@ -1451,9 +1316,7 @@
"method": "build_prompt",
"name": "prompt",
"selected": "Message",
"types": [
"Message"
],
"types": ["Message"],
"value": "__UNDEFINED__"
}
],
@ -1502,10 +1365,7 @@
"fileTypes": [],
"file_path": "",
"info": "",
"input_types": [
"Message",
"Text"
],
"input_types": ["Message", "Text"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -1541,9 +1401,7 @@
"data": {
"id": "SequentialTaskAgentComponent-GWMA1",
"node": {
"base_classes": [
"SequentialTask"
],
"base_classes": ["SequentialTask"],
"beta": false,
"conditional_paths": [],
"custom_fields": {},
@ -1579,9 +1437,7 @@
"method": "build_agent_and_task",
"name": "task_output",
"selected": "SequentialTask",
"types": [
"SequentialTask"
],
"types": ["SequentialTask"],
"value": "__UNDEFINED__"
}
],
@ -1658,9 +1514,7 @@
"display_name": "Backstory",
"dynamic": false,
"info": "The backstory of the agent.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -1698,9 +1552,7 @@
"display_name": "Expected Task Output",
"dynamic": false,
"info": "Clear definition of expected task outcome.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -1720,9 +1572,7 @@
"display_name": "Goal",
"dynamic": false,
"info": "The objective of the agent.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -1742,9 +1592,7 @@
"display_name": "Language Model",
"dynamic": false,
"info": "Language model that will run the agent.",
"input_types": [
"LanguageModel"
],
"input_types": ["LanguageModel"],
"list": false,
"name": "llm",
"placeholder": "",
@ -1777,9 +1625,7 @@
"display_name": "Previous Task",
"dynamic": false,
"info": "The previous task in the sequence (for chaining).",
"input_types": [
"SequentialTask"
],
"input_types": ["SequentialTask"],
"list": false,
"name": "previous_task",
"placeholder": "",
@ -1796,9 +1642,7 @@
"display_name": "Role",
"dynamic": false,
"info": "The role of the agent.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -1818,9 +1662,7 @@
"display_name": "Task Description",
"dynamic": false,
"info": "Descriptive text detailing task's purpose and execution.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -1840,9 +1682,7 @@
"display_name": "Tools",
"dynamic": false,
"info": "Tools at agent's disposal",
"input_types": [
"Tool"
],
"input_types": ["Tool"],
"list": true,
"name": "tools",
"placeholder": "",
@ -1892,9 +1732,7 @@
"data": {
"id": "SequentialTaskAgentComponent-5i4Wg",
"node": {
"base_classes": [
"SequentialTask"
],
"base_classes": ["SequentialTask"],
"beta": false,
"conditional_paths": [],
"custom_fields": {},
@ -1930,9 +1768,7 @@
"method": "build_agent_and_task",
"name": "task_output",
"selected": "SequentialTask",
"types": [
"SequentialTask"
],
"types": ["SequentialTask"],
"value": "__UNDEFINED__"
}
],
@ -2009,9 +1845,7 @@
"display_name": "Backstory",
"dynamic": false,
"info": "The backstory of the agent.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -2049,9 +1883,7 @@
"display_name": "Expected Task Output",
"dynamic": false,
"info": "Clear definition of expected task outcome.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -2071,9 +1903,7 @@
"display_name": "Goal",
"dynamic": false,
"info": "The objective of the agent.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -2093,9 +1923,7 @@
"display_name": "Language Model",
"dynamic": false,
"info": "Language model that will run the agent.",
"input_types": [
"LanguageModel"
],
"input_types": ["LanguageModel"],
"list": false,
"name": "llm",
"placeholder": "",
@ -2128,9 +1956,7 @@
"display_name": "Previous Task",
"dynamic": false,
"info": "The previous task in the sequence (for chaining).",
"input_types": [
"SequentialTask"
],
"input_types": ["SequentialTask"],
"list": false,
"name": "previous_task",
"placeholder": "",
@ -2147,9 +1973,7 @@
"display_name": "Role",
"dynamic": false,
"info": "The role of the agent.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -2169,9 +1993,7 @@
"display_name": "Task Description",
"dynamic": false,
"info": "Descriptive text detailing task's purpose and execution.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -2191,9 +2013,7 @@
"display_name": "Tools",
"dynamic": false,
"info": "Tools at agent's disposal",
"input_types": [
"Tool"
],
"input_types": ["Tool"],
"list": true,
"name": "tools",
"placeholder": "",
@ -2243,9 +2063,7 @@
"data": {
"id": "SequentialTaskAgentComponent-TPEWE",
"node": {
"base_classes": [
"SequentialTask"
],
"base_classes": ["SequentialTask"],
"beta": false,
"conditional_paths": [],
"custom_fields": {},
@ -2281,9 +2099,7 @@
"method": "build_agent_and_task",
"name": "task_output",
"selected": "SequentialTask",
"types": [
"SequentialTask"
],
"types": ["SequentialTask"],
"value": "__UNDEFINED__"
}
],
@ -2360,9 +2176,7 @@
"display_name": "Backstory",
"dynamic": false,
"info": "The backstory of the agent.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -2400,9 +2214,7 @@
"display_name": "Expected Task Output",
"dynamic": false,
"info": "Clear definition of expected task outcome.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -2422,9 +2234,7 @@
"display_name": "Goal",
"dynamic": false,
"info": "The objective of the agent.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -2444,9 +2254,7 @@
"display_name": "Language Model",
"dynamic": false,
"info": "Language model that will run the agent.",
"input_types": [
"LanguageModel"
],
"input_types": ["LanguageModel"],
"list": false,
"name": "llm",
"placeholder": "",
@ -2479,9 +2287,7 @@
"display_name": "Previous Task",
"dynamic": false,
"info": "The previous task in the sequence (for chaining).",
"input_types": [
"SequentialTask"
],
"input_types": ["SequentialTask"],
"list": false,
"name": "previous_task",
"placeholder": "",
@ -2498,9 +2304,7 @@
"display_name": "Role",
"dynamic": false,
"info": "The role of the agent.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -2520,9 +2324,7 @@
"display_name": "Task Description",
"dynamic": false,
"info": "Descriptive text detailing task's purpose and execution.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -2542,9 +2344,7 @@
"display_name": "Tools",
"dynamic": false,
"info": "Tools at agent's disposal",
"input_types": [
"Tool"
],
"input_types": ["Tool"],
"list": true,
"name": "tools",
"placeholder": "",
@ -2594,9 +2394,7 @@
"data": {
"id": "YFinanceTool-Asoka",
"node": {
"base_classes": [
"Tool"
],
"base_classes": ["Tool"],
"beta": false,
"conditional_paths": [],
"custom_fields": {},
@ -2616,9 +2414,7 @@
"method": "run_model",
"name": "api_run_model",
"selected": "Data",
"types": [
"Data"
],
"types": ["Data"],
"value": "__UNDEFINED__"
},
{
@ -2627,9 +2423,7 @@
"method": "build_tool",
"name": "tool",
"selected": "Tool",
"types": [
"Tool"
],
"types": ["Tool"],
"value": "__UNDEFINED__"
}
],
@ -2660,9 +2454,7 @@
"display_name": "Query",
"dynamic": false,
"info": "Input should be a company ticker. For example, AAPL for Apple, MSFT for Microsoft.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "input_value",
@ -2703,8 +2495,10 @@
},
"description": "This Agent runs tasks in a predefined sequence.",
"endpoint_name": null,
"icon": "ListOrdered",
"id": "c2e3229c-813e-43eb-9041-cdfcfab90e08",
"is_component": false,
"last_tested_version": "1.0.15",
"name": "Sequential Tasks Agent"
}
"name": "Sequential Tasks Agent",
"tags": ["agents", "openai", "chatbots"]
}

View file

@ -8,16 +8,12 @@
"dataType": "OpenAIModel",
"id": "OpenAIModel-gRakF",
"name": "model_output",
"output_types": [
"LanguageModel"
]
"output_types": ["LanguageModel"]
},
"targetHandle": {
"fieldName": "llm",
"id": "ToolCallingAgent-0QzrL",
"inputTypes": [
"LanguageModel"
],
"inputTypes": ["LanguageModel"],
"type": "other"
}
},
@ -34,16 +30,12 @@
"dataType": "ChatInput",
"id": "ChatInput-uYdzQ",
"name": "message",
"output_types": [
"Message"
]
"output_types": ["Message"]
},
"targetHandle": {
"fieldName": "input_value",
"id": "ToolCallingAgent-0QzrL",
"inputTypes": [
"Message"
],
"inputTypes": ["Message"],
"type": "str"
}
},
@ -60,16 +52,12 @@
"dataType": "ToolCallingAgent",
"id": "ToolCallingAgent-KLe5u",
"name": "response",
"output_types": [
"Message"
]
"output_types": ["Message"]
},
"targetHandle": {
"fieldName": "input_value",
"id": "ToolCallingAgent-VYDK9",
"inputTypes": [
"Message"
],
"inputTypes": ["Message"],
"type": "str"
}
},
@ -86,16 +74,12 @@
"dataType": "ToolCallingAgent",
"id": "ToolCallingAgent-0QzrL",
"name": "response",
"output_types": [
"Message"
]
"output_types": ["Message"]
},
"targetHandle": {
"fieldName": "input_value",
"id": "ToolCallingAgent-KLe5u",
"inputTypes": [
"Message"
],
"inputTypes": ["Message"],
"type": "str"
}
},
@ -112,17 +96,12 @@
"dataType": "SearchAPI",
"id": "SearchAPI-I4yU0",
"name": "api_build_tool",
"output_types": [
"Tool"
]
"output_types": ["Tool"]
},
"targetHandle": {
"fieldName": "tools",
"id": "ToolCallingAgent-0QzrL",
"inputTypes": [
"Tool",
"BaseTool"
],
"inputTypes": ["Tool", "BaseTool"],
"type": "other"
}
},
@ -139,17 +118,12 @@
"dataType": "url_content_fetcher",
"id": "url_content_fetcher-1FugB",
"name": "api_build_tool",
"output_types": [
"Tool"
]
"output_types": ["Tool"]
},
"targetHandle": {
"fieldName": "tools",
"id": "ToolCallingAgent-0QzrL",
"inputTypes": [
"Tool",
"BaseTool"
],
"inputTypes": ["Tool", "BaseTool"],
"type": "other"
}
},
@ -166,17 +140,12 @@
"dataType": "SearchAPI",
"id": "SearchAPI-I4yU0",
"name": "api_build_tool",
"output_types": [
"Tool"
]
"output_types": ["Tool"]
},
"targetHandle": {
"fieldName": "tools",
"id": "ToolCallingAgent-KLe5u",
"inputTypes": [
"Tool",
"BaseTool"
],
"inputTypes": ["Tool", "BaseTool"],
"type": "other"
}
},
@ -193,17 +162,12 @@
"dataType": "url_content_fetcher",
"id": "url_content_fetcher-1FugB",
"name": "api_build_tool",
"output_types": [
"Tool"
]
"output_types": ["Tool"]
},
"targetHandle": {
"fieldName": "tools",
"id": "ToolCallingAgent-KLe5u",
"inputTypes": [
"Tool",
"BaseTool"
],
"inputTypes": ["Tool", "BaseTool"],
"type": "other"
}
},
@ -220,17 +184,12 @@
"dataType": "url_content_fetcher",
"id": "url_content_fetcher-1FugB",
"name": "api_build_tool",
"output_types": [
"Tool"
]
"output_types": ["Tool"]
},
"targetHandle": {
"fieldName": "tools",
"id": "ToolCallingAgent-VYDK9",
"inputTypes": [
"Tool",
"BaseTool"
],
"inputTypes": ["Tool", "BaseTool"],
"type": "other"
}
},
@ -247,17 +206,12 @@
"dataType": "SearchAPI",
"id": "SearchAPI-I4yU0",
"name": "api_build_tool",
"output_types": [
"Tool"
]
"output_types": ["Tool"]
},
"targetHandle": {
"fieldName": "tools",
"id": "ToolCallingAgent-VYDK9",
"inputTypes": [
"Tool",
"BaseTool"
],
"inputTypes": ["Tool", "BaseTool"],
"type": "other"
}
},
@ -274,16 +228,12 @@
"dataType": "ToolCallingAgent",
"id": "ToolCallingAgent-VYDK9",
"name": "response",
"output_types": [
"Message"
]
"output_types": ["Message"]
},
"targetHandle": {
"fieldName": "input_value",
"id": "ChatOutput-O63dG",
"inputTypes": [
"Message"
],
"inputTypes": ["Message"],
"type": "str"
}
},
@ -300,16 +250,12 @@
"dataType": "OpenAIModel",
"id": "OpenAIModel-gRakF",
"name": "model_output",
"output_types": [
"LanguageModel"
]
"output_types": ["LanguageModel"]
},
"targetHandle": {
"fieldName": "llm",
"id": "ToolCallingAgent-VYDK9",
"inputTypes": [
"LanguageModel"
],
"inputTypes": ["LanguageModel"],
"type": "other"
}
},
@ -326,16 +272,12 @@
"dataType": "OpenAIModel",
"id": "OpenAIModel-gRakF",
"name": "model_output",
"output_types": [
"LanguageModel"
]
"output_types": ["LanguageModel"]
},
"targetHandle": {
"fieldName": "llm",
"id": "ToolCallingAgent-KLe5u",
"inputTypes": [
"LanguageModel"
],
"inputTypes": ["LanguageModel"],
"type": "other"
}
},
@ -352,17 +294,12 @@
"dataType": "CalculatorTool",
"id": "CalculatorTool-5S6u9",
"name": "api_build_tool",
"output_types": [
"Tool"
]
"output_types": ["Tool"]
},
"targetHandle": {
"fieldName": "tools",
"id": "ToolCallingAgent-VYDK9",
"inputTypes": [
"Tool",
"BaseTool"
],
"inputTypes": ["Tool", "BaseTool"],
"type": "other"
}
},
@ -378,9 +315,7 @@
"data": {
"id": "ChatInput-uYdzQ",
"node": {
"base_classes": [
"Message"
],
"base_classes": ["Message"],
"beta": false,
"conditional_paths": [],
"custom_fields": {},
@ -408,9 +343,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"types": [
"Message"
],
"types": ["Message"],
"value": "__UNDEFINED__"
}
],
@ -483,9 +416,7 @@
"display_name": "Text",
"dynamic": false,
"info": "Message to be passed as input.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -507,10 +438,7 @@
"dynamic": false,
"info": "Type of sender.",
"name": "sender",
"options": [
"Machine",
"User"
],
"options": ["Machine", "User"],
"placeholder": "",
"required": false,
"show": true,
@ -525,9 +453,7 @@
"display_name": "Sender Name",
"dynamic": false,
"info": "Name of the sender.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "sender_name",
@ -546,9 +472,7 @@
"display_name": "Session ID",
"dynamic": false,
"info": "The session ID of the chat. If empty, the current session ID parameter will be used.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "session_id",
@ -600,9 +524,7 @@
"data": {
"id": "ChatOutput-O63dG",
"node": {
"base_classes": [
"Message"
],
"base_classes": ["Message"],
"beta": false,
"conditional_paths": [],
"custom_fields": {},
@ -630,9 +552,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"types": [
"Message"
],
"types": ["Message"],
"value": "__UNDEFINED__"
}
],
@ -663,9 +583,7 @@
"display_name": "Data Template",
"dynamic": false,
"info": "Template to convert Data to Text. If left empty, it will be dynamically set to the Data's text key.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "data_template",
@ -684,9 +602,7 @@
"display_name": "Text",
"dynamic": false,
"info": "Message to be passed as output.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "input_value",
@ -707,10 +623,7 @@
"dynamic": false,
"info": "Type of sender.",
"name": "sender",
"options": [
"Machine",
"User"
],
"options": ["Machine", "User"],
"placeholder": "",
"required": false,
"show": true,
@ -725,9 +638,7 @@
"display_name": "Sender Name",
"dynamic": false,
"info": "Name of the sender.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "sender_name",
@ -746,9 +657,7 @@
"display_name": "Session ID",
"dynamic": false,
"info": "The session ID of the chat. If empty, the current session ID parameter will be used.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "session_id",
@ -802,10 +711,7 @@
"display_name": "OpenAI",
"id": "OpenAIModel-gRakF",
"node": {
"base_classes": [
"LanguageModel",
"Message"
],
"base_classes": ["LanguageModel", "Message"],
"beta": false,
"conditional_paths": [],
"custom_fields": {},
@ -837,15 +743,9 @@
"display_name": "Text",
"method": "text_response",
"name": "text_output",
"required_inputs": [
"input_value",
"stream",
"system_message"
],
"required_inputs": ["input_value", "stream", "system_message"],
"selected": "Message",
"types": [
"Message"
],
"types": ["Message"],
"value": "__UNDEFINED__"
},
{
@ -865,9 +765,7 @@
"temperature"
],
"selected": "LanguageModel",
"types": [
"LanguageModel"
],
"types": ["LanguageModel"],
"value": "__UNDEFINED__"
}
],
@ -880,9 +778,7 @@
"display_name": "OpenAI API Key",
"dynamic": false,
"info": "The OpenAI API Key to use for the OpenAI model.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"load_from_db": true,
"name": "api_key",
"password": true,
@ -917,9 +813,7 @@
"display_name": "Input",
"dynamic": false,
"info": "",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "input_value",
@ -1035,9 +929,7 @@
"display_name": "Output Parser",
"dynamic": false,
"info": "The parser to use to parse the output of the model",
"input_types": [
"OutputParser"
],
"input_types": ["OutputParser"],
"list": false,
"name": "output_parser",
"placeholder": "",
@ -1102,9 +994,7 @@
"display_name": "System Message",
"dynamic": false,
"info": "System message to pass to the model.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "system_message",
@ -1156,10 +1046,7 @@
"data": {
"id": "ToolCallingAgent-0QzrL",
"node": {
"base_classes": [
"AgentExecutor",
"Message"
],
"base_classes": ["AgentExecutor", "Message"],
"beta": true,
"conditional_paths": [],
"custom_fields": {},
@ -1189,9 +1076,7 @@
"method": "build_agent",
"name": "agent",
"selected": "AgentExecutor",
"types": [
"AgentExecutor"
],
"types": ["AgentExecutor"],
"value": "__UNDEFINED__"
},
{
@ -1200,9 +1085,7 @@
"method": "message_response",
"name": "response",
"selected": "Message",
"types": [
"Message"
],
"types": ["Message"],
"value": "__UNDEFINED__"
}
],
@ -1215,9 +1098,7 @@
"display_name": "Chat History",
"dynamic": false,
"info": "",
"input_types": [
"Data"
],
"input_types": ["Data"],
"list": true,
"name": "chat_history",
"placeholder": "",
@ -1269,9 +1150,7 @@
"display_name": "Input",
"dynamic": false,
"info": "",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "input_value",
@ -1290,9 +1169,7 @@
"display_name": "Language Model",
"dynamic": false,
"info": "",
"input_types": [
"LanguageModel"
],
"input_types": ["LanguageModel"],
"list": false,
"name": "llm",
"placeholder": "",
@ -1325,9 +1202,7 @@
"display_name": "System Prompt",
"dynamic": false,
"info": "System prompt for the agent.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -1347,10 +1222,7 @@
"display_name": "Tools",
"dynamic": false,
"info": "",
"input_types": [
"Tool",
"BaseTool"
],
"input_types": ["Tool", "BaseTool"],
"list": true,
"load_from_db": false,
"name": "tools",
@ -1368,9 +1240,7 @@
"display_name": "Prompt",
"dynamic": false,
"info": "This prompt must contain 'input' key.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -1423,11 +1293,7 @@
"data": {
"id": "SearchAPI-I4yU0",
"node": {
"base_classes": [
"Data",
"list",
"Tool"
],
"base_classes": ["Data", "list", "Tool"],
"beta": false,
"conditional_paths": [],
"custom_fields": {},
@ -1461,9 +1327,7 @@
"search_params"
],
"selected": "Data",
"types": [
"Data"
],
"types": ["Data"],
"value": "__UNDEFINED__"
},
{
@ -1480,9 +1344,7 @@
"search_params"
],
"selected": "Tool",
"types": [
"Tool"
],
"types": ["Tool"],
"value": "__UNDEFINED__"
}
],
@ -1495,9 +1357,7 @@
"display_name": "SearchAPI API Key",
"dynamic": false,
"info": "",
"input_types": [
"Message"
],
"input_types": ["Message"],
"load_from_db": true,
"name": "api_key",
"password": true,
@ -1532,9 +1392,7 @@
"display_name": "Engine",
"dynamic": false,
"info": "",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "engine",
@ -1553,9 +1411,7 @@
"display_name": "Input",
"dynamic": false,
"info": "",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -1640,11 +1496,7 @@
"data": {
"id": "url_content_fetcher-1FugB",
"node": {
"base_classes": [
"Data",
"list",
"Tool"
],
"base_classes": ["Data", "list", "Tool"],
"beta": false,
"conditional_paths": [],
"custom_fields": {},
@ -1652,10 +1504,7 @@
"display_name": "URL Content Fetcher",
"documentation": "https://python.langchain.com/docs/modules/data_connection/document_loaders/integrations/web_base",
"edited": true,
"field_order": [
"url",
"fetch_params"
],
"field_order": ["url", "fetch_params"],
"frozen": false,
"icon": "globe",
"lf_version": "1.0.15",
@ -1668,10 +1517,7 @@
"method": "run_model",
"name": "api_run_model",
"selected": "Data",
"types": [
"Data",
"list"
],
"types": ["Data", "list"],
"value": "__UNDEFINED__"
},
{
@ -1680,9 +1526,7 @@
"method": "build_tool",
"name": "api_build_tool",
"selected": "Tool",
"types": [
"Tool"
],
"types": ["Tool"],
"value": "__UNDEFINED__"
}
],
@ -1729,9 +1573,7 @@
"display_name": "URL",
"dynamic": false,
"info": "Enter a single URL to fetch content from.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "url",
@ -1767,10 +1609,7 @@
"data": {
"id": "ToolCallingAgent-KLe5u",
"node": {
"base_classes": [
"AgentExecutor",
"Message"
],
"base_classes": ["AgentExecutor", "Message"],
"beta": true,
"conditional_paths": [],
"custom_fields": {},
@ -1800,9 +1639,7 @@
"method": "build_agent",
"name": "agent",
"selected": "AgentExecutor",
"types": [
"AgentExecutor"
],
"types": ["AgentExecutor"],
"value": "__UNDEFINED__"
},
{
@ -1811,9 +1648,7 @@
"method": "message_response",
"name": "response",
"selected": "Message",
"types": [
"Message"
],
"types": ["Message"],
"value": "__UNDEFINED__"
}
],
@ -1826,9 +1661,7 @@
"display_name": "Chat History",
"dynamic": false,
"info": "",
"input_types": [
"Data"
],
"input_types": ["Data"],
"list": true,
"name": "chat_history",
"placeholder": "",
@ -1880,9 +1713,7 @@
"display_name": "Input",
"dynamic": false,
"info": "",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "input_value",
@ -1901,9 +1732,7 @@
"display_name": "Language Model",
"dynamic": false,
"info": "",
"input_types": [
"LanguageModel"
],
"input_types": ["LanguageModel"],
"list": false,
"name": "llm",
"placeholder": "",
@ -1936,9 +1765,7 @@
"display_name": "System Prompt",
"dynamic": false,
"info": "System prompt for the agent.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -1958,10 +1785,7 @@
"display_name": "Tools",
"dynamic": false,
"info": "",
"input_types": [
"Tool",
"BaseTool"
],
"input_types": ["Tool", "BaseTool"],
"list": true,
"load_from_db": false,
"name": "tools",
@ -1979,9 +1803,7 @@
"display_name": "Prompt",
"dynamic": false,
"info": "This prompt must contain 'input' key.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -2034,10 +1856,7 @@
"data": {
"id": "ToolCallingAgent-VYDK9",
"node": {
"base_classes": [
"AgentExecutor",
"Message"
],
"base_classes": ["AgentExecutor", "Message"],
"beta": true,
"conditional_paths": [],
"custom_fields": {},
@ -2067,9 +1886,7 @@
"method": "build_agent",
"name": "agent",
"selected": "AgentExecutor",
"types": [
"AgentExecutor"
],
"types": ["AgentExecutor"],
"value": "__UNDEFINED__"
},
{
@ -2078,9 +1895,7 @@
"method": "message_response",
"name": "response",
"selected": "Message",
"types": [
"Message"
],
"types": ["Message"],
"value": "__UNDEFINED__"
}
],
@ -2093,9 +1908,7 @@
"display_name": "Chat History",
"dynamic": false,
"info": "",
"input_types": [
"Data"
],
"input_types": ["Data"],
"list": true,
"name": "chat_history",
"placeholder": "",
@ -2147,9 +1960,7 @@
"display_name": "Input",
"dynamic": false,
"info": "",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "input_value",
@ -2168,9 +1979,7 @@
"display_name": "Language Model",
"dynamic": false,
"info": "",
"input_types": [
"LanguageModel"
],
"input_types": ["LanguageModel"],
"list": false,
"name": "llm",
"placeholder": "",
@ -2203,9 +2012,7 @@
"display_name": "System Prompt",
"dynamic": false,
"info": "System prompt for the agent.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -2225,10 +2032,7 @@
"display_name": "Tools",
"dynamic": false,
"info": "",
"input_types": [
"Tool",
"BaseTool"
],
"input_types": ["Tool", "BaseTool"],
"list": true,
"load_from_db": false,
"name": "tools",
@ -2246,9 +2050,7 @@
"display_name": "Prompt",
"dynamic": false,
"info": "This prompt must contain 'input' key.",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"multiline": true,
@ -2301,12 +2103,7 @@
"data": {
"id": "CalculatorTool-5S6u9",
"node": {
"base_classes": [
"Data",
"list",
"Sequence",
"Tool"
],
"base_classes": ["Data", "list", "Sequence", "Tool"],
"beta": false,
"conditional_paths": [],
"custom_fields": {},
@ -2314,9 +2111,7 @@
"display_name": "Calculator",
"documentation": "",
"edited": false,
"field_order": [
"expression"
],
"field_order": ["expression"],
"frozen": false,
"icon": "calculator",
"lf_version": "1.0.15",
@ -2329,13 +2124,9 @@
"display_name": "Data",
"method": "run_model",
"name": "api_run_model",
"required_inputs": [
"expression"
],
"required_inputs": ["expression"],
"selected": "Data",
"types": [
"Data"
],
"types": ["Data"],
"value": "__UNDEFINED__"
},
{
@ -2343,13 +2134,9 @@
"display_name": "Tool",
"method": "build_tool",
"name": "api_build_tool",
"required_inputs": [
"expression"
],
"required_inputs": ["expression"],
"selected": "Tool",
"types": [
"Tool"
],
"types": ["Tool"],
"value": "__UNDEFINED__"
}
],
@ -2380,9 +2167,7 @@
"display_name": "Expression",
"dynamic": false,
"info": "The arithmetic expression to evaluate (e.g., '4*4*(33/22)+12-20').",
"input_types": [
"Message"
],
"input_types": ["Message"],
"list": false,
"load_from_db": false,
"name": "expression",
@ -2423,8 +2208,10 @@
},
"description": "Multi Agent system to plan trips.",
"endpoint_name": null,
"icon": "Plane",
"id": "c15755c5-264b-4ca7-bed8-9bbf605307f1",
"is_component": false,
"last_tested_version": "1.0.17",
"name": "Travel Planning Agents"
}
"name": "Travel Planning Agents",
"tags": ["agents", "openai", "chatbots"]
}

View file

@ -155,6 +155,7 @@ class Flow(FlowBase, table=True): # type: ignore[call-arg]
data: dict | None = Field(default=None, sa_column=Column(JSON))
user_id: UUID | None = Field(index=True, foreign_key="user.id", nullable=True)
user: "User" = Relationship(back_populates="flows")
icon: str | None = Field(default=None, nullable=True)
tags: list[str] | None = Field(sa_column=Column(JSON), default=[])
folder_id: UUID | None = Field(default=None, foreign_key="folder.id", nullable=True, index=True)
folder: Optional["Folder"] = Relationship(back_populates="flows")

View file

@ -34,7 +34,11 @@ def test_get_project_data():
project_data,
project_icon,
project_icon_bg_color,
project_gradient,
project_tags,
) = get_project_data(project)
assert isinstance(project_gradient, str) or project_gradient is None
assert isinstance(project_tags, list)
assert isinstance(project_name, str)
assert isinstance(project_description, str)
assert isinstance(project_is_component, bool)