diff --git a/src/backend/base/langflow/initial_setup/starter_projects/Basic Prompt Chaining.json b/src/backend/base/langflow/initial_setup/starter_projects/Basic Prompt Chaining.json index dbff0dbbd..e3a1679f3 100644 --- a/src/backend/base/langflow/initial_setup/starter_projects/Basic Prompt Chaining.json +++ b/src/backend/base/langflow/initial_setup/starter_projects/Basic Prompt Chaining.json @@ -2,179 +2,165 @@ "data": { "edges": [ { + "className": "", "data": { "sourceHandle": { "dataType": "Prompt", - "id": "Prompt-PG8Vd", + "id": "Prompt-f1f2v", "name": "prompt", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "system_message", - "id": "OpenAIModel-3VRcc", - "inputTypes": [ - "Message" - ], + "id": "OpenAIModel-lL9HA", + "inputTypes": ["Message"], "type": "str" } }, - "id": "xy-edge__Prompt-PG8Vd{œdataTypeœ:œPromptœ,œidœ:œPrompt-PG8Vdœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-3VRcc{œfieldNameœ:œsystem_messageœ,œidœ:œOpenAIModel-3VRccœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "Prompt-PG8Vd", - "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-PG8Vdœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", - "target": "OpenAIModel-3VRcc", - "targetHandle": "{œfieldNameœ: œsystem_messageœ, œidœ: œOpenAIModel-3VRccœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-Prompt-f1f2v{œdataTypeœ:œPromptœ,œidœ:œPrompt-f1f2vœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-lL9HA{œfieldNameœ:œsystem_messageœ,œidœ:œOpenAIModel-lL9HAœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "selected": false, + "source": "Prompt-f1f2v", + "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-f1f2vœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", + "target": "OpenAIModel-lL9HA", + "targetHandle": "{œfieldNameœ: œsystem_messageœ, œidœ: œOpenAIModel-lL9HAœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" }, { + "className": "", "data": { "sourceHandle": { "dataType": "ChatInput", - "id": "ChatInput-nB59E", + "id": "ChatInput-GyBUF", "name": "message", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "input_value", - "id": "OpenAIModel-3VRcc", - "inputTypes": [ - "Message" - ], + "id": "OpenAIModel-lL9HA", + "inputTypes": ["Message"], "type": "str" } }, - "id": "xy-edge__ChatInput-nB59E{œdataTypeœ:œChatInputœ,œidœ:œChatInput-nB59Eœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-3VRcc{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-3VRccœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "ChatInput-nB59E", - "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-nB59Eœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", - "target": "OpenAIModel-3VRcc", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œOpenAIModel-3VRccœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-ChatInput-GyBUF{œdataTypeœ:œChatInputœ,œidœ:œChatInput-GyBUFœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-lL9HA{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-lL9HAœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "selected": false, + "source": "ChatInput-GyBUF", + "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-GyBUFœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", + "target": "OpenAIModel-lL9HA", + "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œOpenAIModel-lL9HAœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" }, { + "className": "", "data": { "sourceHandle": { "dataType": "OpenAIModel", - "id": "OpenAIModel-3VRcc", + "id": "OpenAIModel-lL9HA", "name": "text_output", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "input_value", - "id": "OpenAIModel-01mE2", - "inputTypes": [ - "Message" - ], + "id": "OpenAIModel-JieGw", + "inputTypes": ["Message"], "type": "str" } }, - "id": "xy-edge__OpenAIModel-3VRcc{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-3VRccœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-01mE2{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-01mE2œ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "OpenAIModel-3VRcc", - "sourceHandle": "{œdataTypeœ: œOpenAIModelœ, œidœ: œOpenAIModel-3VRccœ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}", - "target": "OpenAIModel-01mE2", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œOpenAIModel-01mE2œ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-OpenAIModel-lL9HA{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-lL9HAœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-JieGw{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-JieGwœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "selected": false, + "source": "OpenAIModel-lL9HA", + "sourceHandle": "{œdataTypeœ: œOpenAIModelœ, œidœ: œOpenAIModel-lL9HAœ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}", + "target": "OpenAIModel-JieGw", + "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œOpenAIModel-JieGwœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" }, { + "className": "", "data": { "sourceHandle": { "dataType": "Prompt", - "id": "Prompt-aDWJD", + "id": "Prompt-4IOgm", "name": "prompt", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "system_message", - "id": "OpenAIModel-01mE2", - "inputTypes": [ - "Message" - ], + "id": "OpenAIModel-JieGw", + "inputTypes": ["Message"], "type": "str" } }, - "id": "xy-edge__Prompt-aDWJD{œdataTypeœ:œPromptœ,œidœ:œPrompt-aDWJDœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-01mE2{œfieldNameœ:œsystem_messageœ,œidœ:œOpenAIModel-01mE2œ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "Prompt-aDWJD", - "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-aDWJDœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", - "target": "OpenAIModel-01mE2", - "targetHandle": "{œfieldNameœ: œsystem_messageœ, œidœ: œOpenAIModel-01mE2œ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-Prompt-4IOgm{œdataTypeœ:œPromptœ,œidœ:œPrompt-4IOgmœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-JieGw{œfieldNameœ:œsystem_messageœ,œidœ:œOpenAIModel-JieGwœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "selected": false, + "source": "Prompt-4IOgm", + "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-4IOgmœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", + "target": "OpenAIModel-JieGw", + "targetHandle": "{œfieldNameœ: œsystem_messageœ, œidœ: œOpenAIModel-JieGwœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" }, { + "className": "", "data": { "sourceHandle": { "dataType": "OpenAIModel", - "id": "OpenAIModel-01mE2", + "id": "OpenAIModel-JieGw", "name": "text_output", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "input_value", - "id": "OpenAIModel-4DgWt", - "inputTypes": [ - "Message" - ], + "id": "OpenAIModel-dXMRv", + "inputTypes": ["Message"], "type": "str" } }, - "id": "xy-edge__OpenAIModel-01mE2{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-01mE2œ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-4DgWt{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-4DgWtœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "OpenAIModel-01mE2", - "sourceHandle": "{œdataTypeœ: œOpenAIModelœ, œidœ: œOpenAIModel-01mE2œ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}", - "target": "OpenAIModel-4DgWt", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œOpenAIModel-4DgWtœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-OpenAIModel-JieGw{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-JieGwœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-dXMRv{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-dXMRvœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "selected": false, + "source": "OpenAIModel-JieGw", + "sourceHandle": "{œdataTypeœ: œOpenAIModelœ, œidœ: œOpenAIModel-JieGwœ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}", + "target": "OpenAIModel-dXMRv", + "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œOpenAIModel-dXMRvœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" }, { + "className": "", "data": { "sourceHandle": { "dataType": "Prompt", - "id": "Prompt-fv4MA", + "id": "Prompt-FRjO8", "name": "prompt", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "system_message", - "id": "OpenAIModel-4DgWt", - "inputTypes": [ - "Message" - ], + "id": "OpenAIModel-dXMRv", + "inputTypes": ["Message"], "type": "str" } }, - "id": "xy-edge__Prompt-fv4MA{œdataTypeœ:œPromptœ,œidœ:œPrompt-fv4MAœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-4DgWt{œfieldNameœ:œsystem_messageœ,œidœ:œOpenAIModel-4DgWtœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "Prompt-fv4MA", - "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-fv4MAœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", - "target": "OpenAIModel-4DgWt", - "targetHandle": "{œfieldNameœ: œsystem_messageœ, œidœ: œOpenAIModel-4DgWtœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-Prompt-FRjO8{œdataTypeœ:œPromptœ,œidœ:œPrompt-FRjO8œ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-dXMRv{œfieldNameœ:œsystem_messageœ,œidœ:œOpenAIModel-dXMRvœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "selected": false, + "source": "Prompt-FRjO8", + "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-FRjO8œ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", + "target": "OpenAIModel-dXMRv", + "targetHandle": "{œfieldNameœ: œsystem_messageœ, œidœ: œOpenAIModel-dXMRvœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" }, { + "className": "", "data": { "sourceHandle": { "dataType": "OpenAIModel", - "id": "OpenAIModel-4DgWt", + "id": "OpenAIModel-dXMRv", "name": "text_output", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "input_value", - "id": "ChatOutput-PE0wW", - "inputTypes": [ - "Message" - ], + "id": "ChatOutput-KXQMh", + "inputTypes": ["Message"], "type": "str" } }, - "id": "xy-edge__OpenAIModel-4DgWt{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-4DgWtœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-PE0wW{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-PE0wWœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "OpenAIModel-4DgWt", - "sourceHandle": "{œdataTypeœ: œOpenAIModelœ, œidœ: œOpenAIModel-4DgWtœ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}", - "target": "ChatOutput-PE0wW", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-PE0wWœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-OpenAIModel-dXMRv{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-dXMRvœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-KXQMh{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-KXQMhœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "selected": false, + "source": "OpenAIModel-dXMRv", + "sourceHandle": "{œdataTypeœ: œOpenAIModelœ, œidœ: œOpenAIModel-dXMRvœ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}", + "target": "ChatOutput-KXQMh", + "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-KXQMhœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" } ], "nodes": [ @@ -182,11 +168,9 @@ "data": { "description": "Create a prompt template with dynamic variables.", "display_name": "Prompt", - "id": "Prompt-aDWJD", + "id": "Prompt-4IOgm", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": { @@ -196,9 +180,7 @@ "display_name": "Prompt", "documentation": "", "edited": false, - "field_order": [ - "template" - ], + "field_order": ["template"], "frozen": false, "icon": "prompts", "legacy": false, @@ -265,9 +247,7 @@ "display_name": "Tool Placeholder", "dynamic": false, "info": "A placeholder input for tool mode.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "tool_placeholder", @@ -288,10 +268,10 @@ }, "dragging": false, "height": 260, - "id": "Prompt-aDWJD", + "id": "Prompt-4IOgm", "measured": { "height": 260, - "width": 360 + "width": 320 }, "position": { "x": 1921.9168573384, @@ -307,11 +287,9 @@ }, { "data": { - "id": "ChatInput-nB59E", + "id": "ChatInput-GyBUF", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "category": "inputs", "conditional_paths": [], @@ -362,9 +340,7 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "background_color", @@ -383,9 +359,7 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "chat_icon", @@ -486,10 +460,7 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": [ - "Machine", - "User" - ], + "options": ["Machine", "User"], "placeholder": "", "required": false, "show": true, @@ -504,9 +475,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", @@ -525,9 +494,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,9 +529,7 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "text_color", @@ -583,10 +548,10 @@ }, "dragging": false, "height": 234, - "id": "ChatInput-nB59E", + "id": "ChatInput-GyBUF", "measured": { "height": 234, - "width": 360 + "width": 320 }, "position": { "x": 1178.0239685549568, @@ -604,11 +569,9 @@ "data": { "description": "Display a chat message in the Playground.", "display_name": "Chat Output", - "id": "ChatOutput-PE0wW", + "id": "ChatOutput-KXQMh", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -657,9 +620,7 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "background_color", @@ -679,9 +640,7 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "chat_icon", @@ -719,9 +678,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", @@ -741,9 +698,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", @@ -764,10 +719,7 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": [ - "Machine", - "User" - ], + "options": ["Machine", "User"], "placeholder": "", "required": false, "show": true, @@ -783,9 +735,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", @@ -805,9 +755,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", @@ -843,9 +791,7 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "text_color", @@ -866,10 +812,10 @@ }, "dragging": false, "height": 234, - "id": "ChatOutput-PE0wW", + "id": "ChatOutput-KXQMh", "measured": { "height": 234, - "width": 360 + "width": 320 }, "position": { "x": 3389.8335347035913, @@ -887,11 +833,9 @@ "data": { "description": "Create a prompt template with dynamic variables.", "display_name": "Prompt", - "id": "Prompt-fv4MA", + "id": "Prompt-FRjO8", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": { @@ -901,9 +845,7 @@ "display_name": "Prompt", "documentation": "", "edited": false, - "field_order": [ - "template" - ], + "field_order": ["template"], "frozen": false, "icon": "prompts", "legacy": false, @@ -970,9 +912,7 @@ "display_name": "Tool Placeholder", "dynamic": false, "info": "A placeholder input for tool mode.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "tool_placeholder", @@ -993,10 +933,10 @@ }, "dragging": false, "height": 260, - "id": "Prompt-fv4MA", + "id": "Prompt-FRjO8", "measured": { "height": 260, - "width": 360 + "width": 320 }, "position": { "x": 2647.8305106628454, @@ -1014,11 +954,9 @@ "data": { "description": "Create a prompt template with dynamic variables.", "display_name": "Prompt", - "id": "Prompt-PG8Vd", + "id": "Prompt-f1f2v", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": { @@ -1028,9 +966,7 @@ "display_name": "Prompt", "documentation": "", "edited": false, - "field_order": [ - "template" - ], + "field_order": ["template"], "frozen": false, "icon": "prompts", "legacy": false, @@ -1097,9 +1033,7 @@ "display_name": "Tool Placeholder", "dynamic": false, "info": "A placeholder input for tool mode.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "tool_placeholder", @@ -1120,10 +1054,10 @@ }, "dragging": false, "height": 260, - "id": "Prompt-PG8Vd", + "id": "Prompt-f1f2v", "measured": { "height": 260, - "width": 360 + "width": 320 }, "position": { "x": 1178.7099500302636, @@ -1139,7 +1073,7 @@ }, { "data": { - "id": "note-rGShm", + "id": "note-UUVIc", "node": { "description": "### Input Examples\n1.\n \"The growing demand for personalized, AI-driven mental health support tools that can provide real-time interventions and track long-term emotional well-being.\"\n\n\n2. \n \"The increasing need for secure and user-friendly decentralized finance (DeFi) platforms that make cryptocurrency investments accessible to non-tech-savvy users.\"\n \n\n3. \n \"The rising popularity of immersive, augmented reality (AR) experiences for remote collaboration and virtual team-building in distributed workforces.\"\n\n\n4. \n \"The expanding market for smart, IoT-enabled urban farming solutions that allow city dwellers to grow their own food efficiently in small spaces.\"\n\n\n5. \n \"The emerging demand for AI-powered personal styling and shopping assistants that consider sustainability, body positivity, and individual style preferences.\"\n\n", "display_name": "", @@ -1151,11 +1085,11 @@ "type": "note" }, "dragging": false, - "height": 430, - "id": "note-rGShm", + "height": 324, + "id": "note-UUVIc", "measured": { - "height": 430, - "width": 328 + "height": 324, + "width": 324 }, "position": { "x": 528.0392006831054, @@ -1168,15 +1102,15 @@ "resizing": false, "selected": false, "style": { - "height": 430, - "width": 600 + "height": 324, + "width": 324 }, "type": "noteNode", - "width": 600 + "width": 324 }, { "data": { - "id": "note-ECxh2", + "id": "note-DqpAx", "node": { "description": "### Prompt Chaining\n\nThis flow demonstrates fundamental prompt chaining principles:\n\n1. **Chain Structure**\n • User input → First Prompt → LLM\n • First output → Second Prompt → LLM\n • Second output → Final Prompt → LLM\n • Final output\n\n2. **Key Technique Elements**\n • Each prompt is specifically designed to process previous output\n • Output formatting ensures clean handoff between stages\n • Context flows naturally through the chain\n • Each LLM call builds upon previous results\n\n3. **Technical Implementation**\n • Multiple prompt templates working in sequence\n • Strategic input/output connections\n • Consistent message handling between stages\n • Progressive refinement through the chain\n\nThis pattern can be adapted for any use case by modifying the prompt templates while keeping the same chaining structure.", "display_name": "", @@ -1188,11 +1122,11 @@ "type": "note" }, "dragging": false, - "height": 451, - "id": "note-ECxh2", + "height": 324, + "id": "note-DqpAx", "measured": { - "height": 451, - "width": 328 + "height": 324, + "width": 324 }, "position": { "x": 892.4280059782889, @@ -1205,20 +1139,17 @@ "resizing": false, "selected": false, "style": { - "height": 451, - "width": 600 + "height": 324, + "width": 324 }, "type": "noteNode", - "width": 600 + "width": 324 }, { "data": { - "id": "OpenAIModel-3VRcc", + "id": "OpenAIModel-lL9HA", "node": { - "base_classes": [ - "LanguageModel", - "Message" - ], + "base_classes": ["LanguageModel", "Message"], "beta": false, "category": "models", "conditional_paths": [], @@ -1268,9 +1199,7 @@ "display_name": "Language Model", "method": "build_model", "name": "model_output", - "required_inputs": [ - "api_key" - ], + "required_inputs": ["api_key"], "selected": "LanguageModel", "tool_mode": true, "types": [ @@ -1289,9 +1218,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, @@ -1300,7 +1227,7 @@ "show": true, "title_case": false, "type": "str", - "value": "OPENAI_API_KEY" + "value": "" }, "code": { "advanced": true, @@ -1326,9 +1253,7 @@ "display_name": "Input", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1492,9 +1417,7 @@ "display_name": "System Message", "dynamic": false, "info": "System message to pass to the model.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1545,10 +1468,10 @@ "type": "OpenAIModel" }, "dragging": false, - "id": "OpenAIModel-3VRcc", + "id": "OpenAIModel-lL9HA", "measured": { - "height": 734, - "width": 360 + "height": 653, + "width": 320 }, "position": { "x": 1563.1591714154865, @@ -1559,12 +1482,9 @@ }, { "data": { - "id": "OpenAIModel-01mE2", + "id": "OpenAIModel-JieGw", "node": { - "base_classes": [ - "LanguageModel", - "Message" - ], + "base_classes": ["LanguageModel", "Message"], "beta": false, "category": "models", "conditional_paths": [], @@ -1614,9 +1534,7 @@ "display_name": "Language Model", "method": "build_model", "name": "model_output", - "required_inputs": [ - "api_key" - ], + "required_inputs": ["api_key"], "selected": "LanguageModel", "tool_mode": true, "types": [ @@ -1635,9 +1553,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, @@ -1646,7 +1562,7 @@ "show": true, "title_case": false, "type": "str", - "value": "OPENAI_API_KEY" + "value": "" }, "code": { "advanced": true, @@ -1672,9 +1588,7 @@ "display_name": "Input", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1838,9 +1752,7 @@ "display_name": "System Message", "dynamic": false, "info": "System message to pass to the model.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1891,10 +1803,10 @@ "type": "OpenAIModel" }, "dragging": false, - "id": "OpenAIModel-01mE2", + "id": "OpenAIModel-JieGw", "measured": { - "height": 734, - "width": 360 + "height": 653, + "width": 320 }, "position": { "x": 2289.2925714867265, @@ -1905,12 +1817,9 @@ }, { "data": { - "id": "OpenAIModel-4DgWt", + "id": "OpenAIModel-dXMRv", "node": { - "base_classes": [ - "LanguageModel", - "Message" - ], + "base_classes": ["LanguageModel", "Message"], "beta": false, "category": "models", "conditional_paths": [], @@ -1960,9 +1869,7 @@ "display_name": "Language Model", "method": "build_model", "name": "model_output", - "required_inputs": [ - "api_key" - ], + "required_inputs": ["api_key"], "selected": "LanguageModel", "tool_mode": true, "types": [ @@ -1981,9 +1888,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, @@ -1992,7 +1897,7 @@ "show": true, "title_case": false, "type": "str", - "value": "OPENAI_API_KEY" + "value": "" }, "code": { "advanced": true, @@ -2018,9 +1923,7 @@ "display_name": "Input", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -2184,9 +2087,7 @@ "display_name": "System Message", "dynamic": false, "info": "System message to pass to the model.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -2237,10 +2138,10 @@ "type": "OpenAIModel" }, "dragging": false, - "id": "OpenAIModel-4DgWt", + "id": "OpenAIModel-dXMRv", "measured": { - "height": 734, - "width": 360 + "height": 653, + "width": 320 }, "position": { "x": 3018.8917918926063, @@ -2264,7 +2165,5 @@ "is_component": false, "last_tested_version": "1.0.19.post2", "name": "Prompt Chaining", - "tags": [ - "chatbots" - ] -} \ No newline at end of file + "tags": ["chatbots"] +} diff --git a/src/backend/base/langflow/initial_setup/starter_projects/Basic Prompting.json b/src/backend/base/langflow/initial_setup/starter_projects/Basic Prompting.json index a33e1ef2f..dbc5e6f93 100644 --- a/src/backend/base/langflow/initial_setup/starter_projects/Basic Prompting.json +++ b/src/backend/base/langflow/initial_setup/starter_projects/Basic Prompting.json @@ -6,78 +6,66 @@ "data": { "sourceHandle": { "dataType": "ChatInput", - "id": "ChatInput-sU0vL", + "id": "ChatInput-gyoWG", "name": "message", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "input_value", - "id": "OpenAIModel-6Uq9A", - "inputTypes": [ - "Message" - ], + "id": "OpenAIModel-kVbrq", + "inputTypes": ["Message"], "type": "str" } }, - "id": "reactflow__edge-ChatInput-sU0vL{œdataTypeœ:œChatInputœ,œidœ:œChatInput-sU0vLœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-6Uq9A{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-6Uq9Aœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "ChatInput-sU0vL", - "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-sU0vLœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", - "target": "OpenAIModel-6Uq9A", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œOpenAIModel-6Uq9Aœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-ChatInput-gyoWG{œdataTypeœ:œChatInputœ,œidœ:œChatInput-gyoWGœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-kVbrq{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-kVbrqœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "source": "ChatInput-gyoWG", + "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-gyoWGœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", + "target": "OpenAIModel-kVbrq", + "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œOpenAIModel-kVbrqœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" }, { "className": "", "data": { "sourceHandle": { "dataType": "Prompt", - "id": "Prompt-a0CWD", + "id": "Prompt-U0xoC", "name": "prompt", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "system_message", - "id": "OpenAIModel-6Uq9A", - "inputTypes": [ - "Message" - ], + "id": "OpenAIModel-kVbrq", + "inputTypes": ["Message"], "type": "str" } }, - "id": "reactflow__edge-Prompt-a0CWD{œdataTypeœ:œPromptœ,œidœ:œPrompt-a0CWDœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-6Uq9A{œfieldNameœ:œsystem_messageœ,œidœ:œOpenAIModel-6Uq9Aœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "Prompt-a0CWD", - "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-a0CWDœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", - "target": "OpenAIModel-6Uq9A", - "targetHandle": "{œfieldNameœ: œsystem_messageœ, œidœ: œOpenAIModel-6Uq9Aœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-Prompt-U0xoC{œdataTypeœ:œPromptœ,œidœ:œPrompt-U0xoCœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-kVbrq{œfieldNameœ:œsystem_messageœ,œidœ:œOpenAIModel-kVbrqœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "source": "Prompt-U0xoC", + "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-U0xoCœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", + "target": "OpenAIModel-kVbrq", + "targetHandle": "{œfieldNameœ: œsystem_messageœ, œidœ: œOpenAIModel-kVbrqœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" }, { "className": "", "data": { "sourceHandle": { "dataType": "OpenAIModel", - "id": "OpenAIModel-6Uq9A", + "id": "OpenAIModel-kVbrq", "name": "text_output", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "input_value", - "id": "ChatOutput-S56f5", - "inputTypes": [ - "Message" - ], + "id": "ChatOutput-qv4Kg", + "inputTypes": ["Message"], "type": "str" } }, - "id": "reactflow__edge-OpenAIModel-6Uq9A{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-6Uq9Aœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-S56f5{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-S56f5œ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "OpenAIModel-6Uq9A", - "sourceHandle": "{œdataTypeœ: œOpenAIModelœ, œidœ: œOpenAIModel-6Uq9Aœ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}", - "target": "ChatOutput-S56f5", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-S56f5œ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-OpenAIModel-kVbrq{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-kVbrqœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-qv4Kg{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-qv4Kgœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "source": "OpenAIModel-kVbrq", + "sourceHandle": "{œdataTypeœ: œOpenAIModelœ, œidœ: œOpenAIModel-kVbrqœ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}", + "target": "ChatOutput-qv4Kg", + "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-qv4Kgœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" } ], "nodes": [ @@ -85,11 +73,9 @@ "data": { "description": "Get chat inputs from the Playground.", "display_name": "Chat Input", - "id": "ChatInput-sU0vL", + "id": "ChatInput-gyoWG", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -135,9 +121,7 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "background_color", @@ -156,9 +140,7 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "chat_icon", @@ -255,10 +237,7 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": [ - "Machine", - "User" - ], + "options": ["Machine", "User"], "placeholder": "", "required": false, "show": true, @@ -272,9 +251,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", @@ -292,9 +269,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", @@ -329,9 +304,7 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "text_color", @@ -350,10 +323,10 @@ }, "dragging": false, "height": 234, - "id": "ChatInput-sU0vL", + "id": "ChatInput-gyoWG", "measured": { "height": 234, - "width": 360 + "width": 320 }, "position": { "x": 689.5720422421635, @@ -371,11 +344,9 @@ "data": { "description": "Create a prompt template with dynamic variables.", "display_name": "Prompt", - "id": "Prompt-a0CWD", + "id": "Prompt-U0xoC", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": { @@ -385,9 +356,7 @@ "display_name": "Prompt", "documentation": "", "edited": false, - "field_order": [ - "template" - ], + "field_order": ["template"], "frozen": false, "icon": "prompts", "legacy": false, @@ -453,9 +422,7 @@ "display_name": "Tool Placeholder", "dynamic": false, "info": "A placeholder input for tool mode.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "tool_placeholder", @@ -476,10 +443,10 @@ }, "dragging": false, "height": 260, - "id": "Prompt-a0CWD", + "id": "Prompt-U0xoC", "measured": { "height": 260, - "width": 360 + "width": 320 }, "position": { "x": 690.2015147036818, @@ -495,7 +462,7 @@ }, { "data": { - "id": "undefined-omGwP", + "id": "undefined-9fug3", "node": { "description": "## 📖 README\n\nPerform basic prompting with an OpenAI model.\n\n#### Quick Start\n- Add your **OpenAI API key** to the **OpenAI Model**\n- Open the **Playground** to chat with your bot.\n\n#### Next steps:\n Experiment by changing the prompt and the OpenAI model temperature to see how the bot's responses change.", "display_name": "Read Me", @@ -506,32 +473,32 @@ } }, "dragging": false, - "height": 250, - "id": "undefined-omGwP", + "height": 332, + "id": "undefined-9fug3", "measured": { - "height": 250, - "width": 328 + "height": 332, + "width": 324 }, "position": { - "x": 66.38770028934243, - "y": 749.744424427066 + "x": 133.95771636602308, + "y": 753.6499167055161 }, "positionAbsolute": { "x": 66.38770028934243, "y": 749.744424427066 }, "resizing": false, - "selected": false, + "selected": true, "style": { "height": 250, - "width": 600 + "width": 324 }, "type": "noteNode", - "width": 600 + "width": 324 }, { "data": { - "id": "note-bk1gl", + "id": "note-fR64x", "node": { "description": "### 💡 Add your OpenAI API key here 👇", "display_name": "", @@ -544,10 +511,10 @@ }, "dragging": false, "height": 324, - "id": "note-bk1gl", + "id": "note-fR64x", "measured": { "height": 324, - "width": 326 + "width": 324 }, "position": { "x": 1075.829573520873, @@ -568,11 +535,9 @@ }, { "data": { - "id": "ChatOutput-S56f5", + "id": "ChatOutput-qv4Kg", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -620,9 +585,7 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "background_color", @@ -642,9 +605,7 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "chat_icon", @@ -682,9 +643,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", @@ -704,9 +663,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", @@ -727,10 +684,7 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": [ - "Machine", - "User" - ], + "options": ["Machine", "User"], "placeholder": "", "required": false, "show": true, @@ -746,9 +700,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", @@ -768,9 +720,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", @@ -806,9 +756,7 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "text_color", @@ -829,10 +777,10 @@ }, "dragging": false, "height": 234, - "id": "ChatOutput-S56f5", + "id": "ChatOutput-qv4Kg", "measured": { "height": 234, - "width": 360 + "width": 320 }, "position": { "x": 1460.070372772908, @@ -848,12 +796,9 @@ }, { "data": { - "id": "OpenAIModel-6Uq9A", + "id": "OpenAIModel-kVbrq", "node": { - "base_classes": [ - "LanguageModel", - "Message" - ], + "base_classes": ["LanguageModel", "Message"], "beta": false, "category": "models", "conditional_paths": [], @@ -903,9 +848,7 @@ "display_name": "Language Model", "method": "build_model", "name": "model_output", - "required_inputs": [ - "api_key" - ], + "required_inputs": ["api_key"], "selected": "LanguageModel", "tool_mode": true, "types": [ @@ -924,9 +867,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, @@ -935,7 +876,7 @@ "show": true, "title_case": false, "type": "str", - "value": "OPENAI_API_KEY" + "value": "" }, "code": { "advanced": true, @@ -961,9 +902,7 @@ "display_name": "Input", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1127,9 +1066,7 @@ "display_name": "System Message", "dynamic": false, "info": "System message to pass to the model.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1180,23 +1117,23 @@ "type": "OpenAIModel" }, "dragging": false, - "id": "OpenAIModel-6Uq9A", + "id": "OpenAIModel-kVbrq", "measured": { - "height": 734, - "width": 360 + "height": 653, + "width": 320 }, "position": { "x": 1071.3015591664102, "y": 724.6650363109242 }, - "selected": true, + "selected": false, "type": "genericNode" } ], "viewport": { - "x": 17.718959514444805, - "y": -430.8864814643483, - "zoom": 0.8320153537381677 + "x": 14.822536028026889, + "y": -179.77383984286314, + "zoom": 0.7681490030215967 } }, "description": "Perform basic prompting with an OpenAI model.", @@ -1207,7 +1144,5 @@ "is_component": false, "last_tested_version": "1.0.19.post2", "name": "Basic Prompting", - "tags": [ - "chatbots" - ] -} \ No newline at end of file + "tags": ["chatbots"] +} diff --git a/src/backend/base/langflow/initial_setup/starter_projects/Blog Writer.json b/src/backend/base/langflow/initial_setup/starter_projects/Blog Writer.json index cdeac485e..736f96ca6 100644 --- a/src/backend/base/langflow/initial_setup/starter_projects/Blog Writer.json +++ b/src/backend/base/langflow/initial_setup/starter_projects/Blog Writer.json @@ -7,27 +7,22 @@ "data": { "sourceHandle": { "dataType": "ParseData", - "id": "ParseData-E96Aq", + "id": "ParseData-4Sckw", "name": "text", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "references", - "id": "Prompt-so3We", - "inputTypes": [ - "Message", - "Text" - ], + "id": "Prompt-65R68", + "inputTypes": ["Message", "Text"], "type": "str" } }, - "id": "reactflow__edge-ParseData-E96Aq{œdataTypeœ:œParseDataœ,œidœ:œParseData-E96Aqœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-Prompt-so3We{œfieldNameœ:œreferencesœ,œidœ:œPrompt-so3Weœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", - "source": "ParseData-E96Aq", - "sourceHandle": "{œdataTypeœ: œParseDataœ, œidœ: œParseData-E96Aqœ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}", - "target": "Prompt-so3We", - "targetHandle": "{œfieldNameœ: œreferencesœ, œidœ: œPrompt-so3Weœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-ParseData-4Sckw{œdataTypeœ:œParseDataœ,œidœ:œParseData-4Sckwœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-Prompt-65R68{œfieldNameœ:œreferencesœ,œidœ:œPrompt-65R68œ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", + "source": "ParseData-4Sckw", + "sourceHandle": "{œdataTypeœ: œParseDataœ, œidœ: œParseData-4Sckwœ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}", + "target": "Prompt-65R68", + "targetHandle": "{œfieldNameœ: œreferencesœ, œidœ: œPrompt-65R68œ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" }, { "animated": false, @@ -35,104 +30,88 @@ "data": { "sourceHandle": { "dataType": "TextInput", - "id": "TextInput-NyDgC", + "id": "TextInput-t88FI", "name": "text", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "instructions", - "id": "Prompt-so3We", - "inputTypes": [ - "Message", - "Text" - ], + "id": "Prompt-65R68", + "inputTypes": ["Message", "Text"], "type": "str" } }, - "id": "reactflow__edge-TextInput-NyDgC{œdataTypeœ:œTextInputœ,œidœ:œTextInput-NyDgCœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-Prompt-so3We{œfieldNameœ:œinstructionsœ,œidœ:œPrompt-so3Weœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", - "source": "TextInput-NyDgC", - "sourceHandle": "{œdataTypeœ: œTextInputœ, œidœ: œTextInput-NyDgCœ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}", - "target": "Prompt-so3We", - "targetHandle": "{œfieldNameœ: œinstructionsœ, œidœ: œPrompt-so3Weœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-TextInput-t88FI{œdataTypeœ:œTextInputœ,œidœ:œTextInput-t88FIœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-Prompt-65R68{œfieldNameœ:œinstructionsœ,œidœ:œPrompt-65R68œ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", + "source": "TextInput-t88FI", + "sourceHandle": "{œdataTypeœ: œTextInputœ, œidœ: œTextInput-t88FIœ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}", + "target": "Prompt-65R68", + "targetHandle": "{œfieldNameœ: œinstructionsœ, œidœ: œPrompt-65R68œ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" }, { "className": "", "data": { "sourceHandle": { "dataType": "Prompt", - "id": "Prompt-so3We", + "id": "Prompt-65R68", "name": "prompt", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "input_value", - "id": "OpenAIModel-PSlnR", - "inputTypes": [ - "Message" - ], + "id": "OpenAIModel-MyAsQ", + "inputTypes": ["Message"], "type": "str" } }, - "id": "reactflow__edge-Prompt-so3We{œdataTypeœ:œPromptœ,œidœ:œPrompt-so3Weœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-PSlnR{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-PSlnRœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "Prompt-so3We", - "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-so3Weœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", - "target": "OpenAIModel-PSlnR", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œOpenAIModel-PSlnRœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-Prompt-65R68{œdataTypeœ:œPromptœ,œidœ:œPrompt-65R68œ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-MyAsQ{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-MyAsQœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "source": "Prompt-65R68", + "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-65R68œ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", + "target": "OpenAIModel-MyAsQ", + "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œOpenAIModel-MyAsQœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" }, { "className": "", "data": { "sourceHandle": { "dataType": "OpenAIModel", - "id": "OpenAIModel-PSlnR", + "id": "OpenAIModel-MyAsQ", "name": "text_output", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "input_value", - "id": "ChatOutput-rX0kw", - "inputTypes": [ - "Message" - ], + "id": "ChatOutput-BE4YI", + "inputTypes": ["Message"], "type": "str" } }, - "id": "reactflow__edge-OpenAIModel-PSlnR{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-PSlnRœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-rX0kw{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-rX0kwœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "OpenAIModel-PSlnR", - "sourceHandle": "{œdataTypeœ: œOpenAIModelœ, œidœ: œOpenAIModel-PSlnRœ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}", - "target": "ChatOutput-rX0kw", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-rX0kwœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-OpenAIModel-MyAsQ{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-MyAsQœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-BE4YI{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-BE4YIœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "source": "OpenAIModel-MyAsQ", + "sourceHandle": "{œdataTypeœ: œOpenAIModelœ, œidœ: œOpenAIModel-MyAsQœ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}", + "target": "ChatOutput-BE4YI", + "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-BE4YIœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" }, { + "className": "", "data": { "sourceHandle": { "dataType": "URL", - "id": "URL-3QRyA", + "id": "URL-EPEnt", "name": "data", - "output_types": [ - "Data" - ] + "output_types": ["Data"] }, "targetHandle": { "fieldName": "data", - "id": "ParseData-E96Aq", - "inputTypes": [ - "Data" - ], + "id": "ParseData-4Sckw", + "inputTypes": ["Data"], "type": "other" } }, - "id": "xy-edge__URL-3QRyA{œdataTypeœ:œURLœ,œidœ:œURL-3QRyAœ,œnameœ:œdataœ,œoutput_typesœ:[œDataœ]}-ParseData-E96Aq{œfieldNameœ:œdataœ,œidœ:œParseData-E96Aqœ,œinputTypesœ:[œDataœ],œtypeœ:œotherœ}", - "source": "URL-3QRyA", - "sourceHandle": "{œdataTypeœ: œURLœ, œidœ: œURL-3QRyAœ, œnameœ: œdataœ, œoutput_typesœ: [œDataœ]}", - "target": "ParseData-E96Aq", - "targetHandle": "{œfieldNameœ: œdataœ, œidœ: œParseData-E96Aqœ, œinputTypesœ: [œDataœ], œtypeœ: œotherœ}" + "id": "reactflow__edge-URL-EPEnt{œdataTypeœ:œURLœ,œidœ:œURL-EPEntœ,œnameœ:œdataœ,œoutput_typesœ:[œDataœ]}-ParseData-4Sckw{œfieldNameœ:œdataœ,œidœ:œParseData-4Sckwœ,œinputTypesœ:[œDataœ],œtypeœ:œotherœ}", + "source": "URL-EPEnt", + "sourceHandle": "{œdataTypeœ: œURLœ, œidœ: œURL-EPEntœ, œnameœ: œdataœ, œoutput_typesœ: [œDataœ]}", + "target": "ParseData-4Sckw", + "targetHandle": "{œfieldNameœ: œdataœ, œidœ: œParseData-4Sckwœ, œinputTypesœ: [œDataœ], œtypeœ: œotherœ}" } ], "nodes": [ @@ -140,11 +119,9 @@ "data": { "description": "Convert Data into plain text following a specified template.", "display_name": "Parse Data", - "id": "ParseData-E96Aq", + "id": "ParseData-4Sckw", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -152,11 +129,7 @@ "display_name": "Parse Data", "documentation": "", "edited": false, - "field_order": [ - "data", - "template", - "sep" - ], + "field_order": ["data", "template", "sep"], "frozen": false, "icon": "message-square", "legacy": false, @@ -217,9 +190,7 @@ "display_name": "Data", "dynamic": false, "info": "The data to convert to text.", - "input_types": [ - "Data" - ], + "input_types": ["Data"], "list": true, "name": "data", "placeholder": "", @@ -252,9 +223,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, @@ -274,10 +243,10 @@ }, "dragging": false, "height": 302, - "id": "ParseData-E96Aq", + "id": "ParseData-4Sckw", "measured": { "height": 302, - "width": 360 + "width": 320 }, "position": { "x": 955.6736985046297, @@ -295,26 +264,19 @@ "data": { "description": "Create a prompt template with dynamic variables.", "display_name": "Prompt", - "id": "Prompt-so3We", + "id": "Prompt-65R68", "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", "legacy": false, @@ -365,10 +327,7 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": [ - "Message", - "Text" - ], + "input_types": ["Message", "Text"], "list": false, "load_from_db": false, "multiline": true, @@ -389,10 +348,7 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": [ - "Message", - "Text" - ], + "input_types": ["Message", "Text"], "list": false, "load_from_db": false, "multiline": true, @@ -427,9 +383,7 @@ "display_name": "Tool Placeholder", "dynamic": false, "info": "A placeholder input for tool mode.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "tool_placeholder", @@ -449,10 +403,10 @@ }, "dragging": false, "height": 433, - "id": "Prompt-so3We", + "id": "Prompt-65R68", "measured": { "height": 433, - "width": 360 + "width": 320 }, "position": { "x": 1341.1018009526915, @@ -470,11 +424,9 @@ "data": { "description": "Get text inputs from the Playground.", "display_name": "Instructions", - "id": "TextInput-NyDgC", + "id": "TextInput-t88FI", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -482,9 +434,7 @@ "display_name": "Instructions", "documentation": "", "edited": false, - "field_order": [ - "input_value" - ], + "field_order": ["input_value"], "frozen": false, "icon": "type", "legacy": false, @@ -533,9 +483,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, @@ -555,10 +503,10 @@ }, "dragging": false, "height": 234, - "id": "TextInput-NyDgC", + "id": "TextInput-t88FI", "measured": { "height": 234, - "width": 360 + "width": 320 }, "position": { "x": 955.8314364398983, @@ -576,11 +524,9 @@ "data": { "description": "Display a chat message in the Playground.", "display_name": "Chat Output", - "id": "ChatOutput-rX0kw", + "id": "ChatOutput-BE4YI", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -626,9 +572,7 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "background_color", @@ -647,9 +591,7 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "chat_icon", @@ -685,9 +627,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", @@ -705,9 +645,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", @@ -726,10 +664,7 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": [ - "Machine", - "User" - ], + "options": ["Machine", "User"], "placeholder": "", "required": false, "show": true, @@ -743,9 +678,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", @@ -763,9 +696,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", @@ -800,9 +731,7 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "text_color", @@ -821,10 +750,10 @@ }, "dragging": false, "height": 234, - "id": "ChatOutput-rX0kw", + "id": "ChatOutput-BE4YI", "measured": { "height": 234, - "width": 360 + "width": 320 }, "position": { "x": 2097.489047349972, @@ -840,7 +769,7 @@ }, { "data": { - "id": "note-o0nz4", + "id": "note-lriuW", "node": { "description": "## URL Component Setup\n\n**Purpose:**\nFetch and process content from the web to use as reference material for creating a blog post.\n\n**Instructions:**\n1. **Input URLs**: List the URLs of web pages whose content you want to fetch. Ensure the URLs start with `http://` or `https://`.\n2. **Select Output Format**:\n - **Text**: To extract plain text from the pages.\n - **Raw HTML**: To retrieve the raw HTML content for advanced uses.\n\n**Tips**:\n- Double-check URL formats to prevent any data fetching errors.\n- Use the '+' button to add multiple URLs as needed for comprehensive references.\n", "display_name": "", @@ -852,11 +781,11 @@ "type": "note" }, "dragging": false, - "height": 329, - "id": "note-o0nz4", + "height": 324, + "id": "note-lriuW", "measured": { - "height": 329, - "width": 328 + "height": 324, + "width": 325 }, "position": { "x": 484.73635938598477, @@ -870,14 +799,14 @@ "selected": false, "style": { "height": 329, - "width": 414 + "width": 324 }, "type": "noteNode", - "width": 414 + "width": 324 }, { "data": { - "id": "note-ioTU5", + "id": "note-1oPzi", "node": { "description": "# Blog Writing Flow Overview\n\n**Workflow Description:**\nThis flow assists in creating a blog post by using content fetched from URLs and user-provided instructions. It combines external references and user inputs to generate coherent and context-rich text.\n\n**Components**:\n1. **URL Component**: Fetches reference content from specified web pages.\n2. **Parse Data**: Converts the fetched content into a text format.\n3. **Text Input**: Accepts user-specific instructions for the blog post.\n4. **Prompt with Variables**: Merges references and instructions into a dynamic writing prompt.\n5. **OpenAI Model**: Generates the blog post using an AI language model.\n6. **Chat Output**: Displays the final blog text for user review and further refinement.\n\n**Steps to Execute**:\n1. Enter the relevant URLs and specify the output format in the **URL Component**.\n2. Provide detailed writing **Instructions** for AI to follow.\n3. Run the flow to generate the blog and view the result in **Chat Output**.\n\n**Benefits**:\n- Simplifies blog creation by using AI to structure and write content.\n- Incorporates comprehensive reference material to enhance post depth and accuracy.", "display_name": "", @@ -887,11 +816,11 @@ "type": "note" }, "dragging": false, - "height": 509, - "id": "note-ioTU5", + "height": 486, + "id": "note-1oPzi", "measured": { - "height": 509, - "width": 328 + "height": 486, + "width": 325 }, "position": { "x": -78.41970365609802, @@ -908,11 +837,11 @@ "width": 562 }, "type": "noteNode", - "width": 562 + "width": 324 }, { "data": { - "id": "note-OFdB9", + "id": "note-qhsOB", "node": { "description": "## Get Your OpenAI API Key\n**Steps**:\n1. **Visit** [OpenAI's API Key Page](https://platform.openai.com/api-keys).\n\n2. **Log In/Sign Up**:\n - Log in or create a new OpenAI account.\n\n3. **Generate API Key**:\n - Click \"Create New Secret Key\" to obtain your key.\n\n4. **Store Your Key Securely**:\n - Note it down as it will only display once.\n\n5. **Enter API Key**:\n - Input your key in the OpenAI API Key field within the component setup.\n\nKeep your key safe and manage it responsibly!", "display_name": "", @@ -925,14 +854,14 @@ }, "dragging": false, "height": 324, - "id": "note-OFdB9", + "id": "note-qhsOB", "measured": { "height": 324, - "width": 328 + "width": 325 }, "position": { - "x": 1703.974189852056, - "y": 125.15366878585462 + "x": 1702.078126574358, + "y": 121.36154223045867 }, "positionAbsolute": { "x": 1703.974189852056, @@ -945,16 +874,13 @@ "width": 343 }, "type": "noteNode", - "width": 343 + "width": 324 }, { "data": { - "id": "OpenAIModel-PSlnR", + "id": "OpenAIModel-MyAsQ", "node": { - "base_classes": [ - "LanguageModel", - "Message" - ], + "base_classes": ["LanguageModel", "Message"], "beta": false, "category": "models", "conditional_paths": [], @@ -1004,9 +930,7 @@ "display_name": "Language Model", "method": "build_model", "name": "model_output", - "required_inputs": [ - "api_key" - ], + "required_inputs": ["api_key"], "selected": "LanguageModel", "tool_mode": true, "types": [ @@ -1025,9 +949,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, @@ -1036,7 +958,7 @@ "show": true, "title_case": false, "type": "str", - "value": "OPENAI_API_KEY" + "value": "" }, "code": { "advanced": true, @@ -1062,9 +984,7 @@ "display_name": "Input", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1228,9 +1148,7 @@ "display_name": "System Message", "dynamic": false, "info": "System message to pass to the model.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1281,10 +1199,10 @@ "type": "OpenAIModel" }, "dragging": false, - "id": "OpenAIModel-PSlnR", + "id": "OpenAIModel-MyAsQ", "measured": { - "height": 734, - "width": 360 + "height": 653, + "width": 320 }, "position": { "x": 1715.4141756503298, @@ -1295,13 +1213,9 @@ }, { "data": { - "id": "URL-3QRyA", + "id": "URL-EPEnt", "node": { - "base_classes": [ - "Data", - "DataFrame", - "Message" - ], + "base_classes": ["Data", "DataFrame", "Message"], "beta": false, "category": "data", "conditional_paths": [], @@ -1310,10 +1224,7 @@ "display_name": "URL", "documentation": "", "edited": false, - "field_order": [ - "urls", - "format" - ], + "field_order": ["urls", "format"], "frozen": false, "icon": "layout-template", "key": "URL", @@ -1393,10 +1304,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"], "options_metadata": [], "placeholder": "", "required": false, @@ -1413,9 +1321,7 @@ "display_name": "URLs", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": true, "list_add_label": "Add URL", "load_from_db": false, @@ -1428,10 +1334,7 @@ "trace_as_input": true, "trace_as_metadata": true, "type": "str", - "value": [ - "https://langflow.org/", - "https://docs.langflow.org/" - ] + "value": ["https://langflow.org/", "https://docs.langflow.org/"] } }, "tool_mode": false @@ -1440,10 +1343,10 @@ "type": "URL" }, "dragging": false, - "id": "URL-3QRyA", + "id": "URL-EPEnt", "measured": { - "height": 522, - "width": 360 + "height": 465, + "width": 320 }, "position": { "x": 498.72695054312635, @@ -1454,9 +1357,9 @@ } ], "viewport": { - "x": 118.07504778051486, - "y": 77.01438585334114, - "zoom": 0.5753720075740282 + "x": 107.17740467666556, + "y": 281.84175643433355, + "zoom": 0.5274085584390961 } }, "description": "Auto-generate a customized blog post from instructions and referenced articles.", @@ -1467,8 +1370,5 @@ "is_component": false, "last_tested_version": "1.0.19.post2", "name": "Blog Writer", - "tags": [ - "chatbots", - "content-generation" - ] -} \ No newline at end of file + "tags": ["chatbots", "content-generation"] +} diff --git a/src/backend/base/langflow/initial_setup/starter_projects/Custom Component Maker.json b/src/backend/base/langflow/initial_setup/starter_projects/Custom Component Maker.json index 56c2bad9d..aca4871b0 100644 --- a/src/backend/base/langflow/initial_setup/starter_projects/Custom Component Maker.json +++ b/src/backend/base/langflow/initial_setup/starter_projects/Custom Component Maker.json @@ -7,28 +7,23 @@ "data": { "sourceHandle": { "dataType": "Memory", - "id": "Memory-xB9zW", + "id": "Memory-v5bRq", "name": "messages_text", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "CHAT_HISTORY", - "id": "Prompt-t7tN0", - "inputTypes": [ - "Message", - "Text" - ], + "id": "Prompt-QIyYT", + "inputTypes": ["Message", "Text"], "type": "str" } }, - "id": "reactflow__edge-Memory-xB9zW{œdataTypeœ:œMemoryœ,œidœ:œMemory-xB9zWœ,œnameœ:œmessages_textœ,œoutput_typesœ:[œMessageœ]}-Prompt-t7tN0{œfieldNameœ:œCHAT_HISTORYœ,œidœ:œPrompt-t7tN0œ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-Memory-v5bRq{œdataTypeœ:œMemoryœ,œidœ:œMemory-v5bRqœ,œnameœ:œmessages_textœ,œoutput_typesœ:[œMessageœ]}-Prompt-QIyYT{œfieldNameœ:œCHAT_HISTORYœ,œidœ:œPrompt-QIyYTœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", "selected": false, - "source": "Memory-xB9zW", - "sourceHandle": "{œdataTypeœ: œMemoryœ, œidœ: œMemory-xB9zWœ, œnameœ: œmessages_textœ, œoutput_typesœ: [œMessageœ]}", - "target": "Prompt-t7tN0", - "targetHandle": "{œfieldNameœ: œCHAT_HISTORYœ, œidœ: œPrompt-t7tN0œ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" + "source": "Memory-v5bRq", + "sourceHandle": "{œdataTypeœ: œMemoryœ, œidœ: œMemory-v5bRqœ, œnameœ: œmessages_textœ, œoutput_typesœ: [œMessageœ]}", + "target": "Prompt-QIyYT", + "targetHandle": "{œfieldNameœ: œCHAT_HISTORYœ, œidœ: œPrompt-QIyYTœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" }, { "animated": false, @@ -36,28 +31,23 @@ "data": { "sourceHandle": { "dataType": "ChatInput", - "id": "ChatInput-g2Y61", + "id": "ChatInput-Z88lk", "name": "message", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "USER_INPUT", - "id": "Prompt-t7tN0", - "inputTypes": [ - "Message", - "Text" - ], + "id": "Prompt-QIyYT", + "inputTypes": ["Message", "Text"], "type": "str" } }, - "id": "reactflow__edge-ChatInput-g2Y61{œdataTypeœ:œChatInputœ,œidœ:œChatInput-g2Y61œ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-Prompt-t7tN0{œfieldNameœ:œUSER_INPUTœ,œidœ:œPrompt-t7tN0œ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-ChatInput-Z88lk{œdataTypeœ:œChatInputœ,œidœ:œChatInput-Z88lkœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-Prompt-QIyYT{œfieldNameœ:œUSER_INPUTœ,œidœ:œPrompt-QIyYTœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", "selected": false, - "source": "ChatInput-g2Y61", - "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-g2Y61œ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", - "target": "Prompt-t7tN0", - "targetHandle": "{œfieldNameœ: œUSER_INPUTœ, œidœ: œPrompt-t7tN0œ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" + "source": "ChatInput-Z88lk", + "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-Z88lkœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", + "target": "Prompt-QIyYT", + "targetHandle": "{œfieldNameœ: œUSER_INPUTœ, œidœ: œPrompt-QIyYTœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" }, { "animated": false, @@ -65,27 +55,22 @@ "data": { "sourceHandle": { "dataType": "URL", - "id": "URL-l7pdF", + "id": "URL-wNOPd", "name": "text", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "EXAMPLE_COMPONENTS", - "id": "Prompt-t7tN0", - "inputTypes": [ - "Message", - "Text" - ], + "id": "Prompt-QIyYT", + "inputTypes": ["Message", "Text"], "type": "str" } }, - "id": "reactflow__edge-URL-l7pdF{œdataTypeœ:œURLœ,œidœ:œURL-l7pdFœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-Prompt-t7tN0{œfieldNameœ:œEXAMPLE_COMPONENTSœ,œidœ:œPrompt-t7tN0œ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", - "source": "URL-l7pdF", - "sourceHandle": "{œdataTypeœ: œURLœ, œidœ: œURL-l7pdFœ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}", - "target": "Prompt-t7tN0", - "targetHandle": "{œfieldNameœ: œEXAMPLE_COMPONENTSœ, œidœ: œPrompt-t7tN0œ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-URL-wNOPd{œdataTypeœ:œURLœ,œidœ:œURL-wNOPdœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-Prompt-QIyYT{œfieldNameœ:œEXAMPLE_COMPONENTSœ,œidœ:œPrompt-QIyYTœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", + "source": "URL-wNOPd", + "sourceHandle": "{œdataTypeœ: œURLœ, œidœ: œURL-wNOPdœ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}", + "target": "Prompt-QIyYT", + "targetHandle": "{œfieldNameœ: œEXAMPLE_COMPONENTSœ, œidœ: œPrompt-QIyYTœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" }, { "animated": false, @@ -93,27 +78,22 @@ "data": { "sourceHandle": { "dataType": "URL", - "id": "URL-vp2La", + "id": "URL-pFAuR", "name": "text", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "BASE_COMPONENT_CODE", - "id": "Prompt-t7tN0", - "inputTypes": [ - "Message", - "Text" - ], + "id": "Prompt-QIyYT", + "inputTypes": ["Message", "Text"], "type": "str" } }, - "id": "reactflow__edge-URL-vp2La{œdataTypeœ:œURLœ,œidœ:œURL-vp2Laœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-Prompt-t7tN0{œfieldNameœ:œBASE_COMPONENT_CODEœ,œidœ:œPrompt-t7tN0œ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", - "source": "URL-vp2La", - "sourceHandle": "{œdataTypeœ: œURLœ, œidœ: œURL-vp2Laœ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}", - "target": "Prompt-t7tN0", - "targetHandle": "{œfieldNameœ: œBASE_COMPONENT_CODEœ, œidœ: œPrompt-t7tN0œ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-URL-pFAuR{œdataTypeœ:œURLœ,œidœ:œURL-pFAuRœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-Prompt-QIyYT{œfieldNameœ:œBASE_COMPONENT_CODEœ,œidœ:œPrompt-QIyYTœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", + "source": "URL-pFAuR", + "sourceHandle": "{œdataTypeœ: œURLœ, œidœ: œURL-pFAuRœ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}", + "target": "Prompt-QIyYT", + "targetHandle": "{œfieldNameœ: œBASE_COMPONENT_CODEœ, œidœ: œPrompt-QIyYTœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" }, { "animated": false, @@ -121,77 +101,66 @@ "data": { "sourceHandle": { "dataType": "URL", - "id": "URL-ak8Jx", + "id": "URL-KARv3", "name": "text", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "CUSTOM_COMPONENT_CODE", - "id": "Prompt-t7tN0", - "inputTypes": [ - "Message", - "Text" - ], + "id": "Prompt-QIyYT", + "inputTypes": ["Message", "Text"], "type": "str" } }, - "id": "reactflow__edge-URL-ak8Jx{œdataTypeœ:œURLœ,œidœ:œURL-ak8Jxœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-Prompt-t7tN0{œfieldNameœ:œCUSTOM_COMPONENT_CODEœ,œidœ:œPrompt-t7tN0œ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", - "source": "URL-ak8Jx", - "sourceHandle": "{œdataTypeœ: œURLœ, œidœ: œURL-ak8Jxœ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}", - "target": "Prompt-t7tN0", - "targetHandle": "{œfieldNameœ: œCUSTOM_COMPONENT_CODEœ, œidœ: œPrompt-t7tN0œ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-URL-KARv3{œdataTypeœ:œURLœ,œidœ:œURL-KARv3œ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-Prompt-QIyYT{œfieldNameœ:œCUSTOM_COMPONENT_CODEœ,œidœ:œPrompt-QIyYTœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", + "source": "URL-KARv3", + "sourceHandle": "{œdataTypeœ: œURLœ, œidœ: œURL-KARv3œ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}", + "target": "Prompt-QIyYT", + "targetHandle": "{œfieldNameœ: œCUSTOM_COMPONENT_CODEœ, œidœ: œPrompt-QIyYTœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" }, { + "className": "", "data": { "sourceHandle": { "dataType": "Prompt", - "id": "Prompt-t7tN0", + "id": "Prompt-QIyYT", "name": "prompt", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "input_value", - "id": "AnthropicModel-L37Qm", - "inputTypes": [ - "Message" - ], + "id": "AnthropicModel-RQQCm", + "inputTypes": ["Message"], "type": "str" } }, - "id": "xy-edge__Prompt-t7tN0{œdataTypeœ:œPromptœ,œidœ:œPrompt-t7tN0œ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-AnthropicModel-L37Qm{œfieldNameœ:œinput_valueœ,œidœ:œAnthropicModel-L37Qmœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "Prompt-t7tN0", - "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-t7tN0œ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", - "target": "AnthropicModel-L37Qm", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œAnthropicModel-L37Qmœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-Prompt-QIyYT{œdataTypeœ:œPromptœ,œidœ:œPrompt-QIyYTœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-AnthropicModel-RQQCm{œfieldNameœ:œinput_valueœ,œidœ:œAnthropicModel-RQQCmœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "source": "Prompt-QIyYT", + "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-QIyYTœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", + "target": "AnthropicModel-RQQCm", + "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œAnthropicModel-RQQCmœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" }, { + "className": "", "data": { "sourceHandle": { "dataType": "AnthropicModel", - "id": "AnthropicModel-L37Qm", + "id": "AnthropicModel-RQQCm", "name": "text_output", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "input_value", - "id": "ChatOutput-y7MoT", - "inputTypes": [ - "Message" - ], + "id": "ChatOutput-Jj8M6", + "inputTypes": ["Message"], "type": "str" } }, - "id": "xy-edge__AnthropicModel-L37Qm{œdataTypeœ:œAnthropicModelœ,œidœ:œAnthropicModel-L37Qmœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-y7MoT{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-y7MoTœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "AnthropicModel-L37Qm", - "sourceHandle": "{œdataTypeœ: œAnthropicModelœ, œidœ: œAnthropicModel-L37Qmœ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}", - "target": "ChatOutput-y7MoT", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-y7MoTœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-AnthropicModel-RQQCm{œdataTypeœ:œAnthropicModelœ,œidœ:œAnthropicModel-RQQCmœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-Jj8M6{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-Jj8M6œ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "source": "AnthropicModel-RQQCm", + "sourceHandle": "{œdataTypeœ: œAnthropicModelœ, œidœ: œAnthropicModel-RQQCmœ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}", + "target": "ChatOutput-Jj8M6", + "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-Jj8M6œ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" } ], "nodes": [ @@ -199,11 +168,9 @@ "data": { "description": "Get chat inputs from the Playground.", "display_name": "Chat Input", - "id": "ChatInput-g2Y61", + "id": "ChatInput-Z88lk", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -252,9 +219,7 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "background_color", @@ -274,9 +239,7 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "chat_icon", @@ -379,10 +342,7 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": [ - "Machine", - "User" - ], + "options": ["Machine", "User"], "placeholder": "", "required": false, "show": true, @@ -398,9 +358,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", @@ -420,9 +378,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", @@ -458,9 +414,7 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "text_color", @@ -481,10 +435,10 @@ }, "dragging": false, "height": 231, - "id": "ChatInput-g2Y61", + "id": "ChatInput-Z88lk", "measured": { "height": 231, - "width": 360 + "width": 320 }, "position": { "x": 1436.7228707197569, @@ -502,12 +456,9 @@ "data": { "description": "Retrieves stored chat messages from Langflow tables or an external memory.", "display_name": "Chat Memory", - "id": "Memory-xB9zW", + "id": "Memory-v5bRq", "node": { - "base_classes": [ - "Data", - "Message" - ], + "base_classes": ["Data", "Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -585,9 +536,7 @@ "display_name": "External Memory", "dynamic": false, "info": "Retrieve messages from an external memory. If empty, it will use the Langflow tables.", - "input_types": [ - "Memory" - ], + "input_types": ["Memory"], "list": false, "name": "memory", "placeholder": "", @@ -622,10 +571,7 @@ "dynamic": false, "info": "Order of the messages.", "name": "order", - "options": [ - "Ascending", - "Descending" - ], + "options": ["Ascending", "Descending"], "placeholder": "", "required": false, "show": true, @@ -643,11 +589,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, @@ -663,9 +605,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", @@ -685,9 +625,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", @@ -707,9 +645,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, @@ -731,10 +667,10 @@ }, "dragging": false, "height": 262, - "id": "Memory-xB9zW", + "id": "Memory-v5bRq", "measured": { "height": 262, - "width": 360 + "width": 320 }, "position": { "x": 1830.6888981898887, @@ -752,11 +688,9 @@ "data": { "description": "Create a prompt template with dynamic variables.", "display_name": "Prompt", - "id": "Prompt-t7tN0", + "id": "Prompt-QIyYT", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": { @@ -772,9 +706,7 @@ "display_name": "Prompt", "documentation": "", "edited": false, - "field_order": [ - "template" - ], + "field_order": ["template"], "frozen": false, "icon": "prompts", "legacy": false, @@ -806,10 +738,7 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": [ - "Message", - "Text" - ], + "input_types": ["Message", "Text"], "list": false, "load_from_db": false, "multiline": true, @@ -829,10 +758,7 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": [ - "Message", - "Text" - ], + "input_types": ["Message", "Text"], "list": false, "load_from_db": false, "multiline": true, @@ -852,10 +778,7 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": [ - "Message", - "Text" - ], + "input_types": ["Message", "Text"], "list": false, "load_from_db": false, "multiline": true, @@ -875,10 +798,7 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": [ - "Message", - "Text" - ], + "input_types": ["Message", "Text"], "list": false, "load_from_db": false, "multiline": true, @@ -898,10 +818,7 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": [ - "Message", - "Text" - ], + "input_types": ["Message", "Text"], "list": false, "load_from_db": false, "multiline": true, @@ -956,9 +873,7 @@ "display_name": "Tool Placeholder", "dynamic": false, "info": "A placeholder input for tool mode.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "tool_placeholder", @@ -979,10 +894,10 @@ }, "dragging": false, "height": 685, - "id": "Prompt-t7tN0", + "id": "Prompt-QIyYT", "measured": { "height": 685, - "width": 360 + "width": 320 }, "position": { "x": 2219.5265974825707, @@ -1000,11 +915,9 @@ "data": { "description": "Display a chat message in the Playground.", "display_name": "Chat Output", - "id": "ChatOutput-y7MoT", + "id": "ChatOutput-Jj8M6", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -1052,9 +965,7 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "background_color", @@ -1074,9 +985,7 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "chat_icon", @@ -1114,9 +1023,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", @@ -1136,9 +1043,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", @@ -1159,10 +1064,7 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": [ - "Machine", - "User" - ], + "options": ["Machine", "User"], "placeholder": "", "required": false, "show": true, @@ -1178,9 +1080,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", @@ -1200,9 +1100,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", @@ -1238,9 +1136,7 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "text_color", @@ -1261,10 +1157,10 @@ }, "dragging": false, "height": 232, - "id": "ChatOutput-y7MoT", + "id": "ChatOutput-Jj8M6", "measured": { "height": 232, - "width": 360 + "width": 320 }, "position": { "x": 2947.267779013826, @@ -1280,7 +1176,7 @@ }, { "data": { - "id": "note-T4gpA", + "id": "note-M2lYQ", "node": { "description": "# Fetch Components code \n\nUsing the URL component we are extracting from Github, the code from a few classes to provide as example to the LLM. \n\nThis ensures we are always up to date with recent information from the codebase.", "display_name": "", @@ -1291,10 +1187,10 @@ }, "dragging": false, "height": 324, - "id": "note-T4gpA", + "id": "note-M2lYQ", "measured": { "height": 324, - "width": 328 + "width": 325 }, "position": { "x": 1430.2014058924922, @@ -1310,7 +1206,7 @@ }, { "data": { - "id": "note-SQ4yw", + "id": "note-nxR1T", "node": { "description": "# 🛠️ Custom Component Generator 🚀\n\nHi! I'm here to help you create custom components for Langflow. Think of me as your technical partner who can help turn your ideas into working components! \n\n## 🎯 How to Work With Me\n\n### 1. 💭 Tell Me What You Want to Build\nSimply describe what you want your component to do in plain English. For example:\n- \"I need a component that sends Slack messages\"\n- \"I want to create a tool that can process CSV files\"\n- \"I need something that can translate text\"\n\n### 2. 📚 Share Any Relevant Information\nIf you're working with a specific:\n- 🔑 API or service (just share the documentation link or main endpoints)\n- 📄 File format\n- 🔄 Data structure\n- 🔧 Existing component you want to modify\n\n### 3. 🎨 Let Me Help Design It\nI'll help by:\n- 📊 Breaking down complex requirements into manageable pieces\n- 💡 Suggesting the best way to structure inputs and outputs\n- ⚙️ Creating the component code\n- 📝 Explaining how to use it\n\n### 4. 🔄 Iterative Refinement\nWe can then:\n- ✅ Test and refine the component\n- ⭐ Add features\n- 🔧 Modify behavior\n- 🛡️ Improve error handling\n- 📖 Add documentation\n\n## 🚀 What I Can Help With\n\nI can help create components that:\n- 📊 Process different file types (CSV, JSON, Excel, etc.)\n- 🔌 Integrate with external APIs\n- 🔄 Transform data\n- 🔀 Route messages\n- 🌐 Handle web requests\n- 🎯 Parse structured data\n- ✨ And much more!\n\n## 💡 Tips for Best Results\n\n1. **Be Specific** 🎯: The more details you provide about what you want to accomplish, the better I can help.\n\n2. **Share Examples** 📋: If you have example data or specific use cases, share them.\n\n3. **Ask Questions** ❓: Don't hesitate to ask for clarification or modifications.\n\nJust start by telling me what kind of component you'd like to create, and I'll guide you through the process! \n\nReady to build something awesome? 🚀 Let's get started!", "display_name": "", @@ -1321,10 +1217,10 @@ }, "dragging": false, "height": 573, - "id": "note-SQ4yw", + "id": "note-nxR1T", "measured": { "height": 573, - "width": 328 + "width": 324 }, "position": { "x": 807.6293964045135, @@ -1335,22 +1231,19 @@ "y": 605.6504562080672 }, "resizing": false, - "selected": false, + "selected": true, "style": { "height": 573, - "width": 564 + "width": 324 }, "type": "noteNode", - "width": 564 + "width": 324 }, { "data": { - "id": "URL-vp2La", + "id": "URL-pFAuR", "node": { - "base_classes": [ - "Data", - "Message" - ], + "base_classes": ["Data", "Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -1358,10 +1251,7 @@ "display_name": "URL", "documentation": "", "edited": false, - "field_order": [ - "urls", - "format" - ], + "field_order": ["urls", "format"], "frozen": false, "icon": "layout-template", "legacy": false, @@ -1438,10 +1328,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, @@ -1457,9 +1344,7 @@ "display_name": "URLs", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": true, "load_from_db": false, "name": "urls", @@ -1482,10 +1367,10 @@ }, "dragging": false, "height": 365, - "id": "URL-vp2La", + "id": "URL-pFAuR", "measured": { "height": 365, - "width": 360 + "width": 320 }, "position": { "x": 1436.3617127766433, @@ -1501,12 +1386,9 @@ }, { "data": { - "id": "URL-l7pdF", + "id": "URL-wNOPd", "node": { - "base_classes": [ - "Data", - "Message" - ], + "base_classes": ["Data", "Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -1514,10 +1396,7 @@ "display_name": "URL", "documentation": "", "edited": false, - "field_order": [ - "urls", - "format" - ], + "field_order": ["urls", "format"], "frozen": false, "icon": "layout-template", "legacy": false, @@ -1594,10 +1473,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, @@ -1613,9 +1489,7 @@ "display_name": "URLs", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": true, "load_from_db": false, "name": "urls", @@ -1644,10 +1518,10 @@ }, "dragging": false, "height": 661, - "id": "URL-l7pdF", + "id": "URL-wNOPd", "measured": { "height": 661, - "width": 360 + "width": 320 }, "position": { "x": 1831.5895760156684, @@ -1663,12 +1537,9 @@ }, { "data": { - "id": "URL-ak8Jx", + "id": "URL-KARv3", "node": { - "base_classes": [ - "Data", - "Message" - ], + "base_classes": ["Data", "Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -1676,10 +1547,7 @@ "display_name": "URL", "documentation": "", "edited": false, - "field_order": [ - "urls", - "format" - ], + "field_order": ["urls", "format"], "frozen": false, "icon": "layout-template", "legacy": false, @@ -1756,10 +1624,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, @@ -1775,9 +1640,7 @@ "display_name": "URLs", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": true, "load_from_db": false, "name": "urls", @@ -1800,10 +1663,10 @@ }, "dragging": false, "height": 365, - "id": "URL-ak8Jx", + "id": "URL-KARv3", "measured": { "height": 365, - "width": 360 + "width": 320 }, "position": { "x": 1436.982480021523, @@ -1819,12 +1682,9 @@ }, { "data": { - "id": "AnthropicModel-L37Qm", + "id": "AnthropicModel-RQQCm", "node": { - "base_classes": [ - "LanguageModel", - "Message" - ], + "base_classes": ["LanguageModel", "Message"], "beta": false, "category": "models", "conditional_paths": [], @@ -1873,9 +1733,7 @@ "display_name": "Language Model", "method": "build_model", "name": "model_output", - "required_inputs": [ - "api_key" - ], + "required_inputs": ["api_key"], "selected": "LanguageModel", "tool_mode": true, "types": [ @@ -1894,10 +1752,8 @@ "display_name": "Anthropic API Key", "dynamic": false, "info": "Your Anthropic API key.", - "input_types": [ - "Message" - ], - "load_from_db": true, + "input_types": ["Message"], + "load_from_db": false, "name": "api_key", "password": true, "placeholder": "", @@ -1914,9 +1770,7 @@ "display_name": "Anthropic API URL", "dynamic": false, "info": "Endpoint of the Anthropic API. Defaults to 'https://api.anthropic.com' if not specified.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1956,9 +1810,7 @@ "display_name": "Input", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -2027,9 +1879,7 @@ "display_name": "Prefill", "dynamic": false, "info": "Prefill text to guide the model's response.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -2068,9 +1918,7 @@ "display_name": "System Message", "dynamic": false, "info": "System message to pass to the model.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -2084,7 +1932,7 @@ "trace_as_input": true, "trace_as_metadata": true, "type": "str", - "value": "" + "value": "admin@admin.com" }, "temperature": { "_input_type": "SliderInput", @@ -2140,10 +1988,10 @@ "type": "AnthropicModel" }, "dragging": false, - "id": "AnthropicModel-L37Qm", + "id": "AnthropicModel-RQQCm", "measured": { - "height": 896, - "width": 360 + "height": 797, + "width": 320 }, "position": { "x": 2585.5577736139826, @@ -2154,9 +2002,9 @@ } ], "viewport": { - "x": -637.4755295542625, - "y": -182.36005379554103, - "zoom": 0.5837207970729746 + "x": -366.41363591649906, + "y": 264.64346206947675, + "zoom": 0.5351858410044688 } }, "description": "Generates well-structured code for custom components following Langflow's specifications.", @@ -2167,8 +2015,5 @@ "is_component": false, "last_tested_version": "1.1.0", "name": "Custom Component Generator", - "tags": [ - "coding", - "web-scraping" - ] -} \ No newline at end of file + "tags": ["coding", "web-scraping"] +} diff --git a/src/backend/base/langflow/initial_setup/starter_projects/Document Q&A.json b/src/backend/base/langflow/initial_setup/starter_projects/Document Q&A.json index 3b9ec55dd..2e3405278 100644 --- a/src/backend/base/langflow/initial_setup/starter_projects/Document Q&A.json +++ b/src/backend/base/langflow/initial_setup/starter_projects/Document Q&A.json @@ -6,128 +6,115 @@ "data": { "sourceHandle": { "dataType": "File", - "id": "File-wUadf", + "id": "File-GwJQZ", "name": "data", - "output_types": [ - "Data" - ] + "output_types": ["Data"] }, "targetHandle": { "fieldName": "data", - "id": "ParseData-IJwYj", - "inputTypes": [ - "Data" - ], + "id": "ParseData-BbvKb", + "inputTypes": ["Data"], "type": "other" } }, - "id": "reactflow__edge-File-wUadf{œdataTypeœ:œFileœ,œidœ:œFile-wUadfœ,œnameœ:œdataœ,œoutput_typesœ:[œDataœ]}-ParseData-IJwYj{œfieldNameœ:œdataœ,œidœ:œParseData-IJwYjœ,œinputTypesœ:[œDataœ],œtypeœ:œotherœ}", - "source": "File-wUadf", - "sourceHandle": "{œdataTypeœ: œFileœ, œidœ: œFile-wUadfœ, œnameœ: œdataœ, œoutput_typesœ: [œDataœ]}", - "target": "ParseData-IJwYj", - "targetHandle": "{œfieldNameœ: œdataœ, œidœ: œParseData-IJwYjœ, œinputTypesœ: [œDataœ], œtypeœ: œotherœ}" + "id": "reactflow__edge-File-GwJQZ{œdataTypeœ:œFileœ,œidœ:œFile-GwJQZœ,œnameœ:œdataœ,œoutput_typesœ:[œDataœ]}-ParseData-BbvKb{œfieldNameœ:œdataœ,œidœ:œParseData-BbvKbœ,œinputTypesœ:[œDataœ],œtypeœ:œotherœ}", + "selected": false, + "source": "File-GwJQZ", + "sourceHandle": "{œdataTypeœ: œFileœ, œidœ: œFile-GwJQZœ, œnameœ: œdataœ, œoutput_typesœ: [œDataœ]}", + "target": "ParseData-BbvKb", + "targetHandle": "{œfieldNameœ: œdataœ, œidœ: œParseData-BbvKbœ, œinputTypesœ: [œDataœ], œtypeœ: œotherœ}" }, { "className": "", "data": { "sourceHandle": { "dataType": "ParseData", - "id": "ParseData-IJwYj", + "id": "ParseData-BbvKb", "name": "text", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "Document", - "id": "Prompt-5ubri", - "inputTypes": [ - "Message", - "Text" - ], + "id": "Prompt-yvZHT", + "inputTypes": ["Message", "Text"], "type": "str" } }, - "id": "reactflow__edge-ParseData-IJwYj{œdataTypeœ:œParseDataœ,œidœ:œParseData-IJwYjœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-Prompt-5ubri{œfieldNameœ:œDocumentœ,œidœ:œPrompt-5ubriœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", - "source": "ParseData-IJwYj", - "sourceHandle": "{œdataTypeœ: œParseDataœ, œidœ: œParseData-IJwYjœ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}", - "target": "Prompt-5ubri", - "targetHandle": "{œfieldNameœ: œDocumentœ, œidœ: œPrompt-5ubriœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-ParseData-BbvKb{œdataTypeœ:œParseDataœ,œidœ:œParseData-BbvKbœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-Prompt-yvZHT{œfieldNameœ:œDocumentœ,œidœ:œPrompt-yvZHTœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", + "selected": false, + "source": "ParseData-BbvKb", + "sourceHandle": "{œdataTypeœ: œParseDataœ, œidœ: œParseData-BbvKbœ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}", + "target": "Prompt-yvZHT", + "targetHandle": "{œfieldNameœ: œDocumentœ, œidœ: œPrompt-yvZHTœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" }, { + "className": "", "data": { "sourceHandle": { "dataType": "ChatInput", - "id": "ChatInput-VApZJ", + "id": "ChatInput-li477", "name": "message", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "input_value", - "id": "OpenAIModel-toIc8", - "inputTypes": [ - "Message" - ], + "id": "OpenAIModel-atkmo", + "inputTypes": ["Message"], "type": "str" } }, - "id": "xy-edge__ChatInput-VApZJ{œdataTypeœ:œChatInputœ,œidœ:œChatInput-VApZJœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-toIc8{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-toIc8œ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "ChatInput-VApZJ", - "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-VApZJœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", - "target": "OpenAIModel-toIc8", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œOpenAIModel-toIc8œ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-ChatInput-li477{œdataTypeœ:œChatInputœ,œidœ:œChatInput-li477œ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-atkmo{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-atkmoœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "selected": false, + "source": "ChatInput-li477", + "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-li477œ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", + "target": "OpenAIModel-atkmo", + "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œOpenAIModel-atkmoœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" }, { + "className": "", "data": { "sourceHandle": { "dataType": "Prompt", - "id": "Prompt-5ubri", + "id": "Prompt-yvZHT", "name": "prompt", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "system_message", - "id": "OpenAIModel-toIc8", - "inputTypes": [ - "Message" - ], + "id": "OpenAIModel-atkmo", + "inputTypes": ["Message"], "type": "str" } }, - "id": "xy-edge__Prompt-5ubri{œdataTypeœ:œPromptœ,œidœ:œPrompt-5ubriœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-toIc8{œfieldNameœ:œsystem_messageœ,œidœ:œOpenAIModel-toIc8œ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "Prompt-5ubri", - "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-5ubriœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", - "target": "OpenAIModel-toIc8", - "targetHandle": "{œfieldNameœ: œsystem_messageœ, œidœ: œOpenAIModel-toIc8œ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-Prompt-yvZHT{œdataTypeœ:œPromptœ,œidœ:œPrompt-yvZHTœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-atkmo{œfieldNameœ:œsystem_messageœ,œidœ:œOpenAIModel-atkmoœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "selected": false, + "source": "Prompt-yvZHT", + "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-yvZHTœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", + "target": "OpenAIModel-atkmo", + "targetHandle": "{œfieldNameœ: œsystem_messageœ, œidœ: œOpenAIModel-atkmoœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" }, { + "className": "", "data": { "sourceHandle": { "dataType": "OpenAIModel", - "id": "OpenAIModel-toIc8", + "id": "OpenAIModel-atkmo", "name": "text_output", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "input_value", - "id": "ChatOutput-8lufz", - "inputTypes": [ - "Message" - ], + "id": "ChatOutput-8pgwS", + "inputTypes": ["Message"], "type": "str" } }, - "id": "xy-edge__OpenAIModel-toIc8{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-toIc8œ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-8lufz{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-8lufzœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "OpenAIModel-toIc8", - "sourceHandle": "{œdataTypeœ: œOpenAIModelœ, œidœ: œOpenAIModel-toIc8œ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}", - "target": "ChatOutput-8lufz", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-8lufzœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-OpenAIModel-atkmo{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-atkmoœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-8pgwS{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-8pgwSœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "selected": false, + "source": "OpenAIModel-atkmo", + "sourceHandle": "{œdataTypeœ: œOpenAIModelœ, œidœ: œOpenAIModel-atkmoœ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}", + "target": "ChatOutput-8pgwS", + "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-8pgwSœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" } ], "nodes": [ @@ -135,11 +122,9 @@ "data": { "description": "Get chat inputs from the Playground.", "display_name": "Chat Input", - "id": "ChatInput-VApZJ", + "id": "ChatInput-li477", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -185,9 +170,7 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "background_color", @@ -206,9 +189,7 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "chat_icon", @@ -305,10 +286,7 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": [ - "Machine", - "User" - ], + "options": ["Machine", "User"], "placeholder": "", "required": false, "show": true, @@ -322,9 +300,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", @@ -342,9 +318,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", @@ -379,9 +353,7 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "text_color", @@ -400,10 +372,10 @@ }, "dragging": false, "height": 234, - "id": "ChatInput-VApZJ", + "id": "ChatInput-li477", "measured": { "height": 234, - "width": 360 + "width": 320 }, "position": { "x": 516.7529480335185, @@ -421,11 +393,9 @@ "data": { "description": "Display a chat message in the Playground.", "display_name": "Chat Output", - "id": "ChatOutput-8lufz", + "id": "ChatOutput-8pgwS", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -474,9 +444,7 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "background_color", @@ -496,9 +464,7 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "chat_icon", @@ -536,9 +502,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", @@ -558,9 +522,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", @@ -581,10 +543,7 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": [ - "Machine", - "User" - ], + "options": ["Machine", "User"], "placeholder": "", "required": false, "show": true, @@ -600,9 +559,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", @@ -622,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", @@ -660,9 +615,7 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "text_color", @@ -683,10 +636,10 @@ }, "dragging": false, "height": 234, - "id": "ChatOutput-8lufz", + "id": "ChatOutput-8pgwS", "measured": { "height": 234, - "width": 360 + "width": 320 }, "position": { "x": 1631.3766926569258, @@ -704,11 +657,9 @@ "data": { "description": "Convert Data into plain text following a specified template.", "display_name": "Parse Data", - "id": "ParseData-IJwYj", + "id": "ParseData-BbvKb", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -716,11 +667,7 @@ "display_name": "Parse Data", "documentation": "", "edited": false, - "field_order": [ - "data", - "template", - "sep" - ], + "field_order": ["data", "template", "sep"], "frozen": false, "icon": "message-square", "legacy": false, @@ -781,9 +728,7 @@ "display_name": "Data", "dynamic": false, "info": "The data to convert to text.", - "input_types": [ - "Data" - ], + "input_types": ["Data"], "list": true, "name": "data", "placeholder": "", @@ -816,9 +761,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, @@ -838,10 +781,10 @@ }, "dragging": false, "height": 302, - "id": "ParseData-IJwYj", + "id": "ParseData-BbvKb", "measured": { "height": 302, - "width": 360 + "width": 320 }, "position": { "x": 514.8054600415829, @@ -857,7 +800,7 @@ }, { "data": { - "id": "note-bAopU", + "id": "note-e77cr", "node": { "description": "## Get Your OpenAI API Key\n\n**Steps**:\n\n1. **Visit** [OpenAI's API Key Page](https://platform.openai.com/api-keys).\n\n2. **Log In/Sign Up**:\n - Log in or create a new OpenAI account.\n\n3. **Generate API Key**:\n - Click \"Create New Secret Key\" to obtain your key.\n\n4. **Store Your Key Securely**:\n - Note it down as it will only display once.\n\n5. **Enter API Key**:\n - Input your key in the OpenAI API Key field within the component setup.\n\nKeep your key safe and manage it responsibly!", "display_name": "", @@ -870,10 +813,10 @@ }, "dragging": true, "height": 325, - "id": "note-bAopU", + "id": "note-e77cr", "measured": { - "height": 325, - "width": 328 + "height": 324, + "width": 325 }, "position": { "x": 1253.2038187140245, @@ -889,7 +832,7 @@ }, { "data": { - "id": "note-XuFcb", + "id": "note-0kA8I", "node": { "description": "# Document Q&A\n\n**Purpose:**\nThis flow leverages a language model to answer questions based on content from a loaded document. It's ideal for obtaining quick insights from PDFs or other text files by asking direct questions.\n\n**Components**:\n1. **File Component**: Loads and processes your document in supported formats.\n2. **Parse Data**: Converts the loaded document into text using a specified template for consistent processing.\n3. **Prompt Component**: Forms a structured query by combining the parsed document content with user questions.\n4. **OpenAI Model**: Engages OpenAI's language model to generate responses to queries based on the document context.\n5. **Chat Input/Output**: Facilitates user queries and displays AI-generated answers seamlessly.\n\n**Steps to Use**:\n1. **Upload Document**: Use the \"File\" component to upload a document or text file you want to query.\n2. **Enter Question**: Through the \"Chat Input\" field, type your question related to the document content.\n3. **Run the Flow**: Activate the flow to process the input and generate an answer using the OpenAI model.\n4. **View Response**: Read the generated answer in the \"Chat Output\" field for immediate insights.\n\n**Benefits**:\n- Simplifies the process of extracting information from documents.\n- Provides a user-friendly interface for interactive document exploration using AI.\n", "display_name": "", @@ -900,10 +843,10 @@ }, "dragging": false, "height": 452, - "id": "note-XuFcb", + "id": "note-0kA8I", "measured": { - "height": 452, - "width": 328 + "height": 408, + "width": 325 }, "position": { "x": -338.7070086205371, @@ -917,18 +860,16 @@ "selected": false, "style": { "height": 452, - "width": 469 + "width": 324 }, "type": "noteNode", - "width": 469 + "width": 324 }, { "data": { - "id": "File-wUadf", + "id": "File-GwJQZ", "node": { - "base_classes": [ - "Data" - ], + "base_classes": ["Data"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -1022,10 +963,7 @@ "display_name": "Server File Path", "dynamic": false, "info": "Data object with a 'file_path' property pointing to server file or a Message object with a path to the file. Supercedes 'Path' but supports same file types.", - "input_types": [ - "Data", - "Message" - ], + "input_types": ["Data", "Message"], "list": true, "name": "file_path", "placeholder": "", @@ -1149,10 +1087,10 @@ }, "dragging": false, "height": 232, - "id": "File-wUadf", + "id": "File-GwJQZ", "measured": { "height": 232, - "width": 360 + "width": 320 }, "position": { "x": 150.6029945346864, @@ -1162,7 +1100,7 @@ "x": 155.39382083637838, "y": -82.32805525710685 }, - "selected": true, + "selected": false, "type": "genericNode", "width": 320 }, @@ -1170,26 +1108,20 @@ "data": { "description": "Create a prompt template with dynamic variables.", "display_name": "Prompt", - "id": "Prompt-5ubri", + "id": "Prompt-yvZHT", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": { - "template": [ - "Document" - ] + "template": ["Document"] }, "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", @@ -1226,10 +1158,7 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": [ - "Message", - "Text" - ], + "input_types": ["Message", "Text"], "list": false, "load_from_db": false, "multiline": true, @@ -1282,9 +1211,7 @@ "display_name": "Tool Placeholder", "dynamic": false, "info": "A placeholder input for tool mode.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "tool_placeholder", @@ -1305,10 +1232,10 @@ }, "dragging": false, "height": 347, - "id": "Prompt-5ubri", + "id": "Prompt-yvZHT", "measured": { "height": 347, - "width": 360 + "width": 320 }, "position": { "x": 882.4192413332464, @@ -1324,12 +1251,9 @@ }, { "data": { - "id": "OpenAIModel-toIc8", + "id": "OpenAIModel-atkmo", "node": { - "base_classes": [ - "LanguageModel", - "Message" - ], + "base_classes": ["LanguageModel", "Message"], "beta": false, "category": "models", "conditional_paths": [], @@ -1379,9 +1303,7 @@ "display_name": "Language Model", "method": "build_model", "name": "model_output", - "required_inputs": [ - "api_key" - ], + "required_inputs": ["api_key"], "selected": "LanguageModel", "tool_mode": true, "types": [ @@ -1400,9 +1322,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, @@ -1411,7 +1331,7 @@ "show": true, "title_case": false, "type": "str", - "value": "OPENAI_API_KEY" + "value": "" }, "code": { "advanced": true, @@ -1437,9 +1357,7 @@ "display_name": "Input", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1603,9 +1521,7 @@ "display_name": "System Message", "dynamic": false, "info": "System message to pass to the model.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1656,10 +1572,10 @@ "type": "OpenAIModel" }, "dragging": false, - "id": "OpenAIModel-toIc8", + "id": "OpenAIModel-atkmo", "measured": { - "height": 734, - "width": 360 + "height": 653, + "width": 320 }, "position": { "x": 1257.1422612381514, @@ -1683,9 +1599,5 @@ "is_component": false, "last_tested_version": "1.0.19.post2", "name": "Document Q&A", - "tags": [ - "rag", - "q-a", - "openai" - ] -} \ No newline at end of file + "tags": ["rag", "q-a", "openai"] +} diff --git a/src/backend/base/langflow/initial_setup/starter_projects/Graph Vector Store RAG.json b/src/backend/base/langflow/initial_setup/starter_projects/Graph Vector Store RAG.json index 53bb2107a..16d3b57db 100644 --- a/src/backend/base/langflow/initial_setup/starter_projects/Graph Vector Store RAG.json +++ b/src/backend/base/langflow/initial_setup/starter_projects/Graph Vector Store RAG.json @@ -7,27 +7,23 @@ "data": { "sourceHandle": { "dataType": "OpenAIEmbeddings", - "id": "OpenAIEmbeddings-gwVof", + "id": "OpenAIEmbeddings-jyvkr", "name": "embeddings", - "output_types": [ - "Embeddings" - ] + "output_types": ["Embeddings"] }, "targetHandle": { "fieldName": "embedding_model", - "id": "AstraDBGraph-LdFgZ", - "inputTypes": [ - "Embeddings" - ], + "id": "AstraDBGraph-jr8pY", + "inputTypes": ["Embeddings"], "type": "other" } }, - "id": "reactflow__edge-OpenAIEmbeddings-gwVof{œdataTypeœ:œOpenAIEmbeddingsœ,œidœ:œOpenAIEmbeddings-gwVofœ,œnameœ:œembeddingsœ,œoutput_typesœ:[œEmbeddingsœ]}-AstraDBGraph-LdFgZ{œfieldNameœ:œembedding_modelœ,œidœ:œAstraDBGraph-LdFgZœ,œinputTypesœ:[œEmbeddingsœ],œtypeœ:œotherœ}", + "id": "reactflow__edge-OpenAIEmbeddings-jyvkr{œdataTypeœ:œOpenAIEmbeddingsœ,œidœ:œOpenAIEmbeddings-jyvkrœ,œnameœ:œembeddingsœ,œoutput_typesœ:[œEmbeddingsœ]}-AstraDBGraph-jr8pY{œfieldNameœ:œembedding_modelœ,œidœ:œAstraDBGraph-jr8pYœ,œinputTypesœ:[œEmbeddingsœ],œtypeœ:œotherœ}", "selected": false, - "source": "OpenAIEmbeddings-gwVof", - "sourceHandle": "{œdataTypeœ: œOpenAIEmbeddingsœ, œidœ: œOpenAIEmbeddings-gwVofœ, œnameœ: œembeddingsœ, œoutput_typesœ: [œEmbeddingsœ]}", - "target": "AstraDBGraph-LdFgZ", - "targetHandle": "{œfieldNameœ: œembedding_modelœ, œidœ: œAstraDBGraph-LdFgZœ, œinputTypesœ: [œEmbeddingsœ], œtypeœ: œotherœ}" + "source": "OpenAIEmbeddings-jyvkr", + "sourceHandle": "{œdataTypeœ: œOpenAIEmbeddingsœ, œidœ: œOpenAIEmbeddings-jyvkrœ, œnameœ: œembeddingsœ, œoutput_typesœ: [œEmbeddingsœ]}", + "target": "AstraDBGraph-jr8pY", + "targetHandle": "{œfieldNameœ: œembedding_modelœ, œidœ: œAstraDBGraph-jr8pYœ, œinputTypesœ: [œEmbeddingsœ], œtypeœ: œotherœ}" }, { "animated": false, @@ -35,27 +31,23 @@ "data": { "sourceHandle": { "dataType": "ChatInput", - "id": "ChatInput-vz6Qy", + "id": "ChatInput-ZCSfi", "name": "message", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "search_query", - "id": "AstraDBGraph-LdFgZ", - "inputTypes": [ - "Message" - ], + "id": "AstraDBGraph-jr8pY", + "inputTypes": ["Message"], "type": "str" } }, - "id": "reactflow__edge-ChatInput-vz6Qy{œdataTypeœ:œChatInputœ,œidœ:œChatInput-vz6Qyœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-AstraDBGraph-LdFgZ{œfieldNameœ:œsearch_queryœ,œidœ:œAstraDBGraph-LdFgZœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-ChatInput-ZCSfi{œdataTypeœ:œChatInputœ,œidœ:œChatInput-ZCSfiœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-AstraDBGraph-jr8pY{œfieldNameœ:œsearch_queryœ,œidœ:œAstraDBGraph-jr8pYœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "ChatInput-vz6Qy", - "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-vz6Qyœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", - "target": "AstraDBGraph-LdFgZ", - "targetHandle": "{œfieldNameœ: œsearch_queryœ, œidœ: œAstraDBGraph-LdFgZœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "source": "ChatInput-ZCSfi", + "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-ZCSfiœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", + "target": "AstraDBGraph-jr8pY", + "targetHandle": "{œfieldNameœ: œsearch_queryœ, œidœ: œAstraDBGraph-jr8pYœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" }, { "animated": false, @@ -63,27 +55,23 @@ "data": { "sourceHandle": { "dataType": "AstraDBGraph", - "id": "AstraDBGraph-LdFgZ", + "id": "AstraDBGraph-jr8pY", "name": "search_results", - "output_types": [ - "Data" - ] + "output_types": ["Data"] }, "targetHandle": { "fieldName": "data", - "id": "ParseData-KSu0D", - "inputTypes": [ - "Data" - ], + "id": "ParseData-T6FGT", + "inputTypes": ["Data"], "type": "other" } }, - "id": "reactflow__edge-AstraDBGraph-LdFgZ{œdataTypeœ:œAstraDBGraphœ,œidœ:œAstraDBGraph-LdFgZœ,œnameœ:œsearch_resultsœ,œoutput_typesœ:[œDataœ]}-ParseData-KSu0D{œfieldNameœ:œdataœ,œidœ:œParseData-KSu0Dœ,œinputTypesœ:[œDataœ],œtypeœ:œotherœ}", + "id": "reactflow__edge-AstraDBGraph-jr8pY{œdataTypeœ:œAstraDBGraphœ,œidœ:œAstraDBGraph-jr8pYœ,œnameœ:œsearch_resultsœ,œoutput_typesœ:[œDataœ]}-ParseData-T6FGT{œfieldNameœ:œdataœ,œidœ:œParseData-T6FGTœ,œinputTypesœ:[œDataœ],œtypeœ:œotherœ}", "selected": false, - "source": "AstraDBGraph-LdFgZ", - "sourceHandle": "{œdataTypeœ: œAstraDBGraphœ, œidœ: œAstraDBGraph-LdFgZœ, œnameœ: œsearch_resultsœ, œoutput_typesœ: [œDataœ]}", - "target": "ParseData-KSu0D", - "targetHandle": "{œfieldNameœ: œdataœ, œidœ: œParseData-KSu0Dœ, œinputTypesœ: [œDataœ], œtypeœ: œotherœ}" + "source": "AstraDBGraph-jr8pY", + "sourceHandle": "{œdataTypeœ: œAstraDBGraphœ, œidœ: œAstraDBGraph-jr8pYœ, œnameœ: œsearch_resultsœ, œoutput_typesœ: [œDataœ]}", + "target": "ParseData-T6FGT", + "targetHandle": "{œfieldNameœ: œdataœ, œidœ: œParseData-T6FGTœ, œinputTypesœ: [œDataœ], œtypeœ: œotherœ}" }, { "animated": false, @@ -91,28 +79,23 @@ "data": { "sourceHandle": { "dataType": "ParseData", - "id": "ParseData-KSu0D", + "id": "ParseData-T6FGT", "name": "text", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "context", - "id": "Prompt-YYjDd", - "inputTypes": [ - "Message", - "Text" - ], + "id": "Prompt-2M2d5", + "inputTypes": ["Message", "Text"], "type": "str" } }, - "id": "reactflow__edge-ParseData-KSu0D{œdataTypeœ:œParseDataœ,œidœ:œParseData-KSu0Dœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-Prompt-YYjDd{œfieldNameœ:œcontextœ,œidœ:œPrompt-YYjDdœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-ParseData-T6FGT{œdataTypeœ:œParseDataœ,œidœ:œParseData-T6FGTœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-Prompt-2M2d5{œfieldNameœ:œcontextœ,œidœ:œPrompt-2M2d5œ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", "selected": false, - "source": "ParseData-KSu0D", - "sourceHandle": "{œdataTypeœ: œParseDataœ, œidœ: œParseData-KSu0Dœ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}", - "target": "Prompt-YYjDd", - "targetHandle": "{œfieldNameœ: œcontextœ, œidœ: œPrompt-YYjDdœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" + "source": "ParseData-T6FGT", + "sourceHandle": "{œdataTypeœ: œParseDataœ, œidœ: œParseData-T6FGTœ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}", + "target": "Prompt-2M2d5", + "targetHandle": "{œfieldNameœ: œcontextœ, œidœ: œPrompt-2M2d5œ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" }, { "animated": false, @@ -120,28 +103,23 @@ "data": { "sourceHandle": { "dataType": "ChatInput", - "id": "ChatInput-vz6Qy", + "id": "ChatInput-ZCSfi", "name": "message", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "question", - "id": "Prompt-YYjDd", - "inputTypes": [ - "Message", - "Text" - ], + "id": "Prompt-2M2d5", + "inputTypes": ["Message", "Text"], "type": "str" } }, - "id": "reactflow__edge-ChatInput-vz6Qy{œdataTypeœ:œChatInputœ,œidœ:œChatInput-vz6Qyœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-Prompt-YYjDd{œfieldNameœ:œquestionœ,œidœ:œPrompt-YYjDdœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-ChatInput-ZCSfi{œdataTypeœ:œChatInputœ,œidœ:œChatInput-ZCSfiœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-Prompt-2M2d5{œfieldNameœ:œquestionœ,œidœ:œPrompt-2M2d5œ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", "selected": false, - "source": "ChatInput-vz6Qy", - "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-vz6Qyœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", - "target": "Prompt-YYjDd", - "targetHandle": "{œfieldNameœ: œquestionœ, œidœ: œPrompt-YYjDdœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" + "source": "ChatInput-ZCSfi", + "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-ZCSfiœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", + "target": "Prompt-2M2d5", + "targetHandle": "{œfieldNameœ: œquestionœ, œidœ: œPrompt-2M2d5œ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" }, { "animated": false, @@ -149,27 +127,23 @@ "data": { "sourceHandle": { "dataType": "Prompt", - "id": "Prompt-YYjDd", + "id": "Prompt-2M2d5", "name": "prompt", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "input_value", - "id": "OpenAIModel-4odsT", - "inputTypes": [ - "Message" - ], + "id": "OpenAIModel-a26gL", + "inputTypes": ["Message"], "type": "str" } }, - "id": "reactflow__edge-Prompt-YYjDd{œdataTypeœ:œPromptœ,œidœ:œPrompt-YYjDdœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-4odsT{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-4odsTœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-Prompt-2M2d5{œdataTypeœ:œPromptœ,œidœ:œPrompt-2M2d5œ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-a26gL{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-a26gLœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "Prompt-YYjDd", - "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-YYjDdœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", - "target": "OpenAIModel-4odsT", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œOpenAIModel-4odsTœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "source": "Prompt-2M2d5", + "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-2M2d5œ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", + "target": "OpenAIModel-a26gL", + "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œOpenAIModel-a26gLœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" }, { "animated": false, @@ -177,27 +151,23 @@ "data": { "sourceHandle": { "dataType": "OpenAIModel", - "id": "OpenAIModel-4odsT", + "id": "OpenAIModel-a26gL", "name": "text_output", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "input_value", - "id": "ChatOutput-7mjeM", - "inputTypes": [ - "Message" - ], + "id": "ChatOutput-XL9ho", + "inputTypes": ["Message"], "type": "str" } }, - "id": "reactflow__edge-OpenAIModel-4odsT{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-4odsTœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-7mjeM{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-7mjeMœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-OpenAIModel-a26gL{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-a26gLœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-XL9ho{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-XL9hoœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "OpenAIModel-4odsT", - "sourceHandle": "{œdataTypeœ: œOpenAIModelœ, œidœ: œOpenAIModel-4odsTœ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}", - "target": "ChatOutput-7mjeM", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-7mjeMœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "source": "OpenAIModel-a26gL", + "sourceHandle": "{œdataTypeœ: œOpenAIModelœ, œidœ: œOpenAIModel-a26gLœ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}", + "target": "ChatOutput-XL9ho", + "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-XL9hoœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" }, { "animated": false, @@ -205,28 +175,23 @@ "data": { "sourceHandle": { "dataType": "URL", - "id": "URL-jjkEI", + "id": "URL-fyWIL", "name": "data", - "output_types": [ - "Data" - ] + "output_types": ["Data"] }, "targetHandle": { "fieldName": "data_input", - "id": "LanguageRecursiveTextSplitter-wmtIz", - "inputTypes": [ - "Document", - "Data" - ], + "id": "LanguageRecursiveTextSplitter-jefpx", + "inputTypes": ["Document", "Data"], "type": "other" } }, - "id": "reactflow__edge-URL-jjkEI{œdataTypeœ:œURLœ,œidœ:œURL-jjkEIœ,œnameœ:œdataœ,œoutput_typesœ:[œDataœ]}-LanguageRecursiveTextSplitter-wmtIz{œfieldNameœ:œdata_inputœ,œidœ:œLanguageRecursiveTextSplitter-wmtIzœ,œinputTypesœ:[œDocumentœ,œDataœ],œtypeœ:œotherœ}", + "id": "reactflow__edge-URL-fyWIL{œdataTypeœ:œURLœ,œidœ:œURL-fyWILœ,œnameœ:œdataœ,œoutput_typesœ:[œDataœ]}-LanguageRecursiveTextSplitter-jefpx{œfieldNameœ:œdata_inputœ,œidœ:œLanguageRecursiveTextSplitter-jefpxœ,œinputTypesœ:[œDocumentœ,œDataœ],œtypeœ:œotherœ}", "selected": false, - "source": "URL-jjkEI", - "sourceHandle": "{œdataTypeœ: œURLœ, œidœ: œURL-jjkEIœ, œnameœ: œdataœ, œoutput_typesœ: [œDataœ]}", - "target": "LanguageRecursiveTextSplitter-wmtIz", - "targetHandle": "{œfieldNameœ: œdata_inputœ, œidœ: œLanguageRecursiveTextSplitter-wmtIzœ, œinputTypesœ: [œDocumentœ, œDataœ], œtypeœ: œotherœ}" + "source": "URL-fyWIL", + "sourceHandle": "{œdataTypeœ: œURLœ, œidœ: œURL-fyWILœ, œnameœ: œdataœ, œoutput_typesœ: [œDataœ]}", + "target": "LanguageRecursiveTextSplitter-jefpx", + "targetHandle": "{œfieldNameœ: œdata_inputœ, œidœ: œLanguageRecursiveTextSplitter-jefpxœ, œinputTypesœ: [œDocumentœ, œDataœ], œtypeœ: œotherœ}" }, { "animated": false, @@ -234,28 +199,23 @@ "data": { "sourceHandle": { "dataType": "LanguageRecursiveTextSplitter", - "id": "LanguageRecursiveTextSplitter-wmtIz", + "id": "LanguageRecursiveTextSplitter-jefpx", "name": "data", - "output_types": [ - "Data" - ] + "output_types": ["Data"] }, "targetHandle": { "fieldName": "data_input", - "id": "HtmlLinkExtractor-MyH7H", - "inputTypes": [ - "Document", - "Data" - ], + "id": "HtmlLinkExtractor-exHgk", + "inputTypes": ["Document", "Data"], "type": "other" } }, - "id": "reactflow__edge-LanguageRecursiveTextSplitter-wmtIz{œdataTypeœ:œLanguageRecursiveTextSplitterœ,œidœ:œLanguageRecursiveTextSplitter-wmtIzœ,œnameœ:œdataœ,œoutput_typesœ:[œDataœ]}-HtmlLinkExtractor-MyH7H{œfieldNameœ:œdata_inputœ,œidœ:œHtmlLinkExtractor-MyH7Hœ,œinputTypesœ:[œDocumentœ,œDataœ],œtypeœ:œotherœ}", + "id": "reactflow__edge-LanguageRecursiveTextSplitter-jefpx{œdataTypeœ:œLanguageRecursiveTextSplitterœ,œidœ:œLanguageRecursiveTextSplitter-jefpxœ,œnameœ:œdataœ,œoutput_typesœ:[œDataœ]}-HtmlLinkExtractor-exHgk{œfieldNameœ:œdata_inputœ,œidœ:œHtmlLinkExtractor-exHgkœ,œinputTypesœ:[œDocumentœ,œDataœ],œtypeœ:œotherœ}", "selected": false, - "source": "LanguageRecursiveTextSplitter-wmtIz", - "sourceHandle": "{œdataTypeœ: œLanguageRecursiveTextSplitterœ, œidœ: œLanguageRecursiveTextSplitter-wmtIzœ, œnameœ: œdataœ, œoutput_typesœ: [œDataœ]}", - "target": "HtmlLinkExtractor-MyH7H", - "targetHandle": "{œfieldNameœ: œdata_inputœ, œidœ: œHtmlLinkExtractor-MyH7Hœ, œinputTypesœ: [œDocumentœ, œDataœ], œtypeœ: œotherœ}" + "source": "LanguageRecursiveTextSplitter-jefpx", + "sourceHandle": "{œdataTypeœ: œLanguageRecursiveTextSplitterœ, œidœ: œLanguageRecursiveTextSplitter-jefpxœ, œnameœ: œdataœ, œoutput_typesœ: [œDataœ]}", + "target": "HtmlLinkExtractor-exHgk", + "targetHandle": "{œfieldNameœ: œdata_inputœ, œidœ: œHtmlLinkExtractor-exHgkœ, œinputTypesœ: [œDocumentœ, œDataœ], œtypeœ: œotherœ}" }, { "animated": false, @@ -263,27 +223,23 @@ "data": { "sourceHandle": { "dataType": "HtmlLinkExtractor", - "id": "HtmlLinkExtractor-MyH7H", + "id": "HtmlLinkExtractor-exHgk", "name": "data", - "output_types": [ - "Data" - ] + "output_types": ["Data"] }, "targetHandle": { "fieldName": "ingest_data", - "id": "AstraDBGraph-WPnB7", - "inputTypes": [ - "Data" - ], + "id": "AstraDBGraph-FX0tA", + "inputTypes": ["Data"], "type": "other" } }, - "id": "reactflow__edge-HtmlLinkExtractor-MyH7H{œdataTypeœ:œHtmlLinkExtractorœ,œidœ:œHtmlLinkExtractor-MyH7Hœ,œnameœ:œdataœ,œoutput_typesœ:[œDataœ]}-AstraDBGraph-WPnB7{œfieldNameœ:œingest_dataœ,œidœ:œAstraDBGraph-WPnB7œ,œinputTypesœ:[œDataœ],œtypeœ:œotherœ}", + "id": "reactflow__edge-HtmlLinkExtractor-exHgk{œdataTypeœ:œHtmlLinkExtractorœ,œidœ:œHtmlLinkExtractor-exHgkœ,œnameœ:œdataœ,œoutput_typesœ:[œDataœ]}-AstraDBGraph-FX0tA{œfieldNameœ:œingest_dataœ,œidœ:œAstraDBGraph-FX0tAœ,œinputTypesœ:[œDataœ],œtypeœ:œotherœ}", "selected": false, - "source": "HtmlLinkExtractor-MyH7H", - "sourceHandle": "{œdataTypeœ: œHtmlLinkExtractorœ, œidœ: œHtmlLinkExtractor-MyH7Hœ, œnameœ: œdataœ, œoutput_typesœ: [œDataœ]}", - "target": "AstraDBGraph-WPnB7", - "targetHandle": "{œfieldNameœ: œingest_dataœ, œidœ: œAstraDBGraph-WPnB7œ, œinputTypesœ: [œDataœ], œtypeœ: œotherœ}" + "source": "HtmlLinkExtractor-exHgk", + "sourceHandle": "{œdataTypeœ: œHtmlLinkExtractorœ, œidœ: œHtmlLinkExtractor-exHgkœ, œnameœ: œdataœ, œoutput_typesœ: [œDataœ]}", + "target": "AstraDBGraph-FX0tA", + "targetHandle": "{œfieldNameœ: œingest_dataœ, œidœ: œAstraDBGraph-FX0tAœ, œinputTypesœ: [œDataœ], œtypeœ: œotherœ}" }, { "animated": false, @@ -291,37 +247,31 @@ "data": { "sourceHandle": { "dataType": "OpenAIEmbeddings", - "id": "OpenAIEmbeddings-SoMI2", + "id": "OpenAIEmbeddings-83wEc", "name": "embeddings", - "output_types": [ - "Embeddings" - ] + "output_types": ["Embeddings"] }, "targetHandle": { "fieldName": "embedding_model", - "id": "AstraDBGraph-WPnB7", - "inputTypes": [ - "Embeddings" - ], + "id": "AstraDBGraph-FX0tA", + "inputTypes": ["Embeddings"], "type": "other" } }, - "id": "reactflow__edge-OpenAIEmbeddings-SoMI2{œdataTypeœ:œOpenAIEmbeddingsœ,œidœ:œOpenAIEmbeddings-SoMI2œ,œnameœ:œembeddingsœ,œoutput_typesœ:[œEmbeddingsœ]}-AstraDBGraph-WPnB7{œfieldNameœ:œembedding_modelœ,œidœ:œAstraDBGraph-WPnB7œ,œinputTypesœ:[œEmbeddingsœ],œtypeœ:œotherœ}", + "id": "reactflow__edge-OpenAIEmbeddings-83wEc{œdataTypeœ:œOpenAIEmbeddingsœ,œidœ:œOpenAIEmbeddings-83wEcœ,œnameœ:œembeddingsœ,œoutput_typesœ:[œEmbeddingsœ]}-AstraDBGraph-FX0tA{œfieldNameœ:œembedding_modelœ,œidœ:œAstraDBGraph-FX0tAœ,œinputTypesœ:[œEmbeddingsœ],œtypeœ:œotherœ}", "selected": false, - "source": "OpenAIEmbeddings-SoMI2", - "sourceHandle": "{œdataTypeœ: œOpenAIEmbeddingsœ, œidœ: œOpenAIEmbeddings-SoMI2œ, œnameœ: œembeddingsœ, œoutput_typesœ: [œEmbeddingsœ]}", - "target": "AstraDBGraph-WPnB7", - "targetHandle": "{œfieldNameœ: œembedding_modelœ, œidœ: œAstraDBGraph-WPnB7œ, œinputTypesœ: [œEmbeddingsœ], œtypeœ: œotherœ}" + "source": "OpenAIEmbeddings-83wEc", + "sourceHandle": "{œdataTypeœ: œOpenAIEmbeddingsœ, œidœ: œOpenAIEmbeddings-83wEcœ, œnameœ: œembeddingsœ, œoutput_typesœ: [œEmbeddingsœ]}", + "target": "AstraDBGraph-FX0tA", + "targetHandle": "{œfieldNameœ: œembedding_modelœ, œidœ: œAstraDBGraph-FX0tAœ, œinputTypesœ: [œEmbeddingsœ], œtypeœ: œotherœ}" } ], "nodes": [ { "data": { - "id": "ChatInput-vz6Qy", + "id": "ChatInput-ZCSfi", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -370,9 +320,7 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "background_color", @@ -392,9 +340,7 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "chat_icon", @@ -497,10 +443,7 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": [ - "Machine", - "User" - ], + "options": ["Machine", "User"], "placeholder": "", "required": false, "show": true, @@ -516,9 +459,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", @@ -538,9 +479,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", @@ -576,9 +515,7 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "text_color", @@ -599,7 +536,7 @@ }, "dragging": false, "height": 233, - "id": "ChatInput-vz6Qy", + "id": "ChatInput-ZCSfi", "measured": { "height": 233, "width": 320 @@ -618,11 +555,9 @@ }, { "data": { - "id": "OpenAIEmbeddings-gwVof", + "id": "OpenAIEmbeddings-jyvkr", "node": { - "base_classes": [ - "Embeddings" - ], + "base_classes": ["Embeddings"], "beta": false, "category": "embeddings", "conditional_paths": [], @@ -668,9 +603,7 @@ "display_name": "Embeddings", "method": "build_embeddings", "name": "embeddings", - "required_inputs": [ - "openai_api_key" - ], + "required_inputs": ["openai_api_key"], "selected": "Embeddings", "tool_mode": true, "types": [ @@ -705,9 +638,7 @@ "display_name": "Client", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "client", @@ -777,9 +708,7 @@ "display_name": "Deployment", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "deployment", @@ -885,9 +814,7 @@ "display_name": "OpenAI API Base", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "openai_api_base", @@ -907,10 +834,8 @@ "display_name": "OpenAI API Key", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], - "load_from_db": true, + "input_types": ["Message"], + "load_from_db": false, "name": "openai_api_key", "password": true, "placeholder": "", @@ -918,7 +843,7 @@ "show": true, "title_case": false, "type": "str", - "value": "OPENAI_API_KEY" + "value": "" }, "openai_api_type": { "_input_type": "MessageTextInput", @@ -926,9 +851,7 @@ "display_name": "OpenAI API Type", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "openai_api_type", @@ -948,9 +871,7 @@ "display_name": "OpenAI API Version", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "openai_api_version", @@ -970,9 +891,7 @@ "display_name": "OpenAI Organization", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "openai_organization", @@ -992,9 +911,7 @@ "display_name": "OpenAI Proxy", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "openai_proxy", @@ -1078,9 +995,7 @@ "display_name": "TikToken Model Name", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "tiktoken_model_name", @@ -1101,7 +1016,7 @@ }, "dragging": false, "height": 320, - "id": "OpenAIEmbeddings-gwVof", + "id": "OpenAIEmbeddings-jyvkr", "measured": { "height": 320, "width": 320 @@ -1122,11 +1037,9 @@ "data": { "description": "Implementation of Graph Vector Store using Astra DB", "display_name": "Astra DB Graph", - "id": "AstraDBGraph-LdFgZ", + "id": "AstraDBGraph-jr8pY", "node": { - "base_classes": [ - "Data" - ], + "base_classes": ["Data"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -1172,11 +1085,7 @@ "display_name": "Search Results", "method": "search_documents", "name": "search_results", - "required_inputs": [ - "api_endpoint", - "collection_name", - "token" - ], + "required_inputs": ["api_endpoint", "collection_name", "token"], "selected": "Data", "tool_mode": true, "types": [ @@ -1208,10 +1117,8 @@ "display_name": "API Endpoint", "dynamic": false, "info": "API endpoint URL for the Astra DB service.", - "input_types": [ - "Message" - ], - "load_from_db": true, + "input_types": ["Message"], + "load_from_db": false, "name": "api_endpoint", "password": true, "placeholder": "", @@ -1219,7 +1126,7 @@ "show": true, "title_case": false, "type": "str", - "value": "ASTRA_DB_API_ENDPOINT" + "value": "" }, "batch_size": { "_input_type": "IntInput", @@ -1349,9 +1256,7 @@ "display_name": "Embedding Model", "dynamic": false, "info": "Allows an embedding model configuration.", - "input_types": [ - "Embeddings" - ], + "input_types": ["Embeddings"], "list": false, "name": "embedding_model", "placeholder": "", @@ -1368,9 +1273,7 @@ "display_name": "Ingest Data", "dynamic": false, "info": "", - "input_types": [ - "Data" - ], + "input_types": ["Data"], "list": false, "name": "ingest_data", "placeholder": "", @@ -1435,9 +1338,7 @@ "tool_mode": false, "trace_as_metadata": true, "type": "str", - "value": [ - "" - ] + "value": [""] }, "metadata_indexing_include": { "_input_type": "StrInput", @@ -1465,11 +1366,7 @@ "dynamic": false, "info": "Optional distance metric for vector comparisons in the vector store.", "name": "metric", - "options": [ - "cosine", - "dot_product", - "euclidean" - ], + "options": ["cosine", "dot_product", "euclidean"], "placeholder": "", "required": false, "show": true, @@ -1537,9 +1434,7 @@ "display_name": "Search Query", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "multiline": true, @@ -1604,10 +1499,7 @@ "dynamic": false, "info": "Configuration mode for setting up the vector store, with options like 'Sync', or 'Off'.", "name": "setup_mode", - "options": [ - "Sync", - "Off" - ], + "options": ["Sync", "Off"], "placeholder": "", "required": false, "show": true, @@ -1623,10 +1515,8 @@ "display_name": "Astra DB Application Token", "dynamic": false, "info": "Authentication token for accessing Astra DB.", - "input_types": [ - "Message" - ], - "load_from_db": true, + "input_types": ["Message"], + "load_from_db": false, "name": "token", "password": true, "placeholder": "", @@ -1634,7 +1524,7 @@ "show": true, "title_case": false, "type": "str", - "value": "ASTRA_DB_APPLICATION_TOKEN" + "value": "" } }, "tool_mode": false @@ -1642,9 +1532,9 @@ "type": "AstraDBGraph" }, "dragging": false, - "id": "AstraDBGraph-LdFgZ", + "id": "AstraDBGraph-jr8pY", "measured": { - "height": 634, + "height": 631, "width": 320 }, "position": { @@ -1658,12 +1548,9 @@ "data": { "description": "Convert Data into plain text following a specified template.", "display_name": "Parse Data", - "id": "ParseData-KSu0D", + "id": "ParseData-T6FGT", "node": { - "base_classes": [ - "Data", - "Message" - ], + "base_classes": ["Data", "Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -1671,11 +1558,7 @@ "display_name": "Parse Data", "documentation": "", "edited": false, - "field_order": [ - "data", - "template", - "sep" - ], + "field_order": ["data", "template", "sep"], "frozen": false, "icon": "message-square", "legacy": false, @@ -1738,9 +1621,7 @@ "display_name": "Data", "dynamic": false, "info": "The data to convert to text.", - "input_types": [ - "Data" - ], + "input_types": ["Data"], "list": true, "name": "data", "placeholder": "", @@ -1777,9 +1658,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, @@ -1800,9 +1679,9 @@ "type": "ParseData" }, "dragging": false, - "id": "ParseData-KSu0D", + "id": "ParseData-T6FGT", "measured": { - "height": 342, + "height": 341, "width": 320 }, "position": { @@ -1814,27 +1693,19 @@ }, { "data": { - "id": "Prompt-YYjDd", + "id": "Prompt-2M2d5", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": { - "template": [ - "context", - "question" - ] + "template": ["context", "question"] }, "description": "Create a prompt template with dynamic variables.", "display_name": "Prompt", "documentation": "", "edited": false, - "field_order": [ - "template", - "tool_placeholder" - ], + "field_order": ["template", "tool_placeholder"], "frozen": false, "icon": "prompts", "legacy": false, @@ -1885,10 +1756,7 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": [ - "Message", - "Text" - ], + "input_types": ["Message", "Text"], "list": false, "load_from_db": false, "multiline": true, @@ -1908,10 +1776,7 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": [ - "Message", - "Text" - ], + "input_types": ["Message", "Text"], "list": false, "load_from_db": false, "multiline": true, @@ -1947,9 +1812,7 @@ "display_name": "Tool Placeholder", "dynamic": false, "info": "A placeholder input for tool mode.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "tool_placeholder", @@ -1969,9 +1832,9 @@ "type": "Prompt" }, "dragging": false, - "id": "Prompt-YYjDd", + "id": "Prompt-2M2d5", "measured": { - "height": 421, + "height": 419, "width": 320 }, "position": { @@ -1983,12 +1846,9 @@ }, { "data": { - "id": "OpenAIModel-4odsT", + "id": "OpenAIModel-a26gL", "node": { - "base_classes": [ - "LanguageModel", - "Message" - ], + "base_classes": ["LanguageModel", "Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -2036,9 +1896,7 @@ "display_name": "Language Model", "method": "build_model", "name": "model_output", - "required_inputs": [ - "api_key" - ], + "required_inputs": ["api_key"], "selected": "LanguageModel", "tool_mode": true, "types": [ @@ -2056,10 +1914,8 @@ "display_name": "OpenAI API Key", "dynamic": false, "info": "The OpenAI API Key to use for the OpenAI model.", - "input_types": [ - "Message" - ], - "load_from_db": true, + "input_types": ["Message"], + "load_from_db": false, "name": "api_key", "password": true, "placeholder": "", @@ -2067,7 +1923,7 @@ "show": true, "title_case": false, "type": "str", - "value": "OPENAI_API_KEY" + "value": "" }, "code": { "advanced": true, @@ -2093,9 +1949,7 @@ "display_name": "Input", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "input_value", @@ -2243,9 +2097,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", @@ -2292,9 +2144,9 @@ "type": "OpenAIModel" }, "dragging": false, - "id": "OpenAIModel-4odsT", + "id": "OpenAIModel-a26gL", "measured": { - "height": 656, + "height": 653, "width": 320 }, "position": { @@ -2306,11 +2158,9 @@ }, { "data": { - "id": "ChatOutput-7mjeM", + "id": "ChatOutput-XL9ho", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -2359,9 +2209,7 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "background_color", @@ -2381,9 +2229,7 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "chat_icon", @@ -2421,9 +2267,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", @@ -2443,9 +2287,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", @@ -2466,10 +2308,7 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": [ - "Machine", - "User" - ], + "options": ["Machine", "User"], "placeholder": "", "required": false, "show": true, @@ -2485,9 +2324,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", @@ -2507,9 +2344,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", @@ -2545,9 +2380,7 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "text_color", @@ -2567,9 +2400,9 @@ "type": "ChatOutput" }, "dragging": false, - "id": "ChatOutput-7mjeM", + "id": "ChatOutput-XL9ho", "measured": { - "height": 230, + "height": 229, "width": 320 }, "position": { @@ -2581,12 +2414,9 @@ }, { "data": { - "id": "URL-jjkEI", + "id": "URL-fyWIL", "node": { - "base_classes": [ - "Data", - "Message" - ], + "base_classes": ["Data", "Message"], "beta": false, "category": "data", "conditional_paths": [], @@ -2595,10 +2425,7 @@ "display_name": "URL", "documentation": "", "edited": false, - "field_order": [ - "urls", - "format" - ], + "field_order": ["urls", "format"], "frozen": false, "icon": "layout-template", "key": "URL", @@ -2678,10 +2505,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, @@ -2697,9 +2521,7 @@ "display_name": "URLs", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": true, "load_from_db": false, "name": "urls", @@ -2735,9 +2557,9 @@ "type": "URL" }, "dragging": false, - "id": "URL-jjkEI", + "id": "URL-fyWIL", "measured": { - "height": 1066, + "height": 1065, "width": 320 }, "position": { @@ -2749,11 +2571,9 @@ }, { "data": { - "id": "AstraDBGraph-WPnB7", + "id": "AstraDBGraph-FX0tA", "node": { - "base_classes": [ - "Data" - ], + "base_classes": ["Data"], "beta": false, "category": "vectorstores", "conditional_paths": [], @@ -2801,11 +2621,7 @@ "display_name": "Search Results", "method": "search_documents", "name": "search_results", - "required_inputs": [ - "api_endpoint", - "collection_name", - "token" - ], + "required_inputs": ["api_endpoint", "collection_name", "token"], "selected": "Data", "tool_mode": true, "types": [ @@ -2838,10 +2654,8 @@ "display_name": "API Endpoint", "dynamic": false, "info": "API endpoint URL for the Astra DB service.", - "input_types": [ - "Message" - ], - "load_from_db": true, + "input_types": ["Message"], + "load_from_db": false, "name": "api_endpoint", "password": true, "placeholder": "", @@ -2849,7 +2663,7 @@ "show": true, "title_case": false, "type": "str", - "value": "ASTRA_DB_API_ENDPOINT" + "value": "" }, "batch_size": { "_input_type": "IntInput", @@ -2979,9 +2793,7 @@ "display_name": "Embedding Model", "dynamic": false, "info": "Allows an embedding model configuration.", - "input_types": [ - "Embeddings" - ], + "input_types": ["Embeddings"], "list": false, "name": "embedding_model", "placeholder": "", @@ -2998,9 +2810,7 @@ "display_name": "Ingest Data", "dynamic": false, "info": "", - "input_types": [ - "Data" - ], + "input_types": ["Data"], "list": false, "name": "ingest_data", "placeholder": "", @@ -3093,11 +2903,7 @@ "dynamic": false, "info": "Optional distance metric for vector comparisons in the vector store.", "name": "metric", - "options": [ - "cosine", - "dot_product", - "euclidean" - ], + "options": ["cosine", "dot_product", "euclidean"], "placeholder": "", "required": false, "show": true, @@ -3164,9 +2970,7 @@ "display_name": "Search Query", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "multiline": true, @@ -3230,10 +3034,7 @@ "dynamic": false, "info": "Configuration mode for setting up the vector store, with options like 'Sync', or 'Off'.", "name": "setup_mode", - "options": [ - "Sync", - "Off" - ], + "options": ["Sync", "Off"], "placeholder": "", "required": false, "show": true, @@ -3249,10 +3050,8 @@ "display_name": "Astra DB Application Token", "dynamic": false, "info": "Authentication token for accessing Astra DB.", - "input_types": [ - "Message" - ], - "load_from_db": true, + "input_types": ["Message"], + "load_from_db": false, "name": "token", "password": true, "placeholder": "", @@ -3260,7 +3059,7 @@ "show": true, "title_case": false, "type": "str", - "value": "ASTRA_DB_APPLICATION_TOKEN" + "value": "" } }, "tool_mode": false @@ -3269,9 +3068,9 @@ "type": "AstraDBGraph" }, "dragging": false, - "id": "AstraDBGraph-WPnB7", + "id": "AstraDBGraph-FX0tA", "measured": { - "height": 634, + "height": 631, "width": 320 }, "position": { @@ -3283,11 +3082,9 @@ }, { "data": { - "id": "LanguageRecursiveTextSplitter-wmtIz", + "id": "LanguageRecursiveTextSplitter-jefpx", "node": { - "base_classes": [ - "Data" - ], + "base_classes": ["Data"], "beta": false, "category": "langchain_utilities", "conditional_paths": [], @@ -3433,10 +3230,7 @@ "display_name": "Input", "dynamic": false, "info": "The texts to split.", - "input_types": [ - "Document", - "Data" - ], + "input_types": ["Document", "Data"], "list": false, "name": "data_input", "placeholder": "", @@ -3456,9 +3250,9 @@ "type": "LanguageRecursiveTextSplitter" }, "dragging": false, - "id": "LanguageRecursiveTextSplitter-wmtIz", + "id": "LanguageRecursiveTextSplitter-jefpx", "measured": { - "height": 459, + "height": 457, "width": 320 }, "position": { @@ -3470,11 +3264,9 @@ }, { "data": { - "id": "HtmlLinkExtractor-MyH7H", + "id": "HtmlLinkExtractor-exHgk", "node": { - "base_classes": [ - "Data" - ], + "base_classes": ["Data"], "beta": false, "category": "langchain_utilities", "conditional_paths": [], @@ -3483,11 +3275,7 @@ "display_name": "HTML Link Extractor", "documentation": "https://python.langchain.com/v0.2/api_reference/community/graph_vectorstores/langchain_community.graph_vectorstores.extractors.html_link_extractor.HtmlLinkExtractor.html", "edited": false, - "field_order": [ - "kind", - "drop_fragments", - "data_input" - ], + "field_order": ["kind", "drop_fragments", "data_input"], "frozen": false, "icon": "LangChain", "key": "HtmlLinkExtractor", @@ -3540,10 +3328,7 @@ "display_name": "Input", "dynamic": false, "info": "The texts from which to extract links.", - "input_types": [ - "Document", - "Data" - ], + "input_types": ["Document", "Data"], "list": false, "name": "data_input", "placeholder": "", @@ -3598,9 +3383,9 @@ "type": "HtmlLinkExtractor" }, "dragging": false, - "id": "HtmlLinkExtractor-MyH7H", + "id": "HtmlLinkExtractor-exHgk", "measured": { - "height": 317, + "height": 315, "width": 320 }, "position": { @@ -3612,11 +3397,9 @@ }, { "data": { - "id": "OpenAIEmbeddings-SoMI2", + "id": "OpenAIEmbeddings-83wEc", "node": { - "base_classes": [ - "Embeddings" - ], + "base_classes": ["Embeddings"], "beta": false, "category": "embeddings", "conditional_paths": [], @@ -3663,9 +3446,7 @@ "display_name": "Embeddings", "method": "build_embeddings", "name": "embeddings", - "required_inputs": [ - "openai_api_key" - ], + "required_inputs": ["openai_api_key"], "selected": "Embeddings", "tool_mode": true, "types": [ @@ -3701,9 +3482,7 @@ "display_name": "Client", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "client", @@ -3775,9 +3554,7 @@ "display_name": "Deployment", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "deployment", @@ -3887,9 +3664,7 @@ "display_name": "OpenAI API Base", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "openai_api_base", @@ -3909,10 +3684,8 @@ "display_name": "OpenAI API Key", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], - "load_from_db": true, + "input_types": ["Message"], + "load_from_db": false, "name": "openai_api_key", "password": true, "placeholder": "", @@ -3920,7 +3693,7 @@ "show": true, "title_case": false, "type": "str", - "value": "OPENAI_API_KEY" + "value": "" }, "openai_api_type": { "_input_type": "MessageTextInput", @@ -3928,9 +3701,7 @@ "display_name": "OpenAI API Type", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "openai_api_type", @@ -3950,9 +3721,7 @@ "display_name": "OpenAI API Version", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "openai_api_version", @@ -3972,9 +3741,7 @@ "display_name": "OpenAI Organization", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "openai_organization", @@ -3994,9 +3761,7 @@ "display_name": "OpenAI Proxy", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "openai_proxy", @@ -4084,9 +3849,7 @@ "display_name": "TikToken Model Name", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "tiktoken_model_name", @@ -4107,9 +3870,9 @@ "type": "OpenAIEmbeddings" }, "dragging": false, - "id": "OpenAIEmbeddings-SoMI2", + "id": "OpenAIEmbeddings-83wEc", "measured": { - "height": 312, + "height": 311, "width": 320 }, "position": { @@ -4121,7 +3884,7 @@ }, { "data": { - "id": "note-Nby9n", + "id": "note-apIHZ", "node": { "description": "## 📖 README\n\nLoad your data into a vector database with the 📚 **Load Data** flow, and then use your data as chat context with the 🐕 **Retriever** flow.\n\n**🚨 Add your OpenAI API key as a global variable to easily add it to all of the OpenAI components in this flow.** \n\n**Quick start**\n1. Run the 📚 **Load Data** flow.\n2. Run the 🐕 **Retriever** flow.\n\n**Next steps** \n\n- Experiment by changing the prompt and the loaded data to see how the bot's responses change. ", "display_name": "", @@ -4132,9 +3895,9 @@ }, "dragging": false, "height": 695, - "id": "note-Nby9n", + "id": "note-apIHZ", "measured": { - "height": 695, + "height": 692, "width": 325 }, "position": { @@ -4144,11 +3907,11 @@ "resizing": false, "selected": false, "type": "noteNode", - "width": 477 + "width": 324 }, { "data": { - "id": "note-o96q7", + "id": "note-iCo8f", "node": { "description": "## 📚 1. Load Data Flow\n\nRun this first! Load data multiple urls, and embed it into the vector database in a graph based format.\n\nClick ▶️ **Run component** on the **Astra DB Graph** component to load your data.\n\n* If you're using OSS Langflow, add your Astra DB Application Token to the Astra DB component.\n\n#### Next steps:\n Experiment by changing the prompt and the contextual data to see how the retrieval flow's responses change.", "display_name": "", @@ -4159,10 +3922,10 @@ }, "dragging": false, "height": 499, - "id": "note-o96q7", + "id": "note-iCo8f", "measured": { "height": 499, - "width": 325 + "width": 326 }, "position": { "x": -2156.877891666127, @@ -4175,7 +3938,7 @@ }, { "data": { - "id": "note-Svi05", + "id": "note-d8rkI", "node": { "description": "## 🐕 2. Retriever Flow\n\nThis flow answers your questions with contextual data retrieved from your vector database. using graph RAG.\n\nOpen the **Playground** and ask, \n\n```\nhow to create a function in Haskell ?\n```\n", "display_name": "", @@ -4185,10 +3948,10 @@ "type": "note" }, "dragging": false, - "id": "note-Svi05", + "id": "note-d8rkI", "measured": { - "height": 325, - "width": 325 + "height": 324, + "width": 324 }, "position": { "x": -2255.4854518934735, @@ -4211,8 +3974,5 @@ "is_component": false, "last_tested_version": "1.1.1", "name": "Graph RAG", - "tags": [ - "rag", - "q-a" - ] -} \ No newline at end of file + "tags": ["rag", "q-a"] +} diff --git a/src/backend/base/langflow/initial_setup/starter_projects/Image Sentiment Analysis.json b/src/backend/base/langflow/initial_setup/starter_projects/Image Sentiment Analysis.json index cb28b7e0d..1e71e6afc 100644 --- a/src/backend/base/langflow/initial_setup/starter_projects/Image Sentiment Analysis.json +++ b/src/backend/base/langflow/initial_setup/starter_projects/Image Sentiment Analysis.json @@ -7,26 +7,23 @@ "data": { "sourceHandle": { "dataType": "StructuredOutputComponent", - "id": "StructuredOutputComponent-a20pA", + "id": "StructuredOutputComponent-XYoUc", "name": "structured_output", - "output_types": [ - "Data" - ] + "output_types": ["Data"] }, "targetHandle": { "fieldName": "data", - "id": "ParseData-HAm0G", - "inputTypes": [ - "Data" - ], + "id": "ParseData-HzweJ", + "inputTypes": ["Data"], "type": "other" } }, - "id": "reactflow__edge-StructuredOutputComponent-a20pA{œdataTypeœ:œStructuredOutputComponentœ,œidœ:œStructuredOutputComponent-a20pAœ,œnameœ:œstructured_outputœ,œoutput_typesœ:[œDataœ]}-ParseData-HAm0G{œfieldNameœ:œdataœ,œidœ:œParseData-HAm0Gœ,œinputTypesœ:[œDataœ],œtypeœ:œotherœ}", - "source": "StructuredOutputComponent-a20pA", - "sourceHandle": "{œdataTypeœ: œStructuredOutputComponentœ, œidœ: œStructuredOutputComponent-a20pAœ, œnameœ: œstructured_outputœ, œoutput_typesœ: [œDataœ]}", - "target": "ParseData-HAm0G", - "targetHandle": "{œfieldNameœ: œdataœ, œidœ: œParseData-HAm0Gœ, œinputTypesœ: [œDataœ], œtypeœ: œotherœ}" + "id": "reactflow__edge-StructuredOutputComponent-XYoUc{œdataTypeœ:œStructuredOutputComponentœ,œidœ:œStructuredOutputComponent-XYoUcœ,œnameœ:œstructured_outputœ,œoutput_typesœ:[œDataœ]}-ParseData-HzweJ{œfieldNameœ:œdataœ,œidœ:œParseData-HzweJœ,œinputTypesœ:[œDataœ],œtypeœ:œotherœ}", + "selected": false, + "source": "StructuredOutputComponent-XYoUc", + "sourceHandle": "{œdataTypeœ: œStructuredOutputComponentœ, œidœ: œStructuredOutputComponent-XYoUcœ, œnameœ: œstructured_outputœ, œoutput_typesœ: [œDataœ]}", + "target": "ParseData-HzweJ", + "targetHandle": "{œfieldNameœ: œdataœ, œidœ: œParseData-HzweJœ, œinputTypesœ: [œDataœ], œtypeœ: œotherœ}" }, { "animated": false, @@ -34,126 +31,115 @@ "data": { "sourceHandle": { "dataType": "ParseData", - "id": "ParseData-HAm0G", + "id": "ParseData-HzweJ", "name": "text", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "input_value", - "id": "ChatOutput-wjprm", - "inputTypes": [ - "Message" - ], + "id": "ChatOutput-xQxLm", + "inputTypes": ["Message"], "type": "str" } }, - "id": "reactflow__edge-ParseData-HAm0G{œdataTypeœ:œParseDataœ,œidœ:œParseData-HAm0Gœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-wjprm{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-wjprmœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "ParseData-HAm0G", - "sourceHandle": "{œdataTypeœ: œParseDataœ, œidœ: œParseData-HAm0Gœ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}", - "target": "ChatOutput-wjprm", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-wjprmœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-ParseData-HzweJ{œdataTypeœ:œParseDataœ,œidœ:œParseData-HzweJœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-xQxLm{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-xQxLmœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "selected": false, + "source": "ParseData-HzweJ", + "sourceHandle": "{œdataTypeœ: œParseDataœ, œidœ: œParseData-HzweJœ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}", + "target": "ChatOutput-xQxLm", + "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-xQxLmœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" }, { + "className": "", "data": { "sourceHandle": { "dataType": "ChatInput", - "id": "ChatInput-ufYDr", + "id": "ChatInput-rAWlE", "name": "message", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "input_value", - "id": "OpenAIModel-i45Zr", - "inputTypes": [ - "Message" - ], + "id": "OpenAIModel-cqeNw", + "inputTypes": ["Message"], "type": "str" } }, - "id": "xy-edge__ChatInput-ufYDr{œdataTypeœ:œChatInputœ,œidœ:œChatInput-ufYDrœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-i45Zr{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-i45Zrœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "ChatInput-ufYDr", - "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-ufYDrœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", - "target": "OpenAIModel-i45Zr", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œOpenAIModel-i45Zrœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-ChatInput-rAWlE{œdataTypeœ:œChatInputœ,œidœ:œChatInput-rAWlEœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-cqeNw{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-cqeNwœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "selected": false, + "source": "ChatInput-rAWlE", + "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-rAWlEœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", + "target": "OpenAIModel-cqeNw", + "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œOpenAIModel-cqeNwœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" }, { + "className": "", "data": { "sourceHandle": { "dataType": "Prompt", - "id": "Prompt-aZBZD", + "id": "Prompt-AzK6t", "name": "prompt", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "system_message", - "id": "OpenAIModel-i45Zr", - "inputTypes": [ - "Message" - ], + "id": "OpenAIModel-cqeNw", + "inputTypes": ["Message"], "type": "str" } }, - "id": "xy-edge__Prompt-aZBZD{œdataTypeœ:œPromptœ,œidœ:œPrompt-aZBZDœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-i45Zr{œfieldNameœ:œsystem_messageœ,œidœ:œOpenAIModel-i45Zrœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "Prompt-aZBZD", - "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-aZBZDœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", - "target": "OpenAIModel-i45Zr", - "targetHandle": "{œfieldNameœ: œsystem_messageœ, œidœ: œOpenAIModel-i45Zrœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-Prompt-AzK6t{œdataTypeœ:œPromptœ,œidœ:œPrompt-AzK6tœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-cqeNw{œfieldNameœ:œsystem_messageœ,œidœ:œOpenAIModel-cqeNwœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "selected": false, + "source": "Prompt-AzK6t", + "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-AzK6tœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", + "target": "OpenAIModel-cqeNw", + "targetHandle": "{œfieldNameœ: œsystem_messageœ, œidœ: œOpenAIModel-cqeNwœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" }, { + "className": "", "data": { "sourceHandle": { "dataType": "OpenAIModel", - "id": "OpenAIModel-i45Zr", + "id": "OpenAIModel-cqeNw", "name": "text_output", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "input_value", - "id": "StructuredOutputComponent-a20pA", - "inputTypes": [ - "Message" - ], + "id": "StructuredOutputComponent-XYoUc", + "inputTypes": ["Message"], "type": "str" } }, - "id": "xy-edge__OpenAIModel-i45Zr{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-i45Zrœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-StructuredOutputComponent-a20pA{œfieldNameœ:œinput_valueœ,œidœ:œStructuredOutputComponent-a20pAœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "OpenAIModel-i45Zr", - "sourceHandle": "{œdataTypeœ: œOpenAIModelœ, œidœ: œOpenAIModel-i45Zrœ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}", - "target": "StructuredOutputComponent-a20pA", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œStructuredOutputComponent-a20pAœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-OpenAIModel-cqeNw{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-cqeNwœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-StructuredOutputComponent-XYoUc{œfieldNameœ:œinput_valueœ,œidœ:œStructuredOutputComponent-XYoUcœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "selected": false, + "source": "OpenAIModel-cqeNw", + "sourceHandle": "{œdataTypeœ: œOpenAIModelœ, œidœ: œOpenAIModel-cqeNwœ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}", + "target": "StructuredOutputComponent-XYoUc", + "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œStructuredOutputComponent-XYoUcœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" }, { + "className": "", "data": { "sourceHandle": { "dataType": "OpenAIModel", - "id": "OpenAIModel-i45Zr", + "id": "OpenAIModel-cqeNw", "name": "model_output", - "output_types": [ - "LanguageModel" - ] + "output_types": ["LanguageModel"] }, "targetHandle": { "fieldName": "llm", - "id": "StructuredOutputComponent-a20pA", - "inputTypes": [ - "LanguageModel" - ], + "id": "StructuredOutputComponent-XYoUc", + "inputTypes": ["LanguageModel"], "type": "other" } }, - "id": "xy-edge__OpenAIModel-i45Zr{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-i45Zrœ,œnameœ:œmodel_outputœ,œoutput_typesœ:[œLanguageModelœ]}-StructuredOutputComponent-a20pA{œfieldNameœ:œllmœ,œidœ:œStructuredOutputComponent-a20pAœ,œinputTypesœ:[œLanguageModelœ],œtypeœ:œotherœ}", - "source": "OpenAIModel-i45Zr", - "sourceHandle": "{œdataTypeœ: œOpenAIModelœ, œidœ: œOpenAIModel-i45Zrœ, œnameœ: œmodel_outputœ, œoutput_typesœ: [œLanguageModelœ]}", - "target": "StructuredOutputComponent-a20pA", - "targetHandle": "{œfieldNameœ: œllmœ, œidœ: œStructuredOutputComponent-a20pAœ, œinputTypesœ: [œLanguageModelœ], œtypeœ: œotherœ}" + "id": "reactflow__edge-OpenAIModel-cqeNw{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-cqeNwœ,œnameœ:œmodel_outputœ,œoutput_typesœ:[œLanguageModelœ]}-StructuredOutputComponent-XYoUc{œfieldNameœ:œllmœ,œidœ:œStructuredOutputComponent-XYoUcœ,œinputTypesœ:[œLanguageModelœ],œtypeœ:œotherœ}", + "selected": false, + "source": "OpenAIModel-cqeNw", + "sourceHandle": "{œdataTypeœ: œOpenAIModelœ, œidœ: œOpenAIModel-cqeNwœ, œnameœ: œmodel_outputœ, œoutput_typesœ: [œLanguageModelœ]}", + "target": "StructuredOutputComponent-XYoUc", + "targetHandle": "{œfieldNameœ: œllmœ, œidœ: œStructuredOutputComponent-XYoUcœ, œinputTypesœ: [œLanguageModelœ], œtypeœ: œotherœ}" } ], "nodes": [ @@ -161,11 +147,9 @@ "data": { "description": "Get chat inputs from the Playground.", "display_name": "Chat Input", - "id": "ChatInput-ufYDr", + "id": "ChatInput-rAWlE", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -214,9 +198,7 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "background_color", @@ -236,9 +218,7 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "chat_icon", @@ -341,10 +321,7 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": [ - "Machine", - "User" - ], + "options": ["Machine", "User"], "placeholder": "", "required": false, "show": true, @@ -360,9 +337,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", @@ -382,9 +357,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", @@ -420,9 +393,7 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "text_color", @@ -443,10 +414,10 @@ }, "dragging": false, "height": 234, - "id": "ChatInput-ufYDr", + "id": "ChatInput-rAWlE", "measured": { "height": 234, - "width": 360 + "width": 320 }, "position": { "x": 1258.8272095125978, @@ -464,11 +435,9 @@ "data": { "description": "Display a chat message in the Playground.", "display_name": "Chat Output", - "id": "ChatOutput-wjprm", + "id": "ChatOutput-xQxLm", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -517,9 +486,7 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "background_color", @@ -539,9 +506,7 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "chat_icon", @@ -579,9 +544,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", @@ -601,9 +564,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", @@ -624,10 +585,7 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": [ - "Machine", - "User" - ], + "options": ["Machine", "User"], "placeholder": "", "required": false, "show": true, @@ -643,9 +601,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", @@ -665,9 +621,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", @@ -703,9 +657,7 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "text_color", @@ -726,10 +678,10 @@ }, "dragging": false, "height": 234, - "id": "ChatOutput-wjprm", + "id": "ChatOutput-xQxLm", "measured": { "height": 234, - "width": 360 + "width": 320 }, "position": { "x": 2742.72534045604, @@ -745,7 +697,7 @@ }, { "data": { - "id": "note-QyHO0", + "id": "note-K9w8w", "node": { "description": "# Image Sentiment Analysis\nWelcome to the Image Sentiment Classifier - an AI tool for quick image sentiment analysis!\n\n## Instructions\n\n1. **Prepare Your Image**\n - Image should be clear and visible\n\n2. **Upload Options**\n - Open the Playground\n - Click file attachment icon\n - Or drag and drop into playground\n\n3. **Wait for Analysis**\n - System will process the image\n - Uses zero-shot learning\n - Classification happens automatically\n\n4. **Review Results**\n - Get classification: Positive/Negative/Neutral\n - Review confidence level\n - Check reasoning if provided\n\n5. **Expected Classifications**\n - Positive: Happy scenes, smiles, celebrations\n - Negative: Sad scenes, problems, conflicts\n - Neutral: Objects, landscapes, neutral scenes\n\nRemember: The clearer the image, the more accurate the classification! 📸✨", "display_name": "", @@ -756,10 +708,10 @@ }, "dragging": false, "height": 583, - "id": "note-QyHO0", + "id": "note-K9w8w", "measured": { - "height": 583, - "width": 328 + "height": 570, + "width": 325 }, "position": { "x": 791.7294511578832, @@ -773,20 +725,18 @@ "selected": false, "style": { "height": 583, - "width": 436 + "width": 324 }, "type": "noteNode", - "width": 436 + "width": 324 }, { "data": { "description": "Transforms LLM responses into **structured data formats**. Ideal for extracting specific information or creating consistent outputs.", "display_name": "Structured Output", - "id": "StructuredOutputComponent-a20pA", + "id": "StructuredOutputComponent-XYoUc", "node": { - "base_classes": [ - "Data" - ], + "base_classes": ["Data"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -814,9 +764,7 @@ "method": "build_structured_output", "name": "structured_output", "selected": "Data", - "types": [ - "Data" - ], + "types": ["Data"], "value": "__UNDEFINED__" } ], @@ -847,9 +795,7 @@ "display_name": "Input message", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "input_value", @@ -869,9 +815,7 @@ "display_name": "Language Model", "dynamic": false, "info": "The language model to use to generate the structured output.", - "input_types": [ - "LanguageModel" - ], + "input_types": ["LanguageModel"], "list": false, "name": "llm", "placeholder": "", @@ -994,10 +938,10 @@ }, "dragging": false, "height": 541, - "id": "StructuredOutputComponent-a20pA", + "id": "StructuredOutputComponent-XYoUc", "measured": { "height": 541, - "width": 360 + "width": 320 }, "position": { "x": 2029.441019694193, @@ -1013,11 +957,9 @@ }, { "data": { - "id": "ParseData-HAm0G", + "id": "ParseData-HzweJ", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -1025,11 +967,7 @@ "display_name": "Parse Data", "documentation": "", "edited": false, - "field_order": [ - "data", - "template", - "sep" - ], + "field_order": ["data", "template", "sep"], "frozen": false, "icon": "message-square", "legacy": false, @@ -1091,9 +1029,7 @@ "display_name": "Data", "dynamic": false, "info": "The data to convert to text.", - "input_types": [ - "Data" - ], + "input_types": ["Data"], "list": true, "name": "data", "placeholder": "", @@ -1129,9 +1065,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, @@ -1153,10 +1087,10 @@ }, "dragging": false, "height": 302, - "id": "ParseData-HAm0G", + "id": "ParseData-HzweJ", "measured": { "height": 302, - "width": 360 + "width": 320 }, "position": { "x": 2389.490977317181, @@ -1174,11 +1108,9 @@ "data": { "description": "Create a prompt template with dynamic variables.", "display_name": "Prompt", - "id": "Prompt-aZBZD", + "id": "Prompt-AzK6t", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": { @@ -1188,9 +1120,7 @@ "display_name": "Prompt", "documentation": "", "edited": false, - "field_order": [ - "template" - ], + "field_order": ["template"], "frozen": false, "icon": "prompts", "legacy": false, @@ -1257,9 +1187,7 @@ "display_name": "Tool Placeholder", "dynamic": false, "info": "A placeholder input for tool mode.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "tool_placeholder", @@ -1280,10 +1208,10 @@ }, "dragging": false, "height": 260, - "id": "Prompt-aZBZD", + "id": "Prompt-AzK6t", "measured": { "height": 260, - "width": 360 + "width": 320 }, "position": { "x": 1262.0179832573751, @@ -1299,12 +1227,9 @@ }, { "data": { - "id": "OpenAIModel-i45Zr", + "id": "OpenAIModel-cqeNw", "node": { - "base_classes": [ - "LanguageModel", - "Message" - ], + "base_classes": ["LanguageModel", "Message"], "beta": false, "category": "models", "conditional_paths": [], @@ -1354,9 +1279,7 @@ "display_name": "Language Model", "method": "build_model", "name": "model_output", - "required_inputs": [ - "api_key" - ], + "required_inputs": ["api_key"], "selected": "LanguageModel", "tool_mode": true, "types": [ @@ -1375,9 +1298,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, @@ -1386,7 +1307,7 @@ "show": true, "title_case": false, "type": "str", - "value": "OPENAI_API_KEY" + "value": "" }, "code": { "advanced": true, @@ -1412,9 +1333,7 @@ "display_name": "Input", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1578,9 +1497,7 @@ "display_name": "System Message", "dynamic": false, "info": "System message to pass to the model.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1631,10 +1548,10 @@ "type": "OpenAIModel" }, "dragging": false, - "id": "OpenAIModel-i45Zr", + "id": "OpenAIModel-cqeNw", "measured": { - "height": 734, - "width": 360 + "height": 653, + "width": 320 }, "position": { "x": 1638.1662423437713, @@ -1658,7 +1575,5 @@ "is_component": false, "last_tested_version": "1.0.19.post2", "name": "Image Sentiment Analysis", - "tags": [ - "classification" - ] -} \ No newline at end of file + "tags": ["classification"] +} diff --git a/src/backend/base/langflow/initial_setup/starter_projects/Market Research.json b/src/backend/base/langflow/initial_setup/starter_projects/Market Research.json index 014c3e6a4..ad4bb2f78 100644 --- a/src/backend/base/langflow/initial_setup/starter_projects/Market Research.json +++ b/src/backend/base/langflow/initial_setup/starter_projects/Market Research.json @@ -9,16 +9,12 @@ "dataType": "StructuredOutputComponent", "id": "StructuredOutputComponent-y5YEE", "name": "structured_output", - "output_types": [ - "Data" - ] + "output_types": ["Data"] }, "targetHandle": { "fieldName": "data", "id": "ParseData-8KK2E", - "inputTypes": [ - "Data" - ], + "inputTypes": ["Data"], "type": "other" } }, @@ -37,16 +33,12 @@ "dataType": "ParseData", "id": "ParseData-8KK2E", "name": "text", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "input_value", "id": "ChatOutput-gEsYh", - "inputTypes": [ - "Message" - ], + "inputTypes": ["Message"], "type": "str" } }, @@ -65,16 +57,12 @@ "dataType": "ChatInput", "id": "ChatInput-vuvZ4", "name": "message", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "input_value", "id": "Agent-lyqby", - "inputTypes": [ - "Message" - ], + "inputTypes": ["Message"], "type": "str" } }, @@ -93,16 +81,12 @@ "dataType": "Agent", "id": "Agent-lyqby", "name": "response", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "input_value", "id": "StructuredOutputComponent-y5YEE", - "inputTypes": [ - "Message" - ], + "inputTypes": ["Message"], "type": "str" } }, @@ -121,16 +105,12 @@ "dataType": "TavilySearchComponent", "id": "TavilySearchComponent-Gv4zn", "name": "component_as_tool", - "output_types": [ - "Tool" - ] + "output_types": ["Tool"] }, "targetHandle": { "fieldName": "tools", "id": "Agent-lyqby", - "inputTypes": [ - "Tool" - ], + "inputTypes": ["Tool"], "type": "other" } }, @@ -146,16 +126,12 @@ "dataType": "OpenAIModel", "id": "OpenAIModel-Yo7s2", "name": "model_output", - "output_types": [ - "LanguageModel" - ] + "output_types": ["LanguageModel"] }, "targetHandle": { "fieldName": "llm", "id": "StructuredOutputComponent-y5YEE", - "inputTypes": [ - "LanguageModel" - ], + "inputTypes": ["LanguageModel"], "type": "other" } }, @@ -173,9 +149,7 @@ "display_name": "Chat Input", "id": "ChatInput-vuvZ4", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -224,9 +198,7 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "background_color", @@ -245,9 +217,7 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "chat_icon", @@ -348,10 +318,7 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": [ - "Machine", - "User" - ], + "options": ["Machine", "User"], "placeholder": "", "required": false, "show": true, @@ -366,9 +333,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", @@ -387,9 +352,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", @@ -424,9 +387,7 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "text_color", @@ -468,9 +429,7 @@ "display_name": "Chat Output", "id": "ChatOutput-gEsYh", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -519,9 +478,7 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "background_color", @@ -541,9 +498,7 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "chat_icon", @@ -581,9 +536,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", @@ -603,9 +556,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", @@ -626,10 +577,7 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": [ - "Machine", - "User" - ], + "options": ["Machine", "User"], "placeholder": "", "required": false, "show": true, @@ -645,9 +593,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", @@ -667,9 +613,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", @@ -705,9 +649,7 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "text_color", @@ -759,11 +701,11 @@ "type": "note" }, "dragging": false, - "height": 403, + "height": 324, "id": "note-siDHB", "measured": { - "height": 403, - "width": 328 + "height": 324, + "width": 324 }, "position": { "x": 2089.5869930853464, @@ -776,11 +718,11 @@ "resizing": false, "selected": false, "style": { - "height": 403, - "width": 461 + "height": 324, + "width": 324 }, "type": "noteNode", - "width": 461 + "width": 324 }, { "data": { @@ -796,11 +738,11 @@ "type": "note" }, "dragging": false, - "height": 382, + "height": 324, "id": "note-gjsCT", "measured": { - "height": 382, - "width": 328 + "height": 324, + "width": 324 }, "position": { "x": 1237.6627823432912, @@ -813,11 +755,11 @@ "resizing": false, "selected": false, "style": { - "height": 382, - "width": 398 + "height": 324, + "width": 324 }, "type": "noteNode", - "width": 398 + "width": 324 }, { "data": { @@ -833,11 +775,11 @@ "type": "note" }, "dragging": false, - "height": 513, + "height": 324, "id": "note-IftyY", "measured": { - "height": 513, - "width": 328 + "height": 324, + "width": 324 }, "position": { "x": 244.92297036777086, @@ -850,11 +792,11 @@ "resizing": false, "selected": false, "style": { - "height": 513, - "width": 567 + "height": 324, + "width": 324 }, "type": "noteNode", - "width": 567 + "width": 324 }, { "data": { @@ -862,9 +804,7 @@ "display_name": "Structured Output", "id": "StructuredOutputComponent-y5YEE", "node": { - "base_classes": [ - "Data" - ], + "base_classes": ["Data"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -892,9 +832,7 @@ "method": "build_structured_output", "name": "structured_output", "selected": "Data", - "types": [ - "Data" - ], + "types": ["Data"], "value": "__UNDEFINED__" } ], @@ -925,9 +863,7 @@ "display_name": "Input message", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "input_value", @@ -947,9 +883,7 @@ "display_name": "Language Model", "dynamic": false, "info": "The language model to use to generate the structured output.", - "input_types": [ - "LanguageModel" - ], + "input_types": ["LanguageModel"], "list": false, "name": "llm", "placeholder": "", @@ -1141,9 +1075,7 @@ "data": { "id": "ParseData-8KK2E", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "category": "helpers", "conditional_paths": [], @@ -1152,11 +1084,7 @@ "display_name": "Parse Data", "documentation": "", "edited": false, - "field_order": [ - "data", - "template", - "sep" - ], + "field_order": ["data", "template", "sep"], "frozen": false, "icon": "message-square", "key": "ParseData", @@ -1219,9 +1147,7 @@ "display_name": "Data", "dynamic": false, "info": "The data to convert to text.", - "input_types": [ - "Data" - ], + "input_types": ["Data"], "list": true, "name": "data", "placeholder": "", @@ -1256,9 +1182,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, @@ -1301,9 +1225,7 @@ "display_name": "Agent", "id": "Agent-lyqby", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -1385,9 +1307,7 @@ "display_name": "Agent Description [Deprecated]", "dynamic": false, "info": "The description of the agent. This is only used when in Tool Mode. Defaults to 'A helpful assistant with access to the following tools:' and tools are added dynamically. This feature is deprecated and will be removed in future versions.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "multiline": true, @@ -1437,9 +1357,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, @@ -1490,9 +1408,7 @@ "display_name": "Input", "dynamic": false, "info": "The input provided by the user for the agent to process.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "input_value", @@ -1566,9 +1482,7 @@ "display_name": "External Memory", "dynamic": false, "info": "Retrieve messages from an external memory. If empty, it will use the Langflow tables.", - "input_types": [ - "Memory" - ], + "input_types": ["Memory"], "list": false, "name": "memory", "placeholder": "", @@ -1662,10 +1576,7 @@ "dynamic": false, "info": "Order of the messages.", "name": "order", - "options": [ - "Ascending", - "Descending" - ], + "options": ["Ascending", "Descending"], "placeholder": "", "required": false, "show": true, @@ -1699,11 +1610,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, @@ -1719,9 +1626,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", @@ -1741,9 +1646,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", @@ -1763,9 +1666,7 @@ "display_name": "Agent Instructions", "dynamic": false, "info": "System Prompt: Initial instructions and context provided to guide the agent's behavior.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "multiline": true, @@ -1802,9 +1703,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, @@ -1825,9 +1724,7 @@ "display_name": "Tools", "dynamic": false, "info": "These are the tools that the agent can use to help with tasks.", - "input_types": [ - "Tool" - ], + "input_types": ["Tool"], "list": true, "name": "tools", "placeholder": "", @@ -1888,11 +1785,11 @@ "type": "note" }, "dragging": false, - "height": 325, + "height": 324, "id": "note-Z3HC2", "measured": { - "height": 325, - "width": 328 + "height": 324, + "width": 324 }, "position": { "x": 878.7898510090017, @@ -1904,16 +1801,13 @@ }, "selected": false, "type": "noteNode", - "width": 325 + "width": 324 }, { "data": { "id": "TavilySearchComponent-Gv4zn", "node": { - "base_classes": [ - "Data", - "Message" - ], + "base_classes": ["Data", "Message"], "beta": false, "category": "tools", "conditional_paths": [], @@ -1949,9 +1843,7 @@ "name": "component_as_tool", "required_inputs": null, "selected": "Tool", - "types": [ - "Tool" - ], + "types": ["Tool"], "value": "__UNDEFINED__" } ], @@ -1965,9 +1857,7 @@ "display_name": "Tavily API Key", "dynamic": false, "info": "Your Tavily API Key.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "load_from_db": true, "name": "api_key", "password": true, @@ -2056,9 +1946,7 @@ "display_name": "Search Query", "dynamic": false, "info": "The search query you want to execute with Tavily.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -2081,10 +1969,7 @@ "dynamic": false, "info": "The depth of the search.", "name": "search_depth", - "options": [ - "basic", - "advanced" - ], + "options": ["basic", "advanced"], "placeholder": "", "required": false, "show": true, @@ -2119,10 +2004,7 @@ "description": "Modify tool names and descriptions to help agents understand when to use each tool.", "field_parsers": { "commands": "commands", - "name": [ - "snake_case", - "no_blank" - ] + "name": ["snake_case", "no_blank"] }, "hide_options": true }, @@ -2173,16 +2055,12 @@ { "description": "fetch_content(api_key: Message) - **Tavily AI** is a search engine optimized for LLMs and RAG, aimed at efficient, quick, and persistent search results.", "name": "None-fetch_content", - "tags": [ - "None-fetch_content" - ] + "tags": ["None-fetch_content"] }, { "description": "fetch_content_text(api_key: Message) - **Tavily AI** is a search engine optimized for LLMs and RAG, aimed at efficient, quick, and persistent search results.", "name": "None-fetch_content_text", - "tags": [ - "None-fetch_content_text" - ] + "tags": ["None-fetch_content_text"] } ] }, @@ -2194,10 +2072,7 @@ "dynamic": false, "info": "The category of the search.", "name": "topic", - "options": [ - "general", - "news" - ], + "options": ["general", "news"], "placeholder": "", "required": false, "show": true, @@ -2230,10 +2105,7 @@ "data": { "id": "OpenAIModel-Yo7s2", "node": { - "base_classes": [ - "LanguageModel", - "Message" - ], + "base_classes": ["LanguageModel", "Message"], "beta": false, "category": "models", "conditional_paths": [], @@ -2283,9 +2155,7 @@ "display_name": "Language Model", "method": "build_model", "name": "model_output", - "required_inputs": [ - "api_key" - ], + "required_inputs": ["api_key"], "selected": "LanguageModel", "tool_mode": true, "types": [ @@ -2304,9 +2174,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, @@ -2341,9 +2209,7 @@ "display_name": "Input", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -2507,9 +2373,7 @@ "display_name": "System Message", "dynamic": false, "info": "System message to pass to the model.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -2587,8 +2451,5 @@ "is_component": false, "last_tested_version": "1.1.1", "name": "Market Research", - "tags": [ - "assistants", - "agents" - ] -} \ No newline at end of file + "tags": ["assistants", "agents"] +} diff --git a/src/backend/base/langflow/initial_setup/starter_projects/Memory Chatbot.json b/src/backend/base/langflow/initial_setup/starter_projects/Memory Chatbot.json index fdcbd2bac..2f2c51874 100644 --- a/src/backend/base/langflow/initial_setup/starter_projects/Memory Chatbot.json +++ b/src/backend/base/langflow/initial_setup/starter_projects/Memory Chatbot.json @@ -6,112 +6,100 @@ "data": { "sourceHandle": { "dataType": "Memory", - "id": "Memory-W1a3k", + "id": "Memory-gWJrq", "name": "messages_text", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "memory", - "id": "Prompt-q8R26", - "inputTypes": [ - "Message", - "Text" - ], + "id": "Prompt-yhdMP", + "inputTypes": ["Message", "Text"], "type": "str" } }, - "id": "reactflow__edge-Memory-W1a3k{œdataTypeœ:œMemoryœ,œidœ:œMemory-W1a3kœ,œnameœ:œmessages_textœ,œoutput_typesœ:[œMessageœ]}-Prompt-q8R26{œfieldNameœ:œmemoryœ,œidœ:œPrompt-q8R26œ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", - "source": "Memory-W1a3k", - "sourceHandle": "{œdataTypeœ: œMemoryœ, œidœ: œMemory-W1a3kœ, œnameœ: œmessages_textœ, œoutput_typesœ: [œMessageœ]}", - "target": "Prompt-q8R26", - "targetHandle": "{œfieldNameœ: œmemoryœ, œidœ: œPrompt-q8R26œ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-Memory-gWJrq{œdataTypeœ:œMemoryœ,œidœ:œMemory-gWJrqœ,œnameœ:œmessages_textœ,œoutput_typesœ:[œMessageœ]}-Prompt-yhdMP{œfieldNameœ:œmemoryœ,œidœ:œPrompt-yhdMPœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", + "selected": false, + "source": "Memory-gWJrq", + "sourceHandle": "{œdataTypeœ: œMemoryœ, œidœ: œMemory-gWJrqœ, œnameœ: œmessages_textœ, œoutput_typesœ: [œMessageœ]}", + "target": "Prompt-yhdMP", + "targetHandle": "{œfieldNameœ: œmemoryœ, œidœ: œPrompt-yhdMPœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" }, { + "className": "", "data": { "sourceHandle": { "dataType": "ChatInput", - "id": "ChatInput-LrPKe", + "id": "ChatInput-PEO9d", "name": "message", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "input_value", - "id": "OpenAIModel-BSFD4", - "inputTypes": [ - "Message" - ], + "id": "OpenAIModel-63o3Q", + "inputTypes": ["Message"], "type": "str" } }, - "id": "xy-edge__ChatInput-LrPKe{œdataTypeœ:œChatInputœ,œidœ:œChatInput-LrPKeœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-BSFD4{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-BSFD4œ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "ChatInput-LrPKe", - "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-LrPKeœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", - "target": "OpenAIModel-BSFD4", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œOpenAIModel-BSFD4œ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-ChatInput-PEO9d{œdataTypeœ:œChatInputœ,œidœ:œChatInput-PEO9dœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-63o3Q{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-63o3Qœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "selected": false, + "source": "ChatInput-PEO9d", + "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-PEO9dœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", + "target": "OpenAIModel-63o3Q", + "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œOpenAIModel-63o3Qœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" }, { + "className": "", "data": { "sourceHandle": { "dataType": "Prompt", - "id": "Prompt-q8R26", + "id": "Prompt-yhdMP", "name": "prompt", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "system_message", - "id": "OpenAIModel-BSFD4", - "inputTypes": [ - "Message" - ], + "id": "OpenAIModel-63o3Q", + "inputTypes": ["Message"], "type": "str" } }, - "id": "xy-edge__Prompt-q8R26{œdataTypeœ:œPromptœ,œidœ:œPrompt-q8R26œ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-BSFD4{œfieldNameœ:œsystem_messageœ,œidœ:œOpenAIModel-BSFD4œ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "Prompt-q8R26", - "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-q8R26œ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", - "target": "OpenAIModel-BSFD4", - "targetHandle": "{œfieldNameœ: œsystem_messageœ, œidœ: œOpenAIModel-BSFD4œ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-Prompt-yhdMP{œdataTypeœ:œPromptœ,œidœ:œPrompt-yhdMPœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-63o3Q{œfieldNameœ:œsystem_messageœ,œidœ:œOpenAIModel-63o3Qœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "selected": false, + "source": "Prompt-yhdMP", + "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-yhdMPœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", + "target": "OpenAIModel-63o3Q", + "targetHandle": "{œfieldNameœ: œsystem_messageœ, œidœ: œOpenAIModel-63o3Qœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" }, { + "className": "", "data": { "sourceHandle": { "dataType": "OpenAIModel", - "id": "OpenAIModel-BSFD4", + "id": "OpenAIModel-63o3Q", "name": "text_output", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "input_value", - "id": "ChatOutput-Fk6pf", - "inputTypes": [ - "Message" - ], + "id": "ChatOutput-BIXzI", + "inputTypes": ["Message"], "type": "str" } }, - "id": "xy-edge__OpenAIModel-BSFD4{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-BSFD4œ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-Fk6pf{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-Fk6pfœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "OpenAIModel-BSFD4", - "sourceHandle": "{œdataTypeœ: œOpenAIModelœ, œidœ: œOpenAIModel-BSFD4œ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}", - "target": "ChatOutput-Fk6pf", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-Fk6pfœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-OpenAIModel-63o3Q{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-63o3Qœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-BIXzI{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-BIXzIœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "selected": false, + "source": "OpenAIModel-63o3Q", + "sourceHandle": "{œdataTypeœ: œOpenAIModelœ, œidœ: œOpenAIModel-63o3Qœ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}", + "target": "ChatOutput-BIXzI", + "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-BIXzIœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" } ], "nodes": [ { "data": { - "id": "ChatInput-LrPKe", + "id": "ChatInput-PEO9d", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -160,9 +148,7 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "background_color", @@ -182,9 +168,7 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "chat_icon", @@ -287,10 +271,7 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": [ - "Machine", - "User" - ], + "options": ["Machine", "User"], "placeholder": "", "required": false, "show": true, @@ -306,9 +287,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", @@ -328,9 +307,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", @@ -366,9 +343,7 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "text_color", @@ -389,10 +364,10 @@ }, "dragging": false, "height": 234, - "id": "ChatInput-LrPKe", + "id": "ChatInput-PEO9d", "measured": { "height": 234, - "width": 360 + "width": 320 }, "position": { "x": 2321.5543981677606, @@ -410,11 +385,9 @@ "data": { "description": "Display a chat message in the Playground.", "display_name": "Chat Output", - "id": "ChatOutput-Fk6pf", + "id": "ChatOutput-BIXzI", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -463,9 +436,7 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "background_color", @@ -485,9 +456,7 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "chat_icon", @@ -525,9 +494,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", @@ -547,9 +514,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", @@ -570,10 +535,7 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": [ - "Machine", - "User" - ], + "options": ["Machine", "User"], "placeholder": "", "required": false, "show": true, @@ -589,9 +551,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", @@ -611,9 +571,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", @@ -649,9 +607,7 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "text_color", @@ -672,10 +628,10 @@ }, "dragging": true, "height": 234, - "id": "ChatOutput-Fk6pf", + "id": "ChatOutput-BIXzI", "measured": { "height": 234, - "width": 360 + "width": 320 }, "position": { "x": 3113.9880204333917, @@ -685,13 +641,13 @@ "x": 3101.965731391458, "y": 776.4408905693839 }, - "selected": true, + "selected": false, "type": "genericNode", "width": 320 }, { "data": { - "id": "note-gj6hj", + "id": "note-jlIQj", "node": { "description": "# Memory Chatbot\n\nA flexible chatbot implementation featuring advanced conversation memory capabilities. This serves as a foundational tool for building chat experiences with persistent context.\n\n## Core Components\n\n1. **Chat Input**\n - Accepts user messages\n - Configures conversation storage\n - Tracks session identity\n\n2. **Chat Memory**\n - Stores and retrieves up to 100 previous messages\n - Maintains conversation context\n - Tracks separate chat sessions\n - Preserves sender information and message order\n\n3. **Prompt**\n - Creates dynamic prompt templates\n - Integrates memory into conversation flow\n\n4. **OpenAI**\n - Processes user input with context\n - Accesses conversation history\n - Includes options for model configuration and API key setup\n\n5. **Chat Output**\n - Displays formatted responses\n - Maintains conversation flow\n - Syncs with memory storage\n\n## Memory Features\n\n- Stores message history\n- Plans conversation trajectory\n- Differentiates between chat sessions\n- Preserves sender and message metadata\n\n## Quick Start\n\n1. **Initialize** with a clear session ID\n2. **Enter** message in Chat Input\n3. **AI Processes** with context from memory\n4. **Response** appears in Chat Output\n5. Context remains available for follow-ups\n\nThis robust system demonstrates thorough memory integration with minimal complexity. 🧠💬\n", "display_name": "", @@ -702,10 +658,10 @@ }, "dragging": false, "height": 736, - "id": "note-gj6hj", + "id": "note-jlIQj", "measured": { - "height": 736, - "width": 328 + "height": 733, + "width": 325 }, "position": { "x": 1512.8976594415833, @@ -719,14 +675,14 @@ "selected": false, "style": { "height": 736, - "width": 382 + "width": 324 }, "type": "noteNode", - "width": 382 + "width": 324 }, { "data": { - "id": "note-SQs3p", + "id": "note-oU1IW", "node": { "description": "## Get Your OpenAI API Key\n\n**Steps**:\n\n1. **Visit** [OpenAI's API Key Page](https://platform.openai.com/api-keys).\n\n2. **Log In/Sign Up**:\n - Log in or create a new OpenAI account.\n\n3. **Generate API Key**:\n - Click \"Create New Secret Key\" to obtain your key.\n\n4. **Store Your Key Securely**:\n - Note it down as it will only display once.\n\n5. **Enter API Key**:\n - Input your key in the OpenAI API Key field within the component setup.\n\nKeep your key safe and manage it responsibly!", "display_name": "", @@ -739,10 +695,10 @@ }, "dragging": false, "height": 325, - "id": "note-SQs3p", + "id": "note-oU1IW", "measured": { - "height": 325, - "width": 328 + "height": 324, + "width": 325 }, "position": { "x": 2727.7060397092964, @@ -758,12 +714,9 @@ }, { "data": { - "id": "Memory-W1a3k", + "id": "Memory-gWJrq", "node": { - "base_classes": [ - "Data", - "Message" - ], + "base_classes": ["Data", "Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -841,9 +794,7 @@ "display_name": "External Memory", "dynamic": false, "info": "Retrieve messages from an external memory. If empty, it will use the Langflow tables.", - "input_types": [ - "Memory" - ], + "input_types": ["Memory"], "list": false, "name": "memory", "placeholder": "", @@ -878,10 +829,7 @@ "dynamic": false, "info": "Order of the messages.", "name": "order", - "options": [ - "Ascending", - "Descending" - ], + "options": ["Ascending", "Descending"], "placeholder": "", "required": false, "show": true, @@ -899,11 +847,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, @@ -919,9 +863,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", @@ -941,9 +883,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", @@ -963,9 +903,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, @@ -987,10 +925,10 @@ }, "dragging": false, "height": 264, - "id": "Memory-W1a3k", + "id": "Memory-gWJrq", "measured": { "height": 264, - "width": 360 + "width": 320 }, "position": { "x": 1947.7805399474369, @@ -1006,26 +944,20 @@ }, { "data": { - "id": "Prompt-q8R26", + "id": "Prompt-yhdMP", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": { - "template": [ - "memory" - ] + "template": ["memory"] }, "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", @@ -1081,10 +1013,7 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": [ - "Message", - "Text" - ], + "input_types": ["Message", "Text"], "list": false, "load_from_db": false, "multiline": true, @@ -1119,9 +1048,7 @@ "display_name": "Tool Placeholder", "dynamic": false, "info": "A placeholder input for tool mode.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "tool_placeholder", @@ -1142,10 +1069,10 @@ }, "dragging": false, "height": 347, - "id": "Prompt-q8R26", + "id": "Prompt-yhdMP", "measured": { "height": 347, - "width": 360 + "width": 320 }, "position": { "x": 2327.422938009026, @@ -1161,12 +1088,9 @@ }, { "data": { - "id": "OpenAIModel-BSFD4", + "id": "OpenAIModel-63o3Q", "node": { - "base_classes": [ - "LanguageModel", - "Message" - ], + "base_classes": ["LanguageModel", "Message"], "beta": false, "category": "models", "conditional_paths": [], @@ -1216,9 +1140,7 @@ "display_name": "Language Model", "method": "build_model", "name": "model_output", - "required_inputs": [ - "api_key" - ], + "required_inputs": ["api_key"], "selected": "LanguageModel", "tool_mode": true, "types": [ @@ -1237,9 +1159,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, @@ -1248,7 +1168,7 @@ "show": true, "title_case": false, "type": "str", - "value": "OPENAI_API_KEY" + "value": "" }, "code": { "advanced": true, @@ -1274,9 +1194,7 @@ "display_name": "Input", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1440,9 +1358,7 @@ "display_name": "System Message", "dynamic": false, "info": "System message to pass to the model.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1493,10 +1409,10 @@ "type": "OpenAIModel" }, "dragging": false, - "id": "OpenAIModel-BSFD4", + "id": "OpenAIModel-63o3Q", "measured": { - "height": 734, - "width": 360 + "height": 653, + "width": 320 }, "position": { "x": 2726.7429097065215, @@ -1520,9 +1436,5 @@ "is_component": false, "last_tested_version": "1.0.19.post2", "name": "Memory Chatbot", - "tags": [ - "chatbots", - "openai", - "assistants" - ] -} \ No newline at end of file + "tags": ["chatbots", "openai", "assistants"] +} diff --git a/src/backend/base/langflow/initial_setup/starter_projects/Research Agent.json b/src/backend/base/langflow/initial_setup/starter_projects/Research Agent.json index 5b6ddf821..76e530ead 100644 --- a/src/backend/base/langflow/initial_setup/starter_projects/Research Agent.json +++ b/src/backend/base/langflow/initial_setup/starter_projects/Research Agent.json @@ -7,7 +7,7 @@ "data": { "sourceHandle": { "dataType": "ChatInput", - "id": "ChatInput-JfaSH", + "id": "ChatInput-hasDY", "name": "message", "output_types": [ "Message" @@ -15,7 +15,7 @@ }, "targetHandle": { "fieldName": "input_value", - "id": "Prompt-QF5LF", + "id": "Prompt-GxcHe", "inputTypes": [ "Message", "Text" @@ -23,12 +23,12 @@ "type": "str" } }, - "id": "reactflow__edge-ChatInput-JfaSH{œdataTypeœ:œChatInputœ,œidœ:œChatInput-JfaSHœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-Prompt-QF5LF{œfieldNameœ:œinput_valueœ,œidœ:œPrompt-QF5LFœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-ChatInput-hasDY{œdataTypeœ:œChatInputœ,œidœ:œChatInput-hasDYœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-Prompt-GxcHe{œfieldNameœ:œinput_valueœ,œidœ:œPrompt-GxcHeœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", "selected": false, - "source": "ChatInput-JfaSH", - "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-JfaSHœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", - "target": "Prompt-QF5LF", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œPrompt-QF5LFœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" + "source": "ChatInput-hasDY", + "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-hasDYœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", + "target": "Prompt-GxcHe", + "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œPrompt-GxcHeœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" }, { "animated": false, @@ -36,7 +36,7 @@ "data": { "sourceHandle": { "dataType": "Prompt", - "id": "Prompt-vnTcM", + "id": "Prompt-oCyQS", "name": "prompt", "output_types": [ "Message" @@ -44,19 +44,19 @@ }, "targetHandle": { "fieldName": "input_value", - "id": "Agent-yGw6Q", + "id": "Agent-7qOlO", "inputTypes": [ "Message" ], "type": "str" } }, - "id": "reactflow__edge-Prompt-vnTcM{œdataTypeœ:œPromptœ,œidœ:œPrompt-vnTcMœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-Agent-yGw6Q{œfieldNameœ:œinput_valueœ,œidœ:œAgent-yGw6Qœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-Prompt-oCyQS{œdataTypeœ:œPromptœ,œidœ:œPrompt-oCyQSœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-Agent-7qOlO{œfieldNameœ:œinput_valueœ,œidœ:œAgent-7qOlOœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "Prompt-vnTcM", - "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-vnTcMœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", - "target": "Agent-yGw6Q", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œAgent-yGw6Qœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "source": "Prompt-oCyQS", + "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-oCyQSœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", + "target": "Agent-7qOlO", + "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œAgent-7qOlOœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" }, { "animated": false, @@ -64,7 +64,7 @@ "data": { "sourceHandle": { "dataType": "Agent", - "id": "Agent-yGw6Q", + "id": "Agent-7qOlO", "name": "response", "output_types": [ "Message" @@ -72,7 +72,7 @@ }, "targetHandle": { "fieldName": "search_results", - "id": "Prompt-QF5LF", + "id": "Prompt-GxcHe", "inputTypes": [ "Message", "Text" @@ -80,19 +80,19 @@ "type": "str" } }, - "id": "reactflow__edge-Agent-yGw6Q{œdataTypeœ:œAgentœ,œidœ:œAgent-yGw6Qœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-Prompt-QF5LF{œfieldNameœ:œsearch_resultsœ,œidœ:œPrompt-QF5LFœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-Agent-7qOlO{œdataTypeœ:œAgentœ,œidœ:œAgent-7qOlOœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-Prompt-GxcHe{œfieldNameœ:œsearch_resultsœ,œidœ:œPrompt-GxcHeœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", "selected": false, - "source": "Agent-yGw6Q", - "sourceHandle": "{œdataTypeœ: œAgentœ, œidœ: œAgent-yGw6Qœ, œnameœ: œresponseœ, œoutput_typesœ: [œMessageœ]}", - "target": "Prompt-QF5LF", - "targetHandle": "{œfieldNameœ: œsearch_resultsœ, œidœ: œPrompt-QF5LFœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" + "source": "Agent-7qOlO", + "sourceHandle": "{œdataTypeœ: œAgentœ, œidœ: œAgent-7qOlOœ, œnameœ: œresponseœ, œoutput_typesœ: [œMessageœ]}", + "target": "Prompt-GxcHe", + "targetHandle": "{œfieldNameœ: œsearch_resultsœ, œidœ: œPrompt-GxcHeœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" }, { "className": "", "data": { "sourceHandle": { "dataType": "TavilySearchComponent", - "id": "TavilySearchComponent-ChvwJ", + "id": "TavilySearchComponent-oJz7N", "name": "component_as_tool", "output_types": [ "Tool" @@ -100,24 +100,25 @@ }, "targetHandle": { "fieldName": "tools", - "id": "Agent-yGw6Q", + "id": "Agent-7qOlO", "inputTypes": [ "Tool" ], "type": "other" } }, - "id": "reactflow__edge-TavilySearchComponent-ChvwJ{œdataTypeœ:œTavilySearchComponentœ,œidœ:œTavilySearchComponent-ChvwJœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-yGw6Q{œfieldNameœ:œtoolsœ,œidœ:œAgent-yGw6Qœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", - "source": "TavilySearchComponent-ChvwJ", - "sourceHandle": "{œdataTypeœ: œTavilySearchComponentœ, œidœ: œTavilySearchComponent-ChvwJœ, œnameœ: œcomponent_as_toolœ, œoutput_typesœ: [œToolœ]}", - "target": "Agent-yGw6Q", - "targetHandle": "{œfieldNameœ: œtoolsœ, œidœ: œAgent-yGw6Qœ, œinputTypesœ: [œToolœ], œtypeœ: œotherœ}" + "id": "reactflow__edge-TavilySearchComponent-oJz7N{œdataTypeœ:œTavilySearchComponentœ,œidœ:œTavilySearchComponent-oJz7Nœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-7qOlO{œfieldNameœ:œtoolsœ,œidœ:œAgent-7qOlOœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", + "source": "TavilySearchComponent-oJz7N", + "sourceHandle": "{œdataTypeœ: œTavilySearchComponentœ, œidœ: œTavilySearchComponent-oJz7Nœ, œnameœ: œcomponent_as_toolœ, œoutput_typesœ: [œToolœ]}", + "target": "Agent-7qOlO", + "targetHandle": "{œfieldNameœ: œtoolsœ, œidœ: œAgent-7qOlOœ, œinputTypesœ: [œToolœ], œtypeœ: œotherœ}" }, { + "className": "", "data": { "sourceHandle": { "dataType": "Prompt", - "id": "Prompt-D14S9", + "id": "Prompt-2yPE7", "name": "prompt", "output_types": [ "Message" @@ -125,24 +126,25 @@ }, "targetHandle": { "fieldName": "system_message", - "id": "OpenAIModel-FVlqP", + "id": "OpenAIModel-VcHpk", "inputTypes": [ "Message" ], "type": "str" } }, - "id": "xy-edge__Prompt-D14S9{œdataTypeœ:œPromptœ,œidœ:œPrompt-D14S9œ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-FVlqP{œfieldNameœ:œsystem_messageœ,œidœ:œOpenAIModel-FVlqPœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "Prompt-D14S9", - "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-D14S9œ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", - "target": "OpenAIModel-FVlqP", - "targetHandle": "{œfieldNameœ: œsystem_messageœ, œidœ: œOpenAIModel-FVlqPœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-Prompt-2yPE7{œdataTypeœ:œPromptœ,œidœ:œPrompt-2yPE7œ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-VcHpk{œfieldNameœ:œsystem_messageœ,œidœ:œOpenAIModel-VcHpkœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "source": "Prompt-2yPE7", + "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-2yPE7œ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", + "target": "OpenAIModel-VcHpk", + "targetHandle": "{œfieldNameœ: œsystem_messageœ, œidœ: œOpenAIModel-VcHpkœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" }, { + "className": "", "data": { "sourceHandle": { "dataType": "ChatInput", - "id": "ChatInput-JfaSH", + "id": "ChatInput-hasDY", "name": "message", "output_types": [ "Message" @@ -150,24 +152,25 @@ }, "targetHandle": { "fieldName": "input_value", - "id": "OpenAIModel-FVlqP", + "id": "OpenAIModel-VcHpk", "inputTypes": [ "Message" ], "type": "str" } }, - "id": "xy-edge__ChatInput-JfaSH{œdataTypeœ:œChatInputœ,œidœ:œChatInput-JfaSHœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-FVlqP{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-FVlqPœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "ChatInput-JfaSH", - "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-JfaSHœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", - "target": "OpenAIModel-FVlqP", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œOpenAIModel-FVlqPœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-ChatInput-hasDY{œdataTypeœ:œChatInputœ,œidœ:œChatInput-hasDYœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-VcHpk{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-VcHpkœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "source": "ChatInput-hasDY", + "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-hasDYœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", + "target": "OpenAIModel-VcHpk", + "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œOpenAIModel-VcHpkœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" }, { + "className": "", "data": { "sourceHandle": { "dataType": "OpenAIModel", - "id": "OpenAIModel-FVlqP", + "id": "OpenAIModel-VcHpk", "name": "text_output", "output_types": [ "Message" @@ -175,7 +178,7 @@ }, "targetHandle": { "fieldName": "previous_response", - "id": "Prompt-vnTcM", + "id": "Prompt-oCyQS", "inputTypes": [ "Message", "Text" @@ -183,17 +186,18 @@ "type": "str" } }, - "id": "xy-edge__OpenAIModel-FVlqP{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-FVlqPœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-Prompt-vnTcM{œfieldNameœ:œprevious_responseœ,œidœ:œPrompt-vnTcMœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", - "source": "OpenAIModel-FVlqP", - "sourceHandle": "{œdataTypeœ: œOpenAIModelœ, œidœ: œOpenAIModel-FVlqPœ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}", - "target": "Prompt-vnTcM", - "targetHandle": "{œfieldNameœ: œprevious_responseœ, œidœ: œPrompt-vnTcMœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-OpenAIModel-VcHpk{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-VcHpkœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-Prompt-oCyQS{œfieldNameœ:œprevious_responseœ,œidœ:œPrompt-oCyQSœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", + "source": "OpenAIModel-VcHpk", + "sourceHandle": "{œdataTypeœ: œOpenAIModelœ, œidœ: œOpenAIModel-VcHpkœ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}", + "target": "Prompt-oCyQS", + "targetHandle": "{œfieldNameœ: œprevious_responseœ, œidœ: œPrompt-oCyQSœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" }, { + "className": "", "data": { "sourceHandle": { "dataType": "Prompt", - "id": "Prompt-QF5LF", + "id": "Prompt-GxcHe", "name": "prompt", "output_types": [ "Message" @@ -201,24 +205,25 @@ }, "targetHandle": { "fieldName": "input_value", - "id": "OpenAIModel-MhnGV", + "id": "OpenAIModel-zDrcf", "inputTypes": [ "Message" ], "type": "str" } }, - "id": "xy-edge__Prompt-QF5LF{œdataTypeœ:œPromptœ,œidœ:œPrompt-QF5LFœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-MhnGV{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-MhnGVœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "Prompt-QF5LF", - "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-QF5LFœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", - "target": "OpenAIModel-MhnGV", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œOpenAIModel-MhnGVœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-Prompt-GxcHe{œdataTypeœ:œPromptœ,œidœ:œPrompt-GxcHeœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-zDrcf{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-zDrcfœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "source": "Prompt-GxcHe", + "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-GxcHeœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", + "target": "OpenAIModel-zDrcf", + "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œOpenAIModel-zDrcfœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" }, { + "className": "", "data": { "sourceHandle": { "dataType": "Prompt", - "id": "Prompt-Lqvw5", + "id": "Prompt-OoSJu", "name": "prompt", "output_types": [ "Message" @@ -226,24 +231,25 @@ }, "targetHandle": { "fieldName": "system_message", - "id": "OpenAIModel-MhnGV", + "id": "OpenAIModel-zDrcf", "inputTypes": [ "Message" ], "type": "str" } }, - "id": "xy-edge__Prompt-Lqvw5{œdataTypeœ:œPromptœ,œidœ:œPrompt-Lqvw5œ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-MhnGV{œfieldNameœ:œsystem_messageœ,œidœ:œOpenAIModel-MhnGVœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "Prompt-Lqvw5", - "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-Lqvw5œ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", - "target": "OpenAIModel-MhnGV", - "targetHandle": "{œfieldNameœ: œsystem_messageœ, œidœ: œOpenAIModel-MhnGVœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-Prompt-OoSJu{œdataTypeœ:œPromptœ,œidœ:œPrompt-OoSJuœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-zDrcf{œfieldNameœ:œsystem_messageœ,œidœ:œOpenAIModel-zDrcfœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "source": "Prompt-OoSJu", + "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-OoSJuœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", + "target": "OpenAIModel-zDrcf", + "targetHandle": "{œfieldNameœ: œsystem_messageœ, œidœ: œOpenAIModel-zDrcfœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" }, { + "className": "", "data": { "sourceHandle": { "dataType": "OpenAIModel", - "id": "OpenAIModel-MhnGV", + "id": "OpenAIModel-zDrcf", "name": "text_output", "output_types": [ "Message" @@ -251,18 +257,18 @@ }, "targetHandle": { "fieldName": "input_value", - "id": "ChatOutput-dc1aC", + "id": "ChatOutput-joWRG", "inputTypes": [ "Message" ], "type": "str" } }, - "id": "xy-edge__OpenAIModel-MhnGV{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-MhnGVœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-dc1aC{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-dc1aCœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "OpenAIModel-MhnGV", - "sourceHandle": "{œdataTypeœ: œOpenAIModelœ, œidœ: œOpenAIModel-MhnGVœ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}", - "target": "ChatOutput-dc1aC", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-dc1aCœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-OpenAIModel-zDrcf{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-zDrcfœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-joWRG{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-joWRGœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "source": "OpenAIModel-zDrcf", + "sourceHandle": "{œdataTypeœ: œOpenAIModelœ, œidœ: œOpenAIModel-zDrcfœ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}", + "target": "ChatOutput-joWRG", + "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-joWRGœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" } ], "nodes": [ @@ -270,7 +276,7 @@ "data": { "description": "Create a prompt template with dynamic variables.", "display_name": "Prompt", - "id": "Prompt-vnTcM", + "id": "Prompt-oCyQS", "node": { "base_classes": [ "Message" @@ -401,10 +407,10 @@ }, "dragging": false, "height": 347, - "id": "Prompt-vnTcM", + "id": "Prompt-oCyQS", "measured": { "height": 347, - "width": 360 + "width": 320 }, "position": { "x": 1818.6564755787988, @@ -420,7 +426,7 @@ }, { "data": { - "id": "ChatInput-JfaSH", + "id": "ChatInput-hasDY", "node": { "base_classes": [ "Message" @@ -696,10 +702,10 @@ }, "dragging": false, "height": 234, - "id": "ChatInput-JfaSH", + "id": "ChatInput-hasDY", "measured": { "height": 234, - "width": 360 + "width": 320 }, "position": { "x": 756.0075981758582, @@ -717,7 +723,7 @@ "data": { "description": "Display a chat message in the Playground.", "display_name": "Chat Output", - "id": "ChatOutput-dc1aC", + "id": "ChatOutput-joWRG", "node": { "base_classes": [ "Message" @@ -979,10 +985,10 @@ }, "dragging": true, "height": 234, - "id": "ChatOutput-dc1aC", + "id": "ChatOutput-joWRG", "measured": { "height": 234, - "width": 360 + "width": 320 }, "position": { "x": 3235.4806463111895, @@ -992,7 +998,7 @@ "x": 3200.774558432761, "y": 853.9881404769172 }, - "selected": true, + "selected": false, "type": "genericNode", "width": 320 }, @@ -1000,7 +1006,7 @@ "data": { "description": "Create a prompt template with dynamic variables.", "display_name": "Prompt", - "id": "Prompt-QF5LF", + "id": "Prompt-GxcHe", "node": { "base_classes": [ "Message" @@ -1155,10 +1161,10 @@ }, "dragging": false, "height": 433, - "id": "Prompt-QF5LF", + "id": "Prompt-GxcHe", "measured": { "height": 433, - "width": 360 + "width": 320 }, "position": { "x": 2504.138359606453, @@ -1174,7 +1180,7 @@ }, { "data": { - "id": "note-OmVXD", + "id": "note-mVf0U", "node": { "description": "# Research Agent \n\nWelcome to the Research Agent! This flow helps you conduct in-depth research on various topics using AI-powered tools and analysis.\n\n## Instructions\n1. Enter Your Research Query\n - Type your research question or topic into the Chat Input node.\n - Be specific and clear about what you want to investigate.\n\n2. Generate Research Plan\n - The system will create a focused research plan based on your query.\n - This plan includes key search queries and priorities.\n\n3. Conduct Web Search\n - The Tavily AI Search tool will perform web searches using the generated queries.\n - It focuses on finding academic and reliable sources.\n\n4. Analyze and Synthesize\n - The AI agent will review the search results and create a comprehensive synthesis.\n - The report includes an executive summary, methodology, findings, and conclusions.\n\n5. Review the Output\n - Read the final report in the Chat Output node.\n - Use this information as a starting point for further research or decision-making.\n\nRemember: You can refine your initial query for more specific results! 🔍📊", "display_name": "", @@ -1186,15 +1192,15 @@ "type": "note" }, "dragging": false, - "height": 765, - "id": "note-OmVXD", + "height": 694, + "id": "note-mVf0U", "measured": { - "height": 765, - "width": 328 + "height": 694, + "width": 325 }, "position": { - "x": 471.4335708918645, - "y": -9.732869247334605 + "x": 504.2335190696667, + "y": 41.80990646064032 }, "positionAbsolute": { "x": 471.4335708918645, @@ -1207,13 +1213,13 @@ "width": 600 }, "type": "noteNode", - "width": 600 + "width": 324 }, { "data": { "description": "Define the agent's instructions, then enter a task to complete using tools.", "display_name": "Agent", - "id": "Agent-yGw6Q", + "id": "Agent-7qOlO", "node": { "base_classes": [ "Message" @@ -1362,7 +1368,7 @@ "show": true, "title_case": false, "type": "str", - "value": "OPENAI_API_KEY" + "value": "" }, "code": { "advanced": true, @@ -1775,10 +1781,10 @@ }, "dragging": false, "height": 658, - "id": "Agent-yGw6Q", + "id": "Agent-7qOlO", "measured": { "height": 658, - "width": 360 + "width": 320 }, "position": { "x": 2156.60686936856, @@ -1796,7 +1802,7 @@ "data": { "description": "Create a prompt template with dynamic variables.", "display_name": "Prompt", - "id": "Prompt-D14S9", + "id": "Prompt-2yPE7", "node": { "base_classes": [ "Message" @@ -1902,10 +1908,10 @@ }, "dragging": false, "height": 260, - "id": "Prompt-D14S9", + "id": "Prompt-2yPE7", "measured": { "height": 260, - "width": 360 + "width": 320 }, "position": { "x": 1102.6079408836365, @@ -1923,7 +1929,7 @@ "data": { "description": "Create a prompt template with dynamic variables.", "display_name": "Prompt", - "id": "Prompt-Lqvw5", + "id": "Prompt-OoSJu", "node": { "base_classes": [ "Message" @@ -2029,10 +2035,10 @@ }, "dragging": false, "height": 260, - "id": "Prompt-Lqvw5", + "id": "Prompt-OoSJu", "measured": { "height": 260, - "width": 360 + "width": 320 }, "position": { "x": 2498.9482347755306, @@ -2048,7 +2054,7 @@ }, { "data": { - "id": "note-0mAkP", + "id": "note-0T0JR", "node": { "description": "# 🔑 Tavily AI Search Needs API Key\n\nYou can get 1000 searches/month free [here](https://tavily.com/) ", "display_name": "", @@ -2061,10 +2067,10 @@ }, "dragging": false, "height": 325, - "id": "note-0mAkP", + "id": "note-0T0JR", "measured": { "height": 325, - "width": 328 + "width": 326 }, "position": { "x": 1797.5781951055678, @@ -2080,7 +2086,7 @@ }, { "data": { - "id": "TavilySearchComponent-ChvwJ", + "id": "TavilySearchComponent-oJz7N", "node": { "base_classes": [ "Data", @@ -2139,7 +2145,7 @@ "input_types": [ "Message" ], - "load_from_db": true, + "load_from_db": false, "name": "api_key", "password": true, "placeholder": "", @@ -2385,10 +2391,10 @@ "type": "TavilySearchComponent" }, "dragging": false, - "id": "TavilySearchComponent-ChvwJ", + "id": "TavilySearchComponent-oJz7N", "measured": { - "height": 489, - "width": 360 + "height": 435, + "width": 320 }, "position": { "x": 1802.928183797125, @@ -2399,7 +2405,7 @@ }, { "data": { - "id": "OpenAIModel-FVlqP", + "id": "OpenAIModel-VcHpk", "node": { "base_classes": [ "LanguageModel", @@ -2486,7 +2492,7 @@ "show": true, "title_case": false, "type": "str", - "value": "OPENAI_API_KEY" + "value": "" }, "code": { "advanced": true, @@ -2731,10 +2737,10 @@ "type": "OpenAIModel" }, "dragging": false, - "id": "OpenAIModel-FVlqP", + "id": "OpenAIModel-VcHpk", "measured": { - "height": 734, - "width": 360 + "height": 653, + "width": 320 }, "position": { "x": 1455.1912046212385, @@ -2745,7 +2751,7 @@ }, { "data": { - "id": "OpenAIModel-MhnGV", + "id": "OpenAIModel-zDrcf", "node": { "base_classes": [ "LanguageModel", @@ -2832,7 +2838,7 @@ "show": true, "title_case": false, "type": "str", - "value": "OPENAI_API_KEY" + "value": "" }, "code": { "advanced": true, @@ -3077,10 +3083,10 @@ "type": "OpenAIModel" }, "dragging": false, - "id": "OpenAIModel-MhnGV", + "id": "OpenAIModel-zDrcf", "measured": { - "height": 734, - "width": 360 + "height": 653, + "width": 320 }, "position": { "x": 2869.8759720421745, @@ -3091,9 +3097,9 @@ } ], "viewport": { - "x": -1483.015971938532, - "y": -267.7229964456226, - "zoom": 0.7779614946685405 + "x": -135.40378221384628, + "y": 346.1173837865683, + "zoom": 0.42682994266054 } }, "description": "Agent that generates focused plans, conducts web searches, and synthesizes findings into comprehensive reports.", diff --git a/src/backend/base/langflow/initial_setup/starter_projects/SEO Keyword Generator.json b/src/backend/base/langflow/initial_setup/starter_projects/SEO Keyword Generator.json index 00dc345ac..2975c33e9 100644 --- a/src/backend/base/langflow/initial_setup/starter_projects/SEO Keyword Generator.json +++ b/src/backend/base/langflow/initial_setup/starter_projects/SEO Keyword Generator.json @@ -2,79 +2,73 @@ "data": { "edges": [ { + "className": "", "data": { "sourceHandle": { "dataType": "Prompt", - "id": "Prompt-QFfcl", + "id": "Prompt-a6SIY", "name": "prompt", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "system_message", - "id": "OpenAIModel-3mbCD", - "inputTypes": [ - "Message" - ], + "id": "OpenAIModel-brPVM", + "inputTypes": ["Message"], "type": "str" } }, - "id": "xy-edge__Prompt-QFfcl{œdataTypeœ:œPromptœ,œidœ:œPrompt-QFfclœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-3mbCD{œfieldNameœ:œsystem_messageœ,œidœ:œOpenAIModel-3mbCDœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "Prompt-QFfcl", - "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-QFfclœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", - "target": "OpenAIModel-3mbCD", - "targetHandle": "{œfieldNameœ: œsystem_messageœ, œidœ: œOpenAIModel-3mbCDœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-Prompt-a6SIY{œdataTypeœ:œPromptœ,œidœ:œPrompt-a6SIYœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-brPVM{œfieldNameœ:œsystem_messageœ,œidœ:œOpenAIModel-brPVMœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "selected": false, + "source": "Prompt-a6SIY", + "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-a6SIYœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", + "target": "OpenAIModel-brPVM", + "targetHandle": "{œfieldNameœ: œsystem_messageœ, œidœ: œOpenAIModel-brPVMœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" }, { + "className": "", "data": { "sourceHandle": { "dataType": "Prompt", - "id": "Prompt-RpVoN", + "id": "Prompt-jkCpO", "name": "prompt", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "input_value", - "id": "OpenAIModel-3mbCD", - "inputTypes": [ - "Message" - ], + "id": "OpenAIModel-brPVM", + "inputTypes": ["Message"], "type": "str" } }, - "id": "xy-edge__Prompt-RpVoN{œdataTypeœ:œPromptœ,œidœ:œPrompt-RpVoNœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-3mbCD{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-3mbCDœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "Prompt-RpVoN", - "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-RpVoNœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", - "target": "OpenAIModel-3mbCD", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œOpenAIModel-3mbCDœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-Prompt-jkCpO{œdataTypeœ:œPromptœ,œidœ:œPrompt-jkCpOœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-brPVM{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-brPVMœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "selected": false, + "source": "Prompt-jkCpO", + "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-jkCpOœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", + "target": "OpenAIModel-brPVM", + "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œOpenAIModel-brPVMœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" }, { + "className": "", "data": { "sourceHandle": { "dataType": "OpenAIModel", - "id": "OpenAIModel-3mbCD", + "id": "OpenAIModel-brPVM", "name": "text_output", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "input_value", - "id": "ChatOutput-vBbvi", - "inputTypes": [ - "Message" - ], + "id": "ChatOutput-oE2ic", + "inputTypes": ["Message"], "type": "str" } }, - "id": "xy-edge__OpenAIModel-3mbCD{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-3mbCDœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-vBbvi{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-vBbviœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "OpenAIModel-3mbCD", - "sourceHandle": "{œdataTypeœ: œOpenAIModelœ, œidœ: œOpenAIModel-3mbCDœ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}", - "target": "ChatOutput-vBbvi", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-vBbviœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-OpenAIModel-brPVM{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-brPVMœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-oE2ic{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-oE2icœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "selected": false, + "source": "OpenAIModel-brPVM", + "sourceHandle": "{œdataTypeœ: œOpenAIModelœ, œidœ: œOpenAIModel-brPVMœ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}", + "target": "ChatOutput-oE2ic", + "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-oE2icœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" } ], "nodes": [ @@ -82,11 +76,9 @@ "data": { "description": "Create a prompt template with dynamic variables.", "display_name": "Prompt", - "id": "Prompt-RpVoN", + "id": "Prompt-jkCpO", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": { @@ -103,9 +95,7 @@ "display_name": "Prompt", "documentation": "", "edited": false, - "field_order": [ - "template" - ], + "field_order": ["template"], "frozen": false, "icon": "prompts", "legacy": false, @@ -156,10 +146,7 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": [ - "Message", - "Text" - ], + "input_types": ["Message", "Text"], "list": false, "load_from_db": false, "multiline": true, @@ -179,10 +166,7 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": [ - "Message", - "Text" - ], + "input_types": ["Message", "Text"], "list": false, "load_from_db": false, "multiline": true, @@ -202,10 +186,7 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": [ - "Message", - "Text" - ], + "input_types": ["Message", "Text"], "list": false, "load_from_db": false, "multiline": true, @@ -225,10 +206,7 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": [ - "Message", - "Text" - ], + "input_types": ["Message", "Text"], "list": false, "load_from_db": false, "multiline": true, @@ -248,10 +226,7 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": [ - "Message", - "Text" - ], + "input_types": ["Message", "Text"], "list": false, "load_from_db": false, "multiline": true, @@ -271,10 +246,7 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": [ - "Message", - "Text" - ], + "input_types": ["Message", "Text"], "list": false, "load_from_db": false, "multiline": true, @@ -310,9 +282,7 @@ "display_name": "Tool Placeholder", "dynamic": false, "info": "A placeholder input for tool mode.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "tool_placeholder", @@ -333,10 +303,10 @@ }, "dragging": false, "height": 779, - "id": "Prompt-RpVoN", + "id": "Prompt-jkCpO", "measured": { "height": 779, - "width": 360 + "width": 320 }, "position": { "x": 816.9328565352126, @@ -352,7 +322,7 @@ }, { "data": { - "id": "note-bzlUs", + "id": "note-nssRq", "node": { "description": "# SEO Keyword Generator\nWelcome to the SEO Keywords Generator - an AI tool to create strategic keywords based on your product and audience profile!\n\n## Instructions\n\n1. **Fill Product Information**\n - Enter your product name and description\n - Keep it clear and specific\n - Highlight unique features and benefits\n\n2. **Define Pain Points**\n - List customer problems and challenges\n - Be specific about what frustrations they face\n - Include both practical and emotional pain points\n\n3. **Set Goals & Solutions**\n - Specify customer objectives\n - Detail how they currently solve problems\n - Outline desired outcomes\n\n4. **Target Audience Details**\n - Define demographics and characteristics\n - Include expertise level\n - Describe behavior patterns and preferences\n\n5. **Review Output**\n - Examine generated keywords\n - Check relevance and search intent\n - Use insights for SEO strategy planning\n\nRemember: The more detailed your input, the more targeted and effective your keywords will be! 🎯🔍✨", "display_name": "", @@ -363,10 +333,10 @@ }, "dragging": false, "height": 607, - "id": "note-bzlUs", + "id": "note-nssRq", "measured": { - "height": 607, - "width": 328 + "height": 608, + "width": 324 }, "position": { "x": 221.74248905040588, @@ -380,20 +350,18 @@ "selected": false, "style": { "height": 607, - "width": 489 + "width": 324 }, "type": "noteNode", - "width": 489 + "width": 324 }, { "data": { "description": "Create a prompt template with dynamic variables.", "display_name": "Prompt", - "id": "Prompt-QFfcl", + "id": "Prompt-a6SIY", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": { @@ -403,9 +371,7 @@ "display_name": "Prompt", "documentation": "", "edited": false, - "field_order": [ - "template" - ], + "field_order": ["template"], "frozen": false, "icon": "prompts", "legacy": false, @@ -472,9 +438,7 @@ "display_name": "Tool Placeholder", "dynamic": false, "info": "A placeholder input for tool mode.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "tool_placeholder", @@ -495,10 +459,10 @@ }, "dragging": false, "height": 260, - "id": "Prompt-QFfcl", + "id": "Prompt-a6SIY", "measured": { "height": 260, - "width": 360 + "width": 320 }, "position": { "x": 813.5727530934735, @@ -516,11 +480,9 @@ "data": { "description": "Display a chat message in the Playground.", "display_name": "Chat Output", - "id": "ChatOutput-vBbvi", + "id": "ChatOutput-oE2ic", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -569,9 +531,7 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "background_color", @@ -591,9 +551,7 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "chat_icon", @@ -631,9 +589,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", @@ -653,9 +609,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", @@ -676,10 +630,7 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": [ - "Machine", - "User" - ], + "options": ["Machine", "User"], "placeholder": "", "required": false, "show": true, @@ -695,9 +646,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", @@ -717,9 +666,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", @@ -755,9 +702,7 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "text_color", @@ -778,10 +723,10 @@ }, "dragging": false, "height": 234, - "id": "ChatOutput-vBbvi", + "id": "ChatOutput-oE2ic", "measured": { "height": 234, - "width": 360 + "width": 320 }, "position": { "x": 1598.2529634286327, @@ -797,7 +742,7 @@ }, { "data": { - "id": "note-BWTHt", + "id": "note-aLkdy", "node": { "description": "## Make sure to add your OpenAI API key from [platform.openai.com](https://platform.openai.com). ", "display_name": "", @@ -808,10 +753,10 @@ }, "dragging": false, "height": 325, - "id": "note-BWTHt", + "id": "note-aLkdy", "measured": { "height": 325, - "width": 328 + "width": 326 }, "position": { "x": 1207.1996899547116, @@ -827,12 +772,9 @@ }, { "data": { - "id": "OpenAIModel-3mbCD", + "id": "OpenAIModel-brPVM", "node": { - "base_classes": [ - "LanguageModel", - "Message" - ], + "base_classes": ["LanguageModel", "Message"], "beta": false, "category": "models", "conditional_paths": [], @@ -882,9 +824,7 @@ "display_name": "Language Model", "method": "build_model", "name": "model_output", - "required_inputs": [ - "api_key" - ], + "required_inputs": ["api_key"], "selected": "LanguageModel", "tool_mode": true, "types": [ @@ -903,9 +843,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, @@ -914,7 +852,7 @@ "show": true, "title_case": false, "type": "str", - "value": "OPENAI_API_KEY" + "value": "" }, "code": { "advanced": true, @@ -940,9 +878,7 @@ "display_name": "Input", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1106,9 +1042,7 @@ "display_name": "System Message", "dynamic": false, "info": "System message to pass to the model.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1159,10 +1093,10 @@ "type": "OpenAIModel" }, "dragging": false, - "id": "OpenAIModel-3mbCD", + "id": "OpenAIModel-brPVM", "measured": { - "height": 734, - "width": 360 + "height": 653, + "width": 320 }, "position": { "x": 1211.6745177781336, @@ -1186,8 +1120,5 @@ "is_component": false, "last_tested_version": "1.0.19.post2", "name": "SEO Keyword Generator", - "tags": [ - "chatbots", - "assistants" - ] -} \ No newline at end of file + "tags": ["chatbots", "assistants"] +} diff --git a/src/backend/base/langflow/initial_setup/starter_projects/SaaS Pricing.json b/src/backend/base/langflow/initial_setup/starter_projects/SaaS Pricing.json index 19fe0ff13..9477282cd 100644 --- a/src/backend/base/langflow/initial_setup/starter_projects/SaaS Pricing.json +++ b/src/backend/base/langflow/initial_setup/starter_projects/SaaS Pricing.json @@ -7,26 +7,22 @@ "data": { "sourceHandle": { "dataType": "Agent", - "id": "Agent-wKeIr", + "id": "Agent-GgGua", "name": "response", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "input_value", - "id": "ChatOutput-BabAw", - "inputTypes": [ - "Message" - ], + "id": "ChatOutput-SplPb", + "inputTypes": ["Message"], "type": "str" } }, - "id": "reactflow__edge-Agent-wKeIr{œdataTypeœ:œAgentœ,œidœ:œAgent-wKeIrœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-BabAw{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-BabAwœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "Agent-wKeIr", - "sourceHandle": "{œdataTypeœ: œAgentœ, œidœ: œAgent-wKeIrœ, œnameœ: œresponseœ, œoutput_typesœ: [œMessageœ]}", - "target": "ChatOutput-BabAw", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-BabAwœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-Agent-GgGua{œdataTypeœ:œAgentœ,œidœ:œAgent-GgGuaœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-SplPb{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-SplPbœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "source": "Agent-GgGua", + "sourceHandle": "{œdataTypeœ: œAgentœ, œidœ: œAgent-GgGuaœ, œnameœ: œresponseœ, œoutput_typesœ: [œMessageœ]}", + "target": "ChatOutput-SplPb", + "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-SplPbœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" }, { "animated": false, @@ -34,52 +30,44 @@ "data": { "sourceHandle": { "dataType": "Prompt", - "id": "Prompt-TXNvz", + "id": "Prompt-tqP9Q", "name": "prompt", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "input_value", - "id": "Agent-wKeIr", - "inputTypes": [ - "Message" - ], + "id": "Agent-GgGua", + "inputTypes": ["Message"], "type": "str" } }, - "id": "reactflow__edge-Prompt-TXNvz{œdataTypeœ:œPromptœ,œidœ:œPrompt-TXNvzœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-Agent-wKeIr{œfieldNameœ:œinput_valueœ,œidœ:œAgent-wKeIrœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "Prompt-TXNvz", - "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-TXNvzœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", - "target": "Agent-wKeIr", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œAgent-wKeIrœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-Prompt-tqP9Q{œdataTypeœ:œPromptœ,œidœ:œPrompt-tqP9Qœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-Agent-GgGua{œfieldNameœ:œinput_valueœ,œidœ:œAgent-GgGuaœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "source": "Prompt-tqP9Q", + "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-tqP9Qœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", + "target": "Agent-GgGua", + "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œAgent-GgGuaœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" }, { "className": "", "data": { "sourceHandle": { "dataType": "CalculatorComponent", - "id": "CalculatorComponent-btXJ9", + "id": "CalculatorComponent-LyoFm", "name": "component_as_tool", - "output_types": [ - "Tool" - ] + "output_types": ["Tool"] }, "targetHandle": { "fieldName": "tools", - "id": "Agent-wKeIr", - "inputTypes": [ - "Tool" - ], + "id": "Agent-GgGua", + "inputTypes": ["Tool"], "type": "other" } }, - "id": "reactflow__edge-CalculatorComponent-btXJ9{œdataTypeœ:œCalculatorComponentœ,œidœ:œCalculatorComponent-btXJ9œ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-wKeIr{œfieldNameœ:œtoolsœ,œidœ:œAgent-wKeIrœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", - "source": "CalculatorComponent-btXJ9", - "sourceHandle": "{œdataTypeœ: œCalculatorComponentœ, œidœ: œCalculatorComponent-btXJ9œ, œnameœ: œcomponent_as_toolœ, œoutput_typesœ: [œToolœ]}", - "target": "Agent-wKeIr", - "targetHandle": "{œfieldNameœ: œtoolsœ, œidœ: œAgent-wKeIrœ, œinputTypesœ: [œToolœ], œtypeœ: œotherœ}" + "id": "reactflow__edge-CalculatorComponent-LyoFm{œdataTypeœ:œCalculatorComponentœ,œidœ:œCalculatorComponent-LyoFmœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-GgGua{œfieldNameœ:œtoolsœ,œidœ:œAgent-GgGuaœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", + "source": "CalculatorComponent-LyoFm", + "sourceHandle": "{œdataTypeœ: œCalculatorComponentœ, œidœ: œCalculatorComponent-LyoFmœ, œnameœ: œcomponent_as_toolœ, œoutput_typesœ: [œToolœ]}", + "target": "Agent-GgGua", + "targetHandle": "{œfieldNameœ: œtoolsœ, œidœ: œAgent-GgGuaœ, œinputTypesœ: [œToolœ], œtypeœ: œotherœ}" } ], "nodes": [ @@ -87,11 +75,9 @@ "data": { "description": "Create a prompt template with dynamic variables.", "display_name": "Prompt", - "id": "Prompt-TXNvz", + "id": "Prompt-tqP9Q", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": { @@ -107,9 +93,7 @@ "display_name": "Prompt", "documentation": "", "edited": false, - "field_order": [ - "template" - ], + "field_order": ["template"], "frozen": false, "icon": "prompts", "legacy": false, @@ -160,10 +144,7 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": [ - "Message", - "Text" - ], + "input_types": ["Message", "Text"], "list": false, "load_from_db": false, "multiline": true, @@ -183,10 +164,7 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": [ - "Message", - "Text" - ], + "input_types": ["Message", "Text"], "list": false, "load_from_db": false, "multiline": true, @@ -206,10 +184,7 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": [ - "Message", - "Text" - ], + "input_types": ["Message", "Text"], "list": false, "load_from_db": false, "multiline": true, @@ -229,10 +204,7 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": [ - "Message", - "Text" - ], + "input_types": ["Message", "Text"], "list": false, "load_from_db": false, "multiline": true, @@ -252,10 +224,7 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": [ - "Message", - "Text" - ], + "input_types": ["Message", "Text"], "list": false, "load_from_db": false, "multiline": true, @@ -291,9 +260,7 @@ "display_name": "Tool Placeholder", "dynamic": false, "info": "A placeholder input for tool mode.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "tool_placeholder", @@ -314,10 +281,10 @@ }, "dragging": false, "height": 693, - "id": "Prompt-TXNvz", + "id": "Prompt-tqP9Q", "measured": { "height": 693, - "width": 360 + "width": 320 }, "position": { "x": 1349.861745038984, @@ -335,11 +302,9 @@ "data": { "description": "Display a chat message in the Playground.", "display_name": "Chat Output", - "id": "ChatOutput-BabAw", + "id": "ChatOutput-SplPb", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -388,9 +353,7 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "background_color", @@ -410,9 +373,7 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "chat_icon", @@ -450,9 +411,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", @@ -472,9 +431,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", @@ -495,10 +452,7 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": [ - "Machine", - "User" - ], + "options": ["Machine", "User"], "placeholder": "", "required": false, "show": true, @@ -514,9 +468,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", @@ -536,9 +488,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", @@ -574,9 +524,7 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "text_color", @@ -597,10 +545,10 @@ }, "dragging": false, "height": 234, - "id": "ChatOutput-BabAw", + "id": "ChatOutput-SplPb", "measured": { "height": 234, - "width": 360 + "width": 320 }, "position": { "x": 2240.3625274769397, @@ -616,7 +564,7 @@ }, { "data": { - "id": "note-ux8AH", + "id": "note-VL2VP", "node": { "description": "# SaaS Pricing Calculator\n\nWelcome to the SaaS Pricing Calculator! This flow helps you determine the optimal monthly subscription price for your software service.\n\n## Instructions\n\n1. Prepare Your Data\n - Gather information on monthly infrastructure costs\n - Calculate customer support expenses\n - Estimate continuous development costs\n - Decide on your desired profit margin\n - Determine the estimated number of subscribers\n\n2. Input Values\n - Enter the gathered data into the respective fields in the Prompt node\n - Double-check the accuracy of your inputs\n\n3. Run the Flow\n - Click the \"Run\" button to start the calculation process\n - The flow will use Chain-of-Thought prompting to guide the AI through the steps\n\n4. Review the Results\n - Examine the output in the Chat Output node\n - The result will show a breakdown of costs and the final subscription price\n\n5. Adjust and Refine\n - If needed, modify your inputs to explore different pricing scenarios\n - Re-run the flow to see how changes affect the final price\n\nRemember: Regularly update your costs and subscriber estimates to keep your pricing model accurate and competitive! 💼📊", "display_name": "", @@ -627,10 +575,10 @@ }, "dragging": false, "height": 800, - "id": "note-ux8AH", + "id": "note-VL2VP", "measured": { "height": 800, - "width": 328 + "width": 324 }, "position": { "x": 689.7659055360411, @@ -641,23 +589,21 @@ "y": 68.95847391680593 }, "resizing": false, - "selected": false, + "selected": true, "style": { "height": 800, - "width": 600 + "width": 324 }, "type": "noteNode", - "width": 600 + "width": 324 }, { "data": { "description": "Define the agent's instructions, then enter a task to complete using tools.", "display_name": "Agent", - "id": "Agent-wKeIr", + "id": "Agent-GgGua", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -739,9 +685,7 @@ "display_name": "Agent Description [Deprecated]", "dynamic": false, "info": "The description of the agent. This is only used when in Tool Mode. Defaults to 'A helpful assistant with access to the following tools:' and tools are added dynamically. This feature is deprecated and will be removed in future versions.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "multiline": true, @@ -791,9 +735,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, @@ -802,7 +744,7 @@ "show": true, "title_case": false, "type": "str", - "value": "OPENAI_API_KEY" + "value": "" }, "code": { "advanced": true, @@ -844,9 +786,7 @@ "display_name": "Input", "dynamic": false, "info": "The input provided by the user for the agent to process.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "input_value", @@ -920,9 +860,7 @@ "display_name": "External Memory", "dynamic": false, "info": "Retrieve messages from an external memory. If empty, it will use the Langflow tables.", - "input_types": [ - "Memory" - ], + "input_types": ["Memory"], "list": false, "name": "memory", "placeholder": "", @@ -1016,10 +954,7 @@ "dynamic": false, "info": "Order of the messages.", "name": "order", - "options": [ - "Ascending", - "Descending" - ], + "options": ["Ascending", "Descending"], "placeholder": "", "required": false, "show": true, @@ -1053,11 +988,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, @@ -1073,9 +1004,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", @@ -1095,9 +1024,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", @@ -1117,9 +1044,7 @@ "display_name": "Agent Instructions", "dynamic": false, "info": "System Prompt: Initial instructions and context provided to guide the agent's behavior.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "multiline": true, @@ -1156,9 +1081,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, @@ -1179,9 +1102,7 @@ "display_name": "Tools", "dynamic": false, "info": "These are the tools that the agent can use to help with tasks.", - "input_types": [ - "Tool" - ], + "input_types": ["Tool"], "list": true, "name": "tools", "placeholder": "", @@ -1215,10 +1136,10 @@ }, "dragging": false, "height": 650, - "id": "Agent-wKeIr", + "id": "Agent-GgGua", "measured": { "height": 650, - "width": 360 + "width": 320 }, "position": { "x": 1819.2633856623966, @@ -1228,17 +1149,15 @@ "x": 1819.2633856623966, "y": 138.32023808479687 }, - "selected": true, + "selected": false, "type": "genericNode", "width": 320 }, { "data": { - "id": "CalculatorComponent-btXJ9", + "id": "CalculatorComponent-LyoFm", "node": { - "base_classes": [ - "Data" - ], + "base_classes": ["Data"], "beta": false, "category": "tools", "conditional_paths": [], @@ -1247,9 +1166,7 @@ "display_name": "Calculator", "documentation": "", "edited": false, - "field_order": [ - "expression" - ], + "field_order": ["expression"], "frozen": false, "icon": "calculator", "key": "CalculatorComponent", @@ -1267,9 +1184,7 @@ "name": "component_as_tool", "required_inputs": null, "selected": "Tool", - "types": [ - "Tool" - ], + "types": ["Tool"], "value": "__UNDEFINED__" } ], @@ -1301,9 +1216,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, "list_add_label": "Add More", "load_from_db": false, @@ -1343,10 +1256,7 @@ "description": "Modify tool names and descriptions to help agents understand when to use each tool.", "field_parsers": { "commands": "commands", - "name": [ - "snake_case", - "no_blank" - ] + "name": ["snake_case", "no_blank"] }, "hide_options": true }, @@ -1397,9 +1307,7 @@ { "description": "evaluate_expression() - Perform basic arithmetic operations on a given expression.", "name": "None-evaluate_expression", - "tags": [ - "None-evaluate_expression" - ] + "tags": ["None-evaluate_expression"] } ] } @@ -1410,10 +1318,10 @@ "type": "CalculatorComponent" }, "dragging": false, - "id": "CalculatorComponent-btXJ9", + "id": "CalculatorComponent-LyoFm", "measured": { - "height": 374, - "width": 360 + "height": 333, + "width": 320 }, "position": { "x": 1350.9477037257504, @@ -1424,9 +1332,9 @@ } ], "viewport": { - "x": -432.45261318505345, - "y": 74.8182374148081, - "zoom": 0.7507017664074155 + "x": -419.5792282920602, + "y": 250.7080185506556, + "zoom": 0.7037132543294129 } }, "description": "Calculate SaaS subscription price based on costs, profit margin, and subscribers using step-by-step method and Chain-of-Thought prompting. ", @@ -1437,8 +1345,5 @@ "is_component": false, "last_tested_version": "1.1.1", "name": "SaaS Pricing", - "tags": [ - "agents", - "assistants" - ] -} \ No newline at end of file + "tags": ["agents", "assistants"] +} diff --git a/src/backend/base/langflow/initial_setup/starter_projects/Simple Agent.json b/src/backend/base/langflow/initial_setup/starter_projects/Simple Agent.json index 4f6948087..6b8d22c80 100644 --- a/src/backend/base/langflow/initial_setup/starter_projects/Simple Agent.json +++ b/src/backend/base/langflow/initial_setup/starter_projects/Simple Agent.json @@ -7,27 +7,23 @@ "data": { "sourceHandle": { "dataType": "ChatInput", - "id": "ChatInput-Kdh0W", + "id": "ChatInput-vSKY8", "name": "message", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "input_value", - "id": "Agent-3NhNI", - "inputTypes": [ - "Message" - ], + "id": "Agent-EPjLx", + "inputTypes": ["Message"], "type": "str" } }, - "id": "reactflow__edge-ChatInput-Kdh0W{œdataTypeœ:œChatInputœ,œidœ:œChatInput-Kdh0Wœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-Agent-3NhNI{œfieldNameœ:œinput_valueœ,œidœ:œAgent-3NhNIœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-ChatInput-vSKY8{œdataTypeœ:œChatInputœ,œidœ:œChatInput-vSKY8œ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-Agent-EPjLx{œfieldNameœ:œinput_valueœ,œidœ:œAgent-EPjLxœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "ChatInput-Kdh0W", - "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-Kdh0Wœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", - "target": "Agent-3NhNI", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œAgent-3NhNIœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "source": "ChatInput-vSKY8", + "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-vSKY8œ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", + "target": "Agent-EPjLx", + "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œAgent-EPjLxœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" }, { "animated": false, @@ -35,79 +31,67 @@ "data": { "sourceHandle": { "dataType": "Agent", - "id": "Agent-3NhNI", + "id": "Agent-EPjLx", "name": "response", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "input_value", - "id": "ChatOutput-SzD3j", - "inputTypes": [ - "Message" - ], + "id": "ChatOutput-x6tZi", + "inputTypes": ["Message"], "type": "str" } }, - "id": "reactflow__edge-Agent-3NhNI{œdataTypeœ:œAgentœ,œidœ:œAgent-3NhNIœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-SzD3j{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-SzD3jœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-Agent-EPjLx{œdataTypeœ:œAgentœ,œidœ:œAgent-EPjLxœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-x6tZi{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-x6tZiœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "Agent-3NhNI", - "sourceHandle": "{œdataTypeœ: œAgentœ, œidœ: œAgent-3NhNIœ, œnameœ: œresponseœ, œoutput_typesœ: [œMessageœ]}", - "target": "ChatOutput-SzD3j", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-SzD3jœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "source": "Agent-EPjLx", + "sourceHandle": "{œdataTypeœ: œAgentœ, œidœ: œAgent-EPjLxœ, œnameœ: œresponseœ, œoutput_typesœ: [œMessageœ]}", + "target": "ChatOutput-x6tZi", + "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-x6tZiœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" }, { "className": "", "data": { "sourceHandle": { "dataType": "CalculatorComponent", - "id": "CalculatorComponent-F89Ck", + "id": "CalculatorComponent-zxpIu", "name": "component_as_tool", - "output_types": [ - "Tool" - ] + "output_types": ["Tool"] }, "targetHandle": { "fieldName": "tools", - "id": "Agent-3NhNI", - "inputTypes": [ - "Tool" - ], + "id": "Agent-EPjLx", + "inputTypes": ["Tool"], "type": "other" } }, - "id": "reactflow__edge-CalculatorComponent-F89Ck{œdataTypeœ:œCalculatorComponentœ,œidœ:œCalculatorComponent-F89Ckœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-3NhNI{œfieldNameœ:œtoolsœ,œidœ:œAgent-3NhNIœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", - "source": "CalculatorComponent-F89Ck", - "sourceHandle": "{œdataTypeœ: œCalculatorComponentœ, œidœ: œCalculatorComponent-F89Ckœ, œnameœ: œcomponent_as_toolœ, œoutput_typesœ: [œToolœ]}", - "target": "Agent-3NhNI", - "targetHandle": "{œfieldNameœ: œtoolsœ, œidœ: œAgent-3NhNIœ, œinputTypesœ: [œToolœ], œtypeœ: œotherœ}" + "id": "reactflow__edge-CalculatorComponent-zxpIu{œdataTypeœ:œCalculatorComponentœ,œidœ:œCalculatorComponent-zxpIuœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-EPjLx{œfieldNameœ:œtoolsœ,œidœ:œAgent-EPjLxœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", + "source": "CalculatorComponent-zxpIu", + "sourceHandle": "{œdataTypeœ: œCalculatorComponentœ, œidœ: œCalculatorComponent-zxpIuœ, œnameœ: œcomponent_as_toolœ, œoutput_typesœ: [œToolœ]}", + "target": "Agent-EPjLx", + "targetHandle": "{œfieldNameœ: œtoolsœ, œidœ: œAgent-EPjLxœ, œinputTypesœ: [œToolœ], œtypeœ: œotherœ}" }, { "className": "", "data": { "sourceHandle": { "dataType": "URL", - "id": "URL-4Q2PI", + "id": "URL-yM3pY", "name": "component_as_tool", - "output_types": [ - "Tool" - ] + "output_types": ["Tool"] }, "targetHandle": { "fieldName": "tools", - "id": "Agent-3NhNI", - "inputTypes": [ - "Tool" - ], + "id": "Agent-EPjLx", + "inputTypes": ["Tool"], "type": "other" } }, - "id": "reactflow__edge-URL-4Q2PI{œdataTypeœ:œURLœ,œidœ:œURL-4Q2PIœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-3NhNI{œfieldNameœ:œtoolsœ,œidœ:œAgent-3NhNIœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", - "source": "URL-4Q2PI", - "sourceHandle": "{œdataTypeœ: œURLœ, œidœ: œURL-4Q2PIœ, œnameœ: œcomponent_as_toolœ, œoutput_typesœ: [œToolœ]}", - "target": "Agent-3NhNI", - "targetHandle": "{œfieldNameœ: œtoolsœ, œidœ: œAgent-3NhNIœ, œinputTypesœ: [œToolœ], œtypeœ: œotherœ}" + "id": "reactflow__edge-URL-yM3pY{œdataTypeœ:œURLœ,œidœ:œURL-yM3pYœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-EPjLx{œfieldNameœ:œtoolsœ,œidœ:œAgent-EPjLxœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", + "source": "URL-yM3pY", + "sourceHandle": "{œdataTypeœ: œURLœ, œidœ: œURL-yM3pYœ, œnameœ: œcomponent_as_toolœ, œoutput_typesœ: [œToolœ]}", + "target": "Agent-EPjLx", + "targetHandle": "{œfieldNameœ: œtoolsœ, œidœ: œAgent-EPjLxœ, œinputTypesœ: [œToolœ], œtypeœ: œotherœ}" } ], "nodes": [ @@ -115,11 +99,9 @@ "data": { "description": "Define the agent's instructions, then enter a task to complete using tools.", "display_name": "Agent", - "id": "Agent-3NhNI", + "id": "Agent-EPjLx", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -201,9 +183,7 @@ "display_name": "Agent Description [Deprecated]", "dynamic": false, "info": "The description of the agent. This is only used when in Tool Mode. Defaults to 'A helpful assistant with access to the following tools:' and tools are added dynamically. This feature is deprecated and will be removed in future versions.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "multiline": true, @@ -253,9 +233,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, @@ -264,7 +242,7 @@ "show": true, "title_case": false, "type": "str", - "value": "OPENAI_API_KEY" + "value": "" }, "code": { "advanced": true, @@ -306,9 +284,7 @@ "display_name": "Input", "dynamic": false, "info": "The input provided by the user for the agent to process.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "input_value", @@ -382,9 +358,7 @@ "display_name": "External Memory", "dynamic": false, "info": "Retrieve messages from an external memory. If empty, it will use the Langflow tables.", - "input_types": [ - "Memory" - ], + "input_types": ["Memory"], "list": false, "name": "memory", "placeholder": "", @@ -478,10 +452,7 @@ "dynamic": false, "info": "Order of the messages.", "name": "order", - "options": [ - "Ascending", - "Descending" - ], + "options": ["Ascending", "Descending"], "placeholder": "", "required": false, "show": true, @@ -515,11 +486,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, @@ -535,9 +502,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", @@ -557,9 +522,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", @@ -579,9 +542,7 @@ "display_name": "Agent Instructions", "dynamic": false, "info": "System Prompt: Initial instructions and context provided to guide the agent's behavior.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "multiline": true, @@ -618,9 +579,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, @@ -641,9 +600,7 @@ "display_name": "Tools", "dynamic": false, "info": "These are the tools that the agent can use to help with tasks.", - "input_types": [ - "Tool" - ], + "input_types": ["Tool"], "list": true, "name": "tools", "placeholder": "", @@ -676,25 +633,23 @@ "type": "Agent" }, "dragging": false, - "id": "Agent-3NhNI", + "id": "Agent-EPjLx", "measured": { - "height": 698, - "width": 360 + "height": 621, + "width": 320 }, "position": { "x": 1652.2479633316434, "y": 297.9085084144251 }, - "selected": true, + "selected": false, "type": "genericNode" }, { "data": { - "id": "ChatInput-Kdh0W", + "id": "ChatInput-vSKY8", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -743,9 +698,7 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "background_color", @@ -765,9 +718,7 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "chat_icon", @@ -870,10 +821,7 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": [ - "Machine", - "User" - ], + "options": ["Machine", "User"], "placeholder": "", "required": false, "show": true, @@ -889,9 +837,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", @@ -911,9 +857,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", @@ -949,9 +893,7 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "text_color", @@ -971,10 +913,10 @@ "type": "ChatInput" }, "dragging": false, - "id": "ChatInput-Kdh0W", + "id": "ChatInput-vSKY8", "measured": { - "height": 257, - "width": 360 + "height": 229, + "width": 320 }, "position": { "x": 1241.9566260691947, @@ -987,11 +929,9 @@ "data": { "description": "Display a chat message in the Playground.", "display_name": "Chat Output", - "id": "ChatOutput-SzD3j", + "id": "ChatOutput-x6tZi", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -1040,9 +980,7 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "background_color", @@ -1062,9 +1000,7 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "chat_icon", @@ -1102,9 +1038,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", @@ -1124,9 +1058,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", @@ -1147,10 +1079,7 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": [ - "Machine", - "User" - ], + "options": ["Machine", "User"], "placeholder": "", "required": false, "show": true, @@ -1166,9 +1095,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", @@ -1188,9 +1115,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", @@ -1226,9 +1151,7 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "text_color", @@ -1247,10 +1170,10 @@ }, "type": "ChatOutput" }, - "id": "ChatOutput-SzD3j", + "id": "ChatOutput-x6tZi", "measured": { - "height": 257, - "width": 360 + "height": 229, + "width": 320 }, "position": { "x": 2029.726227044409, @@ -1263,13 +1186,9 @@ "data": { "description": "Load and retrive data from specified URLs.", "display_name": "URL", - "id": "URL-4Q2PI", + "id": "URL-yM3pY", "node": { - "base_classes": [ - "Data", - "DataFrame", - "Message" - ], + "base_classes": ["Data", "DataFrame", "Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -1277,10 +1196,7 @@ "display_name": "URL", "documentation": "", "edited": false, - "field_order": [ - "urls", - "format" - ], + "field_order": ["urls", "format"], "frozen": false, "icon": "layout-template", "legacy": false, @@ -1296,9 +1212,7 @@ "name": "component_as_tool", "required_inputs": null, "selected": "Tool", - "types": [ - "Tool" - ], + "types": ["Tool"], "value": "__UNDEFINED__" } ], @@ -1331,10 +1245,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, @@ -1369,10 +1280,7 @@ "description": "Modify tool names and descriptions to help agents understand when to use each tool.", "field_parsers": { "commands": "commands", - "name": [ - "snake_case", - "no_blank" - ] + "name": ["snake_case", "no_blank"] }, "hide_options": true }, @@ -1423,23 +1331,17 @@ { "description": "fetch_content() - Load and retrive data from specified URLs.", "name": "URL-fetch_content", - "tags": [ - "URL-fetch_content" - ] + "tags": ["URL-fetch_content"] }, { "description": "fetch_content_text() - Load and retrive data from specified URLs.", "name": "URL-fetch_content_text", - "tags": [ - "URL-fetch_content_text" - ] + "tags": ["URL-fetch_content_text"] }, { "description": "as_dataframe() - Load and retrive data from specified URLs.", "name": "URL-as_dataframe", - "tags": [ - "URL-as_dataframe" - ] + "tags": ["URL-as_dataframe"] } ] }, @@ -1449,9 +1351,7 @@ "display_name": "URLs", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": true, "list_add_label": "Add URL", "load_from_db": false, @@ -1472,10 +1372,10 @@ "type": "URL" }, "dragging": false, - "id": "URL-4Q2PI", + "id": "URL-yM3pY", "measured": { - "height": 453, - "width": 360 + "height": 403, + "width": 320 }, "position": { "x": 1225.8773509111968, @@ -1486,7 +1386,7 @@ }, { "data": { - "id": "note-MeseW", + "id": "note-Zo71g", "node": { "description": "# 📖 README\nRun an Agent with URL and Calculator tools available for its use. \nThe Agent decides which tool to use to solve a problem.\n## Quick start\n\n1. Add your OpenAI API key to the Agent.\n2. Open the Playground and chat with the Agent. Request some information about a recipe, and then ask to add two numbers together. In the responses, the Agent will use different tools to solve different problems.\n\n## Next steps\nConnect more tools to the Agent to create your perfect assistant.\n\nFor more, see the [Langflow docs](https://docs.langflow.org/agents-tool-calling-agent-component).", "display_name": "", @@ -1498,21 +1398,21 @@ "type": "note" }, "dragging": false, - "id": "note-MeseW", + "id": "note-Zo71g", "measured": { - "height": 328, - "width": 328 + "height": 324, + "width": 324 }, "position": { "x": 775.5268622081468, "y": 27.927425537464444 }, - "selected": false, + "selected": true, "type": "noteNode" }, { "data": { - "id": "note-yfpyo", + "id": "note-enlN0", "node": { "description": "### 💡 Add your OpenAI API key here👇", "display_name": "", @@ -1523,10 +1423,10 @@ }, "type": "note" }, - "id": "note-yfpyo", + "id": "note-enlN0", "measured": { - "height": 326, - "width": 326 + "height": 698, + "width": 324 }, "position": { "x": 1648.6876745095624, @@ -1537,11 +1437,9 @@ }, { "data": { - "id": "CalculatorComponent-F89Ck", + "id": "CalculatorComponent-zxpIu", "node": { - "base_classes": [ - "Data" - ], + "base_classes": ["Data"], "beta": false, "category": "tools", "conditional_paths": [], @@ -1550,9 +1448,7 @@ "display_name": "Calculator", "documentation": "", "edited": false, - "field_order": [ - "expression" - ], + "field_order": ["expression"], "frozen": false, "icon": "calculator", "key": "CalculatorComponent", @@ -1571,9 +1467,7 @@ "name": "component_as_tool", "required_inputs": null, "selected": "Tool", - "types": [ - "Tool" - ], + "types": ["Tool"], "value": "__UNDEFINED__" } ], @@ -1605,9 +1499,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, "list_add_label": "Add More", "load_from_db": false, @@ -1647,10 +1539,7 @@ "description": "Modify tool names and descriptions to help agents understand when to use each tool.", "field_parsers": { "commands": "commands", - "name": [ - "snake_case", - "no_blank" - ] + "name": ["snake_case", "no_blank"] }, "hide_options": true }, @@ -1701,9 +1590,7 @@ { "description": "evaluate_expression() - Perform basic arithmetic operations on a given expression.", "name": "None-evaluate_expression", - "tags": [ - "None-evaluate_expression" - ] + "tags": ["None-evaluate_expression"] } ] } @@ -1714,10 +1601,10 @@ "type": "CalculatorComponent" }, "dragging": false, - "id": "CalculatorComponent-F89Ck", + "id": "CalculatorComponent-zxpIu", "measured": { - "height": 374, - "width": 360 + "height": 333, + "width": 320 }, "position": { "x": 1233.166256931297, @@ -1728,9 +1615,9 @@ } ], "viewport": { - "x": -311.5761975342741, - "y": 21.53149314357762, - "zoom": 0.7039413065053529 + "x": 528.5325055091846, + "y": 51.2172319875898, + "zoom": 0.12508906569071757 } }, "description": "A simple but powerful starter agent.", @@ -1739,8 +1626,5 @@ "is_component": false, "last_tested_version": "1.1.1", "name": "Simple Agent", - "tags": [ - "assistants", - "agents" - ] -} \ No newline at end of file + "tags": ["assistants", "agents"] +} diff --git a/src/backend/base/langflow/initial_setup/starter_projects/Travel Planning Agents.json b/src/backend/base/langflow/initial_setup/starter_projects/Travel Planning Agents.json index b10f64d56..8463a0008 100644 --- a/src/backend/base/langflow/initial_setup/starter_projects/Travel Planning Agents.json +++ b/src/backend/base/langflow/initial_setup/starter_projects/Travel Planning Agents.json @@ -7,26 +7,22 @@ "data": { "sourceHandle": { "dataType": "Agent", - "id": "Agent-txo0a", + "id": "Agent-8PETJ", "name": "response", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "input_value", - "id": "ChatOutput-bHF59", - "inputTypes": [ - "Message" - ], + "id": "ChatOutput-1fycm", + "inputTypes": ["Message"], "type": "str" } }, - "id": "reactflow__edge-Agent-txo0a{œdataTypeœ:œAgentœ,œidœ:œAgent-txo0aœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-bHF59{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-bHF59œ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "Agent-txo0a", - "sourceHandle": "{œdataTypeœ: œAgentœ, œidœ: œAgent-txo0aœ, œnameœ: œresponseœ, œoutput_typesœ: [œMessageœ]}", - "target": "ChatOutput-bHF59", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-bHF59œ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-Agent-8PETJ{œdataTypeœ:œAgentœ,œidœ:œAgent-8PETJœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-1fycm{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-1fycmœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "source": "Agent-8PETJ", + "sourceHandle": "{œdataTypeœ: œAgentœ, œidœ: œAgent-8PETJœ, œnameœ: œresponseœ, œoutput_typesœ: [œMessageœ]}", + "target": "ChatOutput-1fycm", + "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-1fycmœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" }, { "animated": false, @@ -34,26 +30,22 @@ "data": { "sourceHandle": { "dataType": "Agent", - "id": "Agent-xeg6y", + "id": "Agent-Mb2Ep", "name": "response", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "input_value", - "id": "Agent-txo0a", - "inputTypes": [ - "Message" - ], + "id": "Agent-8PETJ", + "inputTypes": ["Message"], "type": "str" } }, - "id": "reactflow__edge-Agent-xeg6y{œdataTypeœ:œAgentœ,œidœ:œAgent-xeg6yœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-Agent-txo0a{œfieldNameœ:œinput_valueœ,œidœ:œAgent-txo0aœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "Agent-xeg6y", - "sourceHandle": "{œdataTypeœ: œAgentœ, œidœ: œAgent-xeg6yœ, œnameœ: œresponseœ, œoutput_typesœ: [œMessageœ]}", - "target": "Agent-txo0a", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œAgent-txo0aœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-Agent-Mb2Ep{œdataTypeœ:œAgentœ,œidœ:œAgent-Mb2Epœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-Agent-8PETJ{œfieldNameœ:œinput_valueœ,œidœ:œAgent-8PETJœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "source": "Agent-Mb2Ep", + "sourceHandle": "{œdataTypeœ: œAgentœ, œidœ: œAgent-Mb2Epœ, œnameœ: œresponseœ, œoutput_typesœ: [œMessageœ]}", + "target": "Agent-8PETJ", + "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œAgent-8PETJœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" }, { "animated": false, @@ -61,26 +53,22 @@ "data": { "sourceHandle": { "dataType": "Agent", - "id": "Agent-Bsq4j", + "id": "Agent-VEG7r", "name": "response", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "input_value", - "id": "Agent-xeg6y", - "inputTypes": [ - "Message" - ], + "id": "Agent-Mb2Ep", + "inputTypes": ["Message"], "type": "str" } }, - "id": "reactflow__edge-Agent-Bsq4j{œdataTypeœ:œAgentœ,œidœ:œAgent-Bsq4jœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-Agent-xeg6y{œfieldNameœ:œinput_valueœ,œidœ:œAgent-xeg6yœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "Agent-Bsq4j", - "sourceHandle": "{œdataTypeœ: œAgentœ, œidœ: œAgent-Bsq4jœ, œnameœ: œresponseœ, œoutput_typesœ: [œMessageœ]}", - "target": "Agent-xeg6y", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œAgent-xeg6yœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-Agent-VEG7r{œdataTypeœ:œAgentœ,œidœ:œAgent-VEG7rœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-Agent-Mb2Ep{œfieldNameœ:œinput_valueœ,œidœ:œAgent-Mb2Epœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "source": "Agent-VEG7r", + "sourceHandle": "{œdataTypeœ: œAgentœ, œidœ: œAgent-VEG7rœ, œnameœ: œresponseœ, œoutput_typesœ: [œMessageœ]}", + "target": "Agent-Mb2Ep", + "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œAgent-Mb2Epœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" }, { "animated": false, @@ -88,26 +76,22 @@ "data": { "sourceHandle": { "dataType": "ChatInput", - "id": "ChatInput-VKkd5", + "id": "ChatInput-Nbu0b", "name": "message", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "input_value", - "id": "Agent-Bsq4j", - "inputTypes": [ - "Message" - ], + "id": "Agent-VEG7r", + "inputTypes": ["Message"], "type": "str" } }, - "id": "reactflow__edge-ChatInput-VKkd5{œdataTypeœ:œChatInputœ,œidœ:œChatInput-VKkd5œ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-Agent-Bsq4j{œfieldNameœ:œinput_valueœ,œidœ:œAgent-Bsq4jœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "ChatInput-VKkd5", - "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-VKkd5œ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", - "target": "Agent-Bsq4j", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œAgent-Bsq4jœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-ChatInput-Nbu0b{œdataTypeœ:œChatInputœ,œidœ:œChatInput-Nbu0bœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-Agent-VEG7r{œfieldNameœ:œinput_valueœ,œidœ:œAgent-VEG7rœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "source": "ChatInput-Nbu0b", + "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-Nbu0bœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", + "target": "Agent-VEG7r", + "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œAgent-VEG7rœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" }, { "animated": false, @@ -115,26 +99,22 @@ "data": { "sourceHandle": { "dataType": "URL", - "id": "URL-VCoZD", + "id": "URL-hJKTA", "name": "component_as_tool", - "output_types": [ - "Tool" - ] + "output_types": ["Tool"] }, "targetHandle": { "fieldName": "tools", - "id": "Agent-xeg6y", - "inputTypes": [ - "Tool" - ], + "id": "Agent-Mb2Ep", + "inputTypes": ["Tool"], "type": "other" } }, - "id": "xy-edge__URL-VCoZD{œdataTypeœ:œURLœ,œidœ:œURL-VCoZDœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-xeg6y{œfieldNameœ:œtoolsœ,œidœ:œAgent-xeg6yœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", - "source": "URL-VCoZD", - "sourceHandle": "{œdataTypeœ: œURLœ, œidœ: œURL-VCoZDœ, œnameœ: œcomponent_as_toolœ, œoutput_typesœ: [œToolœ]}", - "target": "Agent-xeg6y", - "targetHandle": "{œfieldNameœ: œtoolsœ, œidœ: œAgent-xeg6yœ, œinputTypesœ: [œToolœ], œtypeœ: œotherœ}" + "id": "reactflow__edge-URL-hJKTA{œdataTypeœ:œURLœ,œidœ:œURL-hJKTAœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-Mb2Ep{œfieldNameœ:œtoolsœ,œidœ:œAgent-Mb2Epœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", + "source": "URL-hJKTA", + "sourceHandle": "{œdataTypeœ: œURLœ, œidœ: œURL-hJKTAœ, œnameœ: œcomponent_as_toolœ, œoutput_typesœ: [œToolœ]}", + "target": "Agent-Mb2Ep", + "targetHandle": "{œfieldNameœ: œtoolsœ, œidœ: œAgent-Mb2Epœ, œinputTypesœ: [œToolœ], œtypeœ: œotherœ}" }, { "animated": false, @@ -142,26 +122,22 @@ "data": { "sourceHandle": { "dataType": "CalculatorComponent", - "id": "CalculatorComponent-pSb5r", + "id": "CalculatorComponent-T0153", "name": "component_as_tool", - "output_types": [ - "Tool" - ] + "output_types": ["Tool"] }, "targetHandle": { "fieldName": "tools", - "id": "Agent-txo0a", - "inputTypes": [ - "Tool" - ], + "id": "Agent-8PETJ", + "inputTypes": ["Tool"], "type": "other" } }, - "id": "xy-edge__CalculatorComponent-pSb5r{œdataTypeœ:œCalculatorComponentœ,œidœ:œCalculatorComponent-pSb5rœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-txo0a{œfieldNameœ:œtoolsœ,œidœ:œAgent-txo0aœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", - "source": "CalculatorComponent-pSb5r", - "sourceHandle": "{œdataTypeœ: œCalculatorComponentœ, œidœ: œCalculatorComponent-pSb5rœ, œnameœ: œcomponent_as_toolœ, œoutput_typesœ: [œToolœ]}", - "target": "Agent-txo0a", - "targetHandle": "{œfieldNameœ: œtoolsœ, œidœ: œAgent-txo0aœ, œinputTypesœ: [œToolœ], œtypeœ: œotherœ}" + "id": "reactflow__edge-CalculatorComponent-T0153{œdataTypeœ:œCalculatorComponentœ,œidœ:œCalculatorComponent-T0153œ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-8PETJ{œfieldNameœ:œtoolsœ,œidœ:œAgent-8PETJœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", + "source": "CalculatorComponent-T0153", + "sourceHandle": "{œdataTypeœ: œCalculatorComponentœ, œidœ: œCalculatorComponent-T0153œ, œnameœ: œcomponent_as_toolœ, œoutput_typesœ: [œToolœ]}", + "target": "Agent-8PETJ", + "targetHandle": "{œfieldNameœ: œtoolsœ, œidœ: œAgent-8PETJœ, œinputTypesœ: [œToolœ], œtypeœ: œotherœ}" }, { "animated": false, @@ -169,36 +145,30 @@ "data": { "sourceHandle": { "dataType": "SearchComponent", - "id": "SearchComponent-BSabY", + "id": "SearchComponent-a9OCR", "name": "component_as_tool", - "output_types": [ - "Tool" - ] + "output_types": ["Tool"] }, "targetHandle": { "fieldName": "tools", - "id": "Agent-Bsq4j", - "inputTypes": [ - "Tool" - ], + "id": "Agent-VEG7r", + "inputTypes": ["Tool"], "type": "other" } }, - "id": "xy-edge__SearchComponent-BSabY{œdataTypeœ:œSearchComponentœ,œidœ:œSearchComponent-BSabYœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-Bsq4j{œfieldNameœ:œtoolsœ,œidœ:œAgent-Bsq4jœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", - "source": "SearchComponent-BSabY", - "sourceHandle": "{œdataTypeœ: œSearchComponentœ, œidœ: œSearchComponent-BSabYœ, œnameœ: œcomponent_as_toolœ, œoutput_typesœ: [œToolœ]}", - "target": "Agent-Bsq4j", - "targetHandle": "{œfieldNameœ: œtoolsœ, œidœ: œAgent-Bsq4jœ, œinputTypesœ: [œToolœ], œtypeœ: œotherœ}" + "id": "reactflow__edge-SearchComponent-a9OCR{œdataTypeœ:œSearchComponentœ,œidœ:œSearchComponent-a9OCRœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-VEG7r{œfieldNameœ:œtoolsœ,œidœ:œAgent-VEG7rœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", + "source": "SearchComponent-a9OCR", + "sourceHandle": "{œdataTypeœ: œSearchComponentœ, œidœ: œSearchComponent-a9OCRœ, œnameœ: œcomponent_as_toolœ, œoutput_typesœ: [œToolœ]}", + "target": "Agent-VEG7r", + "targetHandle": "{œfieldNameœ: œtoolsœ, œidœ: œAgent-VEG7rœ, œinputTypesœ: [œToolœ], œtypeœ: œotherœ}" } ], "nodes": [ { "data": { - "id": "ChatInput-VKkd5", + "id": "ChatInput-Nbu0b", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -244,9 +214,7 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "background_color", @@ -265,9 +233,7 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "chat_icon", @@ -368,10 +334,7 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": [ - "Machine", - "User" - ], + "options": ["Machine", "User"], "placeholder": "", "required": false, "show": true, @@ -386,9 +349,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", @@ -407,9 +368,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", @@ -444,9 +403,7 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "text_color", @@ -465,10 +422,10 @@ }, "dragging": false, "height": 262, - "id": "ChatInput-VKkd5", + "id": "ChatInput-Nbu0b", "measured": { "height": 262, - "width": 360 + "width": 320 }, "position": { "x": 1756.77096149088, @@ -486,11 +443,9 @@ "data": { "description": "Display a chat message in the Playground.", "display_name": "Chat Output", - "id": "ChatOutput-bHF59", + "id": "ChatOutput-1fycm", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -539,9 +494,7 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "background_color", @@ -561,9 +514,7 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "chat_icon", @@ -601,9 +552,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", @@ -623,9 +572,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", @@ -646,10 +593,7 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": [ - "Machine", - "User" - ], + "options": ["Machine", "User"], "placeholder": "", "required": false, "show": true, @@ -665,9 +609,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", @@ -687,9 +629,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", @@ -725,9 +665,7 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "text_color", @@ -748,10 +686,10 @@ }, "dragging": false, "height": 262, - "id": "ChatOutput-bHF59", + "id": "ChatOutput-1fycm", "measured": { "height": 262, - "width": 360 + "width": 320 }, "position": { "x": 4349.229697347143, @@ -769,11 +707,9 @@ "data": { "description": "Define the agent's instructions, then enter a task to complete using tools.", "display_name": "City Selection Agent", - "id": "Agent-Bsq4j", + "id": "Agent-VEG7r", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -855,9 +791,7 @@ "display_name": "Agent Description [Deprecated]", "dynamic": false, "info": "The description of the agent. This is only used when in Tool Mode. Defaults to 'A helpful assistant with access to the following tools:' and tools are added dynamically. This feature is deprecated and will be removed in future versions.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "multiline": true, @@ -907,9 +841,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, @@ -918,7 +850,7 @@ "show": true, "title_case": false, "type": "str", - "value": "OPENAI_API_KEY" + "value": "" }, "code": { "advanced": true, @@ -960,9 +892,7 @@ "display_name": "Input", "dynamic": false, "info": "The input provided by the user for the agent to process.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "input_value", @@ -1036,9 +966,7 @@ "display_name": "External Memory", "dynamic": false, "info": "Retrieve messages from an external memory. If empty, it will use the Langflow tables.", - "input_types": [ - "Memory" - ], + "input_types": ["Memory"], "list": false, "name": "memory", "placeholder": "", @@ -1132,10 +1060,7 @@ "dynamic": false, "info": "Order of the messages.", "name": "order", - "options": [ - "Ascending", - "Descending" - ], + "options": ["Ascending", "Descending"], "placeholder": "", "required": false, "show": true, @@ -1169,11 +1094,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, @@ -1189,9 +1110,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", @@ -1211,9 +1130,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", @@ -1233,9 +1150,7 @@ "display_name": "Agent Instructions", "dynamic": false, "info": "System Prompt: Initial instructions and context provided to guide the agent's behavior.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "multiline": true, @@ -1272,9 +1187,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, @@ -1295,9 +1208,7 @@ "display_name": "Tools", "dynamic": false, "info": "These are the tools that the agent can use to help with tasks.", - "input_types": [ - "Tool" - ], + "input_types": ["Tool"], "list": true, "name": "tools", "placeholder": "", @@ -1331,10 +1242,10 @@ }, "dragging": true, "height": 725, - "id": "Agent-Bsq4j", + "id": "Agent-VEG7r", "measured": { "height": 725, - "width": 360 + "width": 320 }, "position": { "x": 2472.7748760933105, @@ -1352,11 +1263,9 @@ "data": { "description": "Define the agent's instructions, then enter a task to complete using tools.", "display_name": "Local Expert Agent", - "id": "Agent-xeg6y", + "id": "Agent-Mb2Ep", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -1438,9 +1347,7 @@ "display_name": "Agent Description [Deprecated]", "dynamic": false, "info": "The description of the agent. This is only used when in Tool Mode. Defaults to 'A helpful assistant with access to the following tools:' and tools are added dynamically. This feature is deprecated and will be removed in future versions.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "multiline": true, @@ -1490,9 +1397,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, @@ -1501,7 +1406,7 @@ "show": true, "title_case": false, "type": "str", - "value": "OPENAI_API_KEY" + "value": "" }, "code": { "advanced": true, @@ -1543,9 +1448,7 @@ "display_name": "Input", "dynamic": false, "info": "The input provided by the user for the agent to process.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "input_value", @@ -1619,9 +1522,7 @@ "display_name": "External Memory", "dynamic": false, "info": "Retrieve messages from an external memory. If empty, it will use the Langflow tables.", - "input_types": [ - "Memory" - ], + "input_types": ["Memory"], "list": false, "name": "memory", "placeholder": "", @@ -1715,10 +1616,7 @@ "dynamic": false, "info": "Order of the messages.", "name": "order", - "options": [ - "Ascending", - "Descending" - ], + "options": ["Ascending", "Descending"], "placeholder": "", "required": false, "show": true, @@ -1752,11 +1650,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, @@ -1772,9 +1666,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", @@ -1794,9 +1686,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", @@ -1816,9 +1706,7 @@ "display_name": "Agent Instructions", "dynamic": false, "info": "System Prompt: Initial instructions and context provided to guide the agent's behavior.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "multiline": true, @@ -1855,9 +1743,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, @@ -1878,9 +1764,7 @@ "display_name": "Tools", "dynamic": false, "info": "These are the tools that the agent can use to help with tasks.", - "input_types": [ - "Tool" - ], + "input_types": ["Tool"], "list": true, "name": "tools", "placeholder": "", @@ -1914,10 +1798,10 @@ }, "dragging": false, "height": 725, - "id": "Agent-xeg6y", + "id": "Agent-Mb2Ep", "measured": { "height": 725, - "width": 360 + "width": 320 }, "position": { "x": 3185.66991544494, @@ -1935,11 +1819,9 @@ "data": { "description": "Define the agent's instructions, then enter a task to complete using tools.", "display_name": "Travel Concierge Agent", - "id": "Agent-txo0a", + "id": "Agent-8PETJ", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -2021,9 +1903,7 @@ "display_name": "Agent Description [Deprecated]", "dynamic": false, "info": "The description of the agent. This is only used when in Tool Mode. Defaults to 'A helpful assistant with access to the following tools:' and tools are added dynamically. This feature is deprecated and will be removed in future versions.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "multiline": true, @@ -2073,9 +1953,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, @@ -2084,7 +1962,7 @@ "show": true, "title_case": false, "type": "str", - "value": "OPENAI_API_KEY" + "value": "" }, "code": { "advanced": true, @@ -2126,9 +2004,7 @@ "display_name": "Input", "dynamic": false, "info": "The input provided by the user for the agent to process.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "input_value", @@ -2202,9 +2078,7 @@ "display_name": "External Memory", "dynamic": false, "info": "Retrieve messages from an external memory. If empty, it will use the Langflow tables.", - "input_types": [ - "Memory" - ], + "input_types": ["Memory"], "list": false, "name": "memory", "placeholder": "", @@ -2298,10 +2172,7 @@ "dynamic": false, "info": "Order of the messages.", "name": "order", - "options": [ - "Ascending", - "Descending" - ], + "options": ["Ascending", "Descending"], "placeholder": "", "required": false, "show": true, @@ -2335,11 +2206,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, @@ -2355,9 +2222,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", @@ -2377,9 +2242,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", @@ -2399,9 +2262,7 @@ "display_name": "Agent Instructions", "dynamic": false, "info": "System Prompt: Initial instructions and context provided to guide the agent's behavior.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "multiline": true, @@ -2438,9 +2299,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, @@ -2461,9 +2320,7 @@ "display_name": "Tools", "dynamic": false, "info": "These are the tools that the agent can use to help with tasks.", - "input_types": [ - "Tool" - ], + "input_types": ["Tool"], "list": true, "name": "tools", "placeholder": "", @@ -2497,10 +2354,10 @@ }, "dragging": false, "height": 725, - "id": "Agent-txo0a", + "id": "Agent-8PETJ", "measured": { "height": 725, - "width": 360 + "width": 320 }, "position": { "x": 3889.695953842898, @@ -2516,7 +2373,7 @@ }, { "data": { - "id": "note-5Rl5S", + "id": "note-qGsTQ", "node": { "description": "# Travel Planning Agents \n\nThe travel planning system is a smart setup that uses several specialized \"agents\" to help plan incredible trips. Imagine each agent as a travel expert focusing on a part of your journey. Here's how it works:\n\n- **User-Friendly Start:** You start by telling the system about your travel needs—where you want to go and what you love to do.\n\n- **Data Collection:** The agents uses its tools to gather current info about various destinations, like the best travel times, weather, and costs.\n\n- **Three Key Agents:**\n - **City Selection Agent:** Picks the best places to visit based on your likes and current data.\n - **Local Expert Agent:** Gathers interesting details about what to do and see in the chosen city.\n - **Travel Concierge Agent:** Builds a day-by-day plan that includes where to stay, eat, and explore!\n\n- **Tools and Data:** Each agent uses tools to find and organize the latest information so you get recommendations that are both accurate and exciting.\n\n- **Final Plan:** Once everything is put together, you receive a complete, easy-to-follow travel itinerary, perfect for your adventure!\n", "display_name": "", @@ -2526,32 +2383,32 @@ "type": "note" }, "dragging": false, - "height": 636, - "id": "note-5Rl5S", + "height": 603, + "id": "note-qGsTQ", "measured": { - "height": 636, - "width": 328 + "height": 603, + "width": 325 }, "position": { - "x": 1076.3710803600266, - "y": 92.06058855045646 + "x": 1319.2860379588103, + "y": 326.7874015110789 }, "positionAbsolute": { "x": 1076.3710803600266, "y": 92.06058855045646 }, "resizing": false, - "selected": false, + "selected": true, "style": { "height": 636, - "width": 600 + "width": 324 }, "type": "noteNode", - "width": 600 + "width": 324 }, { "data": { - "id": "note-mOX7K", + "id": "note-8T0vy", "node": { "description": "# **City Selection Agent**\n - **Purpose:** This agent evaluates potential travel destinations based on user input and external data sources.\n - **Core Functions:** Analyzes factors such as weather, local events, and travel costs to recommend optimal cities.\n - **Tools Utilized:** Employs APIs and data-fetching tools to gather real-time information for decision-making.\n", "display_name": "", @@ -2563,11 +2420,11 @@ "type": "note" }, "dragging": false, - "height": 362, - "id": "note-mOX7K", + "height": 334, + "id": "note-8T0vy", "measured": { - "height": 362, - "width": 328 + "height": 334, + "width": 325 }, "position": { "x": 2122.4146132377227, @@ -2584,11 +2441,11 @@ "width": 331 }, "type": "noteNode", - "width": 331 + "width": 324 }, { "data": { - "id": "note-q4oVX", + "id": "note-FZGo4", "node": { "description": "# **Local Expert Agent**\n - **Purpose:** Focused on gathering and providing an in-depth guide to the selected city.\n - **Core Functions:** Compiles insights into cultural attractions, local customs, and unique experiences.\n - **Tools Utilized:** Uses web content fetchers and data APIs to collect detailed local insights and enhance the user understanding with hidden gems.\n", "display_name": "", @@ -2600,11 +2457,11 @@ "type": "note" }, "dragging": false, - "height": 366, - "id": "note-q4oVX", + "height": 342, + "id": "note-FZGo4", "measured": { - "height": 366, - "width": 328 + "height": 342, + "width": 325 }, "position": { "x": 2827.660803823376, @@ -2621,11 +2478,11 @@ "width": 351 }, "type": "noteNode", - "width": 351 + "width": 324 }, { "data": { - "id": "note-uhNHM", + "id": "note-FAKzZ", "node": { "description": "# **Travel Concierge Agent**\n - **Purpose:** Crafts detailed travel itineraries that are customized to the traveler's interests and needs.\n - **Core Functions:** Offers a comprehensive daily schedule, including accommodations, dining spots, and activities.\n - **Tools Utilized:** Integrates calculators and data tools for accurate budget planning and itinerary logistics.", "display_name": "", @@ -2637,11 +2494,11 @@ "type": "note" }, "dragging": false, - "height": 344, - "id": "note-uhNHM", + "height": 336, + "id": "note-FAKzZ", "measured": { - "height": 344, - "width": 328 + "height": 336, + "width": 325 }, "position": { "x": 3536.084279543714, @@ -2658,11 +2515,11 @@ "width": 344 }, "type": "noteNode", - "width": 344 + "width": 324 }, { "data": { - "id": "note-XHn2w", + "id": "note-aM3pJ", "node": { "description": "## Configure the agent by obtaining your OpenAI API key from [platform.openai.com](https://platform.openai.com). Under \"Model Provider\", choose:\n- OpenAI: Default, requires only API key\n- Anthropic/Azure/Groq/NVIDIA: Each requires their own API keys\n- Custom: Use your own model endpoint + authentication\n\nSelect model and input API key before running the flow.", "display_name": "", @@ -2674,11 +2531,11 @@ "type": "note" }, "dragging": false, - "height": 328, - "id": "note-XHn2w", + "height": 324, + "id": "note-aM3pJ", "measured": { - "height": 328, - "width": 328 + "height": 324, + "width": 325 }, "position": { "x": 2463.3881993480218, @@ -2688,19 +2545,16 @@ "x": 2463.3881993480218, "y": 42.83594355441298 }, + "resizing": false, "selected": false, "type": "noteNode", - "width": 328 + "width": 324 }, { "data": { - "id": "URL-VCoZD", + "id": "URL-hJKTA", "node": { - "base_classes": [ - "Data", - "DataFrame", - "Message" - ], + "base_classes": ["Data", "DataFrame", "Message"], "beta": false, "category": "data", "conditional_paths": [], @@ -2709,10 +2563,7 @@ "display_name": "URL", "documentation": "", "edited": false, - "field_order": [ - "urls", - "format" - ], + "field_order": ["urls", "format"], "frozen": false, "icon": "layout-template", "key": "URL", @@ -2731,9 +2582,7 @@ "name": "component_as_tool", "required_inputs": null, "selected": "Tool", - "types": [ - "Tool" - ], + "types": ["Tool"], "value": "__UNDEFINED__" } ], @@ -2768,10 +2617,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"], "options_metadata": [], "placeholder": "", "required": false, @@ -2807,10 +2653,7 @@ "description": "Modify tool names and descriptions to help agents understand when to use each tool.", "field_parsers": { "commands": "commands", - "name": [ - "snake_case", - "no_blank" - ] + "name": ["snake_case", "no_blank"] }, "hide_options": true }, @@ -2861,23 +2704,17 @@ { "description": "fetch_content() - Load and retrive data from specified URLs.", "name": "URL-fetch_content", - "tags": [ - "URL-fetch_content" - ] + "tags": ["URL-fetch_content"] }, { "description": "fetch_content_text() - Load and retrive data from specified URLs.", "name": "URL-fetch_content_text", - "tags": [ - "URL-fetch_content_text" - ] + "tags": ["URL-fetch_content_text"] }, { "description": "as_dataframe() - Load and retrive data from specified URLs.", "name": "URL-as_dataframe", - "tags": [ - "URL-as_dataframe" - ] + "tags": ["URL-as_dataframe"] } ] }, @@ -2887,9 +2724,7 @@ "display_name": "URLs", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": true, "list_add_label": "Add URL", "load_from_db": false, @@ -2911,10 +2746,10 @@ "type": "URL" }, "dragging": false, - "id": "URL-VCoZD", + "id": "URL-hJKTA", "measured": { - "height": 453, - "width": 360 + "height": 403, + "width": 320 }, "position": { "x": 2829.4526852839367, @@ -2925,11 +2760,9 @@ }, { "data": { - "id": "CalculatorComponent-pSb5r", + "id": "CalculatorComponent-T0153", "node": { - "base_classes": [ - "Data" - ], + "base_classes": ["Data"], "beta": false, "category": "tools", "conditional_paths": [], @@ -2938,9 +2771,7 @@ "display_name": "Calculator", "documentation": "", "edited": false, - "field_order": [ - "expression" - ], + "field_order": ["expression"], "frozen": false, "icon": "calculator", "key": "CalculatorComponent", @@ -2959,9 +2790,7 @@ "name": "component_as_tool", "required_inputs": null, "selected": "Tool", - "types": [ - "Tool" - ], + "types": ["Tool"], "value": "__UNDEFINED__" } ], @@ -2993,9 +2822,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, "list_add_label": "Add More", "load_from_db": false, @@ -3035,10 +2862,7 @@ "description": "Modify tool names and descriptions to help agents understand when to use each tool.", "field_parsers": { "commands": "commands", - "name": [ - "snake_case", - "no_blank" - ] + "name": ["snake_case", "no_blank"] }, "hide_options": true }, @@ -3089,9 +2913,7 @@ { "description": "evaluate_expression() - Perform basic arithmetic operations on a given expression.", "name": "CalculatorComponent-evaluate_expression", - "tags": [ - "CalculatorComponent-evaluate_expression" - ] + "tags": ["CalculatorComponent-evaluate_expression"] } ] } @@ -3102,10 +2924,10 @@ "type": "CalculatorComponent" }, "dragging": false, - "id": "CalculatorComponent-pSb5r", + "id": "CalculatorComponent-T0153", "measured": { - "height": 374, - "width": 360 + "height": 333, + "width": 320 }, "position": { "x": 3540.356346381247, @@ -3116,12 +2938,9 @@ }, { "data": { - "id": "SearchComponent-BSabY", + "id": "SearchComponent-a9OCR", "node": { - "base_classes": [ - "Data", - "Message" - ], + "base_classes": ["Data", "Message"], "beta": false, "category": "tools", "conditional_paths": [], @@ -3156,9 +2975,7 @@ "name": "component_as_tool", "required_inputs": null, "selected": "Tool", - "types": [ - "Tool" - ], + "types": ["Tool"], "value": "__UNDEFINED__" } ], @@ -3172,10 +2989,8 @@ "display_name": "SearchAPI API Key", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], - "load_from_db": true, + "input_types": ["Message"], + "load_from_db": false, "name": "api_key", "password": true, "placeholder": "", @@ -3212,11 +3027,7 @@ "dynamic": false, "info": "", "name": "engine", - "options": [ - "google", - "bing", - "duckduckgo" - ], + "options": ["google", "bing", "duckduckgo"], "options_metadata": [], "placeholder": "", "required": false, @@ -3233,9 +3044,7 @@ "display_name": "Input", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -3330,10 +3139,7 @@ "description": "Modify tool names and descriptions to help agents understand when to use each tool.", "field_parsers": { "commands": "commands", - "name": [ - "snake_case", - "no_blank" - ] + "name": ["snake_case", "no_blank"] }, "hide_options": true }, @@ -3384,16 +3190,12 @@ { "description": "fetch_content(api_key: Message) - Call the searchapi.io API with result limiting", "name": "SearchComponent-fetch_content", - "tags": [ - "SearchComponent-fetch_content" - ] + "tags": ["SearchComponent-fetch_content"] }, { "description": "fetch_content_text(api_key: Message) - Call the searchapi.io API with result limiting", "name": "SearchComponent-fetch_content_text", - "tags": [ - "SearchComponent-fetch_content_text" - ] + "tags": ["SearchComponent-fetch_content_text"] } ] } @@ -3404,10 +3206,10 @@ "type": "SearchComponent" }, "dragging": false, - "id": "SearchComponent-BSabY", + "id": "SearchComponent-a9OCR", "measured": { - "height": 536, - "width": 360 + "height": 477, + "width": 320 }, "position": { "x": 2089.0393126914205, @@ -3418,9 +3220,9 @@ } ], "viewport": { - "x": -725.9163351506193, - "y": 43.25864447430234, - "zoom": 0.4743305032399001 + "x": -452.59655672949, + "y": 325.42241573046994, + "zoom": 0.392950977749874 } }, "description": "Create a travel planning chatbot that uses specialized agents to craft personalized trip itineraries.", @@ -3431,8 +3233,5 @@ "is_component": false, "last_tested_version": "1.0.19.post2", "name": "Travel Planning Agents", - "tags": [ - "agents", - "openai" - ] -} \ No newline at end of file + "tags": ["agents", "openai"] +} diff --git a/src/backend/base/langflow/initial_setup/starter_projects/Twitter Thread Generator.json b/src/backend/base/langflow/initial_setup/starter_projects/Twitter Thread Generator.json index fde3399b4..f8dc887f8 100644 --- a/src/backend/base/langflow/initial_setup/starter_projects/Twitter Thread Generator.json +++ b/src/backend/base/langflow/initial_setup/starter_projects/Twitter Thread Generator.json @@ -7,27 +7,23 @@ "data": { "sourceHandle": { "dataType": "TextInput", - "id": "TextInput-Bg8zz", + "id": "TextInput-eClq5", "name": "text", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "CONTENT_GUIDELINES", - "id": "Prompt-atb3f", - "inputTypes": [ - "Message", - "Text" - ], + "id": "Prompt-AWZtN", + "inputTypes": ["Message", "Text"], "type": "str" } }, - "id": "reactflow__edge-TextInput-Bg8zz{œdataTypeœ:œTextInputœ,œidœ:œTextInput-Bg8zzœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-Prompt-atb3f{œfieldNameœ:œCONTENT_GUIDELINESœ,œidœ:œPrompt-atb3fœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", - "source": "TextInput-Bg8zz", - "sourceHandle": "{œdataTypeœ: œTextInputœ, œidœ: œTextInput-Bg8zzœ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}", - "target": "Prompt-atb3f", - "targetHandle": "{œfieldNameœ: œCONTENT_GUIDELINESœ, œidœ: œPrompt-atb3fœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-TextInput-eClq5{œdataTypeœ:œTextInputœ,œidœ:œTextInput-eClq5œ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-Prompt-AWZtN{œfieldNameœ:œCONTENT_GUIDELINESœ,œidœ:œPrompt-AWZtNœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", + "selected": false, + "source": "TextInput-eClq5", + "sourceHandle": "{œdataTypeœ: œTextInputœ, œidœ: œTextInput-eClq5œ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}", + "target": "Prompt-AWZtN", + "targetHandle": "{œfieldNameœ: œCONTENT_GUIDELINESœ, œidœ: œPrompt-AWZtNœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" }, { "animated": false, @@ -35,27 +31,23 @@ "data": { "sourceHandle": { "dataType": "TextInput", - "id": "TextInput-00Lsi", + "id": "TextInput-IpoG7", "name": "text", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "OUTPUT_FORMAT", - "id": "Prompt-atb3f", - "inputTypes": [ - "Message", - "Text" - ], + "id": "Prompt-AWZtN", + "inputTypes": ["Message", "Text"], "type": "str" } }, - "id": "reactflow__edge-TextInput-00Lsi{œdataTypeœ:œTextInputœ,œidœ:œTextInput-00Lsiœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-Prompt-atb3f{œfieldNameœ:œOUTPUT_FORMATœ,œidœ:œPrompt-atb3fœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", - "source": "TextInput-00Lsi", - "sourceHandle": "{œdataTypeœ: œTextInputœ, œidœ: œTextInput-00Lsiœ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}", - "target": "Prompt-atb3f", - "targetHandle": "{œfieldNameœ: œOUTPUT_FORMATœ, œidœ: œPrompt-atb3fœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-TextInput-IpoG7{œdataTypeœ:œTextInputœ,œidœ:œTextInput-IpoG7œ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-Prompt-AWZtN{œfieldNameœ:œOUTPUT_FORMATœ,œidœ:œPrompt-AWZtNœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", + "selected": false, + "source": "TextInput-IpoG7", + "sourceHandle": "{œdataTypeœ: œTextInputœ, œidœ: œTextInput-IpoG7œ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}", + "target": "Prompt-AWZtN", + "targetHandle": "{œfieldNameœ: œOUTPUT_FORMATœ, œidœ: œPrompt-AWZtNœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" }, { "animated": false, @@ -63,27 +55,23 @@ "data": { "sourceHandle": { "dataType": "TextInput", - "id": "TextInput-rmIDO", + "id": "TextInput-npraC", "name": "text", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "OUTPUT_LANGUAGE", - "id": "Prompt-atb3f", - "inputTypes": [ - "Message", - "Text" - ], + "id": "Prompt-AWZtN", + "inputTypes": ["Message", "Text"], "type": "str" } }, - "id": "reactflow__edge-TextInput-rmIDO{œdataTypeœ:œTextInputœ,œidœ:œTextInput-rmIDOœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-Prompt-atb3f{œfieldNameœ:œOUTPUT_LANGUAGEœ,œidœ:œPrompt-atb3fœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", - "source": "TextInput-rmIDO", - "sourceHandle": "{œdataTypeœ: œTextInputœ, œidœ: œTextInput-rmIDOœ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}", - "target": "Prompt-atb3f", - "targetHandle": "{œfieldNameœ: œOUTPUT_LANGUAGEœ, œidœ: œPrompt-atb3fœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-TextInput-npraC{œdataTypeœ:œTextInputœ,œidœ:œTextInput-npraCœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-Prompt-AWZtN{œfieldNameœ:œOUTPUT_LANGUAGEœ,œidœ:œPrompt-AWZtNœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", + "selected": false, + "source": "TextInput-npraC", + "sourceHandle": "{œdataTypeœ: œTextInputœ, œidœ: œTextInput-npraCœ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}", + "target": "Prompt-AWZtN", + "targetHandle": "{œfieldNameœ: œOUTPUT_LANGUAGEœ, œidœ: œPrompt-AWZtNœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" }, { "animated": false, @@ -91,27 +79,23 @@ "data": { "sourceHandle": { "dataType": "TextInput", - "id": "TextInput-7RHoM", + "id": "TextInput-EZaR7", "name": "text", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "PROFILE_DETAILS", - "id": "Prompt-atb3f", - "inputTypes": [ - "Message", - "Text" - ], + "id": "Prompt-AWZtN", + "inputTypes": ["Message", "Text"], "type": "str" } }, - "id": "reactflow__edge-TextInput-7RHoM{œdataTypeœ:œTextInputœ,œidœ:œTextInput-7RHoMœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-Prompt-atb3f{œfieldNameœ:œPROFILE_DETAILSœ,œidœ:œPrompt-atb3fœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", - "source": "TextInput-7RHoM", - "sourceHandle": "{œdataTypeœ: œTextInputœ, œidœ: œTextInput-7RHoMœ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}", - "target": "Prompt-atb3f", - "targetHandle": "{œfieldNameœ: œPROFILE_DETAILSœ, œidœ: œPrompt-atb3fœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-TextInput-EZaR7{œdataTypeœ:œTextInputœ,œidœ:œTextInput-EZaR7œ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-Prompt-AWZtN{œfieldNameœ:œPROFILE_DETAILSœ,œidœ:œPrompt-AWZtNœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", + "selected": false, + "source": "TextInput-EZaR7", + "sourceHandle": "{œdataTypeœ: œTextInputœ, œidœ: œTextInput-EZaR7œ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}", + "target": "Prompt-AWZtN", + "targetHandle": "{œfieldNameœ: œPROFILE_DETAILSœ, œidœ: œPrompt-AWZtNœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" }, { "animated": false, @@ -119,27 +103,23 @@ "data": { "sourceHandle": { "dataType": "TextInput", - "id": "TextInput-qidre", + "id": "TextInput-fKGcs", "name": "text", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "PROFILE_TYPE", - "id": "Prompt-atb3f", - "inputTypes": [ - "Message", - "Text" - ], + "id": "Prompt-AWZtN", + "inputTypes": ["Message", "Text"], "type": "str" } }, - "id": "reactflow__edge-TextInput-qidre{œdataTypeœ:œTextInputœ,œidœ:œTextInput-qidreœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-Prompt-atb3f{œfieldNameœ:œPROFILE_TYPEœ,œidœ:œPrompt-atb3fœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", - "source": "TextInput-qidre", - "sourceHandle": "{œdataTypeœ: œTextInputœ, œidœ: œTextInput-qidreœ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}", - "target": "Prompt-atb3f", - "targetHandle": "{œfieldNameœ: œPROFILE_TYPEœ, œidœ: œPrompt-atb3fœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-TextInput-fKGcs{œdataTypeœ:œTextInputœ,œidœ:œTextInput-fKGcsœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-Prompt-AWZtN{œfieldNameœ:œPROFILE_TYPEœ,œidœ:œPrompt-AWZtNœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", + "selected": false, + "source": "TextInput-fKGcs", + "sourceHandle": "{œdataTypeœ: œTextInputœ, œidœ: œTextInput-fKGcsœ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}", + "target": "Prompt-AWZtN", + "targetHandle": "{œfieldNameœ: œPROFILE_TYPEœ, œidœ: œPrompt-AWZtNœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" }, { "animated": false, @@ -147,112 +127,100 @@ "data": { "sourceHandle": { "dataType": "TextInput", - "id": "TextInput-pf6qC", + "id": "TextInput-92vEK", "name": "text", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "TONE_AND_STYLE", - "id": "Prompt-atb3f", - "inputTypes": [ - "Message", - "Text" - ], + "id": "Prompt-AWZtN", + "inputTypes": ["Message", "Text"], "type": "str" } }, - "id": "reactflow__edge-TextInput-pf6qC{œdataTypeœ:œTextInputœ,œidœ:œTextInput-pf6qCœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-Prompt-atb3f{œfieldNameœ:œTONE_AND_STYLEœ,œidœ:œPrompt-atb3fœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", - "source": "TextInput-pf6qC", - "sourceHandle": "{œdataTypeœ: œTextInputœ, œidœ: œTextInput-pf6qCœ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}", - "target": "Prompt-atb3f", - "targetHandle": "{œfieldNameœ: œTONE_AND_STYLEœ, œidœ: œPrompt-atb3fœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-TextInput-92vEK{œdataTypeœ:œTextInputœ,œidœ:œTextInput-92vEKœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-Prompt-AWZtN{œfieldNameœ:œTONE_AND_STYLEœ,œidœ:œPrompt-AWZtNœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", + "selected": false, + "source": "TextInput-92vEK", + "sourceHandle": "{œdataTypeœ: œTextInputœ, œidœ: œTextInput-92vEKœ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}", + "target": "Prompt-AWZtN", + "targetHandle": "{œfieldNameœ: œTONE_AND_STYLEœ, œidœ: œPrompt-AWZtNœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" }, { + "className": "", "data": { "sourceHandle": { "dataType": "ChatInput", - "id": "ChatInput-AQpbG", + "id": "ChatInput-ECcN8", "name": "message", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "input_value", - "id": "OpenAIModel-RvdWl", - "inputTypes": [ - "Message" - ], + "id": "OpenAIModel-p0R9m", + "inputTypes": ["Message"], "type": "str" } }, - "id": "xy-edge__ChatInput-AQpbG{œdataTypeœ:œChatInputœ,œidœ:œChatInput-AQpbGœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-RvdWl{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-RvdWlœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "ChatInput-AQpbG", - "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-AQpbGœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", - "target": "OpenAIModel-RvdWl", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œOpenAIModel-RvdWlœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-ChatInput-ECcN8{œdataTypeœ:œChatInputœ,œidœ:œChatInput-ECcN8œ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-p0R9m{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-p0R9mœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "selected": false, + "source": "ChatInput-ECcN8", + "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-ECcN8œ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", + "target": "OpenAIModel-p0R9m", + "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œOpenAIModel-p0R9mœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" }, { + "className": "", "data": { "sourceHandle": { "dataType": "Prompt", - "id": "Prompt-atb3f", + "id": "Prompt-AWZtN", "name": "prompt", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "system_message", - "id": "OpenAIModel-RvdWl", - "inputTypes": [ - "Message" - ], + "id": "OpenAIModel-p0R9m", + "inputTypes": ["Message"], "type": "str" } }, - "id": "xy-edge__Prompt-atb3f{œdataTypeœ:œPromptœ,œidœ:œPrompt-atb3fœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-RvdWl{œfieldNameœ:œsystem_messageœ,œidœ:œOpenAIModel-RvdWlœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "Prompt-atb3f", - "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-atb3fœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", - "target": "OpenAIModel-RvdWl", - "targetHandle": "{œfieldNameœ: œsystem_messageœ, œidœ: œOpenAIModel-RvdWlœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-Prompt-AWZtN{œdataTypeœ:œPromptœ,œidœ:œPrompt-AWZtNœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-p0R9m{œfieldNameœ:œsystem_messageœ,œidœ:œOpenAIModel-p0R9mœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "selected": false, + "source": "Prompt-AWZtN", + "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-AWZtNœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", + "target": "OpenAIModel-p0R9m", + "targetHandle": "{œfieldNameœ: œsystem_messageœ, œidœ: œOpenAIModel-p0R9mœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" }, { + "className": "", "data": { "sourceHandle": { "dataType": "OpenAIModel", - "id": "OpenAIModel-RvdWl", + "id": "OpenAIModel-p0R9m", "name": "text_output", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "input_value", - "id": "ChatOutput-17n9v", - "inputTypes": [ - "Message" - ], + "id": "ChatOutput-0jDYx", + "inputTypes": ["Message"], "type": "str" } }, - "id": "xy-edge__OpenAIModel-RvdWl{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-RvdWlœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-17n9v{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-17n9vœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "OpenAIModel-RvdWl", - "sourceHandle": "{œdataTypeœ: œOpenAIModelœ, œidœ: œOpenAIModel-RvdWlœ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}", - "target": "ChatOutput-17n9v", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-17n9vœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-OpenAIModel-p0R9m{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-p0R9mœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-0jDYx{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-0jDYxœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "selected": false, + "source": "OpenAIModel-p0R9m", + "sourceHandle": "{œdataTypeœ: œOpenAIModelœ, œidœ: œOpenAIModel-p0R9mœ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}", + "target": "ChatOutput-0jDYx", + "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-0jDYxœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" } ], "nodes": [ { "data": { - "id": "ChatInput-AQpbG", + "id": "ChatInput-ECcN8", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -301,9 +269,7 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "background_color", @@ -322,9 +288,7 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "chat_icon", @@ -425,10 +389,7 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": [ - "Machine", - "User" - ], + "options": ["Machine", "User"], "placeholder": "", "required": false, "show": true, @@ -443,9 +404,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", @@ -464,9 +423,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", @@ -501,9 +458,7 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "text_color", @@ -522,10 +477,10 @@ }, "dragging": false, "height": 234, - "id": "ChatInput-AQpbG", + "id": "ChatInput-ECcN8", "measured": { "height": 234, - "width": 360 + "width": 320 }, "position": { "x": 863.3241377184722, @@ -541,11 +496,9 @@ }, { "data": { - "id": "TextInput-Bg8zz", + "id": "TextInput-eClq5", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -553,9 +506,7 @@ "display_name": "Content Guidelines", "documentation": "", "edited": false, - "field_order": [ - "input_value" - ], + "field_order": ["input_value"], "frozen": false, "icon": "type", "legacy": false, @@ -604,9 +555,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, @@ -626,10 +575,10 @@ }, "dragging": false, "height": 234, - "id": "TextInput-Bg8zz", + "id": "TextInput-eClq5", "measured": { "height": 234, - "width": 360 + "width": 320 }, "position": { "x": 1300.291760633212, @@ -647,11 +596,9 @@ "data": { "description": "Display a chat message in the Playground.", "display_name": "Chat Output", - "id": "ChatOutput-17n9v", + "id": "ChatOutput-0jDYx", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -700,9 +647,7 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "background_color", @@ -722,9 +667,7 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "chat_icon", @@ -762,9 +705,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", @@ -784,9 +725,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", @@ -807,10 +746,7 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": [ - "Machine", - "User" - ], + "options": ["Machine", "User"], "placeholder": "", "required": false, "show": true, @@ -826,9 +762,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", @@ -848,9 +782,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", @@ -886,9 +818,7 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "text_color", @@ -909,10 +839,10 @@ }, "dragging": true, "height": 234, - "id": "ChatOutput-17n9v", + "id": "ChatOutput-0jDYx", "measured": { "height": 234, - "width": 360 + "width": 320 }, "position": { "x": 2451.4525968502526, @@ -922,17 +852,15 @@ "x": 2470.223353127597, "y": 1055.4039338762416 }, - "selected": true, + "selected": false, "type": "genericNode", "width": 320 }, { "data": { - "id": "TextInput-00Lsi", + "id": "TextInput-IpoG7", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -940,9 +868,7 @@ "display_name": "Output Format", "documentation": "", "edited": false, - "field_order": [ - "input_value" - ], + "field_order": ["input_value"], "frozen": false, "icon": "type", "legacy": false, @@ -991,9 +917,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, @@ -1013,10 +937,10 @@ }, "dragging": false, "height": 234, - "id": "TextInput-00Lsi", + "id": "TextInput-IpoG7", "measured": { "height": 234, - "width": 360 + "width": 320 }, "position": { "x": 1300.639277084099, @@ -1032,11 +956,9 @@ }, { "data": { - "id": "TextInput-rmIDO", + "id": "TextInput-npraC", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -1044,9 +966,7 @@ "display_name": "Output Language", "documentation": "", "edited": false, - "field_order": [ - "input_value" - ], + "field_order": ["input_value"], "frozen": false, "icon": "type", "legacy": false, @@ -1095,9 +1015,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, @@ -1117,10 +1035,10 @@ }, "dragging": false, "height": 234, - "id": "TextInput-rmIDO", + "id": "TextInput-npraC", "measured": { "height": 234, - "width": 360 + "width": 320 }, "position": { "x": 1302.1321888373375, @@ -1136,11 +1054,9 @@ }, { "data": { - "id": "TextInput-7RHoM", + "id": "TextInput-EZaR7", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -1148,9 +1064,7 @@ "display_name": "Profile Details", "documentation": "", "edited": false, - "field_order": [ - "input_value" - ], + "field_order": ["input_value"], "frozen": false, "icon": "type", "legacy": false, @@ -1199,9 +1113,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, @@ -1221,10 +1133,10 @@ }, "dragging": false, "height": 234, - "id": "TextInput-7RHoM", + "id": "TextInput-EZaR7", "measured": { "height": 234, - "width": 360 + "width": 320 }, "position": { "x": 1302.0774628387737, @@ -1240,11 +1152,9 @@ }, { "data": { - "id": "TextInput-pf6qC", + "id": "TextInput-92vEK", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -1252,9 +1162,7 @@ "display_name": "Tone And Style", "documentation": "", "edited": false, - "field_order": [ - "input_value" - ], + "field_order": ["input_value"], "frozen": false, "icon": "type", "legacy": false, @@ -1303,9 +1211,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, @@ -1325,10 +1231,10 @@ }, "dragging": false, "height": 234, - "id": "TextInput-pf6qC", + "id": "TextInput-92vEK", "measured": { "height": 234, - "width": 360 + "width": 320 }, "position": { "x": 1301.68182643676, @@ -1344,11 +1250,9 @@ }, { "data": { - "id": "TextInput-qidre", + "id": "TextInput-fKGcs", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -1356,9 +1260,7 @@ "display_name": "Profile Type", "documentation": "", "edited": false, - "field_order": [ - "input_value" - ], + "field_order": ["input_value"], "frozen": false, "icon": "type", "legacy": false, @@ -1407,9 +1309,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, @@ -1429,10 +1329,10 @@ }, "dragging": false, "height": 234, - "id": "TextInput-qidre", + "id": "TextInput-fKGcs", "measured": { "height": 234, - "width": 360 + "width": 320 }, "position": { "x": 1301.4778537945892, @@ -1448,7 +1348,7 @@ }, { "data": { - "id": "note-dplZB", + "id": "note-OjsTI", "node": { "description": "# Twitter Thread Generator\n\nWelcome to the Twitter Thread Generator! This flow helps you create compelling Twitter threads by transforming your structured inputs into engaging content.\n\n## Instructions\n\n1. Prepare Your Inputs\n - Fill in the \"Context\" with your main message or story\n - Define \"Content Guidelines\" for thread structure and style\n - Specify \"Profile Type\" and \"Profile Details\" to reflect your brand identity\n - Set \"Tone and Style\" to guide the communication approach\n - Choose \"Output Format\" (thread) and desired language\n\n2. Configure the Prompt\n - The flow uses a specialized prompt template to generate content\n - Ensure all input fields are connected to the prompt node\n\n3. Run the Generation\n - Execute the flow to process your inputs\n - The OpenAI model will create the thread based on your specifications\n\n4. Review and Refine\n - Examine the output in the Chat Output node\n - If needed, adjust your inputs and re-run for better results\n\n5. Finalize and Post\n - Once satisfied, copy the generated thread\n - Post to Twitter, maintaining the structure and flow\n\nRemember: Be specific in your context and guidelines for the best results! 🚀\n", "display_name": "", @@ -1461,10 +1361,10 @@ }, "dragging": false, "height": 800, - "id": "note-dplZB", + "id": "note-OjsTI", "measured": { - "height": 800, - "width": 328 + "height": 784, + "width": 324 }, "position": { "x": 675.0099418843004, @@ -1478,20 +1378,18 @@ "selected": false, "style": { "height": 800, - "width": 600 + "width": 324 }, "type": "noteNode", - "width": 600 + "width": 324 }, { "data": { "description": "Create a prompt template with dynamic variables.", "display_name": "Prompt", - "id": "Prompt-atb3f", + "id": "Prompt-AWZtN", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": { @@ -1508,9 +1406,7 @@ "display_name": "Prompt", "documentation": "", "edited": false, - "field_order": [ - "template" - ], + "field_order": ["template"], "frozen": false, "icon": "prompts", "legacy": false, @@ -1542,10 +1438,7 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": [ - "Message", - "Text" - ], + "input_types": ["Message", "Text"], "list": false, "load_from_db": false, "multiline": true, @@ -1565,10 +1458,7 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": [ - "Message", - "Text" - ], + "input_types": ["Message", "Text"], "list": false, "load_from_db": false, "multiline": true, @@ -1588,10 +1478,7 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": [ - "Message", - "Text" - ], + "input_types": ["Message", "Text"], "list": false, "load_from_db": false, "multiline": true, @@ -1611,10 +1498,7 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": [ - "Message", - "Text" - ], + "input_types": ["Message", "Text"], "list": false, "load_from_db": false, "multiline": true, @@ -1634,10 +1518,7 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": [ - "Message", - "Text" - ], + "input_types": ["Message", "Text"], "list": false, "load_from_db": false, "multiline": true, @@ -1657,10 +1538,7 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": [ - "Message", - "Text" - ], + "input_types": ["Message", "Text"], "list": false, "load_from_db": false, "multiline": true, @@ -1715,9 +1593,7 @@ "display_name": "Tool Placeholder", "dynamic": false, "info": "A placeholder input for tool mode.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "tool_placeholder", @@ -1738,10 +1614,10 @@ }, "dragging": false, "height": 779, - "id": "Prompt-atb3f", + "id": "Prompt-AWZtN", "measured": { "height": 779, - "width": 360 + "width": 320 }, "position": { "x": 1697.1682096049744, @@ -1757,12 +1633,9 @@ }, { "data": { - "id": "OpenAIModel-RvdWl", + "id": "OpenAIModel-p0R9m", "node": { - "base_classes": [ - "LanguageModel", - "Message" - ], + "base_classes": ["LanguageModel", "Message"], "beta": false, "category": "models", "conditional_paths": [], @@ -1812,9 +1685,7 @@ "display_name": "Language Model", "method": "build_model", "name": "model_output", - "required_inputs": [ - "api_key" - ], + "required_inputs": ["api_key"], "selected": "LanguageModel", "tool_mode": true, "types": [ @@ -1833,9 +1704,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, @@ -1844,7 +1713,7 @@ "show": true, "title_case": false, "type": "str", - "value": "OPENAI_API_KEY" + "value": "" }, "code": { "advanced": true, @@ -1870,9 +1739,7 @@ "display_name": "Input", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -2036,9 +1903,7 @@ "display_name": "System Message", "dynamic": false, "info": "System message to pass to the model.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -2089,10 +1954,10 @@ "type": "OpenAIModel" }, "dragging": false, - "id": "OpenAIModel-RvdWl", + "id": "OpenAIModel-p0R9m", "measured": { - "height": 734, - "width": 360 + "height": 653, + "width": 320 }, "position": { "x": 2077.6929601219513, @@ -2116,8 +1981,5 @@ "is_component": false, "last_tested_version": "1.0.19.post2", "name": "Twitter Thread Generator", - "tags": [ - "chatbots", - "content-generation" - ] -} \ No newline at end of file + "tags": ["chatbots", "content-generation"] +} diff --git a/src/backend/base/langflow/initial_setup/starter_projects/Vector Store RAG.json b/src/backend/base/langflow/initial_setup/starter_projects/Vector Store RAG.json index c31019bcc..3b17ab2cc 100644 --- a/src/backend/base/langflow/initial_setup/starter_projects/Vector Store RAG.json +++ b/src/backend/base/langflow/initial_setup/starter_projects/Vector Store RAG.json @@ -7,27 +7,22 @@ "data": { "sourceHandle": { "dataType": "ParseData", - "id": "ParseData-rM0er", + "id": "ParseData-9zsFp", "name": "text", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "context", - "id": "Prompt-0IrIN", - "inputTypes": [ - "Message", - "Text" - ], + "id": "Prompt-mqa6n", + "inputTypes": ["Message", "Text"], "type": "str" } }, - "id": "reactflow__edge-ParseData-rM0er{œdataTypeœ:œParseDataœ,œidœ:œParseData-rM0erœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-Prompt-0IrIN{œfieldNameœ:œcontextœ,œidœ:œPrompt-0IrINœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", - "source": "ParseData-rM0er", - "sourceHandle": "{œdataTypeœ: œParseDataœ, œidœ: œParseData-rM0erœ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}", - "target": "Prompt-0IrIN", - "targetHandle": "{œfieldNameœ: œcontextœ, œidœ: œPrompt-0IrINœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-ParseData-9zsFp{œdataTypeœ:œParseDataœ,œidœ:œParseData-9zsFpœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-Prompt-mqa6n{œfieldNameœ:œcontextœ,œidœ:œPrompt-mqa6nœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", + "source": "ParseData-9zsFp", + "sourceHandle": "{œdataTypeœ: œParseDataœ, œidœ: œParseData-9zsFpœ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}", + "target": "Prompt-mqa6n", + "targetHandle": "{œfieldNameœ: œcontextœ, œidœ: œPrompt-mqa6nœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" }, { "animated": false, @@ -35,27 +30,22 @@ "data": { "sourceHandle": { "dataType": "ChatInput", - "id": "ChatInput-Et6gu", + "id": "ChatInput-Jy5aI", "name": "message", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "question", - "id": "Prompt-0IrIN", - "inputTypes": [ - "Message", - "Text" - ], + "id": "Prompt-mqa6n", + "inputTypes": ["Message", "Text"], "type": "str" } }, - "id": "reactflow__edge-ChatInput-Et6gu{œdataTypeœ:œChatInputœ,œidœ:œChatInput-Et6guœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-Prompt-0IrIN{œfieldNameœ:œquestionœ,œidœ:œPrompt-0IrINœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", - "source": "ChatInput-Et6gu", - "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-Et6guœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", - "target": "Prompt-0IrIN", - "targetHandle": "{œfieldNameœ: œquestionœ, œidœ: œPrompt-0IrINœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-ChatInput-Jy5aI{œdataTypeœ:œChatInputœ,œidœ:œChatInput-Jy5aIœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-Prompt-mqa6n{œfieldNameœ:œquestionœ,œidœ:œPrompt-mqa6nœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", + "source": "ChatInput-Jy5aI", + "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-Jy5aIœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", + "target": "Prompt-mqa6n", + "targetHandle": "{œfieldNameœ: œquestionœ, œidœ: œPrompt-mqa6nœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" }, { "animated": false, @@ -63,203 +53,176 @@ "data": { "sourceHandle": { "dataType": "File", - "id": "File-Iwn0a", + "id": "File-i8StI", "name": "data", - "output_types": [ - "Data" - ] + "output_types": ["Data"] }, "targetHandle": { "fieldName": "data_inputs", - "id": "SplitText-ZR67Y", - "inputTypes": [ - "Data" - ], + "id": "SplitText-DakpR", + "inputTypes": ["Data"], "type": "other" } }, - "id": "reactflow__edge-File-Iwn0a{œdataTypeœ:œFileœ,œidœ:œFile-Iwn0aœ,œnameœ:œdataœ,œoutput_typesœ:[œDataœ]}-SplitText-ZR67Y{œfieldNameœ:œdata_inputsœ,œidœ:œSplitText-ZR67Yœ,œinputTypesœ:[œDataœ],œtypeœ:œotherœ}", - "source": "File-Iwn0a", - "sourceHandle": "{œdataTypeœ: œFileœ, œidœ: œFile-Iwn0aœ, œnameœ: œdataœ, œoutput_typesœ: [œDataœ]}", - "target": "SplitText-ZR67Y", - "targetHandle": "{œfieldNameœ: œdata_inputsœ, œidœ: œSplitText-ZR67Yœ, œinputTypesœ: [œDataœ], œtypeœ: œotherœ}" + "id": "reactflow__edge-File-i8StI{œdataTypeœ:œFileœ,œidœ:œFile-i8StIœ,œnameœ:œdataœ,œoutput_typesœ:[œDataœ]}-SplitText-DakpR{œfieldNameœ:œdata_inputsœ,œidœ:œSplitText-DakpRœ,œinputTypesœ:[œDataœ],œtypeœ:œotherœ}", + "source": "File-i8StI", + "sourceHandle": "{œdataTypeœ: œFileœ, œidœ: œFile-i8StIœ, œnameœ: œdataœ, œoutput_typesœ: [œDataœ]}", + "target": "SplitText-DakpR", + "targetHandle": "{œfieldNameœ: œdata_inputsœ, œidœ: œSplitText-DakpRœ, œinputTypesœ: [œDataœ], œtypeœ: œotherœ}" }, { "className": "", "data": { "sourceHandle": { "dataType": "Prompt", - "id": "Prompt-0IrIN", + "id": "Prompt-mqa6n", "name": "prompt", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "input_value", - "id": "OpenAIModel-ivGZd", - "inputTypes": [ - "Message" - ], + "id": "OpenAIModel-VVLPR", + "inputTypes": ["Message"], "type": "str" } }, - "id": "reactflow__edge-Prompt-0IrIN{œdataTypeœ:œPromptœ,œidœ:œPrompt-0IrINœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-ivGZd{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-ivGZdœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "Prompt-0IrIN", - "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-0IrINœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", - "target": "OpenAIModel-ivGZd", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œOpenAIModel-ivGZdœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-Prompt-mqa6n{œdataTypeœ:œPromptœ,œidœ:œPrompt-mqa6nœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-VVLPR{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-VVLPRœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "source": "Prompt-mqa6n", + "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-mqa6nœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", + "target": "OpenAIModel-VVLPR", + "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œOpenAIModel-VVLPRœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" }, { "className": "", "data": { "sourceHandle": { "dataType": "OpenAIModel", - "id": "OpenAIModel-ivGZd", + "id": "OpenAIModel-VVLPR", "name": "text_output", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "input_value", - "id": "ChatOutput-jT0HE", - "inputTypes": [ - "Message" - ], + "id": "ChatOutput-EujCa", + "inputTypes": ["Message"], "type": "str" } }, - "id": "reactflow__edge-OpenAIModel-ivGZd{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-ivGZdœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-jT0HE{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-jT0HEœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "OpenAIModel-ivGZd", - "sourceHandle": "{œdataTypeœ: œOpenAIModelœ, œidœ: œOpenAIModel-ivGZdœ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}", - "target": "ChatOutput-jT0HE", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-jT0HEœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-OpenAIModel-VVLPR{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-VVLPRœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-EujCa{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-EujCaœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "source": "OpenAIModel-VVLPR", + "sourceHandle": "{œdataTypeœ: œOpenAIModelœ, œidœ: œOpenAIModel-VVLPRœ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}", + "target": "ChatOutput-EujCa", + "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-EujCaœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" }, { + "className": "", "data": { "sourceHandle": { "dataType": "OpenAIEmbeddings", - "id": "OpenAIEmbeddings-gxtIK", + "id": "OpenAIEmbeddings-BF7iH", "name": "embeddings", - "output_types": [ - "Embeddings" - ] + "output_types": ["Embeddings"] }, "targetHandle": { "fieldName": "embedding_model", - "id": "AstraDB-q0CNq", - "inputTypes": [ - "Embeddings" - ], + "id": "AstraDB-Qdaes", + "inputTypes": ["Embeddings"], "type": "other" } }, - "id": "xy-edge__OpenAIEmbeddings-gxtIK{œdataTypeœ:œOpenAIEmbeddingsœ,œidœ:œOpenAIEmbeddings-gxtIKœ,œnameœ:œembeddingsœ,œoutput_typesœ:[œEmbeddingsœ]}-AstraDB-q0CNq{œfieldNameœ:œembedding_modelœ,œidœ:œAstraDB-q0CNqœ,œinputTypesœ:[œEmbeddingsœ],œtypeœ:œotherœ}", - "source": "OpenAIEmbeddings-gxtIK", - "sourceHandle": "{œdataTypeœ: œOpenAIEmbeddingsœ, œidœ: œOpenAIEmbeddings-gxtIKœ, œnameœ: œembeddingsœ, œoutput_typesœ: [œEmbeddingsœ]}", - "target": "AstraDB-q0CNq", - "targetHandle": "{œfieldNameœ: œembedding_modelœ, œidœ: œAstraDB-q0CNqœ, œinputTypesœ: [œEmbeddingsœ], œtypeœ: œotherœ}" + "id": "reactflow__edge-OpenAIEmbeddings-BF7iH{œdataTypeœ:œOpenAIEmbeddingsœ,œidœ:œOpenAIEmbeddings-BF7iHœ,œnameœ:œembeddingsœ,œoutput_typesœ:[œEmbeddingsœ]}-AstraDB-Qdaes{œfieldNameœ:œembedding_modelœ,œidœ:œAstraDB-Qdaesœ,œinputTypesœ:[œEmbeddingsœ],œtypeœ:œotherœ}", + "source": "OpenAIEmbeddings-BF7iH", + "sourceHandle": "{œdataTypeœ: œOpenAIEmbeddingsœ, œidœ: œOpenAIEmbeddings-BF7iHœ, œnameœ: œembeddingsœ, œoutput_typesœ: [œEmbeddingsœ]}", + "target": "AstraDB-Qdaes", + "targetHandle": "{œfieldNameœ: œembedding_modelœ, œidœ: œAstraDB-Qdaesœ, œinputTypesœ: [œEmbeddingsœ], œtypeœ: œotherœ}" }, { + "className": "", "data": { "sourceHandle": { "dataType": "ChatInput", - "id": "ChatInput-Et6gu", + "id": "ChatInput-Jy5aI", "name": "message", - "output_types": [ - "Message" - ] + "output_types": ["Message"] }, "targetHandle": { "fieldName": "search_query", - "id": "AstraDB-q0CNq", - "inputTypes": [ - "Message" - ], + "id": "AstraDB-Qdaes", + "inputTypes": ["Message"], "type": "str" } }, - "id": "xy-edge__ChatInput-Et6gu{œdataTypeœ:œChatInputœ,œidœ:œChatInput-Et6guœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-AstraDB-q0CNq{œfieldNameœ:œsearch_queryœ,œidœ:œAstraDB-q0CNqœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "ChatInput-Et6gu", - "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-Et6guœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", - "target": "AstraDB-q0CNq", - "targetHandle": "{œfieldNameœ: œsearch_queryœ, œidœ: œAstraDB-q0CNqœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-ChatInput-Jy5aI{œdataTypeœ:œChatInputœ,œidœ:œChatInput-Jy5aIœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-AstraDB-Qdaes{œfieldNameœ:œsearch_queryœ,œidœ:œAstraDB-Qdaesœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "source": "ChatInput-Jy5aI", + "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-Jy5aIœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", + "target": "AstraDB-Qdaes", + "targetHandle": "{œfieldNameœ: œsearch_queryœ, œidœ: œAstraDB-Qdaesœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" }, { + "className": "", "data": { "sourceHandle": { "dataType": "AstraDB", - "id": "AstraDB-q0CNq", + "id": "AstraDB-Qdaes", "name": "search_results", - "output_types": [ - "Data" - ] + "output_types": ["Data"] }, "targetHandle": { "fieldName": "data", - "id": "ParseData-rM0er", - "inputTypes": [ - "Data" - ], + "id": "ParseData-9zsFp", + "inputTypes": ["Data"], "type": "other" } }, - "id": "xy-edge__AstraDB-q0CNq{œdataTypeœ:œAstraDBœ,œidœ:œAstraDB-q0CNqœ,œnameœ:œsearch_resultsœ,œoutput_typesœ:[œDataœ]}-ParseData-rM0er{œfieldNameœ:œdataœ,œidœ:œParseData-rM0erœ,œinputTypesœ:[œDataœ],œtypeœ:œotherœ}", - "source": "AstraDB-q0CNq", - "sourceHandle": "{œdataTypeœ: œAstraDBœ, œidœ: œAstraDB-q0CNqœ, œnameœ: œsearch_resultsœ, œoutput_typesœ: [œDataœ]}", - "target": "ParseData-rM0er", - "targetHandle": "{œfieldNameœ: œdataœ, œidœ: œParseData-rM0erœ, œinputTypesœ: [œDataœ], œtypeœ: œotherœ}" + "id": "reactflow__edge-AstraDB-Qdaes{œdataTypeœ:œAstraDBœ,œidœ:œAstraDB-Qdaesœ,œnameœ:œsearch_resultsœ,œoutput_typesœ:[œDataœ]}-ParseData-9zsFp{œfieldNameœ:œdataœ,œidœ:œParseData-9zsFpœ,œinputTypesœ:[œDataœ],œtypeœ:œotherœ}", + "source": "AstraDB-Qdaes", + "sourceHandle": "{œdataTypeœ: œAstraDBœ, œidœ: œAstraDB-Qdaesœ, œnameœ: œsearch_resultsœ, œoutput_typesœ: [œDataœ]}", + "target": "ParseData-9zsFp", + "targetHandle": "{œfieldNameœ: œdataœ, œidœ: œParseData-9zsFpœ, œinputTypesœ: [œDataœ], œtypeœ: œotherœ}" }, { + "className": "", "data": { "sourceHandle": { "dataType": "OpenAIEmbeddings", - "id": "OpenAIEmbeddings-XrIYd", + "id": "OpenAIEmbeddings-KNVHv", "name": "embeddings", - "output_types": [ - "Embeddings" - ] + "output_types": ["Embeddings"] }, "targetHandle": { "fieldName": "embedding_model", - "id": "AstraDB-DY2V0", - "inputTypes": [ - "Embeddings" - ], + "id": "AstraDB-sPWXd", + "inputTypes": ["Embeddings"], "type": "other" } }, - "id": "xy-edge__OpenAIEmbeddings-XrIYd{œdataTypeœ:œOpenAIEmbeddingsœ,œidœ:œOpenAIEmbeddings-XrIYdœ,œnameœ:œembeddingsœ,œoutput_typesœ:[œEmbeddingsœ]}-AstraDB-DY2V0{œfieldNameœ:œembedding_modelœ,œidœ:œAstraDB-DY2V0œ,œinputTypesœ:[œEmbeddingsœ],œtypeœ:œotherœ}", - "source": "OpenAIEmbeddings-XrIYd", - "sourceHandle": "{œdataTypeœ: œOpenAIEmbeddingsœ, œidœ: œOpenAIEmbeddings-XrIYdœ, œnameœ: œembeddingsœ, œoutput_typesœ: [œEmbeddingsœ]}", - "target": "AstraDB-DY2V0", - "targetHandle": "{œfieldNameœ: œembedding_modelœ, œidœ: œAstraDB-DY2V0œ, œinputTypesœ: [œEmbeddingsœ], œtypeœ: œotherœ}" + "id": "reactflow__edge-OpenAIEmbeddings-KNVHv{œdataTypeœ:œOpenAIEmbeddingsœ,œidœ:œOpenAIEmbeddings-KNVHvœ,œnameœ:œembeddingsœ,œoutput_typesœ:[œEmbeddingsœ]}-AstraDB-sPWXd{œfieldNameœ:œembedding_modelœ,œidœ:œAstraDB-sPWXdœ,œinputTypesœ:[œEmbeddingsœ],œtypeœ:œotherœ}", + "source": "OpenAIEmbeddings-KNVHv", + "sourceHandle": "{œdataTypeœ: œOpenAIEmbeddingsœ, œidœ: œOpenAIEmbeddings-KNVHvœ, œnameœ: œembeddingsœ, œoutput_typesœ: [œEmbeddingsœ]}", + "target": "AstraDB-sPWXd", + "targetHandle": "{œfieldNameœ: œembedding_modelœ, œidœ: œAstraDB-sPWXdœ, œinputTypesœ: [œEmbeddingsœ], œtypeœ: œotherœ}" }, { + "className": "", "data": { "sourceHandle": { "dataType": "SplitText", - "id": "SplitText-ZR67Y", + "id": "SplitText-DakpR", "name": "chunks", - "output_types": [ - "Data" - ] + "output_types": ["Data"] }, "targetHandle": { "fieldName": "ingest_data", - "id": "AstraDB-DY2V0", - "inputTypes": [ - "Data" - ], + "id": "AstraDB-sPWXd", + "inputTypes": ["Data"], "type": "other" } }, - "id": "xy-edge__SplitText-ZR67Y{œdataTypeœ:œSplitTextœ,œidœ:œSplitText-ZR67Yœ,œnameœ:œchunksœ,œoutput_typesœ:[œDataœ]}-AstraDB-DY2V0{œfieldNameœ:œingest_dataœ,œidœ:œAstraDB-DY2V0œ,œinputTypesœ:[œDataœ],œtypeœ:œotherœ}", - "source": "SplitText-ZR67Y", - "sourceHandle": "{œdataTypeœ: œSplitTextœ, œidœ: œSplitText-ZR67Yœ, œnameœ: œchunksœ, œoutput_typesœ: [œDataœ]}", - "target": "AstraDB-DY2V0", - "targetHandle": "{œfieldNameœ: œingest_dataœ, œidœ: œAstraDB-DY2V0œ, œinputTypesœ: [œDataœ], œtypeœ: œotherœ}" + "id": "reactflow__edge-SplitText-DakpR{œdataTypeœ:œSplitTextœ,œidœ:œSplitText-DakpRœ,œnameœ:œchunksœ,œoutput_typesœ:[œDataœ]}-AstraDB-sPWXd{œfieldNameœ:œingest_dataœ,œidœ:œAstraDB-sPWXdœ,œinputTypesœ:[œDataœ],œtypeœ:œotherœ}", + "source": "SplitText-DakpR", + "sourceHandle": "{œdataTypeœ: œSplitTextœ, œidœ: œSplitText-DakpRœ, œnameœ: œchunksœ, œoutput_typesœ: [œDataœ]}", + "target": "AstraDB-sPWXd", + "targetHandle": "{œfieldNameœ: œingest_dataœ, œidœ: œAstraDB-sPWXdœ, œinputTypesœ: [œDataœ], œtypeœ: œotherœ}" } ], "nodes": [ @@ -267,11 +230,9 @@ "data": { "description": "Get chat inputs from the Playground.", "display_name": "Chat Input", - "id": "ChatInput-Et6gu", + "id": "ChatInput-Jy5aI", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -317,9 +278,7 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "background_color", @@ -338,9 +297,7 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "chat_icon", @@ -437,10 +394,7 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": [ - "Machine", - "User" - ], + "options": ["Machine", "User"], "placeholder": "", "required": false, "show": true, @@ -454,9 +408,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", @@ -474,9 +426,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", @@ -510,9 +460,7 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "text_color", @@ -531,7 +479,7 @@ }, "dragging": false, "height": 234, - "id": "ChatInput-Et6gu", + "id": "ChatInput-Jy5aI", "measured": { "height": 234, "width": 320 @@ -552,11 +500,9 @@ "data": { "description": "Convert Data into plain text following a specified template.", "display_name": "Parse Data", - "id": "ParseData-rM0er", + "id": "ParseData-9zsFp", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -564,11 +510,7 @@ "display_name": "Parse Data", "documentation": "", "edited": false, - "field_order": [ - "data", - "template", - "sep" - ], + "field_order": ["data", "template", "sep"], "frozen": false, "icon": "message-square", "legacy": false, @@ -629,9 +571,7 @@ "display_name": "Data", "dynamic": false, "info": "The data to convert to text.", - "input_types": [ - "Data" - ], + "input_types": ["Data"], "list": true, "name": "data", "placeholder": "", @@ -664,9 +604,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, @@ -686,7 +624,7 @@ }, "dragging": false, "height": 350, - "id": "ParseData-rM0er", + "id": "ParseData-9zsFp", "measured": { "height": 350, "width": 320 @@ -707,27 +645,20 @@ "data": { "description": "Create a prompt template with dynamic variables.", "display_name": "Prompt", - "id": "Prompt-0IrIN", + "id": "Prompt-mqa6n", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": { - "template": [ - "context", - "question" - ] + "template": ["context", "question"] }, "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", @@ -783,10 +714,7 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": [ - "Message", - "Text" - ], + "input_types": ["Message", "Text"], "list": false, "load_from_db": false, "multiline": true, @@ -806,10 +734,7 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": [ - "Message", - "Text" - ], + "input_types": ["Message", "Text"], "list": false, "load_from_db": false, "multiline": true, @@ -843,9 +768,7 @@ "display_name": "Tool Placeholder", "dynamic": false, "info": "A placeholder input for tool mode.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "tool_placeholder", @@ -866,7 +789,7 @@ }, "dragging": false, "height": 433, - "id": "Prompt-0IrIN", + "id": "Prompt-mqa6n", "measured": { "height": 433, "width": 320 @@ -887,11 +810,9 @@ "data": { "description": "Split text into chunks based on specified criteria.", "display_name": "Split Text", - "id": "SplitText-ZR67Y", + "id": "SplitText-DakpR", "node": { - "base_classes": [ - "Data" - ], + "base_classes": ["Data"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -995,9 +916,7 @@ "display_name": "Data Inputs", "dynamic": false, "info": "The data to split.", - "input_types": [ - "Data" - ], + "input_types": ["Data"], "list": true, "name": "data_inputs", "placeholder": "", @@ -1013,9 +932,7 @@ "display_name": "Separator", "dynamic": false, "info": "The character to split on. Defaults to newline.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "separator", @@ -1034,7 +951,7 @@ }, "dragging": false, "height": 475, - "id": "SplitText-ZR67Y", + "id": "SplitText-DakpR", "measured": { "height": 475, "width": 320 @@ -1053,7 +970,7 @@ }, { "data": { - "id": "note-64kCP", + "id": "note-Z3QTX", "node": { "description": "## 🐕 2. Retriever Flow\n\nThis flow answers your questions with contextual data retrieved from your vector database.\n\nOpen the **Playground** and ask, \n\n```\nWhat is this document about?\n```\n", "display_name": "", @@ -1066,7 +983,7 @@ }, "dragging": false, "height": 324, - "id": "note-64kCP", + "id": "note-Z3QTX", "measured": { "height": 324, "width": 325 @@ -1090,7 +1007,7 @@ }, { "data": { - "id": "note-lehA3", + "id": "note-o6eiV", "node": { "description": "## 📖 README\n\nLoad your data into a vector database with the 📚 **Load Data** flow, and then use your data as chat context with the 🐕 **Retriever** flow.\n\n**🚨 Add your OpenAI API key as a global variable to easily add it to all of the OpenAI components in this flow.** \n\n**Quick start**\n1. Run the 📚 **Load Data** flow.\n2. Run the 🐕 **Retriever** flow.\n\n**Next steps** \n\n- Experiment by changing the prompt and the loaded data to see how the bot's responses change. \n\nFor more info, see the [Langflow docs](https://docs.langflow.org/starter-projects-vector-store-rag).", "display_name": "Read Me", @@ -1102,11 +1019,11 @@ "type": "note" }, "dragging": false, - "height": 527, - "id": "note-lehA3", + "height": 324, + "id": "note-o6eiV", "measured": { - "height": 527, - "width": 325 + "height": 324, + "width": 324 }, "position": { "x": 94.28986613312418, @@ -1119,21 +1036,19 @@ "resizing": false, "selected": false, "style": { - "height": 527, - "width": 600 + "height": 324, + "width": 324 }, "type": "noteNode", - "width": 600 + "width": 324 }, { "data": { "description": "Display a chat message in the Playground.", "display_name": "Chat Output", - "id": "ChatOutput-jT0HE", + "id": "ChatOutput-EujCa", "node": { - "base_classes": [ - "Message" - ], + "base_classes": ["Message"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -1182,9 +1097,7 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "background_color", @@ -1204,9 +1117,7 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "chat_icon", @@ -1244,9 +1155,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", @@ -1266,9 +1175,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", @@ -1289,10 +1196,7 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": [ - "Machine", - "User" - ], + "options": ["Machine", "User"], "placeholder": "", "required": false, "show": true, @@ -1308,9 +1212,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", @@ -1330,9 +1232,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", @@ -1368,9 +1268,7 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "text_color", @@ -1391,7 +1289,7 @@ }, "dragging": false, "height": 234, - "id": "ChatOutput-jT0HE", + "id": "ChatOutput-EujCa", "measured": { "height": 234, "width": 320 @@ -1410,11 +1308,9 @@ }, { "data": { - "id": "OpenAIEmbeddings-gxtIK", + "id": "OpenAIEmbeddings-BF7iH", "node": { - "base_classes": [ - "Embeddings" - ], + "base_classes": ["Embeddings"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -1458,9 +1354,7 @@ "display_name": "Embeddings", "method": "build_embeddings", "name": "embeddings", - "required_inputs": [ - "openai_api_key" - ], + "required_inputs": ["openai_api_key"], "selected": "Embeddings", "tool_mode": true, "types": [ @@ -1494,9 +1388,7 @@ "display_name": "Client", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "client", @@ -1566,9 +1458,7 @@ "display_name": "Deployment", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "deployment", @@ -1674,9 +1564,7 @@ "display_name": "OpenAI API Base", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "openai_api_base", @@ -1696,9 +1584,7 @@ "display_name": "OpenAI API Key", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "load_from_db": true, "name": "openai_api_key", "password": true, @@ -1707,7 +1593,7 @@ "show": true, "title_case": false, "type": "str", - "value": "OPENAI_API_KEY" + "value": "" }, "openai_api_type": { "_input_type": "MessageTextInput", @@ -1715,9 +1601,7 @@ "display_name": "OpenAI API Type", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "openai_api_type", @@ -1737,9 +1621,7 @@ "display_name": "OpenAI API Version", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "openai_api_version", @@ -1759,9 +1641,7 @@ "display_name": "OpenAI Organization", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "openai_organization", @@ -1781,9 +1661,7 @@ "display_name": "OpenAI Proxy", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "openai_proxy", @@ -1867,9 +1745,7 @@ "display_name": "TikToken Model Name", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "tiktoken_model_name", @@ -1890,7 +1766,7 @@ }, "dragging": false, "height": 320, - "id": "OpenAIEmbeddings-gxtIK", + "id": "OpenAIEmbeddings-BF7iH", "measured": { "height": 320, "width": 320 @@ -1909,7 +1785,7 @@ }, { "data": { - "id": "note-m74Bv", + "id": "note-7sR5R", "node": { "description": "## 📚 1. Load Data Flow\n\nRun this first! Load data from a local file and embed it into the vector database.\n\nSelect a Database and a Collection, or create new ones. \n\nClick ▶️ **Run component** on the **Astra DB** component to load your data.\n\n* If you're using OSS Langflow, add your Astra DB Application Token to the Astra DB component.\n\n#### Next steps:\n Experiment by changing the prompt and the contextual data to see how the retrieval flow's responses change.", "display_name": "", @@ -1921,11 +1797,11 @@ "type": "note" }, "dragging": false, - "height": 50, - "id": "note-m74Bv", + "height": 324, + "id": "note-7sR5R", "measured": { - "height": 50, - "width": 325 + "height": 324, + "width": 324 }, "position": { "x": 955.3277857006676, @@ -1935,21 +1811,20 @@ "x": 955.3277857006676, "y": 1552.171191793604 }, - "selected": false, + "resizing": false, + "selected": true, "style": { - "height": 50, - "width": 325 + "height": 324, + "width": 324 }, "type": "noteNode", - "width": 325 + "width": 324 }, { "data": { - "id": "OpenAIEmbeddings-XrIYd", + "id": "OpenAIEmbeddings-KNVHv", "node": { - "base_classes": [ - "Embeddings" - ], + "base_classes": ["Embeddings"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -1993,9 +1868,7 @@ "display_name": "Embeddings", "method": "build_embeddings", "name": "embeddings", - "required_inputs": [ - "openai_api_key" - ], + "required_inputs": ["openai_api_key"], "selected": "Embeddings", "tool_mode": true, "types": [ @@ -2029,9 +1902,7 @@ "display_name": "Client", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "client", @@ -2101,9 +1972,7 @@ "display_name": "Deployment", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "deployment", @@ -2209,9 +2078,7 @@ "display_name": "OpenAI API Base", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "openai_api_base", @@ -2231,9 +2098,7 @@ "display_name": "OpenAI API Key", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "load_from_db": true, "name": "openai_api_key", "password": true, @@ -2242,7 +2107,7 @@ "show": true, "title_case": false, "type": "str", - "value": "OPENAI_API_KEY" + "value": "" }, "openai_api_type": { "_input_type": "MessageTextInput", @@ -2250,9 +2115,7 @@ "display_name": "OpenAI API Type", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "openai_api_type", @@ -2272,9 +2135,7 @@ "display_name": "OpenAI API Version", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "openai_api_version", @@ -2294,9 +2155,7 @@ "display_name": "OpenAI Organization", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "openai_organization", @@ -2316,9 +2175,7 @@ "display_name": "OpenAI Proxy", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "openai_proxy", @@ -2402,9 +2259,7 @@ "display_name": "TikToken Model Name", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "load_from_db": false, "name": "tiktoken_model_name", @@ -2425,7 +2280,7 @@ }, "dragging": false, "height": 320, - "id": "OpenAIEmbeddings-XrIYd", + "id": "OpenAIEmbeddings-KNVHv", "measured": { "height": 320, "width": 320 @@ -2444,11 +2299,9 @@ }, { "data": { - "id": "File-Iwn0a", + "id": "File-i8StI", "node": { - "base_classes": [ - "Data" - ], + "base_classes": ["Data"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -2543,10 +2396,7 @@ "display_name": "Server File Path", "dynamic": false, "info": "Data object with a 'file_path' property pointing to server file or a Message object with a path to the file. Supercedes 'Path' but supports same file types.", - "input_types": [ - "Data", - "Message" - ], + "input_types": ["Data", "Message"], "list": true, "name": "file_path", "placeholder": "", @@ -2670,14 +2520,14 @@ }, "dragging": false, "height": 367, - "id": "File-Iwn0a", + "id": "File-i8StI", "measured": { "height": 367, "width": 320 }, "position": { - "x": 1318.9043936921921, - "y": 1484.0151419511485 + "x": 1314.0643184619548, + "y": 1508.2155181023356 }, "positionAbsolute": { "x": 1318.9043936921921, @@ -2689,7 +2539,7 @@ }, { "data": { - "id": "note-ge6ir", + "id": "note-LxvwE", "node": { "description": "### 💡 Add your OpenAI API key here 👇", "display_name": "", @@ -2702,7 +2552,7 @@ }, "dragging": false, "height": 324, - "id": "note-ge6ir", + "id": "note-LxvwE", "measured": { "height": 324, "width": 324 @@ -2721,7 +2571,7 @@ }, { "data": { - "id": "note-7hmyZ", + "id": "note-PkcXs", "node": { "description": "### 💡 Add your OpenAI API key here 👇", "display_name": "", @@ -2734,7 +2584,7 @@ }, "dragging": false, "height": 324, - "id": "note-7hmyZ", + "id": "note-PkcXs", "measured": { "height": 324, "width": 324 @@ -2753,7 +2603,7 @@ }, { "data": { - "id": "note-JN3nw", + "id": "note-vhWhj", "node": { "description": "### 💡 Add your OpenAI API key here 👇", "display_name": "", @@ -2766,7 +2616,7 @@ }, "dragging": false, "height": 324, - "id": "note-JN3nw", + "id": "note-vhWhj", "measured": { "height": 324, "width": 324 @@ -2785,12 +2635,9 @@ }, { "data": { - "id": "OpenAIModel-ivGZd", + "id": "OpenAIModel-VVLPR", "node": { - "base_classes": [ - "LanguageModel", - "Message" - ], + "base_classes": ["LanguageModel", "Message"], "beta": false, "category": "models", "conditional_paths": [], @@ -2840,9 +2687,7 @@ "display_name": "Language Model", "method": "build_model", "name": "model_output", - "required_inputs": [ - "api_key" - ], + "required_inputs": ["api_key"], "selected": "LanguageModel", "tool_mode": true, "types": [ @@ -2861,9 +2706,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, @@ -2872,7 +2715,7 @@ "show": true, "title_case": false, "type": "str", - "value": "OPENAI_API_KEY" + "value": "" }, "code": { "advanced": true, @@ -2898,9 +2741,7 @@ "display_name": "Input", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -3064,9 +2905,7 @@ "display_name": "System Message", "dynamic": false, "info": "System message to pass to the model.", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -3117,9 +2956,9 @@ "type": "OpenAIModel" }, "dragging": false, - "id": "OpenAIModel-ivGZd", + "id": "OpenAIModel-VVLPR", "measured": { - "height": 656, + "height": 653, "width": 320 }, "position": { @@ -3131,12 +2970,9 @@ }, { "data": { - "id": "AstraDB-q0CNq", + "id": "AstraDB-Qdaes", "node": { - "base_classes": [ - "Data", - "DataFrame" - ], + "base_classes": ["Data", "DataFrame"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -3176,11 +3012,7 @@ "display_name": "Search Results", "method": "search_documents", "name": "search_results", - "required_inputs": [ - "api_endpoint", - "collection_name", - "token" - ], + "required_inputs": ["api_endpoint", "collection_name", "token"], "selected": "Data", "tool_mode": true, "types": [ @@ -3390,10 +3222,7 @@ "dynamic": false, "info": "Choose an embedding model or use Astra Vectorize.", "name": "embedding_choice", - "options": [ - "Embedding Model", - "Astra Vectorize" - ], + "options": ["Embedding Model", "Astra Vectorize"], "options_metadata": [], "placeholder": "", "real_time_refresh": true, @@ -3411,9 +3240,7 @@ "display_name": "Embedding Model", "dynamic": false, "info": "Specify the Embedding Model. Not required for Astra Vectorize collections.", - "input_types": [ - "Embeddings" - ], + "input_types": ["Embeddings"], "list": false, "list_add_label": "Add More", "name": "embedding_model", @@ -3468,9 +3295,7 @@ "display_name": "Ingest Data", "dynamic": false, "info": "", - "input_types": [ - "Data" - ], + "input_types": ["Data"], "list": false, "list_add_label": "Add More", "name": "ingest_data", @@ -3527,9 +3352,7 @@ "display_name": "Search Query", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -3603,7 +3426,7 @@ "show": true, "title_case": false, "type": "str", - "value": "ASTRA_DB_APPLICATION_TOKEN" + "value": "" } }, "tool_mode": false @@ -3612,9 +3435,9 @@ "type": "AstraDB" }, "dragging": false, - "id": "AstraDB-q0CNq", + "id": "AstraDB-Qdaes", "measured": { - "height": 614, + "height": 611, "width": 320 }, "position": { @@ -3626,12 +3449,9 @@ }, { "data": { - "id": "AstraDB-DY2V0", + "id": "AstraDB-sPWXd", "node": { - "base_classes": [ - "Data", - "DataFrame" - ], + "base_classes": ["Data", "DataFrame"], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -3671,11 +3491,7 @@ "display_name": "Search Results", "method": "search_documents", "name": "search_results", - "required_inputs": [ - "api_endpoint", - "collection_name", - "token" - ], + "required_inputs": ["api_endpoint", "collection_name", "token"], "selected": "Data", "tool_mode": true, "types": [ @@ -3885,10 +3701,7 @@ "dynamic": false, "info": "Choose an embedding model or use Astra Vectorize.", "name": "embedding_choice", - "options": [ - "Embedding Model", - "Astra Vectorize" - ], + "options": ["Embedding Model", "Astra Vectorize"], "options_metadata": [], "placeholder": "", "real_time_refresh": true, @@ -3906,9 +3719,7 @@ "display_name": "Embedding Model", "dynamic": false, "info": "Specify the Embedding Model. Not required for Astra Vectorize collections.", - "input_types": [ - "Embeddings" - ], + "input_types": ["Embeddings"], "list": false, "list_add_label": "Add More", "name": "embedding_model", @@ -3963,9 +3774,7 @@ "display_name": "Ingest Data", "dynamic": false, "info": "", - "input_types": [ - "Data" - ], + "input_types": ["Data"], "list": false, "list_add_label": "Add More", "name": "ingest_data", @@ -4022,9 +3831,7 @@ "display_name": "Search Query", "dynamic": false, "info": "", - "input_types": [ - "Message" - ], + "input_types": ["Message"], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -4098,7 +3905,7 @@ "show": true, "title_case": false, "type": "str", - "value": "ASTRA_DB_APPLICATION_TOKEN" + "value": "" } }, "tool_mode": false @@ -4107,9 +3914,9 @@ "type": "AstraDB" }, "dragging": false, - "id": "AstraDB-DY2V0", + "id": "AstraDB-sPWXd", "measured": { - "height": 614, + "height": 611, "width": 320 }, "position": { @@ -4121,9 +3928,9 @@ } ], "viewport": { - "x": 42.69696210801385, - "y": -162.1714705321857, - "zoom": 0.43217536168398524 + "x": 14.338407079834894, + "y": 248.6723683033677, + "zoom": 0.2658894837527901 } }, "description": "Load your data for chat context with Retrieval Augmented Generation.", @@ -4132,10 +3939,5 @@ "is_component": false, "last_tested_version": "1.1.2", "name": "Vector Store RAG", - "tags": [ - "openai", - "astradb", - "rag", - "q-a" - ] -} \ No newline at end of file + "tags": ["openai", "astradb", "rag", "q-a"] +} diff --git a/src/frontend/src/CustomNodes/NoteNode/index.tsx b/src/frontend/src/CustomNodes/NoteNode/index.tsx index 7f91e1ca1..a7f303dd6 100644 --- a/src/frontend/src/CustomNodes/NoteNode/index.tsx +++ b/src/frontend/src/CustomNodes/NoteNode/index.tsx @@ -4,12 +4,20 @@ import { NOTE_NODE_MIN_WIDTH, } from "@/constants/constants"; import { useAlternate } from "@/shared/hooks/use-alternate"; +import useFlowStore from "@/stores/flowStore"; import { NoteDataType } from "@/types/flow"; import { cn } from "@/utils/utils"; import { NodeResizer } from "@xyflow/react"; +import { debounce } from "lodash"; import { useEffect, useMemo, useRef, useState } from "react"; import NodeDescription from "../GenericNode/components/NodeDescription"; import NoteToolbarComponent from "./NoteToolbarComponent"; + +const NOTE_NODE_PADDING = 25; +const CHAR_LIMIT = 2500; +const DEFAULT_WIDTH = 324; +const DEFAULT_HEIGHT = 324; + function NoteNode({ data, selected, @@ -22,16 +30,68 @@ function NoteNode({ (key) => key === data.node?.template.backgroundColor, ) ?? Object.keys(COLOR_OPTIONS)[0]; const nodeDiv = useRef(null); - const [size, setSize] = useState({ width: 0, height: 0 }); - //tricky to start the description with the right size + const [size, setSize] = useState({ + width: DEFAULT_WIDTH - NOTE_NODE_PADDING, + height: DEFAULT_HEIGHT - NOTE_NODE_PADDING, + }); + const [resizedNote, setResizedNote] = useState(false); + const currentFlow = useFlowStore((state) => state.currentFlow); + const setNode = useFlowStore((state) => state.setNode); + const [isResizing, setIsResizing] = useState(false); + + const nodeData = useMemo( + () => currentFlow?.data?.nodes.find((node) => node.id === data.id), + [currentFlow, data.id], + ); + + const nodeDataWidth = useMemo( + () => nodeData?.width ?? DEFAULT_WIDTH, + [nodeData?.width], + ); + const nodeDataHeight = useMemo( + () => nodeData?.height ?? DEFAULT_HEIGHT, + [nodeData?.height], + ); + + const dataId = useMemo(() => data.id, [data.id]); + const dataDescription = useMemo( + () => data.node?.description, + [data.node?.description], + ); + + const debouncedResize = useMemo( + () => + debounce((width: number, height: number) => { + setSize({ + width: width - NOTE_NODE_PADDING, + height: height - NOTE_NODE_PADDING, + }); + setNode(data.id, (node) => { + return { + ...node, + width: width, + height: height, + }; + }); + }, 5), + [], + ); + useEffect(() => { - if (nodeDiv.current) { + if (nodeData && !resizedNote && nodeDataWidth > 0 && nodeDataHeight > 0) { setSize({ - width: nodeDiv.current.offsetWidth - 25, - height: nodeDiv.current.offsetHeight - 25, + width: nodeDataWidth - NOTE_NODE_PADDING, + height: nodeDataHeight - NOTE_NODE_PADDING, + }); + } else if (!nodeData && nodeDiv.current) { + const currentWidth = nodeDiv.current.offsetWidth || DEFAULT_WIDTH; + const currentHeight = nodeDiv.current.offsetHeight || DEFAULT_HEIGHT; + setSize({ + width: Math.max(currentWidth, DEFAULT_WIDTH) - NOTE_NODE_PADDING, + height: Math.max(currentHeight, DEFAULT_HEIGHT) - NOTE_NODE_PADDING, }); } - }, []); + }, [nodeData, nodeDataWidth, nodeDataHeight, resizedNote]); const [editNameDescription, set] = useAlternate(false); @@ -49,25 +109,35 @@ function NoteNode({ return ( <> { const { width, height } = params; - setSize({ width: width - 25, height: height - 25 }); + debouncedResize(width, height); }} isVisible={selected} lineClassName="!border !border-muted-foreground" + onResizeStart={() => { + setResizedNote(true); + setIsResizing(true); + }} + onResizeEnd={() => { + setIsResizing(false); + debouncedResize.flush(); + }} />
+
{/* Left Section */}
{ + expect(text).toBe(concatAllText); + }); }, );