diff --git a/src/backend/base/langflow/initial_setup/starter_projects/Diet Analysis.json b/src/backend/base/langflow/initial_setup/starter_projects/Diet Analysis.json index 4f1946e2f..4476dfd93 100644 --- a/src/backend/base/langflow/initial_setup/starter_projects/Diet Analysis.json +++ b/src/backend/base/langflow/initial_setup/starter_projects/Diet Analysis.json @@ -7,23 +7,27 @@ "data": { "sourceHandle": { "dataType": "ChatInput", - "id": "ChatInput-Tza35", + "id": "ChatInput-Enwwh", "name": "message", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "NovitaModel-NPPoo", - "inputTypes": ["Message"], + "id": "NovitaModel-20MWu", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-ChatInput-Tza35{œdataTypeœ:œChatInputœ,œidœ:œChatInput-Tza35œ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-NovitaModel-NPPoo{œfieldNameœ:œinput_valueœ,œidœ:œNovitaModel-NPPooœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-ChatInput-Enwwh{œdataTypeœ:œChatInputœ,œidœ:œChatInput-Enwwhœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-NovitaModel-20MWu{œfieldNameœ:œinput_valueœ,œidœ:œNovitaModel-20MWuœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "ChatInput-Tza35", - "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-Tza35œ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", - "target": "NovitaModel-NPPoo", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œNovitaModel-NPPooœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "source": "ChatInput-Enwwh", + "sourceHandle": "{œdataTypeœ:œChatInputœ,œidœ:œChatInput-Enwwhœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}", + "target": "NovitaModel-20MWu", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œNovitaModel-20MWuœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -31,23 +35,27 @@ "data": { "sourceHandle": { "dataType": "Prompt", - "id": "Prompt-lo2oI", + "id": "Prompt-YubZ1", "name": "prompt", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "system_message", - "id": "NovitaModel-NPPoo", - "inputTypes": ["Message"], + "id": "NovitaModel-20MWu", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-Prompt-lo2oI{œdataTypeœ:œPromptœ,œidœ:œPrompt-lo2oIœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-NovitaModel-NPPoo{œfieldNameœ:œsystem_messageœ,œidœ:œNovitaModel-NPPooœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-Prompt-YubZ1{œdataTypeœ:œPromptœ,œidœ:œPrompt-YubZ1œ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-NovitaModel-20MWu{œfieldNameœ:œsystem_messageœ,œidœ:œNovitaModel-20MWuœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "Prompt-lo2oI", - "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-lo2oIœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", - "target": "NovitaModel-NPPoo", - "targetHandle": "{œfieldNameœ: œsystem_messageœ, œidœ: œNovitaModel-NPPooœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "source": "Prompt-YubZ1", + "sourceHandle": "{œdataTypeœ:œPromptœ,œidœ:œPrompt-YubZ1œ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}", + "target": "NovitaModel-20MWu", + "targetHandle": "{œfieldNameœ:œsystem_messageœ,œidœ:œNovitaModel-20MWuœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -55,31 +63,39 @@ "data": { "sourceHandle": { "dataType": "NovitaModel", - "id": "NovitaModel-NPPoo", + "id": "NovitaModel-20MWu", "name": "text_output", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "ChatOutput-G6tol", - "inputTypes": ["Data", "DataFrame", "Message"], + "id": "ChatOutput-N3tYJ", + "inputTypes": [ + "Data", + "DataFrame", + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-NovitaModel-NPPoo{œdataTypeœ:œNovitaModelœ,œidœ:œNovitaModel-NPPooœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-G6tol{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-G6tolœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-NovitaModel-20MWu{œdataTypeœ:œNovitaModelœ,œidœ:œNovitaModel-20MWuœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-N3tYJ{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-N3tYJœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "NovitaModel-NPPoo", - "sourceHandle": "{œdataTypeœ: œNovitaModelœ, œidœ: œNovitaModel-NPPooœ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}", - "target": "ChatOutput-G6tol", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-G6tolœ, œinputTypesœ: [œDataœ, œDataFrameœ, œMessageœ], œtypeœ: œstrœ}" + "source": "NovitaModel-20MWu", + "sourceHandle": "{œdataTypeœ:œNovitaModelœ,œidœ:œNovitaModel-20MWuœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}", + "target": "ChatOutput-N3tYJ", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-N3tYJœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}" } ], "nodes": [ { "data": { - "id": "ChatInput-Tza35", + "id": "ChatInput-Enwwh", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -114,7 +130,9 @@ "name": "message", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -127,7 +145,9 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -148,7 +168,9 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -256,7 +278,10 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": ["Machine", "User"], + "options": [ + "Machine", + "User" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -273,7 +298,9 @@ "display_name": "Sender Name", "dynamic": false, "info": "Name of the sender.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -294,7 +321,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -333,7 +362,9 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -355,7 +386,7 @@ "type": "ChatInput" }, "dragging": false, - "id": "ChatInput-Tza35", + "id": "ChatInput-Enwwh", "measured": { "height": 66, "width": 192 @@ -369,9 +400,11 @@ }, { "data": { - "id": "Prompt-lo2oI", + "id": "Prompt-YubZ1", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": { @@ -382,7 +415,10 @@ "documentation": "", "edited": false, "error": null, - "field_order": ["template", "tool_placeholder"], + "field_order": [ + "template", + "tool_placeholder" + ], "frozen": false, "full_path": null, "icon": "prompts", @@ -404,7 +440,9 @@ "name": "prompt", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -453,7 +491,9 @@ "display_name": "Tool Placeholder", "dynamic": false, "info": "A placeholder input for tool mode.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -475,9 +515,9 @@ "type": "Prompt" }, "dragging": false, - "id": "Prompt-lo2oI", + "id": "Prompt-YubZ1", "measured": { - "height": 203, + "height": 278, "width": 320 }, "position": { @@ -489,9 +529,12 @@ }, { "data": { - "id": "NovitaModel-NPPoo", + "id": "NovitaModel-20MWu", "node": { - "base_classes": ["LanguageModel", "Message"], + "base_classes": [ + "LanguageModel", + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -524,24 +567,32 @@ "allows_loop": false, "cache": true, "display_name": "Message", + "hidden": null, "method": "text_response", "name": "text_output", + "options": null, "required_inputs": [], "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" }, { "allows_loop": false, "cache": true, "display_name": "Language Model", + "hidden": null, "method": "build_model", "name": "model_output", + "options": null, "required_inputs": [], "selected": "LanguageModel", "tool_mode": true, - "types": ["LanguageModel"], + "types": [ + "LanguageModel" + ], "value": "__UNDEFINED__" } ], @@ -554,8 +605,10 @@ "display_name": "Novita API Key", "dynamic": false, "info": "The Novita API Key to use for Novita AI models.", - "input_types": ["Message"], - "load_from_db": false, + "input_types": [ + "Message" + ], + "load_from_db": true, "name": "api_key", "password": true, "placeholder": "", @@ -564,7 +617,7 @@ "show": true, "title_case": false, "type": "str", - "value": "" + "value": "NOVITA_API_KEY" }, "code": { "advanced": true, @@ -590,7 +643,9 @@ "display_name": "Input", "dynamic": false, "info": "", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -675,14 +730,21 @@ "info": "", "name": "model_name", "options": [ + "deepseek/deepseek-r1-turbo", + "deepseek/deepseek-v3-turbo", + "qwen/qwq-32b", + "meta-llama/llama-3.1-8b-instruct", "deepseek/deepseek-r1", "deepseek/deepseek_v3", - "meta-llama/llama-3.3-70b-instruct", - "meta-llama/llama-3.1-8b-instruct", "meta-llama/llama-3.1-70b-instruct", + "meta-llama/llama-3.3-70b-instruct", "mistralai/mistral-nemo", + "deepseek/deepseek-r1-distill-qwen-14b", + "deepseek/deepseek-r1-distill-qwen-32b", + "deepseek/deepseek-r1-distill-llama-70b", "Sao10K/L3-8B-Stheno-v3.2", "gryphe/mythomax-l2-13b", + "deepseek/deepseek-r1-distill-llama-8b", "qwen/qwen-2.5-72b-instruct", "meta-llama/llama-3-8b-instruct", "microsoft/wizardlm-2-8x22b", @@ -697,7 +759,6 @@ "nousresearch/nous-hermes-llama2-13b", "teknium/openhermes-2.5-mistral-7b", "sophosympatheia/midnight-rose-70b", - "meta-llama/llama-3.1-8b-instruct-max", "sao10k/l3-8b-lunaris", "qwen/qwen-2-vl-72b-instruct", "meta-llama/llama-3.2-1b-instruct", @@ -705,8 +766,7 @@ "meta-llama/llama-3.2-3b-instruct", "meta-llama/llama-3.1-8b-instruct-bf16", "sao10k/l31-70b-euryale-v2.2", - "qwen/qwen-2-7b-instruct", - "qwen/qwen-2-72b-instruct" + "qwen/qwen-2-7b-instruct" ], "options_metadata": [], "placeholder": "", @@ -725,7 +785,9 @@ "display_name": "Output Parser", "dynamic": false, "info": "The parser to use to parse the output of the model", - "input_types": ["OutputParser"], + "input_types": [ + "OutputParser" + ], "list": false, "list_add_label": "Add More", "name": "output_parser", @@ -779,7 +841,9 @@ "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, @@ -830,23 +894,25 @@ "type": "NovitaModel" }, "dragging": false, - "id": "NovitaModel-NPPoo", + "id": "NovitaModel-20MWu", "measured": { - "height": 671, + "height": 632, "width": 320 }, "position": { "x": 840.6904825863304, "y": 28.607467331181716 }, - "selected": false, + "selected": true, "type": "genericNode" }, { "data": { - "id": "ChatOutput-G6tol", + "id": "ChatOutput-N3tYJ", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -881,7 +947,9 @@ "name": "message", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -894,7 +962,9 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -915,7 +985,9 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -972,7 +1044,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -993,7 +1067,11 @@ "display_name": "Text", "dynamic": false, "info": "Message to be passed as output.", - "input_types": ["Data", "DataFrame", "Message"], + "input_types": [ + "Data", + "DataFrame", + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1017,7 +1095,10 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": ["Machine", "User"], + "options": [ + "Machine", + "User" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -1034,7 +1115,9 @@ "display_name": "Sender Name", "dynamic": false, "info": "Name of the sender.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1055,7 +1138,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -1094,7 +1179,9 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1116,7 +1203,7 @@ "type": "ChatOutput" }, "dragging": false, - "id": "ChatOutput-G6tol", + "id": "ChatOutput-N3tYJ", "measured": { "height": 66, "width": 192 @@ -1130,7 +1217,7 @@ }, { "data": { - "id": "note-u4rse", + "id": "note-MFDQt", "node": { "description": "# Diet analysis\n\nAnalyze and score dietary health with a [NovitaAI](https://novita.ai/docs/guides/introduction) LLM. \n\n## Prerequisites\n\n* A [NovitaAI API Key](https://novita.ai/settings/key-management)\n\n## Quickstart\n\n1. Add your **NovitaAI API Key** to the **Novita AI** agent.\n2. In the **Chat input** component, enter your diet for the day.\n3. The **Novita AI** analyzes your diet with the **Prompt**, and outputs its analysis to **Chat output**.\n4. Try different models with the **Model Name** menu.\n\n", "display_name": "", @@ -1141,7 +1228,7 @@ }, "dragging": false, "height": 636, - "id": "note-u4rse", + "id": "note-MFDQt", "measured": { "height": 636, "width": 325 @@ -1157,16 +1244,19 @@ } ], "viewport": { - "x": 188.5810308950804, - "y": 326.70291895230537, - "zoom": 0.7310399087047124 + "x": 93.52021572674903, + "y": 210.3952364478577, + "zoom": 0.8640597928279287 } }, "description": "Enter your daily food intake (food/grams) to receive dietary advice!", "endpoint_name": null, - "id": "9bee0aca-0816-4afe-a4a5-64088e40dd74", + "id": "5616e60d-d21f-4465-83c4-d8d120e075d8", "is_component": false, "last_tested_version": "1.2.0", "name": "Diet Analysis", - "tags": ["chatbots", "content-generation"] -} + "tags": [ + "chatbots", + "content-generation" + ] +} \ No newline at end of file diff --git a/src/backend/base/langflow/initial_setup/starter_projects/Financial Agent.json b/src/backend/base/langflow/initial_setup/starter_projects/Financial Agent.json index b101fe263..c72fbf75a 100644 --- a/src/backend/base/langflow/initial_setup/starter_projects/Financial Agent.json +++ b/src/backend/base/langflow/initial_setup/starter_projects/Financial Agent.json @@ -7,23 +7,27 @@ "data": { "sourceHandle": { "dataType": "CombineText", - "id": "CombineText-UhwCk", + "id": "CombineText-dCAaM", "name": "combined_text", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "text2", - "id": "CombineText-UYD3B", - "inputTypes": ["Message"], + "id": "CombineText-ISv3t", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-CombineText-UhwCk{œdataTypeœ:œCombineTextœ,œidœ:œCombineText-UhwCkœ,œnameœ:œcombined_textœ,œoutput_typesœ:[œMessageœ]}-CombineText-UYD3B{œfieldNameœ:œtext2œ,œidœ:œCombineText-UYD3Bœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-CombineText-dCAaM{œdataTypeœ:œCombineTextœ,œidœ:œCombineText-dCAaMœ,œnameœ:œcombined_textœ,œoutput_typesœ:[œMessageœ]}-CombineText-ISv3t{œfieldNameœ:œtext2œ,œidœ:œCombineText-ISv3tœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "CombineText-UhwCk", - "sourceHandle": "{œdataTypeœ: œCombineTextœ, œidœ: œCombineText-UhwCkœ, œnameœ: œcombined_textœ, œoutput_typesœ: [œMessageœ]}", - "target": "CombineText-UYD3B", - "targetHandle": "{œfieldNameœ: œtext2œ, œidœ: œCombineText-UYD3Bœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "source": "CombineText-dCAaM", + "sourceHandle": "{œdataTypeœ:œCombineTextœ,œidœ:œCombineText-dCAaMœ,œnameœ:œcombined_textœ,œoutput_typesœ:[œMessageœ]}", + "target": "CombineText-ISv3t", + "targetHandle": "{œfieldNameœ:œtext2œ,œidœ:œCombineText-ISv3tœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -31,23 +35,27 @@ "data": { "sourceHandle": { "dataType": "ChatInput", - "id": "ChatInput-DenBp", + "id": "ChatInput-NNfah", "name": "message", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "text1", - "id": "CombineText-UYD3B", - "inputTypes": ["Message"], + "id": "CombineText-ISv3t", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-ChatInput-DenBp{œdataTypeœ:œChatInputœ,œidœ:œChatInput-DenBpœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-CombineText-UYD3B{œfieldNameœ:œtext1œ,œidœ:œCombineText-UYD3Bœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-ChatInput-NNfah{œdataTypeœ:œChatInputœ,œidœ:œChatInput-NNfahœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-CombineText-ISv3t{œfieldNameœ:œtext1œ,œidœ:œCombineText-ISv3tœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "ChatInput-DenBp", - "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-DenBpœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", - "target": "CombineText-UYD3B", - "targetHandle": "{œfieldNameœ: œtext1œ, œidœ: œCombineText-UYD3Bœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "source": "ChatInput-NNfah", + "sourceHandle": "{œdataTypeœ:œChatInputœ,œidœ:œChatInput-NNfahœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}", + "target": "CombineText-ISv3t", + "targetHandle": "{œfieldNameœ:œtext1œ,œidœ:œCombineText-ISv3tœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -55,23 +63,27 @@ "data": { "sourceHandle": { "dataType": "CombineText", - "id": "CombineText-UYD3B", + "id": "CombineText-ISv3t", "name": "combined_text", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "SambaNovaModel-C2STy", - "inputTypes": ["Message"], + "id": "SambaNovaModel-GCQ9I", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-CombineText-UYD3B{œdataTypeœ:œCombineTextœ,œidœ:œCombineText-UYD3Bœ,œnameœ:œcombined_textœ,œoutput_typesœ:[œMessageœ]}-SambaNovaModel-C2STy{œfieldNameœ:œinput_valueœ,œidœ:œSambaNovaModel-C2STyœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-CombineText-ISv3t{œdataTypeœ:œCombineTextœ,œidœ:œCombineText-ISv3tœ,œnameœ:œcombined_textœ,œoutput_typesœ:[œMessageœ]}-SambaNovaModel-GCQ9I{œfieldNameœ:œinput_valueœ,œidœ:œSambaNovaModel-GCQ9Iœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "CombineText-UYD3B", - "sourceHandle": "{œdataTypeœ: œCombineTextœ, œidœ: œCombineText-UYD3Bœ, œnameœ: œcombined_textœ, œoutput_typesœ: [œMessageœ]}", - "target": "SambaNovaModel-C2STy", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œSambaNovaModel-C2STyœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "source": "CombineText-ISv3t", + "sourceHandle": "{œdataTypeœ:œCombineTextœ,œidœ:œCombineText-ISv3tœ,œnameœ:œcombined_textœ,œoutput_typesœ:[œMessageœ]}", + "target": "SambaNovaModel-GCQ9I", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œSambaNovaModel-GCQ9Iœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -79,23 +91,29 @@ "data": { "sourceHandle": { "dataType": "SambaNovaModel", - "id": "SambaNovaModel-C2STy", + "id": "SambaNovaModel-GCQ9I", "name": "text_output", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "ChatOutput-mcsys", - "inputTypes": ["Data", "DataFrame", "Message"], + "id": "ChatOutput-rLXo6", + "inputTypes": [ + "Data", + "DataFrame", + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-SambaNovaModel-C2STy{œdataTypeœ:œSambaNovaModelœ,œidœ:œSambaNovaModel-C2STyœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-mcsys{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-mcsysœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-SambaNovaModel-GCQ9I{œdataTypeœ:œSambaNovaModelœ,œidœ:œSambaNovaModel-GCQ9Iœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-rLXo6{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-rLXo6œ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "SambaNovaModel-C2STy", - "sourceHandle": "{œdataTypeœ: œSambaNovaModelœ, œidœ: œSambaNovaModel-C2STyœ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}", - "target": "ChatOutput-mcsys", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-mcsysœ, œinputTypesœ: [œDataœ, œDataFrameœ, œMessageœ], œtypeœ: œstrœ}" + "source": "SambaNovaModel-GCQ9I", + "sourceHandle": "{œdataTypeœ:œSambaNovaModelœ,œidœ:œSambaNovaModel-GCQ9Iœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}", + "target": "ChatOutput-rLXo6", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-rLXo6œ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -103,23 +121,27 @@ "data": { "sourceHandle": { "dataType": "ChatInput", - "id": "ChatInput-DenBp", + "id": "ChatInput-NNfah", "name": "message", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "Agent-vRl5Z", - "inputTypes": ["Message"], + "id": "Agent-YFcBS", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-ChatInput-DenBp{œdataTypeœ:œChatInputœ,œidœ:œChatInput-DenBpœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-Agent-vRl5Z{œfieldNameœ:œinput_valueœ,œidœ:œAgent-vRl5Zœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-ChatInput-NNfah{œdataTypeœ:œChatInputœ,œidœ:œChatInput-NNfahœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-Agent-YFcBS{œfieldNameœ:œinput_valueœ,œidœ:œAgent-YFcBSœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "ChatInput-DenBp", - "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-DenBpœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", - "target": "Agent-vRl5Z", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œAgent-vRl5Zœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "source": "ChatInput-NNfah", + "sourceHandle": "{œdataTypeœ:œChatInputœ,œidœ:œChatInput-NNfahœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}", + "target": "Agent-YFcBS", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œAgent-YFcBSœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -127,23 +149,27 @@ "data": { "sourceHandle": { "dataType": "Agent", - "id": "Agent-vRl5Z", + "id": "Agent-YFcBS", "name": "response", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "text2", - "id": "CombineText-UhwCk", - "inputTypes": ["Message"], + "id": "CombineText-dCAaM", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-Agent-vRl5Z{œdataTypeœ:œAgentœ,œidœ:œAgent-vRl5Zœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-CombineText-UhwCk{œfieldNameœ:œtext2œ,œidœ:œCombineText-UhwCkœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-Agent-YFcBS{œdataTypeœ:œAgentœ,œidœ:œAgent-YFcBSœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-CombineText-dCAaM{œfieldNameœ:œtext2œ,œidœ:œCombineText-dCAaMœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "Agent-vRl5Z", - "sourceHandle": "{œdataTypeœ: œAgentœ, œidœ: œAgent-vRl5Zœ, œnameœ: œresponseœ, œoutput_typesœ: [œMessageœ]}", - "target": "CombineText-UhwCk", - "targetHandle": "{œfieldNameœ: œtext2œ, œidœ: œCombineText-UhwCkœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "source": "Agent-YFcBS", + "sourceHandle": "{œdataTypeœ:œAgentœ,œidœ:œAgent-YFcBSœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}", + "target": "CombineText-dCAaM", + "targetHandle": "{œfieldNameœ:œtext2œ,œidœ:œCombineText-dCAaMœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -151,23 +177,27 @@ "data": { "sourceHandle": { "dataType": "TavilySearchComponent", - "id": "TavilySearchComponent-j7cWG", + "id": "TavilySearchComponent-Epf58", "name": "component_as_tool", - "output_types": ["Tool"] + "output_types": [ + "Tool" + ] }, "targetHandle": { "fieldName": "tools", - "id": "Agent-vRl5Z", - "inputTypes": ["Tool"], + "id": "Agent-YFcBS", + "inputTypes": [ + "Tool" + ], "type": "other" } }, - "id": "reactflow__edge-TavilySearchComponent-j7cWG{œdataTypeœ:œTavilySearchComponentœ,œidœ:œTavilySearchComponent-j7cWGœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-vRl5Z{œfieldNameœ:œtoolsœ,œidœ:œAgent-vRl5Zœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", + "id": "reactflow__edge-TavilySearchComponent-Epf58{œdataTypeœ:œTavilySearchComponentœ,œidœ:œTavilySearchComponent-Epf58œ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-YFcBS{œfieldNameœ:œtoolsœ,œidœ:œAgent-YFcBSœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", "selected": false, - "source": "TavilySearchComponent-j7cWG", - "sourceHandle": "{œdataTypeœ: œTavilySearchComponentœ, œidœ: œTavilySearchComponent-j7cWGœ, œnameœ: œcomponent_as_toolœ, œoutput_typesœ: [œToolœ]}", - "target": "Agent-vRl5Z", - "targetHandle": "{œfieldNameœ: œtoolsœ, œidœ: œAgent-vRl5Zœ, œinputTypesœ: [œToolœ], œtypeœ: œotherœ}" + "source": "TavilySearchComponent-Epf58", + "sourceHandle": "{œdataTypeœ:œTavilySearchComponentœ,œidœ:œTavilySearchComponent-Epf58œ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}", + "target": "Agent-YFcBS", + "targetHandle": "{œfieldNameœ:œtoolsœ,œidœ:œAgent-YFcBSœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}" }, { "animated": false, @@ -175,23 +205,27 @@ "data": { "sourceHandle": { "dataType": "URL", - "id": "URL-DbLUv", + "id": "URL-GlCo0", "name": "component_as_tool", - "output_types": ["Tool"] + "output_types": [ + "Tool" + ] }, "targetHandle": { "fieldName": "tools", - "id": "Agent-ncbSY", - "inputTypes": ["Tool"], + "id": "Agent-Y0wyL", + "inputTypes": [ + "Tool" + ], "type": "other" } }, - "id": "reactflow__edge-URL-DbLUv{œdataTypeœ:œURLœ,œidœ:œURL-DbLUvœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-ncbSY{œfieldNameœ:œtoolsœ,œidœ:œAgent-ncbSYœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", + "id": "reactflow__edge-URL-GlCo0{œdataTypeœ:œURLœ,œidœ:œURL-GlCo0œ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-Y0wyL{œfieldNameœ:œtoolsœ,œidœ:œAgent-Y0wyLœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", "selected": false, - "source": "URL-DbLUv", - "sourceHandle": "{œdataTypeœ: œURLœ, œidœ: œURL-DbLUvœ, œnameœ: œcomponent_as_toolœ, œoutput_typesœ: [œToolœ]}", - "target": "Agent-ncbSY", - "targetHandle": "{œfieldNameœ: œtoolsœ, œidœ: œAgent-ncbSYœ, œinputTypesœ: [œToolœ], œtypeœ: œotherœ}" + "source": "URL-GlCo0", + "sourceHandle": "{œdataTypeœ:œURLœ,œidœ:œURL-GlCo0œ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}", + "target": "Agent-Y0wyL", + "targetHandle": "{œfieldNameœ:œtoolsœ,œidœ:œAgent-Y0wyLœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}" }, { "animated": false, @@ -199,23 +233,27 @@ "data": { "sourceHandle": { "dataType": "YfinanceComponent", - "id": "YfinanceComponent-4OUL0", + "id": "YfinanceComponent-LLwst", "name": "component_as_tool", - "output_types": ["Tool"] + "output_types": [ + "Tool" + ] }, "targetHandle": { "fieldName": "tools", - "id": "Agent-ncbSY", - "inputTypes": ["Tool"], + "id": "Agent-Y0wyL", + "inputTypes": [ + "Tool" + ], "type": "other" } }, - "id": "reactflow__edge-YfinanceComponent-4OUL0{œdataTypeœ:œYfinanceComponentœ,œidœ:œYfinanceComponent-4OUL0œ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-ncbSY{œfieldNameœ:œtoolsœ,œidœ:œAgent-ncbSYœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", + "id": "reactflow__edge-YfinanceComponent-LLwst{œdataTypeœ:œYfinanceComponentœ,œidœ:œYfinanceComponent-LLwstœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-Y0wyL{œfieldNameœ:œtoolsœ,œidœ:œAgent-Y0wyLœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", "selected": false, - "source": "YfinanceComponent-4OUL0", - "sourceHandle": "{œdataTypeœ: œYfinanceComponentœ, œidœ: œYfinanceComponent-4OUL0œ, œnameœ: œcomponent_as_toolœ, œoutput_typesœ: [œToolœ]}", - "target": "Agent-ncbSY", - "targetHandle": "{œfieldNameœ: œtoolsœ, œidœ: œAgent-ncbSYœ, œinputTypesœ: [œToolœ], œtypeœ: œotherœ}" + "source": "YfinanceComponent-LLwst", + "sourceHandle": "{œdataTypeœ:œYfinanceComponentœ,œidœ:œYfinanceComponent-LLwstœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}", + "target": "Agent-Y0wyL", + "targetHandle": "{œfieldNameœ:œtoolsœ,œidœ:œAgent-Y0wyLœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}" }, { "animated": false, @@ -223,23 +261,27 @@ "data": { "sourceHandle": { "dataType": "ChatInput", - "id": "ChatInput-DenBp", + "id": "ChatInput-NNfah", "name": "message", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "Agent-ncbSY", - "inputTypes": ["Message"], + "id": "Agent-Y0wyL", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-ChatInput-DenBp{œdataTypeœ:œChatInputœ,œidœ:œChatInput-DenBpœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-Agent-ncbSY{œfieldNameœ:œinput_valueœ,œidœ:œAgent-ncbSYœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-ChatInput-NNfah{œdataTypeœ:œChatInputœ,œidœ:œChatInput-NNfahœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-Agent-Y0wyL{œfieldNameœ:œinput_valueœ,œidœ:œAgent-Y0wyLœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "ChatInput-DenBp", - "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-DenBpœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", - "target": "Agent-ncbSY", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œAgent-ncbSYœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "source": "ChatInput-NNfah", + "sourceHandle": "{œdataTypeœ:œChatInputœ,œidœ:œChatInput-NNfahœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}", + "target": "Agent-Y0wyL", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œAgent-Y0wyLœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -247,31 +289,37 @@ "data": { "sourceHandle": { "dataType": "Agent", - "id": "Agent-ncbSY", + "id": "Agent-Y0wyL", "name": "response", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "text1", - "id": "CombineText-UhwCk", - "inputTypes": ["Message"], + "id": "CombineText-dCAaM", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-Agent-ncbSY{œdataTypeœ:œAgentœ,œidœ:œAgent-ncbSYœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-CombineText-UhwCk{œfieldNameœ:œtext1œ,œidœ:œCombineText-UhwCkœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-Agent-Y0wyL{œdataTypeœ:œAgentœ,œidœ:œAgent-Y0wyLœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-CombineText-dCAaM{œfieldNameœ:œtext1œ,œidœ:œCombineText-dCAaMœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "Agent-ncbSY", - "sourceHandle": "{œdataTypeœ: œAgentœ, œidœ: œAgent-ncbSYœ, œnameœ: œresponseœ, œoutput_typesœ: [œMessageœ]}", - "target": "CombineText-UhwCk", - "targetHandle": "{œfieldNameœ: œtext1œ, œidœ: œCombineText-UhwCkœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "source": "Agent-Y0wyL", + "sourceHandle": "{œdataTypeœ:œAgentœ,œidœ:œAgent-Y0wyLœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}", + "target": "CombineText-dCAaM", + "targetHandle": "{œfieldNameœ:œtext1œ,œidœ:œCombineText-dCAaMœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" } ], "nodes": [ { "data": { - "id": "ChatInput-DenBp", + "id": "ChatInput-NNfah", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -306,7 +354,9 @@ "name": "message", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -319,7 +369,9 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -340,7 +392,9 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -448,7 +502,10 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": ["Machine", "User"], + "options": [ + "Machine", + "User" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -465,7 +522,9 @@ "display_name": "Sender Name", "dynamic": false, "info": "Name of the sender.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -486,7 +545,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -525,7 +586,9 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -547,10 +610,10 @@ "type": "ChatInput" }, "dragging": false, - "id": "ChatInput-DenBp", + "id": "ChatInput-NNfah", "measured": { - "height": 74, - "width": 216 + "height": 66, + "width": 192 }, "position": { "x": -777.5771293156841, @@ -561,9 +624,12 @@ }, { "data": { - "id": "TavilySearchComponent-j7cWG", + "id": "TavilySearchComponent-Epf58", "node": { - "base_classes": ["Data", "Message"], + "base_classes": [ + "Data", + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -599,7 +665,9 @@ "required_inputs": null, "selected": "Tool", "tool_mode": true, - "types": ["Tool"], + "types": [ + "Tool" + ], "value": "__UNDEFINED__" } ], @@ -612,7 +680,9 @@ "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, @@ -701,7 +771,9 @@ "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, @@ -725,7 +797,10 @@ "dynamic": false, "info": "The depth of the search.", "name": "search_depth", - "options": ["basic", "advanced"], + "options": [ + "basic", + "advanced" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -745,7 +820,12 @@ "dynamic": false, "info": "The time range back from the current date to include in the search results.", "name": "time_range", - "options": ["day", "week", "month", "year"], + "options": [ + "day", + "week", + "month", + "year" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -780,7 +860,10 @@ "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 }, @@ -851,13 +934,17 @@ "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": "TavilySearchComponent-fetch_content", "status": true, - "tags": ["TavilySearchComponent-fetch_content"] + "tags": [ + "TavilySearchComponent-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": "TavilySearchComponent-fetch_content_text", "status": true, - "tags": ["TavilySearchComponent-fetch_content_text"] + "tags": [ + "TavilySearchComponent-fetch_content_text" + ] } ] }, @@ -870,7 +957,10 @@ "dynamic": false, "info": "The category of the search.", "name": "topic", - "options": ["general", "news"], + "options": [ + "general", + "news" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -888,10 +978,10 @@ "type": "TavilySearchComponent" }, "dragging": false, - "id": "TavilySearchComponent-j7cWG", + "id": "TavilySearchComponent-Epf58", "measured": { - "height": 489, - "width": 360 + "height": 437, + "width": 320 }, "position": { "x": -682.4849400136196, @@ -904,9 +994,13 @@ "data": { "description": "Uses [yfinance](https://pypi.org/project/yfinance/) (unofficial package) to access financial data and market information from Yahoo Finance.", "display_name": "Yahoo Finance", - "id": "YfinanceComponent-4OUL0", + "id": "YfinanceComponent-LLwst", "node": { - "base_classes": ["Data", "DataFrame", "Message"], + "base_classes": [ + "Data", + "DataFrame", + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -914,7 +1008,11 @@ "display_name": "Yahoo Finance", "documentation": "", "edited": false, - "field_order": ["symbol", "method", "num_news"], + "field_order": [ + "symbol", + "method", + "num_news" + ], "frozen": false, "icon": "trending-up", "legacy": false, @@ -933,7 +1031,9 @@ "required_inputs": null, "selected": "Tool", "tool_mode": true, - "types": ["Tool"], + "types": [ + "Tool" + ], "value": "__UNDEFINED__" } ], @@ -1029,7 +1129,9 @@ "display_name": "Stock Symbol", "dynamic": false, "info": "The stock symbol to retrieve data for (e.g., AAPL, GOOG).", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1069,7 +1171,10 @@ "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 }, @@ -1140,19 +1245,25 @@ "description": "fetch_content() - Uses [yfinance](https://pypi.org/project/yfinance/) (unofficial package) to access financial data and market information from Yahoo Finance.", "name": "YfinanceComponent-fetch_content", "status": true, - "tags": ["YfinanceComponent-fetch_content"] + "tags": [ + "YfinanceComponent-fetch_content" + ] }, { "description": "fetch_content_text() - Uses [yfinance](https://pypi.org/project/yfinance/) (unofficial package) to access financial data and market information from Yahoo Finance.", "name": "YfinanceComponent-fetch_content_text", "status": true, - "tags": ["YfinanceComponent-fetch_content_text"] + "tags": [ + "YfinanceComponent-fetch_content_text" + ] }, { "description": "as_dataframe() - Uses [yfinance](https://pypi.org/project/yfinance/) (unofficial package) to access financial data and market information from Yahoo Finance.", "name": "YfinanceComponent-as_dataframe", "status": true, - "tags": ["YfinanceComponent-as_dataframe"] + "tags": [ + "YfinanceComponent-as_dataframe" + ] } ] } @@ -1163,23 +1274,25 @@ "type": "YfinanceComponent" }, "dragging": false, - "id": "YfinanceComponent-4OUL0", + "id": "YfinanceComponent-LLwst", "measured": { - "height": 581, - "width": 360 + "height": 519, + "width": 320 }, "position": { "x": -569.2623156750083, "y": -297.11014493503006 }, - "selected": true, + "selected": false, "type": "genericNode" }, { "data": { - "id": "CombineText-UhwCk", + "id": "CombineText-dCAaM", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -1187,7 +1300,11 @@ "display_name": "Combine Text", "documentation": "", "edited": false, - "field_order": ["text1", "text2", "delimiter"], + "field_order": [ + "text1", + "text2", + "delimiter" + ], "frozen": false, "icon": "merge", "legacy": false, @@ -1204,7 +1321,9 @@ "name": "combined_text", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -1235,7 +1354,9 @@ "display_name": "Delimiter", "dynamic": false, "info": "A string used to separate the two text inputs. Defaults to a whitespace.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1256,7 +1377,9 @@ "display_name": "First Text", "dynamic": false, "info": "The first text input to concatenate.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1277,7 +1400,9 @@ "display_name": "Second Text", "dynamic": false, "info": "The second text input to concatenate.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1299,10 +1424,10 @@ "type": "CombineText" }, "dragging": false, - "id": "CombineText-UhwCk", + "id": "CombineText-dCAaM", "measured": { - "height": 464, - "width": 360 + "height": 415, + "width": 320 }, "position": { "x": 340.2356972211369, @@ -1313,9 +1438,11 @@ }, { "data": { - "id": "ChatOutput-mcsys", + "id": "ChatOutput-rLXo6", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -1350,7 +1477,9 @@ "name": "message", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -1363,7 +1492,9 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1384,7 +1515,9 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1441,7 +1574,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -1462,7 +1597,11 @@ "display_name": "Text", "dynamic": false, "info": "Message to be passed as output.", - "input_types": ["Data", "DataFrame", "Message"], + "input_types": [ + "Data", + "DataFrame", + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1486,7 +1625,10 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": ["Machine", "User"], + "options": [ + "Machine", + "User" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -1503,7 +1645,9 @@ "display_name": "Sender Name", "dynamic": false, "info": "Name of the sender.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1524,7 +1668,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -1563,7 +1709,9 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1585,10 +1733,10 @@ "type": "ChatOutput" }, "dragging": false, - "id": "ChatOutput-mcsys", + "id": "ChatOutput-rLXo6", "measured": { - "height": 74, - "width": 216 + "height": 66, + "width": 192 }, "position": { "x": 1915.4342657794896, @@ -1599,9 +1747,11 @@ }, { "data": { - "id": "CombineText-UYD3B", + "id": "CombineText-ISv3t", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -1609,7 +1759,11 @@ "display_name": "Combine Text", "documentation": "", "edited": false, - "field_order": ["text1", "text2", "delimiter"], + "field_order": [ + "text1", + "text2", + "delimiter" + ], "frozen": false, "icon": "merge", "legacy": false, @@ -1626,7 +1780,9 @@ "name": "combined_text", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -1657,7 +1813,9 @@ "display_name": "Delimiter", "dynamic": false, "info": "A string used to separate the two text inputs. Defaults to a whitespace.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1678,7 +1836,9 @@ "display_name": "First Text", "dynamic": false, "info": "The first text input to concatenate.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1699,7 +1859,9 @@ "display_name": "Second Text", "dynamic": false, "info": "The second text input to concatenate.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1721,10 +1883,10 @@ "type": "CombineText" }, "dragging": false, - "id": "CombineText-UYD3B", + "id": "CombineText-ISv3t", "measured": { - "height": 464, - "width": 360 + "height": 415, + "width": 320 }, "position": { "x": 738.8545176038866, @@ -1735,9 +1897,13 @@ }, { "data": { - "id": "URL-DbLUv", + "id": "URL-GlCo0", "node": { - "base_classes": ["Data", "DataFrame", "Message"], + "base_classes": [ + "Data", + "DataFrame", + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -1770,7 +1936,9 @@ "required_inputs": null, "selected": "Tool", "tool_mode": true, - "types": ["Tool"], + "types": [ + "Tool" + ], "value": "__UNDEFINED__" } ], @@ -1822,7 +1990,11 @@ "dynamic": false, "info": "Output Format. Use 'Text' to extract text from the HTML, 'Raw HTML' for the raw HTML content, or 'JSON' to extract JSON from the HTML.", "name": "format", - "options": ["Text", "Raw HTML", "JSON"], + "options": [ + "Text", + "Raw HTML", + "JSON" + ], "options_metadata": [], "placeholder": "", "real_time_refresh": true, @@ -1878,7 +2050,10 @@ "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 }, @@ -1949,19 +2124,25 @@ "description": "fetch_content() - Load and retrieve data from specified URLs. Supports output in plain text, raw HTML, or JSON, with options for cleaning and separating multiple outputs.", "name": "URL-fetch_content", "status": true, - "tags": ["URL-fetch_content"] + "tags": [ + "URL-fetch_content" + ] }, { "description": "fetch_content_text() - Load and retrieve data from specified URLs. Supports output in plain text, raw HTML, or JSON, with options for cleaning and separating multiple outputs.", "name": "URL-fetch_content_text", "status": true, - "tags": ["URL-fetch_content_text"] + "tags": [ + "URL-fetch_content_text" + ] }, { "description": "as_dataframe() - Load and retrieve data from specified URLs. Supports output in plain text, raw HTML, or JSON, with options for cleaning and separating multiple outputs.", "name": "URL-as_dataframe", "status": true, - "tags": ["URL-as_dataframe"] + "tags": [ + "URL-as_dataframe" + ] } ] }, @@ -1971,7 +2152,9 @@ "display_name": "URLs", "dynamic": false, "info": "", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": true, "list_add_label": "Add URL", "load_from_db": false, @@ -1993,10 +2176,10 @@ "type": "URL" }, "dragging": false, - "id": "URL-DbLUv", + "id": "URL-GlCo0", "measured": { - "height": 660, - "width": 360 + "height": 590, + "width": 320 }, "position": { "x": -572.0477930604186, @@ -2007,7 +2190,7 @@ }, { "data": { - "id": "note-EEPLl", + "id": "note-bb2m8", "node": { "description": "# Financial Assistant Agents \n\nThe Financial Assistant Agent retrieves content and writes reports about financial queries.\n\n## Prerequisites\n\n* [Tavily AI Search key](https://docs.tavily.com/welcome)\n* [SambaNova API key](https://cloud.sambanova.ai/) \n\n## Quickstart\n\n1. In both **Agent** components and **SambaNova** component, add your SambaNova API key. \nIn the **Model Provider** field, select **Sambanova**, and select a model.\n3. In the **Tavily Search** component, add your **Tavily API key**.\n4. Click the **Playground** and ask `Why did Nvidia stock drop in January?`", "display_name": "", @@ -2020,10 +2203,10 @@ }, "dragging": false, "height": 630, - "id": "note-EEPLl", + "id": "note-bb2m8", "measured": { "height": 630, - "width": 482 + "width": 479 }, "position": { "x": -1119.9423274254439, @@ -2036,9 +2219,12 @@ }, { "data": { - "id": "SambaNovaModel-C2STy", + "id": "SambaNovaModel-GCQ9I", "node": { - "base_classes": ["LanguageModel", "Message"], + "base_classes": [ + "LanguageModel", + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -2074,7 +2260,9 @@ "required_inputs": [], "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" }, { @@ -2083,10 +2271,14 @@ "display_name": "Language Model", "method": "build_model", "name": "model_output", - "required_inputs": ["api_key"], + "required_inputs": [ + "api_key" + ], "selected": "LanguageModel", "tool_mode": true, - "types": ["LanguageModel"], + "types": [ + "LanguageModel" + ], "value": "__UNDEFINED__" } ], @@ -2099,7 +2291,9 @@ "display_name": "Sambanova API Key", "dynamic": false, "info": "The Sambanova API Key to use for the Sambanova model.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "load_from_db": true, "name": "api_key", "password": true, @@ -2153,7 +2347,9 @@ "display_name": "Input", "dynamic": false, "info": "", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -2245,7 +2441,9 @@ "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, @@ -2324,10 +2522,10 @@ "type": "SambaNovaModel" }, "dragging": false, - "id": "SambaNovaModel-C2STy", + "id": "SambaNovaModel-GCQ9I", "measured": { - "height": 588, - "width": 360 + "height": 525, + "width": 320 }, "position": { "x": 1198.0223558351377, @@ -2338,9 +2536,11 @@ }, { "data": { - "id": "Agent-vRl5Z", + "id": "Agent-YFcBS", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "category": "agents", "conditional_paths": [], @@ -2396,7 +2596,9 @@ "required_inputs": null, "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -2430,7 +2632,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -2512,7 +2716,9 @@ "display_name": "Sambanova API Key", "dynamic": false, "info": "The Sambanova API Key to use for the Sambanova model.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "load_from_db": true, "name": "api_key", "password": true, @@ -2587,7 +2793,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -2646,7 +2854,9 @@ "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, "list_add_label": "Add More", "name": "memory", @@ -2724,7 +2934,10 @@ "info": "Order of the messages.", "input_types": [], "name": "order", - "options": ["Ascending", "Descending"], + "options": [ + "Ascending", + "Descending" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -2745,7 +2958,11 @@ "info": "Filter by sender type.", "input_types": [], "name": "sender", - "options": ["Machine", "User", "Machine and User"], + "options": [ + "Machine", + "User", + "Machine and User" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -2762,7 +2979,9 @@ "display_name": "Sender Name", "dynamic": false, "info": "Filter by sender name.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -2783,7 +3002,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -2805,7 +3026,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -2857,7 +3080,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -2879,7 +3104,9 @@ "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, "list_add_label": "Add More", "name": "tools", @@ -2946,10 +3173,10 @@ "type": "Agent" }, "dragging": false, - "id": "Agent-vRl5Z", + "id": "Agent-YFcBS", "measured": { - "height": 698, - "width": 360 + "height": 624, + "width": 320 }, "position": { "x": -114.7705455447527, @@ -2960,9 +3187,11 @@ }, { "data": { - "id": "Agent-ncbSY", + "id": "Agent-Y0wyL", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "category": "agents", "conditional_paths": [], @@ -3018,7 +3247,9 @@ "required_inputs": null, "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -3052,7 +3283,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -3134,7 +3367,9 @@ "display_name": "Sambanova API Key", "dynamic": false, "info": "The Sambanova API Key to use for the Sambanova model.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "load_from_db": true, "name": "api_key", "password": true, @@ -3209,7 +3444,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -3268,7 +3505,9 @@ "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, "list_add_label": "Add More", "name": "memory", @@ -3346,7 +3585,10 @@ "info": "Order of the messages.", "input_types": [], "name": "order", - "options": ["Ascending", "Descending"], + "options": [ + "Ascending", + "Descending" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -3367,7 +3609,11 @@ "info": "Filter by sender type.", "input_types": [], "name": "sender", - "options": ["Machine", "User", "Machine and User"], + "options": [ + "Machine", + "User", + "Machine and User" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -3384,7 +3630,9 @@ "display_name": "Sender Name", "dynamic": false, "info": "Filter by sender name.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -3405,7 +3653,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -3427,7 +3677,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -3479,7 +3731,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -3501,7 +3755,9 @@ "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, "list_add_label": "Add More", "name": "tools", @@ -3568,10 +3824,10 @@ "type": "Agent" }, "dragging": false, - "id": "Agent-ncbSY", + "id": "Agent-Y0wyL", "measured": { - "height": 698, - "width": 360 + "height": 624, + "width": 320 }, "position": { "x": -77.82588111053366, @@ -3582,16 +3838,22 @@ } ], "viewport": { - "x": 768.0200563163473, - "y": 679.33501500431, - "zoom": 0.46253091516926326 + "x": 536.943459370574, + "y": 444.80519922988594, + "zoom": 0.42993669283720065 } }, "description": "Financial assistant chatbot that uses specialized agents to research for financial information", "endpoint_name": null, - "id": "a4bf0c39-af63-4590-8a17-398938518fe3", + "id": "4f89d881-2ec0-41ac-9c66-865119b0853d", "is_component": false, "last_tested_version": "1.2.0", "name": "Financial Agent", - "tags": ["assistants", "agents", "q-a", "web-scraping", "sambanova"] -} + "tags": [ + "assistants", + "agents", + "q-a", + "web-scraping", + "sambanova" + ] +} \ No newline at end of file diff --git a/src/backend/base/langflow/initial_setup/starter_projects/Financial Report Parser.json b/src/backend/base/langflow/initial_setup/starter_projects/Financial Report Parser.json index 2f1e39467..7566ab4d0 100644 --- a/src/backend/base/langflow/initial_setup/starter_projects/Financial Report Parser.json +++ b/src/backend/base/langflow/initial_setup/starter_projects/Financial Report Parser.json @@ -7,23 +7,27 @@ "data": { "sourceHandle": { "dataType": "OpenAIModel", - "id": "OpenAIModel-hx0nZ", + "id": "OpenAIModel-nRbVG", "name": "model_output", - "output_types": ["LanguageModel"] + "output_types": [ + "LanguageModel" + ] }, "targetHandle": { "fieldName": "llm", - "id": "StructuredOutputv2-Io4Zq", - "inputTypes": ["LanguageModel"], + "id": "StructuredOutput-KQHp8", + "inputTypes": [ + "LanguageModel" + ], "type": "other" } }, - "id": "reactflow__edge-OpenAIModel-hx0nZ{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-hx0nZœ,œnameœ:œmodel_outputœ,œoutput_typesœ:[œLanguageModelœ]}-StructuredOutputv2-Io4Zq{œfieldNameœ:œllmœ,œidœ:œStructuredOutputv2-Io4Zqœ,œinputTypesœ:[œLanguageModelœ],œtypeœ:œotherœ}", + "id": "reactflow__edge-OpenAIModel-nRbVG{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-nRbVGœ,œnameœ:œmodel_outputœ,œoutput_typesœ:[œLanguageModelœ]}-StructuredOutput-KQHp8{œfieldNameœ:œllmœ,œidœ:œStructuredOutput-KQHp8œ,œinputTypesœ:[œLanguageModelœ],œtypeœ:œotherœ}", "selected": false, - "source": "OpenAIModel-hx0nZ", - "sourceHandle": "{œdataTypeœ: œOpenAIModelœ, œidœ: œOpenAIModel-hx0nZœ, œnameœ: œmodel_outputœ, œoutput_typesœ: [œLanguageModelœ]}", - "target": "StructuredOutputv2-Io4Zq", - "targetHandle": "{œfieldNameœ: œllmœ, œidœ: œStructuredOutputv2-Io4Zqœ, œinputTypesœ: [œLanguageModelœ], œtypeœ: œotherœ}" + "source": "OpenAIModel-nRbVG", + "sourceHandle": "{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-nRbVGœ,œnameœ:œmodel_outputœ,œoutput_typesœ:[œLanguageModelœ]}", + "target": "StructuredOutput-KQHp8", + "targetHandle": "{œfieldNameœ:œllmœ,œidœ:œStructuredOutput-KQHp8œ,œinputTypesœ:[œLanguageModelœ],œtypeœ:œotherœ}" }, { "animated": false, @@ -31,23 +35,27 @@ "data": { "sourceHandle": { "dataType": "ChatInput", - "id": "ChatInput-Gb2ag", + "id": "ChatInput-dq6uf", "name": "message", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "StructuredOutputv2-Io4Zq", - "inputTypes": ["Message"], + "id": "StructuredOutput-KQHp8", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-ChatInput-Gb2ag{œdataTypeœ:œChatInputœ,œidœ:œChatInput-Gb2agœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-StructuredOutputv2-Io4Zq{œfieldNameœ:œinput_valueœ,œidœ:œStructuredOutputv2-Io4Zqœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-ChatInput-dq6uf{œdataTypeœ:œChatInputœ,œidœ:œChatInput-dq6ufœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-StructuredOutput-KQHp8{œfieldNameœ:œinput_valueœ,œidœ:œStructuredOutput-KQHp8œ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "ChatInput-Gb2ag", - "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-Gb2agœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", - "target": "StructuredOutputv2-Io4Zq", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œStructuredOutputv2-Io4Zqœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "source": "ChatInput-dq6uf", + "sourceHandle": "{œdataTypeœ:œChatInputœ,œidœ:œChatInput-dq6ufœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}", + "target": "StructuredOutput-KQHp8", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œStructuredOutput-KQHp8œ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -55,54 +63,68 @@ "data": { "sourceHandle": { "dataType": "ParseDataFrame", - "id": "ParseDataFrame-PwX09", + "id": "ParseDataFrame-QOEC3", "name": "text", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "ChatOutput-xjU9g", - "inputTypes": ["Data", "DataFrame", "Message"], + "id": "ChatOutput-BNHyf", + "inputTypes": [ + "Data", + "DataFrame", + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-ParseDataFrame-PwX09{œdataTypeœ:œParseDataFrameœ,œidœ:œParseDataFrame-PwX09œ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-xjU9g{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-xjU9gœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-ParseDataFrame-QOEC3{œdataTypeœ:œParseDataFrameœ,œidœ:œParseDataFrame-QOEC3œ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-BNHyf{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-BNHyfœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "ParseDataFrame-PwX09", - "sourceHandle": "{œdataTypeœ: œParseDataFrameœ, œidœ: œParseDataFrame-PwX09œ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}", - "target": "ChatOutput-xjU9g", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-xjU9gœ, œinputTypesœ: [œDataœ, œDataFrameœ, œMessageœ], œtypeœ: œstrœ}" + "source": "ParseDataFrame-QOEC3", + "sourceHandle": "{œdataTypeœ:œParseDataFrameœ,œidœ:œParseDataFrame-QOEC3œ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}", + "target": "ChatOutput-BNHyf", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-BNHyfœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}" }, { + "animated": false, "className": "", "data": { "sourceHandle": { "dataType": "StructuredOutput", - "id": "StructuredOutputv2-Io4Zq", + "id": "StructuredOutput-KQHp8", "name": "structured_output_dataframe", - "output_types": ["DataFrame"] + "output_types": [ + "DataFrame" + ] }, "targetHandle": { "fieldName": "df", - "id": "ParseDataFrame-PwX09", - "inputTypes": ["DataFrame"], + "id": "ParseDataFrame-QOEC3", + "inputTypes": [ + "DataFrame" + ], "type": "other" } }, - "id": "xy-edge__StructuredOutputv2-Io4Zq{œdataTypeœ:œStructuredOutputœ,œidœ:œStructuredOutputv2-Io4Zqœ,œnameœ:œstructured_output_dataframeœ,œoutput_typesœ:[œDataFrameœ]}-ParseDataFrame-PwX09{œfieldNameœ:œdfœ,œidœ:œParseDataFrame-PwX09œ,œinputTypesœ:[œDataFrameœ],œtypeœ:œotherœ}", + "id": "reactflow__edge-StructuredOutput-KQHp8{œdataTypeœ:œStructuredOutputœ,œidœ:œStructuredOutput-KQHp8œ,œnameœ:œstructured_output_dataframeœ,œoutput_typesœ:[œDataFrameœ]}-ParseDataFrame-QOEC3{œfieldNameœ:œdfœ,œidœ:œParseDataFrame-QOEC3œ,œinputTypesœ:[œDataFrameœ],œtypeœ:œotherœ}", "selected": false, - "source": "StructuredOutputv2-Io4Zq", - "sourceHandle": "{œdataTypeœ: œStructuredOutputœ, œidœ: œStructuredOutputv2-Io4Zqœ, œnameœ: œstructured_output_dataframeœ, œoutput_typesœ: [œDataFrameœ]}", - "target": "ParseDataFrame-PwX09", - "targetHandle": "{œfieldNameœ: œdfœ, œidœ: œParseDataFrame-PwX09œ, œinputTypesœ: [œDataFrameœ], œtypeœ: œotherœ}" + "source": "StructuredOutput-KQHp8", + "sourceHandle": "{œdataTypeœ:œStructuredOutputœ,œidœ:œStructuredOutput-KQHp8œ,œnameœ:œstructured_output_dataframeœ,œoutput_typesœ:[œDataFrameœ]}", + "target": "ParseDataFrame-QOEC3", + "targetHandle": "{œfieldNameœ:œdfœ,œidœ:œParseDataFrame-QOEC3œ,œinputTypesœ:[œDataFrameœ],œtypeœ:œotherœ}" } ], "nodes": [ { "data": { - "id": "OpenAIModel-hx0nZ", + "id": "OpenAIModel-nRbVG", "node": { - "base_classes": ["LanguageModel", "Message"], + "base_classes": [ + "LanguageModel", + "Message" + ], "beta": false, "category": "models", "conditional_paths": [], @@ -144,7 +166,9 @@ "required_inputs": [], "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" }, { @@ -153,10 +177,14 @@ "display_name": "Language Model", "method": "build_model", "name": "model_output", - "required_inputs": ["api_key"], + "required_inputs": [ + "api_key" + ], "selected": "LanguageModel", "tool_mode": true, - "types": ["LanguageModel"], + "types": [ + "LanguageModel" + ], "value": "__UNDEFINED__" } ], @@ -170,8 +198,10 @@ "display_name": "OpenAI API Key", "dynamic": false, "info": "The OpenAI API Key to use for the OpenAI model.", - "input_types": ["Message"], - "load_from_db": false, + "input_types": [ + "Message" + ], + "load_from_db": true, "name": "api_key", "password": true, "placeholder": "", @@ -179,7 +209,7 @@ "show": true, "title_case": false, "type": "str", - "value": "" + "value": "OPENAI_API_KEY" }, "code": { "advanced": true, @@ -205,7 +235,9 @@ "display_name": "Input", "dynamic": false, "info": "", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -387,7 +419,9 @@ "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, @@ -456,9 +490,9 @@ "type": "OpenAIModel" }, "dragging": false, - "id": "OpenAIModel-hx0nZ", + "id": "OpenAIModel-nRbVG", "measured": { - "height": 656, + "height": 525, "width": 320 }, "position": { @@ -470,9 +504,11 @@ }, { "data": { - "id": "ChatOutput-xjU9g", + "id": "ChatOutput-BNHyf", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "category": "outputs", "conditional_paths": [], @@ -509,7 +545,9 @@ "name": "message", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -523,7 +561,9 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -544,7 +584,9 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -601,7 +643,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -622,7 +666,11 @@ "display_name": "Text", "dynamic": false, "info": "Message to be passed as output.", - "input_types": ["Data", "DataFrame", "Message"], + "input_types": [ + "Data", + "DataFrame", + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -646,7 +694,10 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": ["Machine", "User"], + "options": [ + "Machine", + "User" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -663,7 +714,9 @@ "display_name": "Sender Name", "dynamic": false, "info": "Name of the sender.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -684,7 +737,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -723,7 +778,9 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -744,7 +801,7 @@ "showNode": false, "type": "ChatOutput" }, - "id": "ChatOutput-xjU9g", + "id": "ChatOutput-BNHyf", "measured": { "height": 66, "width": 192 @@ -758,9 +815,11 @@ }, { "data": { - "id": "ChatInput-Gb2ag", + "id": "ChatInput-dq6uf", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "category": "inputs", "conditional_paths": [], @@ -797,7 +856,9 @@ "name": "message", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -811,7 +872,9 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -832,7 +895,9 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -940,7 +1005,10 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": ["Machine", "User"], + "options": [ + "Machine", + "User" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -957,7 +1025,9 @@ "display_name": "Sender Name", "dynamic": false, "info": "Name of the sender.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -978,7 +1048,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -1017,7 +1089,9 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1039,7 +1113,7 @@ "type": "ChatInput" }, "dragging": false, - "id": "ChatInput-Gb2ag", + "id": "ChatInput-dq6uf", "measured": { "height": 66, "width": 192 @@ -1053,7 +1127,7 @@ }, { "data": { - "id": "note-Nb5am", + "id": "note-lPaVF", "node": { "description": "### 💡 Add your OpenAI API key here", "display_name": "", @@ -1065,7 +1139,7 @@ "type": "note" }, "dragging": false, - "id": "note-Nb5am", + "id": "note-lPaVF", "measured": { "height": 324, "width": 324 @@ -1079,7 +1153,7 @@ }, { "data": { - "id": "note-qRCyj", + "id": "note-OrB5w", "node": { "description": "\n# Financial Report Parser\n\nThis template extracts key financial metrics from a given financial report text using OpenAI's GPT-4o-mini model. The extracted data is structured and formatted for chat consumption.\n\n## Prerequisites\n\n- **[OpenAI API Key](https://platform.openai.com/)**\n\n## Quickstart\n\n1. Add your OpenAI API key to the OpenAI model.\n2. To run the flow, click **Playground**.\nThe **Chat Input** component in this template is pre-loaded with a sample financial report for demonstrating how structured data is extracted.\n\n* The **OpenAI** model component identifies and retrieves Gross Profit, EBITDA, Net Income, and Operating Expenses from the financial report.\n* The **Structured Output** component formats extracted data into a structured format for better readability and further processing.\n* The **Data to Message** component converts extracted data into formatted messages for chat consumption.\n\n\n\n\n\n", "display_name": "", @@ -1090,7 +1164,7 @@ }, "dragging": false, "height": 688, - "id": "note-qRCyj", + "id": "note-OrB5w", "measured": { "height": 688, "width": 620 @@ -1106,9 +1180,12 @@ }, { "data": { - "id": "StructuredOutputv2-Io4Zq", + "id": "StructuredOutput-KQHp8", "node": { - "base_classes": ["Data", "DataFrame"], + "base_classes": [ + "Data", + "DataFrame" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -1138,7 +1215,9 @@ "name": "structured_output", "selected": "Data", "tool_mode": true, - "types": ["Data"], + "types": [ + "Data" + ], "value": "__UNDEFINED__" }, { @@ -1149,7 +1228,9 @@ "name": "structured_output_dataframe", "selected": "DataFrame", "tool_mode": true, - "types": ["DataFrame"], + "types": [ + "DataFrame" + ], "value": "__UNDEFINED__" } ], @@ -1180,7 +1261,9 @@ "display_name": "Input Message", "dynamic": false, "info": "The input message to the language model.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1201,7 +1284,9 @@ "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, "list_add_label": "Add More", "name": "llm", @@ -1334,7 +1419,9 @@ "display_name": "Schema Name", "dynamic": false, "info": "Provide a name for the output data schema.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1355,7 +1442,9 @@ "display_name": "Format Instructions", "dynamic": false, "info": "The instructions to the language model for formatting the output.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1378,7 +1467,7 @@ "type": "StructuredOutput" }, "dragging": false, - "id": "StructuredOutputv2-Io4Zq", + "id": "StructuredOutput-KQHp8", "measured": { "height": 447, "width": 320 @@ -1392,9 +1481,11 @@ }, { "data": { - "id": "ParseDataFrame-PwX09", + "id": "ParseDataFrame-QOEC3", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "category": "processing", "conditional_paths": [], @@ -1403,7 +1494,11 @@ "display_name": "Parse DataFrame", "documentation": "", "edited": false, - "field_order": ["df", "template", "sep"], + "field_order": [ + "df", + "template", + "sep" + ], "frozen": false, "icon": "braces", "key": "ParseDataFrame", @@ -1421,7 +1516,9 @@ "name": "text", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -1453,7 +1550,9 @@ "display_name": "DataFrame", "dynamic": false, "info": "The DataFrame to convert to text rows.", - "input_types": ["DataFrame"], + "input_types": [ + "DataFrame" + ], "list": false, "list_add_label": "Add More", "name": "df", @@ -1492,7 +1591,9 @@ "display_name": "Template", "dynamic": false, "info": "The template for formatting each row. Use placeholders matching column names in the DataFrame, for example '{col1}', '{col2}'.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1515,7 +1616,7 @@ "type": "ParseDataFrame" }, "dragging": false, - "id": "ParseDataFrame-PwX09", + "id": "ParseDataFrame-QOEC3", "measured": { "height": 334, "width": 320 @@ -1529,17 +1630,19 @@ } ], "viewport": { - "x": -467.41512715571344, - "y": 404.01011532746, - "zoom": 0.8539331731519323 + "x": -99.6371290033394, + "y": 399.2977275294001, + "zoom": 0.6105558084817295 } }, "description": "Extracts key financial metrics like Gross Profit, EBITDA, and Net Income from financial reports and structures them for easy analysis, using Structured Output Component", - "endpoint_name": "parse_financial_report", - "icon": "receipt", - "id": "00f4e809-0c6a-493e-8199-8ea22ddbfe64", + "endpoint_name": null, + "id": "a217ddf6-8620-4f38-ac09-5b35f612ce9e", "is_component": false, - "last_tested_version": "1.1.5", + "last_tested_version": "1.2.0", "name": "Financial Report Parser", - "tags": ["chatbots", "content-generation"] -} + "tags": [ + "chatbots", + "content-generation" + ] +} \ No newline at end of file diff --git a/src/backend/base/langflow/initial_setup/starter_projects/Gmail Agent.json b/src/backend/base/langflow/initial_setup/starter_projects/Gmail Agent.json index 666ae9ebd..1f384b40d 100644 --- a/src/backend/base/langflow/initial_setup/starter_projects/Gmail Agent.json +++ b/src/backend/base/langflow/initial_setup/starter_projects/Gmail Agent.json @@ -7,23 +7,27 @@ "data": { "sourceHandle": { "dataType": "ChatInput", - "id": "ChatInput-fifot", + "id": "ChatInput-auIvg", "name": "message", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "Agent-5rqMu", - "inputTypes": ["Message"], + "id": "Agent-gCLrf", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-ChatInput-fifot{œdataTypeœ:œChatInputœ,œidœ:œChatInput-fifotœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-Agent-5rqMu{œfieldNameœ:œinput_valueœ,œidœ:œAgent-5rqMuœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-ChatInput-auIvg{œdataTypeœ:œChatInputœ,œidœ:œChatInput-auIvgœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-Agent-gCLrf{œfieldNameœ:œinput_valueœ,œidœ:œAgent-gCLrfœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "ChatInput-fifot", - "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-fifotœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", - "target": "Agent-5rqMu", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œAgent-5rqMuœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "source": "ChatInput-auIvg", + "sourceHandle": "{œdataTypeœ:œChatInputœ,œidœ:œChatInput-auIvgœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}", + "target": "Agent-gCLrf", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œAgent-gCLrfœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -31,23 +35,29 @@ "data": { "sourceHandle": { "dataType": "Agent", - "id": "Agent-5rqMu", + "id": "Agent-gCLrf", "name": "response", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "ChatOutput-mXpv2", - "inputTypes": ["Data", "DataFrame", "Message"], + "id": "ChatOutput-8WiQm", + "inputTypes": [ + "Data", + "DataFrame", + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-Agent-5rqMu{œdataTypeœ:œAgentœ,œidœ:œAgent-5rqMuœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-mXpv2{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-mXpv2œ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-Agent-gCLrf{œdataTypeœ:œAgentœ,œidœ:œAgent-gCLrfœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-8WiQm{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-8WiQmœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "Agent-5rqMu", - "sourceHandle": "{œdataTypeœ: œAgentœ, œidœ: œAgent-5rqMuœ, œnameœ: œresponseœ, œoutput_typesœ: [œMessageœ]}", - "target": "ChatOutput-mXpv2", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-mXpv2œ, œinputTypesœ: [œDataœ, œDataFrameœ, œMessageœ], œtypeœ: œstrœ}" + "source": "Agent-gCLrf", + "sourceHandle": "{œdataTypeœ:œAgentœ,œidœ:œAgent-gCLrfœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}", + "target": "ChatOutput-8WiQm", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-8WiQmœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -55,30 +65,37 @@ "data": { "sourceHandle": { "dataType": "ComposioAPI", - "id": "ComposioAPI-Z0Iiy", + "id": "ComposioAPI-Tdreq", "name": "tools", - "output_types": ["Tool"] + "output_types": [ + "Tool" + ] }, "targetHandle": { "fieldName": "tools", - "id": "Agent-5rqMu", - "inputTypes": ["Tool"], + "id": "Agent-gCLrf", + "inputTypes": [ + "Tool" + ], "type": "other" } }, - "id": "reactflow__edge-ComposioAPI-Z0Iiy{œdataTypeœ:œComposioAPIœ,œidœ:œComposioAPI-Z0Iiyœ,œnameœ:œtoolsœ,œoutput_typesœ:[œToolœ]}-Agent-5rqMu{œfieldNameœ:œtoolsœ,œidœ:œAgent-5rqMuœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", - "source": "ComposioAPI-Z0Iiy", - "sourceHandle": "{œdataTypeœ: œComposioAPIœ, œidœ: œComposioAPI-Z0Iiyœ, œnameœ: œtoolsœ, œoutput_typesœ: [œToolœ]}", - "target": "Agent-5rqMu", - "targetHandle": "{œfieldNameœ: œtoolsœ, œidœ: œAgent-5rqMuœ, œinputTypesœ: [œToolœ], œtypeœ: œotherœ}" + "id": "reactflow__edge-ComposioAPI-Tdreq{œdataTypeœ:œComposioAPIœ,œidœ:œComposioAPI-Tdreqœ,œnameœ:œtoolsœ,œoutput_typesœ:[œToolœ]}-Agent-gCLrf{œfieldNameœ:œtoolsœ,œidœ:œAgent-gCLrfœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", + "selected": false, + "source": "ComposioAPI-Tdreq", + "sourceHandle": "{œdataTypeœ:œComposioAPIœ,œidœ:œComposioAPI-Tdreqœ,œnameœ:œtoolsœ,œoutput_typesœ:[œToolœ]}", + "target": "Agent-gCLrf", + "targetHandle": "{œfieldNameœ:œtoolsœ,œidœ:œAgent-gCLrfœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}" } ], "nodes": [ { "data": { - "id": "Agent-5rqMu", + "id": "Agent-gCLrf", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "category": "agents", "conditional_paths": [], @@ -132,7 +149,9 @@ "name": "response", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -164,7 +183,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -218,7 +239,9 @@ "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, @@ -271,7 +294,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -370,7 +395,9 @@ "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, "list_add_label": "Add More", "name": "memory", @@ -475,7 +502,10 @@ "dynamic": false, "info": "Order of the messages.", "name": "order", - "options": ["Ascending", "Descending"], + "options": [ + "Ascending", + "Descending" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -513,7 +543,11 @@ "dynamic": false, "info": "Filter by sender type.", "name": "sender", - "options": ["Machine", "User", "Machine and User"], + "options": [ + "Machine", + "User", + "Machine and User" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -530,7 +564,9 @@ "display_name": "Sender Name", "dynamic": false, "info": "Filter by sender name.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -551,7 +587,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -572,7 +610,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -622,7 +662,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -662,7 +704,9 @@ "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, "list_add_label": "Add More", "name": "tools", @@ -699,7 +743,7 @@ "type": "Agent" }, "dragging": false, - "id": "Agent-5rqMu", + "id": "Agent-gCLrf", "measured": { "height": 624, "width": 320 @@ -713,9 +757,11 @@ }, { "data": { - "id": "ChatInput-fifot", + "id": "ChatInput-auIvg", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "category": "inputs", "conditional_paths": [], @@ -752,7 +798,9 @@ "name": "message", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -766,7 +814,9 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -787,7 +837,9 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -895,7 +947,10 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": ["Machine", "User"], + "options": [ + "Machine", + "User" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -912,7 +967,9 @@ "display_name": "Sender Name", "dynamic": false, "info": "Name of the sender.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -933,7 +990,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -972,7 +1031,9 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -994,7 +1055,7 @@ "type": "ChatInput" }, "dragging": false, - "id": "ChatInput-fifot", + "id": "ChatInput-auIvg", "measured": { "height": 66, "width": 192 @@ -1008,9 +1069,11 @@ }, { "data": { - "id": "ChatOutput-mXpv2", + "id": "ChatOutput-8WiQm", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "category": "outputs", "conditional_paths": [], @@ -1047,7 +1110,9 @@ "name": "message", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -1061,7 +1126,9 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1082,7 +1149,9 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1139,7 +1208,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -1160,7 +1231,11 @@ "display_name": "Text", "dynamic": false, "info": "Message to be passed as output.", - "input_types": ["Data", "DataFrame", "Message"], + "input_types": [ + "Data", + "DataFrame", + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1184,7 +1259,10 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": ["Machine", "User"], + "options": [ + "Machine", + "User" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -1201,7 +1279,9 @@ "display_name": "Sender Name", "dynamic": false, "info": "Name of the sender.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1222,7 +1302,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -1261,7 +1343,9 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1283,7 +1367,7 @@ "type": "ChatOutput" }, "dragging": false, - "id": "ChatOutput-mXpv2", + "id": "ChatOutput-8WiQm", "measured": { "height": 66, "width": 192 @@ -1297,7 +1381,7 @@ }, { "data": { - "id": "note-Oh8JB", + "id": "note-y0nez", "node": { "description": "# Gmail Agent\nUsing this flow you can send emails, create drafts, fetch emails and more\n\n## Instructions\n\n1. Get Composio API Key\n - Visit https://app.composio.dev\n - Enter the key in the \"Composio API Key\" field\n\n2. Authenticate Gmail Account\n - Select Gmail App from the dropdown menu in the App Names field\n - Click the refresh button next to the App Name\n - Follow the Gmail authentication link\n - After authenticating, click refresh again\n - Verify that authentication status shows as successful\n\n3. Select Actions\n - Default actions (pre-selected):\n - GMAIL_SEND_EMAIL: Send emails directly\n - GMAIL_CREATE_EMAIL_DRAFT: Create draft emails\n - Select additional actions based on your needs\n\n4. Configure OpenAI\n - Enter your OpenAI API key in the Agent OpenAI API key field\n\n5. Run Agent\n Example prompts:\n - \"Send an email to johndoe@gmail.com wishing them Happy birthday!\"\n - \"Create a draft email about project updates\"", "display_name": "", @@ -1308,7 +1392,7 @@ }, "dragging": false, "height": 842, - "id": "note-Oh8JB", + "id": "note-y0nez", "measured": { "height": 842, "width": 395 @@ -1326,9 +1410,11 @@ "data": { "description": "Use Composio toolset to run actions with your agent", "display_name": "Composio Tools", - "id": "ComposioAPI-Z0Iiy", + "id": "ComposioAPI-Tdreq", "node": { - "base_classes": ["Tool"], + "base_classes": [ + "Tool" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -1361,10 +1447,13 @@ "hidden": null, "method": "build_tool", "name": "tools", + "options": null, "required_inputs": null, "selected": "Tool", "tool_mode": true, - "types": ["Tool"], + "types": [ + "Tool" + ], "value": "__UNDEFINED__" } ], @@ -1411,7 +1500,9 @@ "tool_mode": false, "trace_as_metadata": true, "type": "str", - "value": ["GMAIL_GET_PEOPLE"] + "value": [ + "GMAIL_GET_PEOPLE" + ] }, "api_key": { "_input_type": "SecretStrInput", @@ -1419,7 +1510,9 @@ "display_name": "Composio API Key", "dynamic": false, "info": "Refer to https://docs.composio.dev/faq/api_key/api_key", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "load_from_db": true, "name": "api_key", "password": true, @@ -1437,7 +1530,9 @@ "display_name": "App Credentials", "dynamic": true, "info": "Credentials for app authentication (API Key, Password, etc)", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "load_from_db": false, "name": "app_credentials", "password": true, @@ -1655,7 +1750,9 @@ "display_name": "Entity ID", "dynamic": false, "info": "", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1676,7 +1773,9 @@ "display_name": "Username", "dynamic": true, "info": "Username for Basic authentication", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1698,7 +1797,7 @@ "type": "ComposioAPI" }, "dragging": false, - "id": "ComposioAPI-Z0Iiy", + "id": "ComposioAPI-Tdreq", "measured": { "height": 497, "width": 320 @@ -1707,20 +1806,23 @@ "x": -137.53986902236176, "y": 20.325147658297382 }, - "selected": false, + "selected": true, "type": "genericNode" } ], "viewport": { - "x": 568.8302643946312, - "y": 91.93195183355544, - "zoom": 0.7104297128050097 + "x": 666.3549315745112, + "y": 178.32327136900147, + "zoom": 0.8590936972080208 } }, "description": "Interact with Gmail to send emails, create drafts, and fetch messages", "endpoint_name": null, - "id": "0473161e-ca7e-413c-9113-e98a142313ed", + "id": "db962555-dbb0-477f-85cc-536c68b32ee8", "is_component": false, + "last_tested_version": "1.2.0", "name": "Gmail Agent", - "tags": ["agents"] -} + "tags": [ + "agents" + ] +} \ No newline at end of file diff --git a/src/backend/base/langflow/initial_setup/starter_projects/Instagram Copywriter.json b/src/backend/base/langflow/initial_setup/starter_projects/Instagram Copywriter.json index 5f779ef32..48412ea7a 100644 --- a/src/backend/base/langflow/initial_setup/starter_projects/Instagram Copywriter.json +++ b/src/backend/base/langflow/initial_setup/starter_projects/Instagram Copywriter.json @@ -7,22 +7,28 @@ "data": { "sourceHandle": { "dataType": "TextInput", - "id": "TextInput-jcEYO", + "id": "TextInput-vLxDr", "name": "text", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "guidelines", - "id": "Prompt-5uTbs", - "inputTypes": ["Message", "Text"], + "id": "Prompt-R71s9", + "inputTypes": [ + "Message", + "Text" + ], "type": "str" } }, - "id": "reactflow__edge-TextInput-jcEYO{œdataTypeœ:œTextInputœ,œidœ:œTextInput-jcEYOœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-Prompt-5uTbs{œfieldNameœ:œguidelinesœ,œidœ:œPrompt-5uTbsœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", - "source": "TextInput-jcEYO", - "sourceHandle": "{œdataTypeœ: œTextInputœ, œidœ: œTextInput-jcEYOœ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}", - "target": "Prompt-5uTbs", - "targetHandle": "{œfieldNameœ: œguidelinesœ, œidœ: œPrompt-5uTbsœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-TextInput-vLxDr{œdataTypeœ:œTextInputœ,œidœ:œTextInput-vLxDrœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-Prompt-R71s9{œfieldNameœ:œguidelinesœ,œidœ:œPrompt-R71s9œ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", + "selected": false, + "source": "TextInput-vLxDr", + "sourceHandle": "{œdataTypeœ:œTextInputœ,œidœ:œTextInput-vLxDrœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}", + "target": "Prompt-R71s9", + "targetHandle": "{œfieldNameœ:œguidelinesœ,œidœ:œPrompt-R71s9œ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -30,22 +36,27 @@ "data": { "sourceHandle": { "dataType": "ChatInput", - "id": "ChatInput-RiIAB", + "id": "ChatInput-tPgYp", "name": "message", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "Agent-nxMr2", - "inputTypes": ["Message"], + "id": "Agent-jKpnA", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-ChatInput-RiIAB{œdataTypeœ:œChatInputœ,œidœ:œChatInput-RiIABœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-Agent-nxMr2{œfieldNameœ:œinput_valueœ,œidœ:œAgent-nxMr2œ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "ChatInput-RiIAB", - "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-RiIABœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", - "target": "Agent-nxMr2", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œAgent-nxMr2œ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-ChatInput-tPgYp{œdataTypeœ:œChatInputœ,œidœ:œChatInput-tPgYpœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-Agent-jKpnA{œfieldNameœ:œinput_valueœ,œidœ:œAgent-jKpnAœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "selected": false, + "source": "ChatInput-tPgYp", + "sourceHandle": "{œdataTypeœ:œChatInputœ,œidœ:œChatInput-tPgYpœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}", + "target": "Agent-jKpnA", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œAgent-jKpnAœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -53,183 +64,239 @@ "data": { "sourceHandle": { "dataType": "Agent", - "id": "Agent-nxMr2", + "id": "Agent-jKpnA", "name": "response", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "context", - "id": "Prompt-5uTbs", - "inputTypes": ["Message", "Text"], + "id": "Prompt-R71s9", + "inputTypes": [ + "Message", + "Text" + ], "type": "str" } }, - "id": "reactflow__edge-Agent-nxMr2{œdataTypeœ:œAgentœ,œidœ:œAgent-nxMr2œ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-Prompt-5uTbs{œfieldNameœ:œcontextœ,œidœ:œPrompt-5uTbsœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", - "source": "Agent-nxMr2", - "sourceHandle": "{œdataTypeœ: œAgentœ, œidœ: œAgent-nxMr2œ, œnameœ: œresponseœ, œoutput_typesœ: [œMessageœ]}", - "target": "Prompt-5uTbs", - "targetHandle": "{œfieldNameœ: œcontextœ, œidœ: œPrompt-5uTbsœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-Agent-jKpnA{œdataTypeœ:œAgentœ,œidœ:œAgent-jKpnAœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-Prompt-R71s9{œfieldNameœ:œcontextœ,œidœ:œPrompt-R71s9œ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", + "selected": false, + "source": "Agent-jKpnA", + "sourceHandle": "{œdataTypeœ:œAgentœ,œidœ:œAgent-jKpnAœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}", + "target": "Prompt-R71s9", + "targetHandle": "{œfieldNameœ:œcontextœ,œidœ:œPrompt-R71s9œ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}" }, { + "animated": false, "className": "", "data": { "sourceHandle": { "dataType": "TavilySearchComponent", - "id": "TavilySearchComponent-XbcIl", + "id": "TavilySearchComponent-HW6b0", "name": "component_as_tool", - "output_types": ["Tool"] + "output_types": [ + "Tool" + ] }, "targetHandle": { "fieldName": "tools", - "id": "Agent-nxMr2", - "inputTypes": ["Tool"], + "id": "Agent-jKpnA", + "inputTypes": [ + "Tool" + ], "type": "other" } }, - "id": "reactflow__edge-TavilySearchComponent-XbcIl{œdataTypeœ:œTavilySearchComponentœ,œidœ:œTavilySearchComponent-XbcIlœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-nxMr2{œfieldNameœ:œtoolsœ,œidœ:œAgent-nxMr2œ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", - "source": "TavilySearchComponent-XbcIl", - "sourceHandle": "{œdataTypeœ: œTavilySearchComponentœ, œidœ: œTavilySearchComponent-XbcIlœ, œnameœ: œcomponent_as_toolœ, œoutput_typesœ: [œToolœ]}", - "target": "Agent-nxMr2", - "targetHandle": "{œfieldNameœ: œtoolsœ, œidœ: œAgent-nxMr2œ, œinputTypesœ: [œToolœ], œtypeœ: œotherœ}" + "id": "reactflow__edge-TavilySearchComponent-HW6b0{œdataTypeœ:œTavilySearchComponentœ,œidœ:œTavilySearchComponent-HW6b0œ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-jKpnA{œfieldNameœ:œtoolsœ,œidœ:œAgent-jKpnAœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", + "selected": false, + "source": "TavilySearchComponent-HW6b0", + "sourceHandle": "{œdataTypeœ:œTavilySearchComponentœ,œidœ:œTavilySearchComponent-HW6b0œ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}", + "target": "Agent-jKpnA", + "targetHandle": "{œfieldNameœ:œtoolsœ,œidœ:œAgent-jKpnAœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}" }, { + "animated": false, "className": "", "data": { "sourceHandle": { "dataType": "Prompt", - "id": "Prompt-5uTbs", + "id": "Prompt-R71s9", "name": "prompt", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "OpenAIModel-BUxp5", - "inputTypes": ["Message"], + "id": "OpenAIModel-dqLbl", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-Prompt-5uTbs{œdataTypeœ:œPromptœ,œidœ:œPrompt-5uTbsœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-BUxp5{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-BUxp5œ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "Prompt-5uTbs", - "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-5uTbsœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", - "target": "OpenAIModel-BUxp5", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œOpenAIModel-BUxp5œ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-Prompt-R71s9{œdataTypeœ:œPromptœ,œidœ:œPrompt-R71s9œ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-dqLbl{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-dqLblœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "selected": false, + "source": "Prompt-R71s9", + "sourceHandle": "{œdataTypeœ:œPromptœ,œidœ:œPrompt-R71s9œ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}", + "target": "OpenAIModel-dqLbl", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-dqLblœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { + "animated": false, "className": "", "data": { "sourceHandle": { "dataType": "OpenAIModel", - "id": "OpenAIModel-BUxp5", + "id": "OpenAIModel-dqLbl", "name": "text_output", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "post", - "id": "Prompt-vNJrn", - "inputTypes": ["Message", "Text"], + "id": "Prompt-LCAlG", + "inputTypes": [ + "Message", + "Text" + ], "type": "str" } }, - "id": "reactflow__edge-OpenAIModel-BUxp5{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-BUxp5œ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-Prompt-vNJrn{œfieldNameœ:œpostœ,œidœ:œPrompt-vNJrnœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", - "source": "OpenAIModel-BUxp5", - "sourceHandle": "{œdataTypeœ: œOpenAIModelœ, œidœ: œOpenAIModel-BUxp5œ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}", - "target": "Prompt-vNJrn", - "targetHandle": "{œfieldNameœ: œpostœ, œidœ: œPrompt-vNJrnœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-OpenAIModel-dqLbl{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-dqLblœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-Prompt-LCAlG{œfieldNameœ:œpostœ,œidœ:œPrompt-LCAlGœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", + "selected": false, + "source": "OpenAIModel-dqLbl", + "sourceHandle": "{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-dqLblœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}", + "target": "Prompt-LCAlG", + "targetHandle": "{œfieldNameœ:œpostœ,œidœ:œPrompt-LCAlGœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}" }, { + "animated": false, "className": "", "data": { "sourceHandle": { "dataType": "OpenAIModel", - "id": "OpenAIModel-BUxp5", + "id": "OpenAIModel-dqLbl", "name": "text_output", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "post", - "id": "Prompt-kfn20", - "inputTypes": ["Message", "Text"], + "id": "Prompt-ZA2H7", + "inputTypes": [ + "Message", + "Text" + ], "type": "str" } }, - "id": "reactflow__edge-OpenAIModel-BUxp5{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-BUxp5œ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-Prompt-kfn20{œfieldNameœ:œpostœ,œidœ:œPrompt-kfn20œ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", - "source": "OpenAIModel-BUxp5", - "sourceHandle": "{œdataTypeœ: œOpenAIModelœ, œidœ: œOpenAIModel-BUxp5œ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}", - "target": "Prompt-kfn20", - "targetHandle": "{œfieldNameœ: œpostœ, œidœ: œPrompt-kfn20œ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-OpenAIModel-dqLbl{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-dqLblœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-Prompt-ZA2H7{œfieldNameœ:œpostœ,œidœ:œPrompt-ZA2H7œ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", + "selected": false, + "source": "OpenAIModel-dqLbl", + "sourceHandle": "{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-dqLblœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}", + "target": "Prompt-ZA2H7", + "targetHandle": "{œfieldNameœ:œpostœ,œidœ:œPrompt-ZA2H7œ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}" }, { + "animated": false, "className": "", "data": { "sourceHandle": { "dataType": "Prompt", - "id": "Prompt-vNJrn", + "id": "Prompt-LCAlG", "name": "prompt", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "OpenAIModel-EuPBl", - "inputTypes": ["Message"], + "id": "OpenAIModel-7yVxU", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-Prompt-vNJrn{œdataTypeœ:œPromptœ,œidœ:œPrompt-vNJrnœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-EuPBl{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-EuPBlœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "Prompt-vNJrn", - "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-vNJrnœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", - "target": "OpenAIModel-EuPBl", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œOpenAIModel-EuPBlœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-Prompt-LCAlG{œdataTypeœ:œPromptœ,œidœ:œPrompt-LCAlGœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-7yVxU{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-7yVxUœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "selected": false, + "source": "Prompt-LCAlG", + "sourceHandle": "{œdataTypeœ:œPromptœ,œidœ:œPrompt-LCAlGœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}", + "target": "OpenAIModel-7yVxU", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-7yVxUœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { + "animated": false, "className": "", "data": { "sourceHandle": { "dataType": "OpenAIModel", - "id": "OpenAIModel-EuPBl", + "id": "OpenAIModel-7yVxU", "name": "text_output", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "image_description", - "id": "Prompt-kfn20", - "inputTypes": ["Message", "Text"], + "id": "Prompt-ZA2H7", + "inputTypes": [ + "Message", + "Text" + ], "type": "str" } }, - "id": "reactflow__edge-OpenAIModel-EuPBl{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-EuPBlœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-Prompt-kfn20{œfieldNameœ:œimage_descriptionœ,œidœ:œPrompt-kfn20œ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", - "source": "OpenAIModel-EuPBl", - "sourceHandle": "{œdataTypeœ: œOpenAIModelœ, œidœ: œOpenAIModel-EuPBlœ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}", - "target": "Prompt-kfn20", - "targetHandle": "{œfieldNameœ: œimage_descriptionœ, œidœ: œPrompt-kfn20œ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-OpenAIModel-7yVxU{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-7yVxUœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-Prompt-ZA2H7{œfieldNameœ:œimage_descriptionœ,œidœ:œPrompt-ZA2H7œ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", + "selected": false, + "source": "OpenAIModel-7yVxU", + "sourceHandle": "{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-7yVxUœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}", + "target": "Prompt-ZA2H7", + "targetHandle": "{œfieldNameœ:œimage_descriptionœ,œidœ:œPrompt-ZA2H7œ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}" }, { + "animated": false, + "className": "", "data": { "sourceHandle": { "dataType": "Prompt", - "id": "Prompt-kfn20", + "id": "Prompt-ZA2H7", "name": "prompt", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "ChatOutput-AZo3Y", - "inputTypes": ["Data", "DataFrame", "Message"], + "id": "ChatOutput-u37IQ", + "inputTypes": [ + "Data", + "DataFrame", + "Message" + ], "type": "str" } }, - "id": "xy-edge__Prompt-kfn20{œdataTypeœ:œPromptœ,œidœ:œPrompt-kfn20œ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-AZo3Y{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-AZo3Yœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}", - "source": "Prompt-kfn20", - "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-kfn20œ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", - "target": "ChatOutput-AZo3Y", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-AZo3Yœ, œinputTypesœ: [œDataœ, œDataFrameœ, œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-Prompt-ZA2H7{œdataTypeœ:œPromptœ,œidœ:œPrompt-ZA2H7œ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-u37IQ{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-u37IQœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}", + "selected": false, + "source": "Prompt-ZA2H7", + "sourceHandle": "{œdataTypeœ:œPromptœ,œidœ:œPrompt-ZA2H7œ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}", + "target": "ChatOutput-u37IQ", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-u37IQœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}" } ], "nodes": [ { "data": { - "id": "ChatInput-RiIAB", + "id": "ChatInput-tPgYp", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -263,7 +330,9 @@ "name": "message", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -276,7 +345,9 @@ "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", @@ -295,7 +366,9 @@ "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", @@ -397,7 +470,10 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": ["Machine", "User"], + "options": [ + "Machine", + "User" + ], "placeholder": "", "required": false, "show": true, @@ -412,7 +488,9 @@ "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", @@ -431,7 +509,9 @@ "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", @@ -466,7 +546,9 @@ "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", @@ -485,10 +567,10 @@ }, "dragging": false, "height": 234, - "id": "ChatInput-RiIAB", + "id": "ChatInput-tPgYp", "measured": { "height": 234, - "width": 360 + "width": 320 }, "position": { "x": 5183.264962599111, @@ -506,19 +588,26 @@ "data": { "description": "Create a prompt template with dynamic variables.", "display_name": "Prompt", - "id": "Prompt-5uTbs", + "id": "Prompt-R71s9", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": { - "template": ["context", "guidelines"] + "template": [ + "context", + "guidelines" + ] }, "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, @@ -534,7 +623,9 @@ "name": "prompt", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -567,7 +658,10 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Message", "Text"], + "input_types": [ + "Message", + "Text" + ], "list": false, "load_from_db": false, "multiline": true, @@ -587,7 +681,10 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Message", "Text"], + "input_types": [ + "Message", + "Text" + ], "list": false, "load_from_db": false, "multiline": true, @@ -623,7 +720,9 @@ "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", @@ -644,10 +743,10 @@ }, "dragging": false, "height": 433, - "id": "Prompt-5uTbs", + "id": "Prompt-R71s9", "measured": { "height": 433, - "width": 360 + "width": 320 }, "position": { "x": 6044.447585613556, @@ -663,9 +762,11 @@ }, { "data": { - "id": "TextInput-jcEYO", + "id": "TextInput-vLxDr", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -673,7 +774,9 @@ "display_name": "Text Input", "documentation": "", "edited": false, - "field_order": ["input_value"], + "field_order": [ + "input_value" + ], "frozen": false, "icon": "type", "legacy": false, @@ -689,7 +792,9 @@ "name": "text", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -720,7 +825,9 @@ "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, @@ -740,10 +847,10 @@ }, "dragging": false, "height": 234, - "id": "TextInput-jcEYO", + "id": "TextInput-vLxDr", "measured": { "height": 234, - "width": 360 + "width": 320 }, "position": { "x": 5672.768365094557, @@ -761,19 +868,25 @@ "data": { "description": "Create a prompt template with dynamic variables.", "display_name": "Prompt", - "id": "Prompt-vNJrn", + "id": "Prompt-LCAlG", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": { - "template": ["post"] + "template": [ + "post" + ] }, "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, @@ -789,7 +902,9 @@ "name": "prompt", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -822,7 +937,10 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Message", "Text"], + "input_types": [ + "Message", + "Text" + ], "list": false, "load_from_db": false, "multiline": true, @@ -858,7 +976,9 @@ "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", @@ -879,10 +999,10 @@ }, "dragging": false, "height": 347, - "id": "Prompt-vNJrn", + "id": "Prompt-LCAlG", "measured": { "height": 347, - "width": 360 + "width": 320 }, "position": { "x": 6818.9410289594325, @@ -900,9 +1020,11 @@ "data": { "description": "Display a chat message in the Playground.", "display_name": "Chat Output", - "id": "ChatOutput-AZo3Y", + "id": "ChatOutput-u37IQ", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -935,7 +1057,9 @@ "name": "message", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -948,7 +1072,9 @@ "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", @@ -968,7 +1094,9 @@ "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", @@ -1024,7 +1152,9 @@ "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", @@ -1044,7 +1174,11 @@ "display_name": "Text", "dynamic": false, "info": "Message to be passed as output.", - "input_types": ["Data", "DataFrame", "Message"], + "input_types": [ + "Data", + "DataFrame", + "Message" + ], "list": false, "load_from_db": false, "name": "input_value", @@ -1065,7 +1199,10 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": ["Machine", "User"], + "options": [ + "Machine", + "User" + ], "placeholder": "", "required": false, "show": true, @@ -1081,7 +1218,9 @@ "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", @@ -1101,7 +1240,9 @@ "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", @@ -1137,7 +1278,9 @@ "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", @@ -1158,10 +1301,10 @@ }, "dragging": false, "height": 234, - "id": "ChatOutput-AZo3Y", + "id": "ChatOutput-u37IQ", "measured": { "height": 234, - "width": 360 + "width": 320 }, "position": { "x": 7980.617825443558, @@ -1179,9 +1322,11 @@ "data": { "description": "Define the agent's instructions, then enter a task to complete using tools.", "display_name": "Agent", - "id": "Agent-nxMr2", + "id": "Agent-jKpnA", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -1231,7 +1376,9 @@ "name": "response", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -1260,7 +1407,9 @@ "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, @@ -1311,7 +1460,9 @@ "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, @@ -1362,7 +1513,9 @@ "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", @@ -1454,7 +1607,9 @@ "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": "", @@ -1548,7 +1703,10 @@ "dynamic": false, "info": "Order of the messages.", "name": "order", - "options": ["Ascending", "Descending"], + "options": [ + "Ascending", + "Descending" + ], "placeholder": "", "required": false, "show": true, @@ -1582,7 +1740,11 @@ "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, @@ -1598,7 +1760,9 @@ "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", @@ -1618,7 +1782,9 @@ "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", @@ -1638,7 +1804,9 @@ "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, @@ -1675,7 +1843,9 @@ "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, @@ -1714,7 +1884,9 @@ "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": "", @@ -1748,10 +1920,10 @@ }, "dragging": false, "height": 650, - "id": "Agent-nxMr2", + "id": "Agent-jKpnA", "measured": { "height": 650, - "width": 360 + "width": 320 }, "position": { "x": 5665.465212822881, @@ -1769,19 +1941,26 @@ "data": { "description": "Create a prompt template with dynamic variables.", "display_name": "Prompt", - "id": "Prompt-kfn20", + "id": "Prompt-ZA2H7", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": { - "template": ["post", "image_description"] + "template": [ + "post", + "image_description" + ] }, "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, @@ -1797,7 +1976,9 @@ "name": "prompt", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -1830,7 +2011,10 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Message", "Text"], + "input_types": [ + "Message", + "Text" + ], "list": false, "load_from_db": false, "multiline": true, @@ -1850,7 +2034,10 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Message", "Text"], + "input_types": [ + "Message", + "Text" + ], "list": false, "load_from_db": false, "multiline": true, @@ -1886,7 +2073,9 @@ "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", @@ -1907,10 +2096,10 @@ }, "dragging": false, "height": 433, - "id": "Prompt-kfn20", + "id": "Prompt-ZA2H7", "measured": { "height": 433, - "width": 360 + "width": 320 }, "position": { "x": 7613.837241084599, @@ -1926,7 +2115,7 @@ }, { "data": { - "id": "note-MxQ6f", + "id": "note-n88Sx", "node": { "description": "# Instagram Copywriter \n\nWelcome to the Instagram Copywriter! This flow helps you create compelling Instagram posts with AI-generated content and image prompts.\n\n## Instructions\n1. Enter Your Topic\n - In the Chat Input, enter a brief description of the topic you want to post about.\n - Example: \"Create a post about meditation and its benefits\"\n\n2. Review the Generated Content\n - The flow will use AI to research your topic and generate a formatted Instagram post.\n - The post will include an opening line, main content, emojis, a call-to-action, and hashtags.\n\n3. Check the Image Prompt\n - The flow will also generate a detailed image prompt based on your post content.\n - This prompt can be used with image generation tools to create a matching visual.\n\n4. Copy the Final Output\n - The Chat Output will display the complete Instagram post text followed by the image generation prompt.\n - Copy this output to use in your Instagram content creation process.\n\n5. Refine if Needed\n - If you're not satisfied with the result, you can adjust the input or modify the OpenAI model settings for different outputs.\n\nRemember: Keep your initial topic input clear and concise for best results! 🎨✨", "display_name": "", @@ -1939,10 +2128,10 @@ }, "dragging": false, "height": 648, - "id": "note-MxQ6f", + "id": "note-n88Sx", "measured": { "height": 648, - "width": 558 + "width": 555 }, "position": { "x": 4492.051129290571, @@ -1963,7 +2152,7 @@ }, { "data": { - "id": "note-sZVfP", + "id": "note-6p3jo", "node": { "description": "**Text Input (Guidelines Prompt)**\n - NOTE: \"Contains Instagram post formatting rules. Don't modify this component as it maintains format consistency.\"\n - Maintains fixed guidelines for:\n * Opening structure\n * Main content\n * Emoji usage\n * Call to Action (CTA)\n * Hashtags\n\n4. **First Prompt + OpenAI Sequence**\n - NOTE: \"Generates initial post content following Instagram guidelines\"\n - Settings:\n * Temperature: 0.7 (good balance between creativity and consistency)\n * Input: Receives research context\n * Output: Generates formatted post text\n\n", "display_name": "", @@ -1976,10 +2165,10 @@ }, "dragging": false, "height": 325, - "id": "note-sZVfP", + "id": "note-6p3jo", "measured": { "height": 325, - "width": 329 + "width": 326 }, "position": { "x": 5666.120349284508, @@ -1996,7 +2185,7 @@ }, { "data": { - "id": "note-psLpP", + "id": "note-izkhS", "node": { "description": "**Second Prompt + OpenAI Sequence**\n - NOTE: \"Transforms the generated post into a prompt for image generation\"\n - Settings:\n * Temperature: 0.7\n * Input: Receives generated post\n * Output: Creates detailed description for image generation\n\n", "display_name": "", @@ -2009,14 +2198,14 @@ }, "dragging": false, "height": 325, - "id": "note-psLpP", + "id": "note-izkhS", "measured": { "height": 325, - "width": 329 + "width": 326 }, "position": { - "x": 6786.375917286389, - "y": 3393.8522072000146 + "x": 6822.008614819107, + "y": 3484.3044393984524 }, "positionAbsolute": { "x": 6786.375917286389, @@ -2028,7 +2217,7 @@ }, { "data": { - "id": "note-4jPBZ", + "id": "note-cvuhQ", "node": { "description": "**Final Prompt**\n - NOTE: \"Combines Instagram post with image prompt in a final format\"\n - Structure:\n * First part: Complete Instagram post\n * Second part: Image generation prompt\n * Separator: Uses \"**Prompt:**\" to divide sections\n\n7. **Chat Output (Final Output)**\n - NOTE: \"Presents the combined final result that can be copied and used directly\"\n\nGENERAL USAGE TIPS:\n- Keep initial inputs clear and specific\n- Don't modify pre-defined Instagram guidelines\n- If style adjustments are needed, only modify the OpenAI models' temperature\n- Verify all connections are correct before running\n- Final result will always have two parts: post + image prompt\n\nFLOW CONSIDERATIONS:\n- All tools connect only to the Tool Calling Agent\n- The flow is unidirectional (no loops)\n- Each prompt template maintains specific formatting\n- Temperatures are set for optimal creativity/consistency balance\n\nTROUBLESHOOTING NOTES:\n- If output is too creative: Lower temperature", "display_name": "", @@ -2041,26 +2230,26 @@ }, "dragging": false, "height": 325, - "id": "note-4jPBZ", + "id": "note-cvuhQ", "measured": { "height": 325, - "width": 329 + "width": 326 }, "position": { - "x": 7606.419013912975, - "y": 3612.8149429707646 + "x": 7614.641944112834, + "y": 3640.2247103036248 }, "positionAbsolute": { "x": 7606.419013912975, "y": 3612.8149429707646 }, - "selected": false, + "selected": true, "type": "noteNode", "width": 325 }, { "data": { - "id": "note-WwfNL", + "id": "note-BqKn1", "node": { "description": "# 🔑 Tavily AI Search Needs API Key\n\nYou can get 1000 searches/month free [here](https://tavily.com/) ", "display_name": "", @@ -2073,10 +2262,10 @@ }, "dragging": false, "height": 325, - "id": "note-WwfNL", + "id": "note-BqKn1", "measured": { "height": 325, - "width": 329 + "width": 326 }, "position": { "x": 5174.678177457385, @@ -2092,9 +2281,12 @@ }, { "data": { - "id": "TavilySearchComponent-XbcIl", + "id": "TavilySearchComponent-HW6b0", "node": { - "base_classes": ["Data", "Message"], + "base_classes": [ + "Data", + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -2126,10 +2318,13 @@ "hidden": null, "method": "to_toolkit", "name": "component_as_tool", + "options": null, "required_inputs": null, "selected": "Tool", "tool_mode": true, - "types": ["Tool"], + "types": [ + "Tool" + ], "value": "__UNDEFINED__" } ], @@ -2142,8 +2337,10 @@ "display_name": "Tavily API Key", "dynamic": false, "info": "Your Tavily API Key.", - "input_types": ["Message"], - "load_from_db": false, + "input_types": [ + "Message" + ], + "load_from_db": true, "name": "api_key", "password": true, "placeholder": "", @@ -2231,7 +2428,9 @@ "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, @@ -2255,7 +2454,10 @@ "dynamic": false, "info": "The depth of the search.", "name": "search_depth", - "options": ["basic", "advanced"], + "options": [ + "basic", + "advanced" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -2275,7 +2477,12 @@ "dynamic": false, "info": "The time range back from the current date to include in the search results.", "name": "time_range", - "options": ["day", "week", "month", "year"], + "options": [ + "day", + "week", + "month", + "year" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -2310,13 +2517,17 @@ "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 }, "table_schema": { "columns": [ { + "default": "None", "description": "Specify the name of the tool.", "disable_edit": false, "display_name": "Tool Name", @@ -2326,9 +2537,10 @@ "hidden": false, "name": "name", "sortable": false, - "type": "text" + "type": "str" }, { + "default": "None", "description": "Describe the purpose of the tool.", "disable_edit": false, "display_name": "Tool Description", @@ -2338,9 +2550,10 @@ "hidden": false, "name": "description", "sortable": false, - "type": "text" + "type": "str" }, { + "default": "None", "description": "The default identifiers for the tools and cannot be changed.", "disable_edit": true, "display_name": "Tool Identifiers", @@ -2350,7 +2563,20 @@ "hidden": true, "name": "tags", "sortable": false, - "type": "text" + "type": "str" + }, + { + "default": true, + "description": "Indicates whether the tool is currently active. Set to True to activate this tool.", + "disable_edit": false, + "display_name": "Enable", + "edit_mode": "popover", + "filterable": true, + "formatter": "boolean", + "hidden": false, + "name": "status", + "sortable": true, + "type": "boolean" } ] }, @@ -2364,12 +2590,16 @@ { "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": "TavilySearchComponent-fetch_content", - "tags": ["TavilySearchComponent-fetch_content"] + "tags": [ + "TavilySearchComponent-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": "TavilySearchComponent-fetch_content_text", - "tags": ["TavilySearchComponent-fetch_content_text"] + "tags": [ + "TavilySearchComponent-fetch_content_text" + ] } ] }, @@ -2382,7 +2612,10 @@ "dynamic": false, "info": "The category of the search.", "name": "topic", - "options": ["general", "news"], + "options": [ + "general", + "news" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -2400,10 +2633,10 @@ "type": "TavilySearchComponent" }, "dragging": false, - "id": "TavilySearchComponent-XbcIl", + "id": "TavilySearchComponent-HW6b0", "measured": { - "height": 489, - "width": 360 + "height": 437, + "width": 320 }, "position": { "x": 5176.638828210268, @@ -2414,9 +2647,12 @@ }, { "data": { - "id": "OpenAIModel-BUxp5", + "id": "OpenAIModel-dqLbl", "node": { - "base_classes": ["LanguageModel", "Message"], + "base_classes": [ + "LanguageModel", + "Message" + ], "beta": false, "category": "models", "conditional_paths": [], @@ -2455,7 +2691,9 @@ "required_inputs": [], "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" }, { @@ -2464,10 +2702,14 @@ "display_name": "Language Model", "method": "build_model", "name": "model_output", - "required_inputs": ["api_key"], + "required_inputs": [ + "api_key" + ], "selected": "LanguageModel", "tool_mode": true, - "types": ["LanguageModel"], + "types": [ + "LanguageModel" + ], "value": "__UNDEFINED__" } ], @@ -2481,7 +2723,9 @@ "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, @@ -2516,7 +2760,9 @@ "display_name": "Input", "dynamic": false, "info": "", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -2698,7 +2944,9 @@ "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, @@ -2767,10 +3015,10 @@ "type": "OpenAIModel" }, "dragging": false, - "id": "OpenAIModel-BUxp5", + "id": "OpenAIModel-dqLbl", "measured": { - "height": 734, - "width": 360 + "height": 525, + "width": 320 }, "position": { "x": 6411.984293767987, @@ -2781,9 +3029,12 @@ }, { "data": { - "id": "OpenAIModel-EuPBl", + "id": "OpenAIModel-7yVxU", "node": { - "base_classes": ["LanguageModel", "Message"], + "base_classes": [ + "LanguageModel", + "Message" + ], "beta": false, "category": "models", "conditional_paths": [], @@ -2822,7 +3073,9 @@ "required_inputs": [], "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" }, { @@ -2831,10 +3084,14 @@ "display_name": "Language Model", "method": "build_model", "name": "model_output", - "required_inputs": ["api_key"], + "required_inputs": [ + "api_key" + ], "selected": "LanguageModel", "tool_mode": true, - "types": ["LanguageModel"], + "types": [ + "LanguageModel" + ], "value": "__UNDEFINED__" } ], @@ -2848,7 +3105,9 @@ "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, @@ -2883,7 +3142,9 @@ "display_name": "Input", "dynamic": false, "info": "", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -3065,7 +3326,9 @@ "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, @@ -3134,10 +3397,10 @@ "type": "OpenAIModel" }, "dragging": false, - "id": "OpenAIModel-EuPBl", + "id": "OpenAIModel-7yVxU", "measured": { - "height": 734, - "width": 360 + "height": 525, + "width": 320 }, "position": { "x": 7206.924894456788, @@ -3148,18 +3411,20 @@ } ], "viewport": { - "x": -6905.9718468947285, - "y": -3158.1897396901054, - "zoom": 1.0286473888530476 + "x": -1608.9301348469157, + "y": -773.9517359321869, + "zoom": 0.3648334507389854 } }, - "description": " Create engaging Instagram posts with AI-generated content and image prompts, streamlining social media content creation.", + "description": "Create engaging Instagram posts with AI-generated content and image prompts, streamlining social media content creation.", "endpoint_name": null, - "gradient": "0", - "icon": "InstagramIcon", - "id": "4bb309e6-42b4-4565-b960-8bd0f7e431f2", + "id": "071ed1b9-0719-4292-953a-f69b9f2bc7c4", "is_component": false, - "last_tested_version": "1.0.19.post2", + "last_tested_version": "1.2.0", "name": "Instagram Copywriter", - "tags": ["content-generation", "chatbots", "agents"] -} + "tags": [ + "content-generation", + "chatbots", + "agents" + ] +} \ No newline at end of file diff --git a/src/backend/base/langflow/initial_setup/starter_projects/Invoice Summarizer.json b/src/backend/base/langflow/initial_setup/starter_projects/Invoice Summarizer.json index 4f4f44d41..23740f8c9 100644 --- a/src/backend/base/langflow/initial_setup/starter_projects/Invoice Summarizer.json +++ b/src/backend/base/langflow/initial_setup/starter_projects/Invoice Summarizer.json @@ -7,23 +7,27 @@ "data": { "sourceHandle": { "dataType": "Prompt", - "id": "Prompt-WRaed", + "id": "Prompt-jqHUa", "name": "prompt", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "system_prompt", - "id": "Agent-IDDA1", - "inputTypes": ["Message"], + "id": "Agent-YDpm0", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-Prompt-WRaed{œdataTypeœ:œPromptœ,œidœ:œPrompt-WRaedœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-Agent-IDDA1{œfieldNameœ:œsystem_promptœ,œidœ:œAgent-IDDA1œ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-Prompt-jqHUa{œdataTypeœ:œPromptœ,œidœ:œPrompt-jqHUaœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-Agent-YDpm0{œfieldNameœ:œsystem_promptœ,œidœ:œAgent-YDpm0œ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "Prompt-WRaed", - "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-WRaedœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", - "target": "Agent-IDDA1", - "targetHandle": "{œfieldNameœ: œsystem_promptœ, œidœ: œAgent-IDDA1œ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "source": "Prompt-jqHUa", + "sourceHandle": "{œdataTypeœ:œPromptœ,œidœ:œPrompt-jqHUaœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}", + "target": "Agent-YDpm0", + "targetHandle": "{œfieldNameœ:œsystem_promptœ,œidœ:œAgent-YDpm0œ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -31,23 +35,27 @@ "data": { "sourceHandle": { "dataType": "needle", - "id": "needle-nk3Lq", + "id": "needle-jWdIc", "name": "component_as_tool", - "output_types": ["Tool"] + "output_types": [ + "Tool" + ] }, "targetHandle": { "fieldName": "tools", - "id": "Agent-IDDA1", - "inputTypes": ["Tool"], + "id": "Agent-YDpm0", + "inputTypes": [ + "Tool" + ], "type": "other" } }, - "id": "reactflow__edge-needle-nk3Lq{œdataTypeœ:œneedleœ,œidœ:œneedle-nk3Lqœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-IDDA1{œfieldNameœ:œtoolsœ,œidœ:œAgent-IDDA1œ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", + "id": "reactflow__edge-needle-jWdIc{œdataTypeœ:œneedleœ,œidœ:œneedle-jWdIcœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-YDpm0{œfieldNameœ:œtoolsœ,œidœ:œAgent-YDpm0œ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", "selected": false, - "source": "needle-nk3Lq", - "sourceHandle": "{œdataTypeœ: œneedleœ, œidœ: œneedle-nk3Lqœ, œnameœ: œcomponent_as_toolœ, œoutput_typesœ: [œToolœ]}", - "target": "Agent-IDDA1", - "targetHandle": "{œfieldNameœ: œtoolsœ, œidœ: œAgent-IDDA1œ, œinputTypesœ: [œToolœ], œtypeœ: œotherœ}" + "source": "needle-jWdIc", + "sourceHandle": "{œdataTypeœ:œneedleœ,œidœ:œneedle-jWdIcœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}", + "target": "Agent-YDpm0", + "targetHandle": "{œfieldNameœ:œtoolsœ,œidœ:œAgent-YDpm0œ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}" }, { "animated": false, @@ -55,50 +63,63 @@ "data": { "sourceHandle": { "dataType": "ChatInput", - "id": "ChatInput-V0cjZ", + "id": "ChatInput-r9vuH", "name": "message", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "Agent-IDDA1", - "inputTypes": ["Message"], + "id": "Agent-YDpm0", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-ChatInput-V0cjZ{œdataTypeœ:œChatInputœ,œidœ:œChatInput-V0cjZœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-Agent-IDDA1{œfieldNameœ:œinput_valueœ,œidœ:œAgent-IDDA1œ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-ChatInput-r9vuH{œdataTypeœ:œChatInputœ,œidœ:œChatInput-r9vuHœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-Agent-YDpm0{œfieldNameœ:œinput_valueœ,œidœ:œAgent-YDpm0œ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "ChatInput-V0cjZ", - "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-V0cjZœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", - "target": "Agent-IDDA1", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œAgent-IDDA1œ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "source": "ChatInput-r9vuH", + "sourceHandle": "{œdataTypeœ:œChatInputœ,œidœ:œChatInput-r9vuHœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}", + "target": "Agent-YDpm0", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œAgent-YDpm0œ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { + "animated": false, + "className": "", "data": { "sourceHandle": { "dataType": "Agent", - "id": "Agent-IDDA1", + "id": "Agent-YDpm0", "name": "response", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "ChatOutput-Ftr5v", - "inputTypes": ["Data", "DataFrame", "Message"], + "id": "ChatOutput-O7uUo", + "inputTypes": [ + "Data", + "DataFrame", + "Message" + ], "type": "str" } }, - "id": "xy-edge__Agent-IDDA1{œdataTypeœ:œAgentœ,œidœ:œAgent-IDDA1œ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-Ftr5v{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-Ftr5vœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}", - "source": "Agent-IDDA1", - "sourceHandle": "{œdataTypeœ: œAgentœ, œidœ: œAgent-IDDA1œ, œnameœ: œresponseœ, œoutput_typesœ: [œMessageœ]}", - "target": "ChatOutput-Ftr5v", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-Ftr5vœ, œinputTypesœ: [œDataœ, œDataFrameœ, œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-Agent-YDpm0{œdataTypeœ:œAgentœ,œidœ:œAgent-YDpm0œ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-O7uUo{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-O7uUoœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}", + "selected": false, + "source": "Agent-YDpm0", + "sourceHandle": "{œdataTypeœ:œAgentœ,œidœ:œAgent-YDpm0œ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}", + "target": "ChatOutput-O7uUo", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-O7uUoœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}" } ], "nodes": [ { "data": { - "id": "note-JlPa7", + "id": "note-gpQ5H", "node": { "description": "# Invoice Summarizer\n\nLeverage the **Needle Search API** and an **Agent** to gather and summarize your invoice data quickly and accurately.\n\n## Prerequisites\n\n* A **Collection** and an **API Key** from your [Needle.ai](https://needle-ai.com) deployment\n* An [OpenAI API key](https://platform.openai.com/)\n\n## Quickstart\n\n1. Load your invoices into your Needle Collection. \n\n2. In the **Needle Search** tool, add your **Needle Collection ID** and **Needle API Key**.\n\n3. In the **Agent** component, add your **OpenAI Key**.\n\n4. Open the **Playground** and query your invoices. The **Agent** component determines the correct query and search size for data retrieval.\n", "display_name": "", @@ -111,7 +132,7 @@ }, "dragging": false, "height": 632, - "id": "note-JlPa7", + "id": "note-gpQ5H", "measured": { "height": 632, "width": 583 @@ -127,9 +148,11 @@ }, { "data": { - "id": "Prompt-WRaed", + "id": "Prompt-jqHUa", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": { @@ -140,7 +163,10 @@ "documentation": "", "edited": false, "error": null, - "field_order": ["template", "tool_placeholder"], + "field_order": [ + "template", + "tool_placeholder" + ], "frozen": false, "full_path": null, "icon": "prompts", @@ -161,7 +187,9 @@ "name": "prompt", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -210,7 +238,9 @@ "display_name": "Tool Placeholder", "dynamic": false, "info": "A placeholder input for tool mode.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -232,23 +262,25 @@ "type": "Prompt" }, "dragging": false, - "id": "Prompt-WRaed", + "id": "Prompt-jqHUa", "measured": { - "height": 256, + "height": 330, "width": 320 }, "position": { - "x": 531.8828954152592, - "y": -476.0431839408612 + "x": 538.822113660558, + "y": -560.1812051651086 }, "selected": false, "type": "genericNode" }, { "data": { - "id": "ChatOutput-Ftr5v", + "id": "ChatOutput-O7uUo", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -283,7 +315,9 @@ "name": "message", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -296,7 +330,9 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -317,7 +353,9 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -374,7 +412,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -395,7 +435,11 @@ "display_name": "Text", "dynamic": false, "info": "Message to be passed as output.", - "input_types": ["Data", "DataFrame", "Message"], + "input_types": [ + "Data", + "DataFrame", + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -419,7 +463,10 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": ["Machine", "User"], + "options": [ + "Machine", + "User" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -436,7 +483,9 @@ "display_name": "Sender Name", "dynamic": false, "info": "Name of the sender.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -457,7 +506,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -496,7 +547,9 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -518,7 +571,7 @@ "type": "ChatOutput" }, "dragging": false, - "id": "ChatOutput-Ftr5v", + "id": "ChatOutput-O7uUo", "measured": { "height": 66, "width": 192 @@ -532,7 +585,7 @@ }, { "data": { - "id": "note-TRZfV", + "id": "note-owux5", "node": { "description": "### 💡 Add your OpenAI API key here 👇", "display_name": "", @@ -544,7 +597,7 @@ "type": "note" }, "dragging": false, - "id": "note-TRZfV", + "id": "note-owux5", "measured": { "height": 324, "width": 324 @@ -558,7 +611,7 @@ }, { "data": { - "id": "note-P7KNw", + "id": "note-b3LuQ", "node": { "description": "### 💡 Add your Needle Search API key here 👇", "display_name": "", @@ -571,7 +624,7 @@ }, "dragging": false, "height": 324, - "id": "note-P7KNw", + "id": "note-b3LuQ", "measured": { "height": 324, "width": 401 @@ -587,9 +640,11 @@ }, { "data": { - "id": "needle-nk3Lq", + "id": "needle-jWdIc", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "category": "needle", "conditional_paths": [], @@ -619,15 +674,18 @@ "hidden": null, "method": "to_toolkit", "name": "component_as_tool", + "options": null, "required_inputs": null, "selected": "Tool", "tool_mode": true, - "types": ["Tool"], + "types": [ + "Tool" + ], "value": "__UNDEFINED__" } ], "pinned": false, - "score": 7.568328950209746e-6, + "score": 0.000007568328950209746, "template": { "_type": "Component", "code": { @@ -654,7 +712,9 @@ "display_name": "Collection ID", "dynamic": false, "info": "The ID of the Needle collection.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -675,8 +735,10 @@ "display_name": "Needle API Key", "dynamic": false, "info": "Your Needle API key.", - "input_types": ["Message"], - "load_from_db": false, + "input_types": [ + "Message" + ], + "load_from_db": true, "name": "needle_api_key", "password": true, "placeholder": "", @@ -684,7 +746,7 @@ "show": true, "title_case": false, "type": "str", - "value": "" + "value": "NEEDLE_API_KEY" }, "query": { "_input_type": "MessageTextInput", @@ -692,7 +754,9 @@ "display_name": "User Query", "dynamic": false, "info": "Enter your question here. In tool mode, you can also specify top_k parameter (min: 20).", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -732,7 +796,10 @@ "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 }, @@ -802,7 +869,9 @@ { "description": "run(collection_id: Message, needle_api_key: Message, query: Message, top_k: FieldTypes.INTEGER) - A retriever that uses the Needle API to search collections.", "name": "needle-run", - "tags": ["needle-run"] + "tags": [ + "needle-run" + ] } ] }, @@ -830,7 +899,7 @@ "showNode": true, "type": "needle" }, - "id": "needle-nk3Lq", + "id": "needle-jWdIc", "measured": { "height": 582, "width": 320 @@ -844,9 +913,11 @@ }, { "data": { - "id": "ChatInput-V0cjZ", + "id": "ChatInput-r9vuH", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "category": "inputs", "conditional_paths": [], @@ -882,7 +953,9 @@ "name": "message", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -896,7 +969,9 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -917,7 +992,9 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1025,7 +1102,10 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": ["Machine", "User"], + "options": [ + "Machine", + "User" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -1042,7 +1122,9 @@ "display_name": "Sender Name", "dynamic": false, "info": "Name of the sender.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1063,7 +1145,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -1102,7 +1186,9 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1124,7 +1210,7 @@ "type": "ChatInput" }, "dragging": false, - "id": "ChatInput-V0cjZ", + "id": "ChatInput-r9vuH", "measured": { "height": 230, "width": 320 @@ -1138,9 +1224,11 @@ }, { "data": { - "id": "Agent-IDDA1", + "id": "Agent-YDpm0", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "category": "agents", "conditional_paths": [], @@ -1193,7 +1281,9 @@ "name": "response", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -1226,7 +1316,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -1308,8 +1400,10 @@ "display_name": "OpenAI API Key", "dynamic": false, "info": "The OpenAI API Key to use for the OpenAI model.", - "input_types": ["Message"], - "load_from_db": false, + "input_types": [ + "Message" + ], + "load_from_db": true, "name": "api_key", "password": true, "placeholder": "", @@ -1317,7 +1411,7 @@ "show": true, "title_case": false, "type": "str", - "value": "" + "value": "OPENAI_API_KEY" }, "code": { "advanced": true, @@ -1361,7 +1455,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -1460,7 +1556,9 @@ "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, "list_add_label": "Add More", "name": "memory", @@ -1565,7 +1663,10 @@ "dynamic": false, "info": "Order of the messages.", "name": "order", - "options": ["Ascending", "Descending"], + "options": [ + "Ascending", + "Descending" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -1603,7 +1704,11 @@ "dynamic": false, "info": "Filter by sender type.", "name": "sender", - "options": ["Machine", "User", "Machine and User"], + "options": [ + "Machine", + "User", + "Machine and User" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -1620,7 +1725,9 @@ "display_name": "Sender Name", "dynamic": false, "info": "Filter by sender name.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1641,7 +1748,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -1663,7 +1772,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -1714,7 +1825,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -1754,7 +1867,9 @@ "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, "list_add_label": "Add More", "name": "tools", @@ -1790,7 +1905,7 @@ "showNode": true, "type": "Agent" }, - "id": "Agent-IDDA1", + "id": "Agent-YDpm0", "measured": { "height": 624, "width": 320 @@ -1804,16 +1919,22 @@ } ], "viewport": { - "x": 220.76849981202122, - "y": 353.4961393018069, - "zoom": 0.6618875325223841 + "x": 176.17345116464503, + "y": 410.5061991131597, + "zoom": 0.7205422604177993 } }, "description": "Your AI Agent Accountant - Leverage Needle with Langflows Agent.", "endpoint_name": null, - "id": "94da35d5-a43e-4260-b205-9d0df477cb69", + "id": "58b6fe7e-22f9-47d8-b0aa-d7a9c752d423", "is_component": false, "last_tested_version": "1.2.0", "name": "Invoice Summarizer", - "tags": ["chatbots", "content-generation", "agent", "assistants", "agents"] -} + "tags": [ + "chatbots", + "content-generation", + "agent", + "assistants", + "agents" + ] +} \ No newline at end of file diff --git a/src/backend/base/langflow/initial_setup/starter_projects/LoopTemplate.json b/src/backend/base/langflow/initial_setup/starter_projects/LoopTemplate.json index bd0c039ac..30fc52207 100644 --- a/src/backend/base/langflow/initial_setup/starter_projects/LoopTemplate.json +++ b/src/backend/base/langflow/initial_setup/starter_projects/LoopTemplate.json @@ -7,23 +7,27 @@ "data": { "sourceHandle": { "dataType": "LoopComponent", - "id": "LoopComponent-QhsXW", + "id": "LoopComponent-Ayr6F", "name": "item", - "output_types": ["Data"] + "output_types": [ + "Data" + ] }, "targetHandle": { "fieldName": "data", - "id": "ParseData-x6wkY", - "inputTypes": ["Data"], + "id": "ParseData-4kg7C", + "inputTypes": [ + "Data" + ], "type": "other" } }, - "id": "reactflow__edge-LoopComponent-QhsXW{œdataTypeœ:œLoopComponentœ,œidœ:œLoopComponent-QhsXWœ,œnameœ:œitemœ,œoutput_typesœ:[œDataœ]}-ParseData-x6wkY{œfieldNameœ:œdataœ,œidœ:œParseData-x6wkYœ,œinputTypesœ:[œDataœ],œtypeœ:œotherœ}", + "id": "reactflow__edge-LoopComponent-Ayr6F{œdataTypeœ:œLoopComponentœ,œidœ:œLoopComponent-Ayr6Fœ,œnameœ:œitemœ,œoutput_typesœ:[œDataœ]}-ParseData-4kg7C{œfieldNameœ:œdataœ,œidœ:œParseData-4kg7Cœ,œinputTypesœ:[œDataœ],œtypeœ:œotherœ}", "selected": false, - "source": "LoopComponent-QhsXW", - "sourceHandle": "{œdataTypeœ: œLoopComponentœ, œidœ: œLoopComponent-QhsXWœ, œnameœ: œitemœ, œoutput_typesœ: [œDataœ]}", - "target": "ParseData-x6wkY", - "targetHandle": "{œfieldNameœ: œdataœ, œidœ: œParseData-x6wkYœ, œinputTypesœ: [œDataœ], œtypeœ: œotherœ}" + "source": "LoopComponent-Ayr6F", + "sourceHandle": "{œdataTypeœ:œLoopComponentœ,œidœ:œLoopComponent-Ayr6Fœ,œnameœ:œitemœ,œoutput_typesœ:[œDataœ]}", + "target": "ParseData-4kg7C", + "targetHandle": "{œfieldNameœ:œdataœ,œidœ:œParseData-4kg7Cœ,œinputTypesœ:[œDataœ],œtypeœ:œotherœ}" }, { "animated": false, @@ -31,23 +35,27 @@ "data": { "sourceHandle": { "dataType": "ParseData", - "id": "ParseData-x6wkY", + "id": "ParseData-4kg7C", "name": "text", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "AnthropicModel-uuAY6", - "inputTypes": ["Message"], + "id": "AnthropicModel-EIKEJ", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-ParseData-x6wkY{œdataTypeœ:œParseDataœ,œidœ:œParseData-x6wkYœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-AnthropicModel-uuAY6{œfieldNameœ:œinput_valueœ,œidœ:œAnthropicModel-uuAY6œ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-ParseData-4kg7C{œdataTypeœ:œParseDataœ,œidœ:œParseData-4kg7Cœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-AnthropicModel-EIKEJ{œfieldNameœ:œinput_valueœ,œidœ:œAnthropicModel-EIKEJœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "ParseData-x6wkY", - "sourceHandle": "{œdataTypeœ: œParseDataœ, œidœ: œParseData-x6wkYœ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}", - "target": "AnthropicModel-uuAY6", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œAnthropicModel-uuAY6œ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "source": "ParseData-4kg7C", + "sourceHandle": "{œdataTypeœ:œParseDataœ,œidœ:œParseData-4kg7Cœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}", + "target": "AnthropicModel-EIKEJ", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œAnthropicModel-EIKEJœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -55,23 +63,27 @@ "data": { "sourceHandle": { "dataType": "AnthropicModel", - "id": "AnthropicModel-uuAY6", + "id": "AnthropicModel-EIKEJ", "name": "text_output", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "message", - "id": "MessagetoData-9Kbcj", - "inputTypes": ["Message"], + "id": "MessagetoData-XJar4", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-AnthropicModel-uuAY6{œdataTypeœ:œAnthropicModelœ,œidœ:œAnthropicModel-uuAY6œ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-MessagetoData-9Kbcj{œfieldNameœ:œmessageœ,œidœ:œMessagetoData-9Kbcjœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-AnthropicModel-EIKEJ{œdataTypeœ:œAnthropicModelœ,œidœ:œAnthropicModel-EIKEJœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-MessagetoData-XJar4{œfieldNameœ:œmessageœ,œidœ:œMessagetoData-XJar4œ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "AnthropicModel-uuAY6", - "sourceHandle": "{œdataTypeœ: œAnthropicModelœ, œidœ: œAnthropicModel-uuAY6œ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}", - "target": "MessagetoData-9Kbcj", - "targetHandle": "{œfieldNameœ: œmessageœ, œidœ: œMessagetoData-9Kbcjœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "source": "AnthropicModel-EIKEJ", + "sourceHandle": "{œdataTypeœ:œAnthropicModelœ,œidœ:œAnthropicModel-EIKEJœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}", + "target": "MessagetoData-XJar4", + "targetHandle": "{œfieldNameœ:œmessageœ,œidœ:œMessagetoData-XJar4œ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -79,23 +91,27 @@ "data": { "sourceHandle": { "dataType": "MessagetoData", - "id": "MessagetoData-9Kbcj", + "id": "MessagetoData-XJar4", "name": "data", - "output_types": ["Data"] + "output_types": [ + "Data" + ] }, "targetHandle": { "dataType": "LoopComponent", - "id": "LoopComponent-QhsXW", + "id": "LoopComponent-Ayr6F", "name": "item", - "output_types": ["Data"] + "output_types": [ + "Data" + ] } }, - "id": "reactflow__edge-MessagetoData-9Kbcj{œdataTypeœ:œMessagetoDataœ,œidœ:œMessagetoData-9Kbcjœ,œnameœ:œdataœ,œoutput_typesœ:[œDataœ]}-LoopComponent-QhsXW{œdataTypeœ:œLoopComponentœ,œidœ:œLoopComponent-QhsXWœ,œnameœ:œitemœ,œoutput_typesœ:[œDataœ]}", + "id": "reactflow__edge-MessagetoData-XJar4{œdataTypeœ:œMessagetoDataœ,œidœ:œMessagetoData-XJar4œ,œnameœ:œdataœ,œoutput_typesœ:[œDataœ]}-LoopComponent-Ayr6F{œdataTypeœ:œLoopComponentœ,œidœ:œLoopComponent-Ayr6Fœ,œnameœ:œitemœ,œoutput_typesœ:[œDataœ]}", "selected": false, - "source": "MessagetoData-9Kbcj", - "sourceHandle": "{œdataTypeœ: œMessagetoDataœ, œidœ: œMessagetoData-9Kbcjœ, œnameœ: œdataœ, œoutput_typesœ: [œDataœ]}", - "target": "LoopComponent-QhsXW", - "targetHandle": "{œdataTypeœ: œLoopComponentœ, œidœ: œLoopComponent-QhsXWœ, œnameœ: œitemœ, œoutput_typesœ: [œDataœ]}" + "source": "MessagetoData-XJar4", + "sourceHandle": "{œdataTypeœ:œMessagetoDataœ,œidœ:œMessagetoData-XJar4œ,œnameœ:œdataœ,œoutput_typesœ:[œDataœ]}", + "target": "LoopComponent-Ayr6F", + "targetHandle": "{œdataTypeœ:œLoopComponentœ,œidœ:œLoopComponent-Ayr6Fœ,œnameœ:œitemœ,œoutput_typesœ:[œDataœ]}" }, { "animated": false, @@ -103,23 +119,27 @@ "data": { "sourceHandle": { "dataType": "LoopComponent", - "id": "LoopComponent-QhsXW", + "id": "LoopComponent-Ayr6F", "name": "done", - "output_types": ["Data"] + "output_types": [ + "Data" + ] }, "targetHandle": { "fieldName": "data", - "id": "ParseData-NpCtQ", - "inputTypes": ["Data"], + "id": "ParseData-jfscS", + "inputTypes": [ + "Data" + ], "type": "other" } }, - "id": "reactflow__edge-LoopComponent-QhsXW{œdataTypeœ:œLoopComponentœ,œidœ:œLoopComponent-QhsXWœ,œnameœ:œdoneœ,œoutput_typesœ:[œDataœ]}-ParseData-NpCtQ{œfieldNameœ:œdataœ,œidœ:œParseData-NpCtQœ,œinputTypesœ:[œDataœ],œtypeœ:œotherœ}", + "id": "reactflow__edge-LoopComponent-Ayr6F{œdataTypeœ:œLoopComponentœ,œidœ:œLoopComponent-Ayr6Fœ,œnameœ:œdoneœ,œoutput_typesœ:[œDataœ]}-ParseData-jfscS{œfieldNameœ:œdataœ,œidœ:œParseData-jfscSœ,œinputTypesœ:[œDataœ],œtypeœ:œotherœ}", "selected": false, - "source": "LoopComponent-QhsXW", - "sourceHandle": "{œdataTypeœ: œLoopComponentœ, œidœ: œLoopComponent-QhsXWœ, œnameœ: œdoneœ, œoutput_typesœ: [œDataœ]}", - "target": "ParseData-NpCtQ", - "targetHandle": "{œfieldNameœ: œdataœ, œidœ: œParseData-NpCtQœ, œinputTypesœ: [œDataœ], œtypeœ: œotherœ}" + "source": "LoopComponent-Ayr6F", + "sourceHandle": "{œdataTypeœ:œLoopComponentœ,œidœ:œLoopComponent-Ayr6Fœ,œnameœ:œdoneœ,œoutput_typesœ:[œDataœ]}", + "target": "ParseData-jfscS", + "targetHandle": "{œfieldNameœ:œdataœ,œidœ:œParseData-jfscSœ,œinputTypesœ:[œDataœ],œtypeœ:œotherœ}" }, { "animated": false, @@ -127,23 +147,29 @@ "data": { "sourceHandle": { "dataType": "ParseData", - "id": "ParseData-NpCtQ", + "id": "ParseData-jfscS", "name": "text", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "ChatOutput-Uq5M0", - "inputTypes": ["Data", "DataFrame", "Message"], + "id": "ChatOutput-B66b2", + "inputTypes": [ + "Data", + "DataFrame", + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-ParseData-NpCtQ{œdataTypeœ:œParseDataœ,œidœ:œParseData-NpCtQœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-Uq5M0{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-Uq5M0œ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-ParseData-jfscS{œdataTypeœ:œParseDataœ,œidœ:œParseData-jfscSœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-B66b2{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-B66b2œ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "ParseData-NpCtQ", - "sourceHandle": "{œdataTypeœ: œParseDataœ, œidœ: œParseData-NpCtQœ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}", - "target": "ChatOutput-Uq5M0", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-Uq5M0œ, œinputTypesœ: [œDataœ, œDataFrameœ, œMessageœ], œtypeœ: œstrœ}" + "source": "ParseData-jfscS", + "sourceHandle": "{œdataTypeœ:œParseDataœ,œidœ:œParseData-jfscSœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}", + "target": "ChatOutput-B66b2", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-B66b2œ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -151,52 +177,65 @@ "data": { "sourceHandle": { "dataType": "ChatInput", - "id": "ChatInput-doR66", + "id": "ChatInput-2VCkW", "name": "message", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "search_query", - "id": "ArXivComponent-Vwek5", - "inputTypes": ["Message"], + "id": "ArXivComponent-qDXvl", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-ChatInput-doR66{œdataTypeœ:œChatInputœ,œidœ:œChatInput-doR66œ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-ArXivComponent-Vwek5{œfieldNameœ:œsearch_queryœ,œidœ:œArXivComponent-Vwek5œ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-ChatInput-2VCkW{œdataTypeœ:œChatInputœ,œidœ:œChatInput-2VCkWœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-ArXivComponent-qDXvl{œfieldNameœ:œsearch_queryœ,œidœ:œArXivComponent-qDXvlœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "ChatInput-doR66", - "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-doR66œ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", - "target": "ArXivComponent-Vwek5", - "targetHandle": "{œfieldNameœ: œsearch_queryœ, œidœ: œArXivComponent-Vwek5œ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "source": "ChatInput-2VCkW", + "sourceHandle": "{œdataTypeœ:œChatInputœ,œidœ:œChatInput-2VCkWœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}", + "target": "ArXivComponent-qDXvl", + "targetHandle": "{œfieldNameœ:œsearch_queryœ,œidœ:œArXivComponent-qDXvlœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { + "animated": false, + "className": "", "data": { "sourceHandle": { "dataType": "ArXivComponent", - "id": "ArXivComponent-Vwek5", + "id": "ArXivComponent-qDXvl", "name": "data", - "output_types": ["Data"] + "output_types": [ + "Data" + ] }, "targetHandle": { "fieldName": "data", - "id": "LoopComponent-QhsXW", - "inputTypes": ["Data"], + "id": "LoopComponent-Ayr6F", + "inputTypes": [ + "Data" + ], "type": "other" } }, - "id": "xy-edge__ArXivComponent-Vwek5{œdataTypeœ:œArXivComponentœ,œidœ:œArXivComponent-Vwek5œ,œnameœ:œdataœ,œoutput_typesœ:[œDataœ]}-LoopComponent-QhsXW{œfieldNameœ:œdataœ,œidœ:œLoopComponent-QhsXWœ,œinputTypesœ:[œDataœ],œtypeœ:œotherœ}", - "source": "ArXivComponent-Vwek5", - "sourceHandle": "{œdataTypeœ: œArXivComponentœ, œidœ: œArXivComponent-Vwek5œ, œnameœ: œdataœ, œoutput_typesœ: [œDataœ]}", - "target": "LoopComponent-QhsXW", - "targetHandle": "{œfieldNameœ: œdataœ, œidœ: œLoopComponent-QhsXWœ, œinputTypesœ: [œDataœ], œtypeœ: œotherœ}" + "id": "reactflow__edge-ArXivComponent-qDXvl{œdataTypeœ:œArXivComponentœ,œidœ:œArXivComponent-qDXvlœ,œnameœ:œdataœ,œoutput_typesœ:[œDataœ]}-LoopComponent-Ayr6F{œfieldNameœ:œdataœ,œidœ:œLoopComponent-Ayr6Fœ,œinputTypesœ:[œDataœ],œtypeœ:œotherœ}", + "selected": false, + "source": "ArXivComponent-qDXvl", + "sourceHandle": "{œdataTypeœ:œArXivComponentœ,œidœ:œArXivComponent-qDXvlœ,œnameœ:œdataœ,œoutput_typesœ:[œDataœ]}", + "target": "LoopComponent-Ayr6F", + "targetHandle": "{œfieldNameœ:œdataœ,œidœ:œLoopComponent-Ayr6Fœ,œinputTypesœ:[œDataœ],œtypeœ:œotherœ}" } ], "nodes": [ { "data": { - "id": "ArXivComponent-Vwek5", + "id": "ArXivComponent-qDXvl", "node": { - "base_classes": ["Data"], + "base_classes": [ + "Data" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -204,7 +243,11 @@ "display_name": "arXiv", "documentation": "", "edited": false, - "field_order": ["search_query", "search_type", "max_results"], + "field_order": [ + "search_query", + "search_type", + "max_results" + ], "frozen": false, "icon": "arXiv", "legacy": false, @@ -221,7 +264,9 @@ "name": "data", "selected": "Data", "tool_mode": true, - "types": ["Data"], + "types": [ + "Data" + ], "value": "__UNDEFINED__" }, { @@ -232,7 +277,9 @@ "name": "dataframe", "selected": "DataFrame", "tool_mode": true, - "types": ["DataFrame"], + "types": [ + "DataFrame" + ], "value": "__UNDEFINED__" } ], @@ -281,7 +328,9 @@ "display_name": "Search Query", "dynamic": false, "info": "The search query for arXiv papers (e.g., 'quantum computing')", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -305,7 +354,13 @@ "dynamic": false, "info": "The field to search in", "name": "search_type", - "options": ["all", "title", "abstract", "author", "cat"], + "options": [ + "all", + "title", + "abstract", + "author", + "cat" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -323,10 +378,10 @@ "type": "ArXivComponent" }, "dragging": false, - "id": "ArXivComponent-Vwek5", + "id": "ArXivComponent-qDXvl", "measured": { - "height": 495, - "width": 360 + "height": 443, + "width": 320 }, "position": { "x": 81.59312530546094, @@ -337,9 +392,11 @@ }, { "data": { - "id": "LoopComponent-QhsXW", + "id": "LoopComponent-Ayr6F", "node": { - "base_classes": ["Data"], + "base_classes": [ + "Data" + ], "beta": false, "category": "logic", "conditional_paths": [], @@ -348,7 +405,9 @@ "display_name": "Loop", "documentation": "", "edited": false, - "field_order": ["data"], + "field_order": [ + "data" + ], "frozen": false, "icon": "infinity", "key": "LoopComponent", @@ -366,7 +425,9 @@ "name": "item", "selected": "Data", "tool_mode": true, - "types": ["Data"], + "types": [ + "Data" + ], "value": "__UNDEFINED__" }, { @@ -377,7 +438,9 @@ "name": "done", "selected": "Data", "tool_mode": true, - "types": ["Data"], + "types": [ + "Data" + ], "value": "__UNDEFINED__" } ], @@ -409,7 +472,9 @@ "display_name": "Data", "dynamic": false, "info": "The initial list of Data objects to iterate over.", - "input_types": ["Data"], + "input_types": [ + "Data" + ], "list": false, "list_add_label": "Add More", "name": "data", @@ -430,10 +495,10 @@ "type": "LoopComponent" }, "dragging": false, - "id": "LoopComponent-QhsXW", + "id": "LoopComponent-Ayr6F", "measured": { - "height": 314, - "width": 360 + "height": 280, + "width": 320 }, "position": { "x": 517.2087344858119, @@ -444,9 +509,12 @@ }, { "data": { - "id": "ParseData-x6wkY", + "id": "ParseData-4kg7C", "node": { - "base_classes": ["Data", "Message"], + "base_classes": [ + "Data", + "Message" + ], "beta": false, "category": "processing", "conditional_paths": [], @@ -455,7 +523,11 @@ "display_name": "Data to Message", "documentation": "", "edited": false, - "field_order": ["data", "template", "sep"], + "field_order": [ + "data", + "template", + "sep" + ], "frozen": false, "icon": "message-square", "key": "ParseData", @@ -475,7 +547,9 @@ "name": "text", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" }, { @@ -486,7 +560,9 @@ "name": "data_list", "selected": "Data", "tool_mode": true, - "types": ["Data"], + "types": [ + "Data" + ], "value": "__UNDEFINED__" } ], @@ -518,7 +594,9 @@ "display_name": "Data", "dynamic": false, "info": "The data to convert to text.", - "input_types": ["Data"], + "input_types": [ + "Data" + ], "list": true, "list_add_label": "Add More", "name": "data", @@ -557,7 +635,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -580,10 +660,10 @@ "type": "ParseData" }, "dragging": false, - "id": "ParseData-x6wkY", + "id": "ParseData-4kg7C", "measured": { - "height": 383, - "width": 360 + "height": 342, + "width": 320 }, "position": { "x": 996.5733307455723, @@ -594,9 +674,12 @@ }, { "data": { - "id": "AnthropicModel-uuAY6", + "id": "AnthropicModel-EIKEJ", "node": { - "base_classes": ["LanguageModel", "Message"], + "base_classes": [ + "LanguageModel", + "Message" + ], "beta": false, "category": "models", "conditional_paths": [], @@ -630,24 +713,34 @@ "allows_loop": false, "cache": true, "display_name": "Message", + "hidden": null, "method": "text_response", "name": "text_output", + "options": null, "required_inputs": [], "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" }, { "allows_loop": false, "cache": true, "display_name": "Language Model", + "hidden": null, "method": "build_model", "name": "model_output", - "required_inputs": ["api_key"], + "options": null, + "required_inputs": [ + "api_key" + ], "selected": "LanguageModel", "tool_mode": true, - "types": ["LanguageModel"], + "types": [ + "LanguageModel" + ], "value": "__UNDEFINED__" } ], @@ -661,7 +754,9 @@ "display_name": "Anthropic API Key", "dynamic": false, "info": "Your Anthropic API key.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "load_from_db": true, "name": "api_key", "password": true, @@ -671,7 +766,7 @@ "show": true, "title_case": false, "type": "str", - "value": "" + "value": "ANTHROPIC_API_KEY" }, "base_url": { "_input_type": "MessageTextInput", @@ -679,7 +774,9 @@ "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, @@ -719,7 +816,9 @@ "display_name": "Input", "dynamic": false, "info": "", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -788,7 +887,9 @@ "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, @@ -827,7 +928,9 @@ "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, @@ -897,10 +1000,10 @@ "type": "AnthropicModel" }, "dragging": false, - "id": "AnthropicModel-uuAY6", + "id": "AnthropicModel-EIKEJ", "measured": { - "height": 896, - "width": 360 + "height": 670, + "width": 320 }, "position": { "x": 1493.0259340837038, @@ -911,9 +1014,11 @@ }, { "data": { - "id": "MessagetoData-9Kbcj", + "id": "MessagetoData-XJar4", "node": { - "base_classes": ["Data"], + "base_classes": [ + "Data" + ], "beta": true, "category": "processing", "conditional_paths": [], @@ -922,7 +1027,9 @@ "display_name": "Message to Data", "documentation": "", "edited": false, - "field_order": ["message"], + "field_order": [ + "message" + ], "frozen": false, "icon": "message-square-share", "key": "MessagetoData", @@ -940,7 +1047,9 @@ "name": "data", "selected": "Data", "tool_mode": true, - "types": ["Data"], + "types": [ + "Data" + ], "value": "__UNDEFINED__" } ], @@ -972,7 +1081,9 @@ "display_name": "Message", "dynamic": false, "info": "The Message object to convert to a Data object", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -994,10 +1105,10 @@ "type": "MessagetoData" }, "dragging": false, - "id": "MessagetoData-9Kbcj", + "id": "MessagetoData-XJar4", "measured": { - "height": 257, - "width": 360 + "height": 230, + "width": 320 }, "position": { "x": 1863.8805295746977, @@ -1008,9 +1119,12 @@ }, { "data": { - "id": "ParseData-NpCtQ", + "id": "ParseData-jfscS", "node": { - "base_classes": ["Data", "Message"], + "base_classes": [ + "Data", + "Message" + ], "beta": false, "category": "processing", "conditional_paths": [], @@ -1019,7 +1133,11 @@ "display_name": "Data to Message", "documentation": "", "edited": false, - "field_order": ["data", "template", "sep"], + "field_order": [ + "data", + "template", + "sep" + ], "frozen": false, "icon": "message-square", "key": "ParseData", @@ -1039,7 +1157,9 @@ "name": "text", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" }, { @@ -1050,7 +1170,9 @@ "name": "data_list", "selected": "Data", "tool_mode": true, - "types": ["Data"], + "types": [ + "Data" + ], "value": "__UNDEFINED__" } ], @@ -1082,7 +1204,9 @@ "display_name": "Data", "dynamic": false, "info": "The data to convert to text.", - "input_types": ["Data"], + "input_types": [ + "Data" + ], "list": true, "list_add_label": "Add More", "name": "data", @@ -1121,7 +1245,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -1144,10 +1270,10 @@ "type": "ParseData" }, "dragging": false, - "id": "ParseData-NpCtQ", + "id": "ParseData-jfscS", "measured": { - "height": 383, - "width": 360 + "height": 342, + "width": 320 }, "position": { "x": 982.6945056277784, @@ -1158,9 +1284,11 @@ }, { "data": { - "id": "ChatOutput-Uq5M0", + "id": "ChatOutput-B66b2", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -1195,7 +1323,9 @@ "name": "message", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -1208,7 +1338,9 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1229,7 +1361,9 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1286,7 +1420,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -1307,7 +1443,11 @@ "display_name": "Text", "dynamic": false, "info": "Message to be passed as output.", - "input_types": ["Data", "DataFrame", "Message"], + "input_types": [ + "Data", + "DataFrame", + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1331,7 +1471,10 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": ["Machine", "User"], + "options": [ + "Machine", + "User" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -1348,7 +1491,9 @@ "display_name": "Sender Name", "dynamic": false, "info": "Name of the sender.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1369,7 +1514,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -1408,7 +1555,9 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1430,10 +1579,10 @@ "type": "ChatOutput" }, "dragging": false, - "id": "ChatOutput-Uq5M0", + "id": "ChatOutput-B66b2", "measured": { - "height": 74, - "width": 216 + "height": 66, + "width": 192 }, "position": { "x": 1498.3739454769902, @@ -1444,9 +1593,11 @@ }, { "data": { - "id": "ChatInput-doR66", + "id": "ChatInput-2VCkW", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -1481,7 +1632,9 @@ "name": "message", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -1494,7 +1647,9 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1515,7 +1670,9 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1623,7 +1780,10 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": ["Machine", "User"], + "options": [ + "Machine", + "User" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -1640,7 +1800,9 @@ "display_name": "Sender Name", "dynamic": false, "info": "Name of the sender.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1661,7 +1823,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -1700,7 +1864,9 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1722,10 +1888,10 @@ "type": "ChatInput" }, "dragging": false, - "id": "ChatInput-doR66", + "id": "ChatInput-2VCkW", "measured": { - "height": 74, - "width": 216 + "height": 66, + "width": 192 }, "position": { "x": -235.49853728839307, @@ -1736,7 +1902,7 @@ }, { "data": { - "id": "note-MMi4A", + "id": "note-yeBjr", "node": { "description": "### 💡 Add your Anthropic API key here 👇", "display_name": "", @@ -1749,10 +1915,10 @@ }, "dragging": false, "height": 324, - "id": "note-MMi4A", + "id": "note-yeBjr", "measured": { "height": 324, - "width": 361 + "width": 358 }, "position": { "x": 1479.4278434913201, @@ -1765,7 +1931,7 @@ }, { "data": { - "id": "note-CBAXQ", + "id": "note-Mkx31", "node": { "description": "# **Langflow Loop Component Template - ArXiv search result Translator** \nThis template translates research paper summaries on ArXiv into Portuguese and summarizes them. \n Using **Langflow’s looping mechanism**, the template iterates through multiple research papers, translates them with the **Anthropic** model component, and outputs an aggregated version of all translated papers. \n\n## Quickstart \n 1. Add your Anthropic API key to the **Anthropic** component. \n2. In the **Playground**, enter a query related to a research topic (for example, “Quantum Computing Advancements”). \n\n The flow fetches a list of research papers from ArXiv matching the query. Each paper in the retrieved list is processed one-by-one using the Langflow **Loop component**. \n\n The abstract of each paper is translated into Portuguese by the **Anthropic** model component. \n\n Once all papers are translated, the system aggregates them into a **single structured output**.", "display_name": "", @@ -1776,10 +1942,10 @@ }, "dragging": false, "height": 647, - "id": "note-CBAXQ", + "id": "note-Mkx31", "measured": { "height": 647, - "width": 580 + "width": 577 }, "position": { "x": -890.9006297459302, @@ -1792,18 +1958,19 @@ } ], "viewport": { - "x": 379.5589874665091, - "y": 421.54787373656177, - "zoom": 0.4567705571748025 + "x": 437.2271770749776, + "y": 389.23678827947083, + "zoom": 0.42811620344860135 } }, "description": "This template iterates over search results using LoopComponent and translates each result into Portuguese automatically. 🚀", - "endpoint_name": "search_loop", - "gradient": "3", - "icon": "Infinity", - "id": "a004bc07-f6ca-4a02-b8f8-7fb8ebaed7b0", + "endpoint_name": null, + "id": "aa7539cb-9c2e-4d25-b5df-c107a60591a1", "is_component": false, - "last_tested_version": "1.1.5", + "last_tested_version": "1.2.0", "name": "Research Translation Loop", - "tags": ["chatbots", "content-generation"] -} + "tags": [ + "chatbots", + "content-generation" + ] +} \ No newline at end of file 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 cc2933fb6..6c7e39100 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 @@ -7,23 +7,27 @@ "data": { "sourceHandle": { "dataType": "StructuredOutputComponent", - "id": "StructuredOutputComponent-Kqbq4", + "id": "StructuredOutputComponent-HNJw1", "name": "structured_output", - "output_types": ["Data"] + "output_types": [ + "Data" + ] }, "targetHandle": { "fieldName": "data", - "id": "ParseData-7XOFR", - "inputTypes": ["Data"], + "id": "ParseData-7nw3f", + "inputTypes": [ + "Data" + ], "type": "other" } }, - "id": "reactflow__edge-StructuredOutputComponent-Kqbq4{œdataTypeœ:œStructuredOutputComponentœ,œidœ:œStructuredOutputComponent-Kqbq4œ,œnameœ:œstructured_outputœ,œoutput_typesœ:[œDataœ]}-ParseData-7XOFR{œfieldNameœ:œdataœ,œidœ:œParseData-7XOFRœ,œinputTypesœ:[œDataœ],œtypeœ:œotherœ}", + "id": "reactflow__edge-StructuredOutputComponent-HNJw1{œdataTypeœ:œStructuredOutputComponentœ,œidœ:œStructuredOutputComponent-HNJw1œ,œnameœ:œstructured_outputœ,œoutput_typesœ:[œDataœ]}-ParseData-7nw3f{œfieldNameœ:œdataœ,œidœ:œParseData-7nw3fœ,œinputTypesœ:[œDataœ],œtypeœ:œotherœ}", "selected": false, - "source": "StructuredOutputComponent-Kqbq4", - "sourceHandle": "{œdataTypeœ: œStructuredOutputComponentœ, œidœ: œStructuredOutputComponent-Kqbq4œ, œnameœ: œstructured_outputœ, œoutput_typesœ: [œDataœ]}", - "target": "ParseData-7XOFR", - "targetHandle": "{œfieldNameœ: œdataœ, œidœ: œParseData-7XOFRœ, œinputTypesœ: [œDataœ], œtypeœ: œotherœ}" + "source": "StructuredOutputComponent-HNJw1", + "sourceHandle": "{œdataTypeœ:œStructuredOutputComponentœ,œidœ:œStructuredOutputComponent-HNJw1œ,œnameœ:œstructured_outputœ,œoutput_typesœ:[œDataœ]}", + "target": "ParseData-7nw3f", + "targetHandle": "{œfieldNameœ:œdataœ,œidœ:œParseData-7nw3fœ,œinputTypesœ:[œDataœ],œtypeœ:œotherœ}" }, { "animated": false, @@ -31,23 +35,27 @@ "data": { "sourceHandle": { "dataType": "ChatInput", - "id": "ChatInput-tMLRq", + "id": "ChatInput-hLHl2", "name": "message", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "Agent-dcKuR", - "inputTypes": ["Message"], + "id": "Agent-ZlvTd", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-ChatInput-tMLRq{œdataTypeœ:œChatInputœ,œidœ:œChatInput-tMLRqœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-Agent-dcKuR{œfieldNameœ:œinput_valueœ,œidœ:œAgent-dcKuRœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-ChatInput-hLHl2{œdataTypeœ:œChatInputœ,œidœ:œChatInput-hLHl2œ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-Agent-ZlvTd{œfieldNameœ:œinput_valueœ,œidœ:œAgent-ZlvTdœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "ChatInput-tMLRq", - "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-tMLRqœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", - "target": "Agent-dcKuR", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œAgent-dcKuRœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "source": "ChatInput-hLHl2", + "sourceHandle": "{œdataTypeœ:œChatInputœ,œidœ:œChatInput-hLHl2œ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}", + "target": "Agent-ZlvTd", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œAgent-ZlvTdœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -55,23 +63,27 @@ "data": { "sourceHandle": { "dataType": "Agent", - "id": "Agent-dcKuR", + "id": "Agent-ZlvTd", "name": "response", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "StructuredOutputComponent-Kqbq4", - "inputTypes": ["Message"], + "id": "StructuredOutputComponent-HNJw1", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-Agent-dcKuR{œdataTypeœ:œAgentœ,œidœ:œAgent-dcKuRœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-StructuredOutputComponent-Kqbq4{œfieldNameœ:œinput_valueœ,œidœ:œStructuredOutputComponent-Kqbq4œ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-Agent-ZlvTd{œdataTypeœ:œAgentœ,œidœ:œAgent-ZlvTdœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-StructuredOutputComponent-HNJw1{œfieldNameœ:œinput_valueœ,œidœ:œStructuredOutputComponent-HNJw1œ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "Agent-dcKuR", - "sourceHandle": "{œdataTypeœ: œAgentœ, œidœ: œAgent-dcKuRœ, œnameœ: œresponseœ, œoutput_typesœ: [œMessageœ]}", - "target": "StructuredOutputComponent-Kqbq4", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œStructuredOutputComponent-Kqbq4œ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "source": "Agent-ZlvTd", + "sourceHandle": "{œdataTypeœ:œAgentœ,œidœ:œAgent-ZlvTdœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}", + "target": "StructuredOutputComponent-HNJw1", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œStructuredOutputComponent-HNJw1œ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -79,22 +91,27 @@ "data": { "sourceHandle": { "dataType": "TavilySearchComponent", - "id": "TavilySearchComponent-cGK9T", + "id": "TavilySearchComponent-Fl2MN", "name": "component_as_tool", - "output_types": ["Tool"] + "output_types": [ + "Tool" + ] }, "targetHandle": { "fieldName": "tools", - "id": "Agent-dcKuR", - "inputTypes": ["Tool"], + "id": "Agent-ZlvTd", + "inputTypes": [ + "Tool" + ], "type": "other" } }, - "id": "reactflow__edge-TavilySearchComponent-cGK9T{œdataTypeœ:œTavilySearchComponentœ,œidœ:œTavilySearchComponent-cGK9Tœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-dcKuR{œfieldNameœ:œtoolsœ,œidœ:œAgent-dcKuRœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", - "source": "TavilySearchComponent-cGK9T", - "sourceHandle": "{œdataTypeœ: œTavilySearchComponentœ, œidœ: œTavilySearchComponent-cGK9Tœ, œnameœ: œcomponent_as_toolœ, œoutput_typesœ: [œToolœ]}", - "target": "Agent-dcKuR", - "targetHandle": "{œfieldNameœ: œtoolsœ, œidœ: œAgent-dcKuRœ, œinputTypesœ: [œToolœ], œtypeœ: œotherœ}" + "id": "reactflow__edge-TavilySearchComponent-Fl2MN{œdataTypeœ:œTavilySearchComponentœ,œidœ:œTavilySearchComponent-Fl2MNœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-ZlvTd{œfieldNameœ:œtoolsœ,œidœ:œAgent-ZlvTdœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", + "selected": false, + "source": "TavilySearchComponent-Fl2MN", + "sourceHandle": "{œdataTypeœ:œTavilySearchComponentœ,œidœ:œTavilySearchComponent-Fl2MNœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}", + "target": "Agent-ZlvTd", + "targetHandle": "{œfieldNameœ:œtoolsœ,œidœ:œAgent-ZlvTdœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}" }, { "animated": false, @@ -102,43 +119,57 @@ "data": { "sourceHandle": { "dataType": "OpenAIModel", - "id": "OpenAIModel-prL67", + "id": "OpenAIModel-GOv57", "name": "model_output", - "output_types": ["LanguageModel"] + "output_types": [ + "LanguageModel" + ] }, "targetHandle": { "fieldName": "llm", - "id": "StructuredOutputComponent-Kqbq4", - "inputTypes": ["LanguageModel"], + "id": "StructuredOutputComponent-HNJw1", + "inputTypes": [ + "LanguageModel" + ], "type": "other" } }, - "id": "reactflow__edge-OpenAIModel-prL67{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-prL67œ,œnameœ:œmodel_outputœ,œoutput_typesœ:[œLanguageModelœ]}-StructuredOutputComponent-Kqbq4{œfieldNameœ:œllmœ,œidœ:œStructuredOutputComponent-Kqbq4œ,œinputTypesœ:[œLanguageModelœ],œtypeœ:œotherœ}", - "source": "OpenAIModel-prL67", - "sourceHandle": "{œdataTypeœ: œOpenAIModelœ, œidœ: œOpenAIModel-prL67œ, œnameœ: œmodel_outputœ, œoutput_typesœ: [œLanguageModelœ]}", - "target": "StructuredOutputComponent-Kqbq4", - "targetHandle": "{œfieldNameœ: œllmœ, œidœ: œStructuredOutputComponent-Kqbq4œ, œinputTypesœ: [œLanguageModelœ], œtypeœ: œotherœ}" + "id": "reactflow__edge-OpenAIModel-GOv57{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-GOv57œ,œnameœ:œmodel_outputœ,œoutput_typesœ:[œLanguageModelœ]}-StructuredOutputComponent-HNJw1{œfieldNameœ:œllmœ,œidœ:œStructuredOutputComponent-HNJw1œ,œinputTypesœ:[œLanguageModelœ],œtypeœ:œotherœ}", + "selected": false, + "source": "OpenAIModel-GOv57", + "sourceHandle": "{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-GOv57œ,œnameœ:œmodel_outputœ,œoutput_typesœ:[œLanguageModelœ]}", + "target": "StructuredOutputComponent-HNJw1", + "targetHandle": "{œfieldNameœ:œllmœ,œidœ:œStructuredOutputComponent-HNJw1œ,œinputTypesœ:[œLanguageModelœ],œtypeœ:œotherœ}" }, { + "animated": false, + "className": "", "data": { "sourceHandle": { "dataType": "ParseData", - "id": "ParseData-7XOFR", + "id": "ParseData-7nw3f", "name": "text", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "ChatOutput-JrLxU", - "inputTypes": ["Data", "DataFrame", "Message"], + "id": "ChatOutput-F8JI7", + "inputTypes": [ + "Data", + "DataFrame", + "Message" + ], "type": "str" } }, - "id": "xy-edge__ParseData-7XOFR{œdataTypeœ:œParseDataœ,œidœ:œParseData-7XOFRœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-JrLxU{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-JrLxUœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}", - "source": "ParseData-7XOFR", - "sourceHandle": "{œdataTypeœ: œParseDataœ, œidœ: œParseData-7XOFRœ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}", - "target": "ChatOutput-JrLxU", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-JrLxUœ, œinputTypesœ: [œDataœ, œDataFrameœ, œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-ParseData-7nw3f{œdataTypeœ:œParseDataœ,œidœ:œParseData-7nw3fœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-F8JI7{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-F8JI7œ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}", + "selected": false, + "source": "ParseData-7nw3f", + "sourceHandle": "{œdataTypeœ:œParseDataœ,œidœ:œParseData-7nw3fœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}", + "target": "ChatOutput-F8JI7", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-F8JI7œ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}" } ], "nodes": [ @@ -146,9 +177,11 @@ "data": { "description": "Get chat inputs from the Playground.", "display_name": "Chat Input", - "id": "ChatInput-tMLRq", + "id": "ChatInput-hLHl2", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -182,7 +215,9 @@ "name": "message", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -195,7 +230,9 @@ "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", @@ -214,7 +251,9 @@ "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", @@ -316,7 +355,10 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": ["Machine", "User"], + "options": [ + "Machine", + "User" + ], "placeholder": "", "required": false, "show": true, @@ -331,7 +373,9 @@ "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", @@ -350,7 +394,9 @@ "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", @@ -385,7 +431,9 @@ "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", @@ -404,10 +452,10 @@ }, "dragging": false, "height": 234, - "id": "ChatInput-tMLRq", + "id": "ChatInput-hLHl2", "measured": { "height": 234, - "width": 360 + "width": 320 }, "position": { "x": 472.38251755471583, @@ -425,9 +473,11 @@ "data": { "description": "Display a chat message in the Playground.", "display_name": "Chat Output", - "id": "ChatOutput-JrLxU", + "id": "ChatOutput-F8JI7", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -461,7 +511,9 @@ "name": "message", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -474,7 +526,9 @@ "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", @@ -494,7 +548,9 @@ "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", @@ -550,7 +606,9 @@ "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", @@ -570,7 +628,11 @@ "display_name": "Text", "dynamic": false, "info": "Message to be passed as output.", - "input_types": ["Data", "DataFrame", "Message"], + "input_types": [ + "Data", + "DataFrame", + "Message" + ], "list": false, "load_from_db": false, "name": "input_value", @@ -591,7 +653,10 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": ["Machine", "User"], + "options": [ + "Machine", + "User" + ], "placeholder": "", "required": false, "show": true, @@ -607,7 +672,9 @@ "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", @@ -627,7 +694,9 @@ "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", @@ -663,7 +732,9 @@ "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", @@ -684,10 +755,10 @@ }, "dragging": false, "height": 234, - "id": "ChatOutput-JrLxU", + "id": "ChatOutput-F8JI7", "measured": { "height": 234, - "width": 360 + "width": 320 }, "position": { "x": 2518.282039019285, @@ -697,13 +768,13 @@ "x": 2518.282039019285, "y": 855.3686932779933 }, - "selected": true, + "selected": false, "type": "genericNode", "width": 320 }, { "data": { - "id": "note-IHTZn", + "id": "note-EQ8do", "node": { "description": "The StructuredOutputComponent, when utilized with our company information schema, performs the following functions:\n\n1. Accepts an input query regarding a company.\n2. Employs a Language Model (LLM) to analyze the query.\n3. Instructs the LLM to generate a structured response adhering to the predefined schema:\n - Domain\n - LinkedIn URL\n - Cheapest Plan\n - Has Free Trial\n - Has Enterprise Plan\n - Has API\n - Market\n - Pricing Tiers\n - Key Features\n - Target Industries\n\n4. Validates the LLM output against this schema.\n5. Returns a Data object containing the company information structured according to the schema.\n\nIn essence, this component transforms a free-text query about a company into a structured, consistent dataset, facilitating subsequent analysis and application of the information.", "display_name": "", @@ -716,14 +787,14 @@ }, "dragging": false, "height": 324, - "id": "note-IHTZn", + "id": "note-EQ8do", "measured": { "height": 324, - "width": 328 + "width": 325 }, "position": { - "x": 2089.5869930853464, - "y": 311.41660832449514 + "x": 2130.958950603199, + "y": 421.74182837210094 }, "positionAbsolute": { "x": 2089.5869930853464, @@ -740,7 +811,7 @@ }, { "data": { - "id": "note-oro5s", + "id": "note-4z8Ww", "node": { "description": "PURPOSE:\nConverts unstructured company research into standardized JSON format\n\nKEY FUNCTIONS:\n- Extracts specific business data points\n- Validates and formats information\n- Ensures data consistency\n\nINPUT:\n- Raw company research data\n\nOUTPUT:\nStructured JSON with:\n- Domain information\n- Social links\n- Pricing details\n- Feature availability\n- Market classification\n- Product features\n- Industry focus\n\nRULES:\n1. Uses strict boolean values\n2. Standardizes pricing formats\n3. Validates market categories\n4. Handles missing data consistently", "display_name": "", @@ -753,14 +824,14 @@ }, "dragging": false, "height": 324, - "id": "note-oro5s", + "id": "note-4z8Ww", "measured": { "height": 324, - "width": 328 + "width": 325 }, "position": { - "x": 1237.6627823432912, - "y": 111.53860932079613 + "x": 1284.9450195065508, + "y": 158.82084648405578 }, "positionAbsolute": { "x": 1237.6627823432912, @@ -777,7 +848,7 @@ }, { "data": { - "id": "note-b5iUI", + "id": "note-NTyrO", "node": { "description": "# Market Research\nThis flow helps you gather comprehensive information about companies for sales and business intelligence purposes.\n\n## Instructions\n\n1. Enter Company Name\n - In the Chat Input node, type the name of the company you want to research\n - Example inputs: \"Salesforce.com\", \"Shopify\", \"Zoom Video Communications\"\n\n2. Initiate Research\n - The Agent will use the Tavily AI Search tool to gather information\n - It will focus on key areas like pricing, features, and market positioning\n\n3. Review Structured Output\n - The flow will generate a structured JSON output with standardized fields\n - This includes domain, LinkedIn URL, pricing details, and key features\n\n4. Examine Formatted Results\n - The Parse Data component will convert the JSON into a readable format\n - You'll see a comprehensive company profile with organized sections\n\n5. Analyze and Use Data\n - Use the generated information for sales prospecting, competitive analysis, or market research\n - The structured format allows for easy comparison between different companies\n\nRemember: Always verify critical information from official sources before making business decisions! 🔍💼", "display_name": "", @@ -790,14 +861,14 @@ }, "dragging": false, "height": 324, - "id": "note-b5iUI", + "id": "note-NTyrO", "measured": { "height": 324, - "width": 328 + "width": 325 }, "position": { - "x": 244.92297036777086, - "y": 340.99805740871204 + "x": 465.57341046298257, + "y": 459.2036503168611 }, "positionAbsolute": { "x": 244.92297036777086, @@ -816,9 +887,11 @@ "data": { "description": "Transforms LLM responses into **structured data formats**. Ideal for extracting specific information or creating consistent outputs.", "display_name": "Structured Output", - "id": "StructuredOutputComponent-Kqbq4", + "id": "StructuredOutputComponent-HNJw1", "node": { - "base_classes": ["Data"], + "base_classes": [ + "Data" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -846,7 +919,9 @@ "method": "build_structured_output", "name": "structured_output", "selected": "Data", - "types": ["Data"], + "types": [ + "Data" + ], "value": "__UNDEFINED__" } ], @@ -877,7 +952,9 @@ "display_name": "Input message", "dynamic": false, "info": "", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "load_from_db": false, "name": "input_value", @@ -897,7 +974,9 @@ "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": "", @@ -1068,10 +1147,10 @@ }, "dragging": false, "height": 541, - "id": "StructuredOutputComponent-Kqbq4", + "id": "StructuredOutputComponent-HNJw1", "measured": { "height": 541, - "width": 360 + "width": 320 }, "position": { "x": 1716.7237308033855, @@ -1087,9 +1166,11 @@ }, { "data": { - "id": "ParseData-7XOFR", + "id": "ParseData-7nw3f", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "category": "helpers", "conditional_paths": [], @@ -1098,7 +1179,11 @@ "display_name": "Parse Data", "documentation": "", "edited": false, - "field_order": ["data", "template", "sep"], + "field_order": [ + "data", + "template", + "sep" + ], "frozen": false, "icon": "message-square", "key": "ParseData", @@ -1117,7 +1202,9 @@ "name": "text", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" }, { @@ -1128,7 +1215,9 @@ "name": "data_list", "selected": "Data", "tool_mode": true, - "types": ["Data"], + "types": [ + "Data" + ], "value": "__UNDEFINED__" } ], @@ -1159,7 +1248,9 @@ "display_name": "Data", "dynamic": false, "info": "The data to convert to text.", - "input_types": ["Data"], + "input_types": [ + "Data" + ], "list": true, "name": "data", "placeholder": "", @@ -1194,7 +1285,9 @@ "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, @@ -1214,10 +1307,10 @@ }, "dragging": false, "height": 302, - "id": "ParseData-7XOFR", + "id": "ParseData-7nw3f", "measured": { "height": 302, - "width": 360 + "width": 320 }, "position": { "x": 2139.05558520377, @@ -1235,9 +1328,11 @@ "data": { "description": "Define the agent's instructions, then enter a task to complete using tools.", "display_name": "Agent", - "id": "Agent-dcKuR", + "id": "Agent-ZlvTd", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -1288,7 +1383,9 @@ "name": "response", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -1317,7 +1414,9 @@ "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, @@ -1368,7 +1467,9 @@ "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, @@ -1419,7 +1520,9 @@ "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", @@ -1511,7 +1614,9 @@ "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": "", @@ -1605,7 +1710,10 @@ "dynamic": false, "info": "Order of the messages.", "name": "order", - "options": ["Ascending", "Descending"], + "options": [ + "Ascending", + "Descending" + ], "placeholder": "", "required": false, "show": true, @@ -1639,7 +1747,11 @@ "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, @@ -1655,7 +1767,9 @@ "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", @@ -1675,7 +1789,9 @@ "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", @@ -1695,7 +1811,9 @@ "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, @@ -1732,7 +1850,9 @@ "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, @@ -1771,7 +1891,9 @@ "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": "", @@ -1805,10 +1927,10 @@ }, "dragging": false, "height": 650, - "id": "Agent-dcKuR", + "id": "Agent-ZlvTd", "measured": { "height": 650, - "width": 360 + "width": 320 }, "position": { "x": 1287.5681517817056, @@ -1820,7 +1942,7 @@ }, { "data": { - "id": "note-7JQqd", + "id": "note-p1p0l", "node": { "description": "# 🔑 Tavily AI Search Needs API Key\n\nYou can get 1000 searches/month free [here](https://tavily.com/) ", "display_name": "", @@ -1833,14 +1955,14 @@ }, "dragging": false, "height": 324, - "id": "note-7JQqd", + "id": "note-p1p0l", "measured": { "height": 324, - "width": 328 + "width": 325 }, "position": { - "x": 878.7898510090017, - "y": 640.2524241641511 + "x": 872.8795713635943, + "y": 628.4318648733362 }, "positionAbsolute": { "x": 921.6062384772317, @@ -1854,9 +1976,12 @@ "data": { "description": "**Tavily AI** is a search engine optimized for LLMs and RAG, aimed at efficient, quick, and persistent search results.", "display_name": "Tavily AI Search", - "id": "TavilySearchComponent-cGK9T", + "id": "TavilySearchComponent-Fl2MN", "node": { - "base_classes": ["Data", "Message"], + "base_classes": [ + "Data", + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -1888,10 +2013,13 @@ "hidden": null, "method": "to_toolkit", "name": "component_as_tool", + "options": null, "required_inputs": null, "selected": "Tool", "tool_mode": true, - "types": ["Tool"], + "types": [ + "Tool" + ], "value": "__UNDEFINED__" } ], @@ -1904,7 +2032,9 @@ "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, @@ -1993,7 +2123,9 @@ "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, @@ -2017,7 +2149,10 @@ "dynamic": false, "info": "The depth of the search.", "name": "search_depth", - "options": ["basic", "advanced"], + "options": [ + "basic", + "advanced" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -2037,7 +2172,12 @@ "dynamic": false, "info": "The time range back from the current date to include in the search results.", "name": "time_range", - "options": ["day", "week", "month", "year"], + "options": [ + "day", + "week", + "month", + "year" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -2072,13 +2212,17 @@ "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 }, "table_schema": { "columns": [ { + "default": "None", "description": "Specify the name of the tool.", "disable_edit": false, "display_name": "Tool Name", @@ -2088,9 +2232,10 @@ "hidden": false, "name": "name", "sortable": false, - "type": "text" + "type": "str" }, { + "default": "None", "description": "Describe the purpose of the tool.", "disable_edit": false, "display_name": "Tool Description", @@ -2100,9 +2245,10 @@ "hidden": false, "name": "description", "sortable": false, - "type": "text" + "type": "str" }, { + "default": "None", "description": "The default identifiers for the tools and cannot be changed.", "disable_edit": true, "display_name": "Tool Identifiers", @@ -2112,7 +2258,20 @@ "hidden": true, "name": "tags", "sortable": false, - "type": "text" + "type": "str" + }, + { + "default": true, + "description": "Indicates whether the tool is currently active. Set to True to activate this tool.", + "disable_edit": false, + "display_name": "Enable", + "edit_mode": "popover", + "filterable": true, + "formatter": "boolean", + "hidden": false, + "name": "status", + "sortable": true, + "type": "boolean" } ] }, @@ -2126,12 +2285,16 @@ { "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": "TavilySearchComponent-fetch_content", - "tags": ["TavilySearchComponent-fetch_content"] + "tags": [ + "TavilySearchComponent-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": "TavilySearchComponent-fetch_content_text", - "tags": ["TavilySearchComponent-fetch_content_text"] + "tags": [ + "TavilySearchComponent-fetch_content_text" + ] } ] }, @@ -2144,7 +2307,10 @@ "dynamic": false, "info": "The category of the search.", "name": "topic", - "options": ["general", "news"], + "options": [ + "general", + "news" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -2162,23 +2328,26 @@ "type": "TavilySearchComponent" }, "dragging": false, - "id": "TavilySearchComponent-cGK9T", + "id": "TavilySearchComponent-Fl2MN", "measured": { - "height": 489, - "width": 360 + "height": 437, + "width": 320 }, "position": { "x": 875.7686789989679, "y": 798.478848045035 }, - "selected": false, + "selected": true, "type": "genericNode" }, { "data": { - "id": "OpenAIModel-prL67", + "id": "OpenAIModel-GOv57", "node": { - "base_classes": ["LanguageModel", "Message"], + "base_classes": [ + "LanguageModel", + "Message" + ], "beta": false, "category": "models", "conditional_paths": [], @@ -2217,7 +2386,9 @@ "required_inputs": [], "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" }, { @@ -2226,10 +2397,14 @@ "display_name": "Language Model", "method": "build_model", "name": "model_output", - "required_inputs": ["api_key"], + "required_inputs": [ + "api_key" + ], "selected": "LanguageModel", "tool_mode": true, - "types": ["LanguageModel"], + "types": [ + "LanguageModel" + ], "value": "__UNDEFINED__" } ], @@ -2243,7 +2418,9 @@ "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, @@ -2278,7 +2455,9 @@ "display_name": "Input", "dynamic": false, "info": "", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -2460,7 +2639,9 @@ "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, @@ -2529,32 +2710,33 @@ "type": "OpenAIModel" }, "dragging": false, - "id": "OpenAIModel-prL67", + "id": "OpenAIModel-GOv57", "measured": { - "height": 734, - "width": 360 + "height": 525, + "width": 320 }, "position": { "x": 1718.9581068990763, - "y": 1081.137733422722 + "y": 1035.8255894745982 }, "selected": false, "type": "genericNode" } ], "viewport": { - "x": -49.933183848022736, - "y": 46.49268690110034, - "zoom": 0.4973930841732965 + "x": -58.50231656538608, + "y": 29.06216478820238, + "zoom": 0.5075901953862927 } }, "description": "Researches companies, extracts key business data, and presents structured information for efficient analysis. ", "endpoint_name": null, - "gradient": "1", - "icon": "PieChart", - "id": "153a05e5-86bd-4de8-b159-2cb4f9f94de5", + "id": "8944aed3-aa86-4c50-b725-5a4a3973ba5a", "is_component": false, - "last_tested_version": "1.1.1", + "last_tested_version": "1.2.0", "name": "Market Research", - "tags": ["assistants", "agents"] -} + "tags": [ + "assistants", + "agents" + ] +} \ No newline at end of file diff --git a/src/backend/base/langflow/initial_setup/starter_projects/Meeting Summary.json b/src/backend/base/langflow/initial_setup/starter_projects/Meeting Summary.json index 7adabdd4a..4e00eddd3 100644 --- a/src/backend/base/langflow/initial_setup/starter_projects/Meeting Summary.json +++ b/src/backend/base/langflow/initial_setup/starter_projects/Meeting Summary.json @@ -7,23 +7,27 @@ "data": { "sourceHandle": { "dataType": "AssemblyAITranscriptionJobPoller", - "id": "AssemblyAITranscriptionJobPoller-2TJ8f", + "id": "AssemblyAITranscriptionJobPoller-nNPur", "name": "transcription_result", - "output_types": ["Data"] + "output_types": [ + "Data" + ] }, "targetHandle": { "fieldName": "data", - "id": "ParseData-ucB7J", - "inputTypes": ["Data"], + "id": "ParseData-g3zYs", + "inputTypes": [ + "Data" + ], "type": "other" } }, - "id": "reactflow__edge-AssemblyAITranscriptionJobPoller-2TJ8f{œdataTypeœ:œAssemblyAITranscriptionJobPollerœ,œidœ:œAssemblyAITranscriptionJobPoller-2TJ8fœ,œnameœ:œtranscription_resultœ,œoutput_typesœ:[œDataœ]}-ParseData-ucB7J{œfieldNameœ:œdataœ,œidœ:œParseData-ucB7Jœ,œinputTypesœ:[œDataœ],œtypeœ:œotherœ}", + "id": "reactflow__edge-AssemblyAITranscriptionJobPoller-nNPur{œdataTypeœ:œAssemblyAITranscriptionJobPollerœ,œidœ:œAssemblyAITranscriptionJobPoller-nNPurœ,œnameœ:œtranscription_resultœ,œoutput_typesœ:[œDataœ]}-ParseData-g3zYs{œfieldNameœ:œdataœ,œidœ:œParseData-g3zYsœ,œinputTypesœ:[œDataœ],œtypeœ:œotherœ}", "selected": false, - "source": "AssemblyAITranscriptionJobPoller-2TJ8f", - "sourceHandle": "{œdataTypeœ: œAssemblyAITranscriptionJobPollerœ, œidœ: œAssemblyAITranscriptionJobPoller-2TJ8fœ, œnameœ: œtranscription_resultœ, œoutput_typesœ: [œDataœ]}", - "target": "ParseData-ucB7J", - "targetHandle": "{œfieldNameœ: œdataœ, œidœ: œParseData-ucB7Jœ, œinputTypesœ: [œDataœ], œtypeœ: œotherœ}" + "source": "AssemblyAITranscriptionJobPoller-nNPur", + "sourceHandle": "{œdataTypeœ:œAssemblyAITranscriptionJobPollerœ,œidœ:œAssemblyAITranscriptionJobPoller-nNPurœ,œnameœ:œtranscription_resultœ,œoutput_typesœ:[œDataœ]}", + "target": "ParseData-g3zYs", + "targetHandle": "{œfieldNameœ:œdataœ,œidœ:œParseData-g3zYsœ,œinputTypesœ:[œDataœ],œtypeœ:œotherœ}" }, { "animated": false, @@ -31,23 +35,28 @@ "data": { "sourceHandle": { "dataType": "ParseData", - "id": "ParseData-ucB7J", + "id": "ParseData-g3zYs", "name": "text", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "transcript", - "id": "Prompt-HMkPy", - "inputTypes": ["Message", "Text"], + "id": "Prompt-c1TAK", + "inputTypes": [ + "Message", + "Text" + ], "type": "str" } }, - "id": "reactflow__edge-ParseData-ucB7J{œdataTypeœ:œParseDataœ,œidœ:œParseData-ucB7Jœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-Prompt-HMkPy{œfieldNameœ:œtranscriptœ,œidœ:œPrompt-HMkPyœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-ParseData-g3zYs{œdataTypeœ:œParseDataœ,œidœ:œParseData-g3zYsœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-Prompt-c1TAK{œfieldNameœ:œtranscriptœ,œidœ:œPrompt-c1TAKœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", "selected": false, - "source": "ParseData-ucB7J", - "sourceHandle": "{œdataTypeœ: œParseDataœ, œidœ: œParseData-ucB7Jœ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}", - "target": "Prompt-HMkPy", - "targetHandle": "{œfieldNameœ: œtranscriptœ, œidœ: œPrompt-HMkPyœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" + "source": "ParseData-g3zYs", + "sourceHandle": "{œdataTypeœ:œParseDataœ,œidœ:œParseData-g3zYsœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}", + "target": "Prompt-c1TAK", + "targetHandle": "{œfieldNameœ:œtranscriptœ,œidœ:œPrompt-c1TAKœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -55,23 +64,27 @@ "data": { "sourceHandle": { "dataType": "Prompt", - "id": "Prompt-HMkPy", + "id": "Prompt-c1TAK", "name": "prompt", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "OpenAIModel-mmWVM", - "inputTypes": ["Message"], + "id": "OpenAIModel-XBy5M", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-Prompt-HMkPy{œdataTypeœ:œPromptœ,œidœ:œPrompt-HMkPyœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-mmWVM{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-mmWVMœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-Prompt-c1TAK{œdataTypeœ:œPromptœ,œidœ:œPrompt-c1TAKœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-XBy5M{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-XBy5Mœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "Prompt-HMkPy", - "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-HMkPyœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", - "target": "OpenAIModel-mmWVM", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œOpenAIModel-mmWVMœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "source": "Prompt-c1TAK", + "sourceHandle": "{œdataTypeœ:œPromptœ,œidœ:œPrompt-c1TAKœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}", + "target": "OpenAIModel-XBy5M", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-XBy5Mœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -79,23 +92,29 @@ "data": { "sourceHandle": { "dataType": "OpenAIModel", - "id": "OpenAIModel-mmWVM", + "id": "OpenAIModel-XBy5M", "name": "text_output", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "ChatOutput-LDGJU", - "inputTypes": ["Data", "DataFrame", "Message"], + "id": "ChatOutput-mcuWI", + "inputTypes": [ + "Data", + "DataFrame", + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-OpenAIModel-mmWVM{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-mmWVMœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-LDGJU{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-LDGJUœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-OpenAIModel-XBy5M{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-XBy5Mœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-mcuWI{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-mcuWIœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "OpenAIModel-mmWVM", - "sourceHandle": "{œdataTypeœ: œOpenAIModelœ, œidœ: œOpenAIModel-mmWVMœ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}", - "target": "ChatOutput-LDGJU", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-LDGJUœ, œinputTypesœ: [œDataœ, œDataFrameœ, œMessageœ], œtypeœ: œstrœ}" + "source": "OpenAIModel-XBy5M", + "sourceHandle": "{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-XBy5Mœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}", + "target": "ChatOutput-mcuWI", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-mcuWIœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -103,23 +122,29 @@ "data": { "sourceHandle": { "dataType": "ParseData", - "id": "ParseData-ucB7J", + "id": "ParseData-g3zYs", "name": "text", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "ChatOutput-nndHR", - "inputTypes": ["Data", "DataFrame", "Message"], + "id": "ChatOutput-2BqOF", + "inputTypes": [ + "Data", + "DataFrame", + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-ParseData-ucB7J{œdataTypeœ:œParseDataœ,œidœ:œParseData-ucB7Jœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-nndHR{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-nndHRœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-ParseData-g3zYs{œdataTypeœ:œParseDataœ,œidœ:œParseData-g3zYsœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-2BqOF{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-2BqOFœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "ParseData-ucB7J", - "sourceHandle": "{œdataTypeœ: œParseDataœ, œidœ: œParseData-ucB7Jœ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}", - "target": "ChatOutput-nndHR", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-nndHRœ, œinputTypesœ: [œDataœ, œDataFrameœ, œMessageœ], œtypeœ: œstrœ}" + "source": "ParseData-g3zYs", + "sourceHandle": "{œdataTypeœ:œParseDataœ,œidœ:œParseData-g3zYsœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}", + "target": "ChatOutput-2BqOF", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-2BqOFœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -127,23 +152,29 @@ "data": { "sourceHandle": { "dataType": "OpenAIModel", - "id": "OpenAIModel-QmoIH", + "id": "OpenAIModel-r5JLB", "name": "text_output", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "ChatOutput-oWZwj", - "inputTypes": ["Data", "DataFrame", "Message"], + "id": "ChatOutput-ADcYl", + "inputTypes": [ + "Data", + "DataFrame", + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-OpenAIModel-QmoIH{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-QmoIHœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-oWZwj{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-oWZwjœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-OpenAIModel-r5JLB{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-r5JLBœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-ADcYl{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-ADcYlœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "OpenAIModel-QmoIH", - "sourceHandle": "{œdataTypeœ: œOpenAIModelœ, œidœ: œOpenAIModel-QmoIHœ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}", - "target": "ChatOutput-oWZwj", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-oWZwjœ, œinputTypesœ: [œDataœ, œDataFrameœ, œMessageœ], œtypeœ: œstrœ}" + "source": "OpenAIModel-r5JLB", + "sourceHandle": "{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-r5JLBœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}", + "target": "ChatOutput-ADcYl", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-ADcYlœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -151,23 +182,28 @@ "data": { "sourceHandle": { "dataType": "Memory", - "id": "Memory-dZvPv", + "id": "Memory-waylX", "name": "messages_text", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "history", - "id": "Prompt-DuWFn", - "inputTypes": ["Message", "Text"], + "id": "Prompt-phxgr", + "inputTypes": [ + "Message", + "Text" + ], "type": "str" } }, - "id": "reactflow__edge-Memory-dZvPv{œdataTypeœ:œMemoryœ,œidœ:œMemory-dZvPvœ,œnameœ:œmessages_textœ,œoutput_typesœ:[œMessageœ]}-Prompt-DuWFn{œfieldNameœ:œhistoryœ,œidœ:œPrompt-DuWFnœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-Memory-waylX{œdataTypeœ:œMemoryœ,œidœ:œMemory-waylXœ,œnameœ:œmessages_textœ,œoutput_typesœ:[œMessageœ]}-Prompt-phxgr{œfieldNameœ:œhistoryœ,œidœ:œPrompt-phxgrœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", "selected": false, - "source": "Memory-dZvPv", - "sourceHandle": "{œdataTypeœ: œMemoryœ, œidœ: œMemory-dZvPvœ, œnameœ: œmessages_textœ, œoutput_typesœ: [œMessageœ]}", - "target": "Prompt-DuWFn", - "targetHandle": "{œfieldNameœ: œhistoryœ, œidœ: œPrompt-DuWFnœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" + "source": "Memory-waylX", + "sourceHandle": "{œdataTypeœ:œMemoryœ,œidœ:œMemory-waylXœ,œnameœ:œmessages_textœ,œoutput_typesœ:[œMessageœ]}", + "target": "Prompt-phxgr", + "targetHandle": "{œfieldNameœ:œhistoryœ,œidœ:œPrompt-phxgrœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -175,23 +211,28 @@ "data": { "sourceHandle": { "dataType": "ChatInput", - "id": "ChatInput-P3hGZ", + "id": "ChatInput-JytcD", "name": "message", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input", - "id": "Prompt-DuWFn", - "inputTypes": ["Message", "Text"], + "id": "Prompt-phxgr", + "inputTypes": [ + "Message", + "Text" + ], "type": "str" } }, - "id": "reactflow__edge-ChatInput-P3hGZ{œdataTypeœ:œChatInputœ,œidœ:œChatInput-P3hGZœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-Prompt-DuWFn{œfieldNameœ:œinputœ,œidœ:œPrompt-DuWFnœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-ChatInput-JytcD{œdataTypeœ:œChatInputœ,œidœ:œChatInput-JytcDœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-Prompt-phxgr{œfieldNameœ:œinputœ,œidœ:œPrompt-phxgrœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", "selected": false, - "source": "ChatInput-P3hGZ", - "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-P3hGZœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", - "target": "Prompt-DuWFn", - "targetHandle": "{œfieldNameœ: œinputœ, œidœ: œPrompt-DuWFnœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" + "source": "ChatInput-JytcD", + "sourceHandle": "{œdataTypeœ:œChatInputœ,œidœ:œChatInput-JytcDœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}", + "target": "Prompt-phxgr", + "targetHandle": "{œfieldNameœ:œinputœ,œidœ:œPrompt-phxgrœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -199,23 +240,27 @@ "data": { "sourceHandle": { "dataType": "Prompt", - "id": "Prompt-DuWFn", + "id": "Prompt-phxgr", "name": "prompt", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "OpenAIModel-QmoIH", - "inputTypes": ["Message"], + "id": "OpenAIModel-r5JLB", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-Prompt-DuWFn{œdataTypeœ:œPromptœ,œidœ:œPrompt-DuWFnœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-QmoIH{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-QmoIHœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-Prompt-phxgr{œdataTypeœ:œPromptœ,œidœ:œPrompt-phxgrœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-r5JLB{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-r5JLBœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "Prompt-DuWFn", - "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-DuWFnœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", - "target": "OpenAIModel-QmoIH", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œOpenAIModel-QmoIHœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "source": "Prompt-phxgr", + "sourceHandle": "{œdataTypeœ:œPromptœ,œidœ:œPrompt-phxgrœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}", + "target": "OpenAIModel-r5JLB", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-r5JLBœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -223,31 +268,37 @@ "data": { "sourceHandle": { "dataType": "AssemblyAITranscriptionJobCreator", - "id": "AssemblyAITranscriptionJobCreator-DMH1y", + "id": "AssemblyAITranscriptionJobCreator-8EJx8", "name": "transcript_id", - "output_types": ["Data"] + "output_types": [ + "Data" + ] }, "targetHandle": { "fieldName": "transcript_id", - "id": "AssemblyAITranscriptionJobPoller-2TJ8f", - "inputTypes": ["Data"], + "id": "AssemblyAITranscriptionJobPoller-nNPur", + "inputTypes": [ + "Data" + ], "type": "other" } }, - "id": "reactflow__edge-AssemblyAITranscriptionJobCreator-DMH1y{œdataTypeœ:œAssemblyAITranscriptionJobCreatorœ,œidœ:œAssemblyAITranscriptionJobCreator-DMH1yœ,œnameœ:œtranscript_idœ,œoutput_typesœ:[œDataœ]}-AssemblyAITranscriptionJobPoller-2TJ8f{œfieldNameœ:œtranscript_idœ,œidœ:œAssemblyAITranscriptionJobPoller-2TJ8fœ,œinputTypesœ:[œDataœ],œtypeœ:œotherœ}", + "id": "reactflow__edge-AssemblyAITranscriptionJobCreator-8EJx8{œdataTypeœ:œAssemblyAITranscriptionJobCreatorœ,œidœ:œAssemblyAITranscriptionJobCreator-8EJx8œ,œnameœ:œtranscript_idœ,œoutput_typesœ:[œDataœ]}-AssemblyAITranscriptionJobPoller-nNPur{œfieldNameœ:œtranscript_idœ,œidœ:œAssemblyAITranscriptionJobPoller-nNPurœ,œinputTypesœ:[œDataœ],œtypeœ:œotherœ}", "selected": false, - "source": "AssemblyAITranscriptionJobCreator-DMH1y", - "sourceHandle": "{œdataTypeœ: œAssemblyAITranscriptionJobCreatorœ, œidœ: œAssemblyAITranscriptionJobCreator-DMH1yœ, œnameœ: œtranscript_idœ, œoutput_typesœ: [œDataœ]}", - "target": "AssemblyAITranscriptionJobPoller-2TJ8f", - "targetHandle": "{œfieldNameœ: œtranscript_idœ, œidœ: œAssemblyAITranscriptionJobPoller-2TJ8fœ, œinputTypesœ: [œDataœ], œtypeœ: œotherœ}" + "source": "AssemblyAITranscriptionJobCreator-8EJx8", + "sourceHandle": "{œdataTypeœ:œAssemblyAITranscriptionJobCreatorœ,œidœ:œAssemblyAITranscriptionJobCreator-8EJx8œ,œnameœ:œtranscript_idœ,œoutput_typesœ:[œDataœ]}", + "target": "AssemblyAITranscriptionJobPoller-nNPur", + "targetHandle": "{œfieldNameœ:œtranscript_idœ,œidœ:œAssemblyAITranscriptionJobPoller-nNPurœ,œinputTypesœ:[œDataœ],œtypeœ:œotherœ}" } ], "nodes": [ { "data": { - "id": "AssemblyAITranscriptionJobPoller-2TJ8f", + "id": "AssemblyAITranscriptionJobPoller-nNPur", "node": { - "base_classes": ["Data"], + "base_classes": [ + "Data" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -255,7 +306,11 @@ "display_name": "AssemblyAI Poll Transcript", "documentation": "https://www.assemblyai.com/docs", "edited": false, - "field_order": ["api_key", "transcript_id", "polling_interval"], + "field_order": [ + "api_key", + "transcript_id", + "polling_interval" + ], "frozen": false, "icon": "AssemblyAI", "legacy": false, @@ -272,7 +327,9 @@ "name": "transcription_result", "selected": "Data", "tool_mode": true, - "types": ["Data"], + "types": [ + "Data" + ], "value": "__UNDEFINED__" } ], @@ -285,7 +342,9 @@ "display_name": "Assembly API Key", "dynamic": false, "info": "Your AssemblyAI API key. You can get one from https://www.assemblyai.com/", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "load_from_db": true, "name": "api_key", "password": true, @@ -294,7 +353,7 @@ "show": true, "title_case": false, "type": "str", - "value": "ASSEMBLYAI_API_KEY" + "value": "ASSEMBLY_API_KEY" }, "code": { "advanced": true, @@ -344,7 +403,9 @@ "display_name": "Transcript ID", "dynamic": false, "info": "The ID of the transcription job to poll", - "input_types": ["Data"], + "input_types": [ + "Data" + ], "list": false, "list_add_label": "Add More", "name": "transcript_id", @@ -364,7 +425,7 @@ "showNode": true, "type": "AssemblyAITranscriptionJobPoller" }, - "id": "AssemblyAITranscriptionJobPoller-2TJ8f", + "id": "AssemblyAITranscriptionJobPoller-nNPur", "measured": { "height": 294, "width": 320 @@ -373,14 +434,17 @@ "x": 943.468098795128, "y": 282.3188316337007 }, - "selected": false, + "selected": true, "type": "genericNode" }, { "data": { - "id": "ParseData-ucB7J", + "id": "ParseData-g3zYs", "node": { - "base_classes": ["Data", "Message"], + "base_classes": [ + "Data", + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -388,7 +452,11 @@ "display_name": "Data to Message", "documentation": "", "edited": false, - "field_order": ["data", "template", "sep"], + "field_order": [ + "data", + "template", + "sep" + ], "frozen": false, "icon": "message-square", "legacy": false, @@ -407,7 +475,9 @@ "name": "text", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" }, { @@ -418,7 +488,9 @@ "name": "data_list", "selected": "Data", "tool_mode": true, - "types": ["Data"], + "types": [ + "Data" + ], "value": "__UNDEFINED__" } ], @@ -449,7 +521,9 @@ "display_name": "Data", "dynamic": false, "info": "The data to convert to text.", - "input_types": ["Data"], + "input_types": [ + "Data" + ], "list": true, "list_add_label": "Add More", "name": "data", @@ -488,7 +562,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -510,7 +586,7 @@ "showNode": true, "type": "ParseData" }, - "id": "ParseData-ucB7J", + "id": "ParseData-g3zYs", "measured": { "height": 342, "width": 320 @@ -524,9 +600,12 @@ }, { "data": { - "id": "OpenAIModel-mmWVM", + "id": "OpenAIModel-XBy5M", "node": { - "base_classes": ["LanguageModel", "Message"], + "base_classes": [ + "LanguageModel", + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -566,7 +645,9 @@ "required_inputs": [], "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" }, { @@ -575,10 +656,14 @@ "display_name": "Language Model", "method": "build_model", "name": "model_output", - "required_inputs": ["api_key"], + "required_inputs": [ + "api_key" + ], "selected": "LanguageModel", "tool_mode": true, - "types": ["LanguageModel"], + "types": [ + "LanguageModel" + ], "value": "__UNDEFINED__" } ], @@ -591,7 +676,9 @@ "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, @@ -626,7 +713,9 @@ "display_name": "Input", "dynamic": false, "info": "", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -808,7 +897,9 @@ "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, @@ -876,9 +967,9 @@ "showNode": true, "type": "OpenAIModel" }, - "id": "OpenAIModel-mmWVM", + "id": "OpenAIModel-XBy5M", "measured": { - "height": 656, + "height": 525, "width": 320 }, "position": { @@ -890,20 +981,27 @@ }, { "data": { - "id": "Prompt-HMkPy", + "id": "Prompt-c1TAK", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": { - "template": ["transcript"] + "template": [ + "transcript" + ] }, "description": "Create a prompt template with dynamic variables.", "display_name": "Prompt", "documentation": "", "edited": false, "error": null, - "field_order": ["template", "tool_placeholder"], + "field_order": [ + "template", + "tool_placeholder" + ], "frozen": false, "full_path": null, "icon": "prompts", @@ -925,7 +1023,9 @@ "name": "prompt", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -973,7 +1073,9 @@ "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", @@ -995,7 +1097,10 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Message", "Text"], + "input_types": [ + "Message", + "Text" + ], "list": false, "load_from_db": false, "multiline": true, @@ -1013,9 +1118,9 @@ "showNode": true, "type": "Prompt" }, - "id": "Prompt-HMkPy", + "id": "Prompt-c1TAK", "measured": { - "height": 339, + "height": 413, "width": 320 }, "position": { @@ -1027,9 +1132,11 @@ }, { "data": { - "id": "ChatOutput-LDGJU", + "id": "ChatOutput-mcuWI", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "category": "outputs", "conditional_paths": [], @@ -1066,7 +1173,9 @@ "name": "message", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -1080,7 +1189,9 @@ "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", @@ -1100,7 +1211,9 @@ "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", @@ -1156,7 +1269,9 @@ "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", @@ -1176,7 +1291,11 @@ "display_name": "Text", "dynamic": false, "info": "Message to be passed as output.", - "input_types": ["Data", "DataFrame", "Message"], + "input_types": [ + "Data", + "DataFrame", + "Message" + ], "list": false, "load_from_db": false, "name": "input_value", @@ -1198,7 +1317,10 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": ["Machine", "User"], + "options": [ + "Machine", + "User" + ], "placeholder": "", "required": false, "show": true, @@ -1214,7 +1336,9 @@ "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", @@ -1234,7 +1358,9 @@ "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", @@ -1271,7 +1397,9 @@ "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", @@ -1291,7 +1419,7 @@ "showNode": true, "type": "ChatOutput" }, - "id": "ChatOutput-LDGJU", + "id": "ChatOutput-mcuWI", "measured": { "height": 230, "width": 320 @@ -1305,9 +1433,11 @@ }, { "data": { - "id": "ChatOutput-nndHR", + "id": "ChatOutput-2BqOF", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "category": "outputs", "conditional_paths": [], @@ -1344,7 +1474,9 @@ "name": "message", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -1358,7 +1490,9 @@ "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", @@ -1378,7 +1512,9 @@ "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", @@ -1434,7 +1570,9 @@ "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", @@ -1454,7 +1592,11 @@ "display_name": "Text", "dynamic": false, "info": "Message to be passed as output.", - "input_types": ["Data", "DataFrame", "Message"], + "input_types": [ + "Data", + "DataFrame", + "Message" + ], "list": false, "load_from_db": false, "name": "input_value", @@ -1476,7 +1618,10 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": ["Machine", "User"], + "options": [ + "Machine", + "User" + ], "placeholder": "", "required": false, "show": true, @@ -1492,7 +1637,9 @@ "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", @@ -1512,7 +1659,9 @@ "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", @@ -1549,7 +1698,9 @@ "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", @@ -1569,7 +1720,7 @@ "showNode": false, "type": "ChatOutput" }, - "id": "ChatOutput-nndHR", + "id": "ChatOutput-2BqOF", "measured": { "height": 66, "width": 192 @@ -1583,9 +1734,12 @@ }, { "data": { - "id": "OpenAIModel-QmoIH", + "id": "OpenAIModel-r5JLB", "node": { - "base_classes": ["LanguageModel", "Message"], + "base_classes": [ + "LanguageModel", + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -1625,7 +1779,9 @@ "required_inputs": [], "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" }, { @@ -1634,10 +1790,14 @@ "display_name": "Language Model", "method": "build_model", "name": "model_output", - "required_inputs": ["api_key"], + "required_inputs": [ + "api_key" + ], "selected": "LanguageModel", "tool_mode": true, - "types": ["LanguageModel"], + "types": [ + "LanguageModel" + ], "value": "__UNDEFINED__" } ], @@ -1650,7 +1810,9 @@ "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, @@ -1685,7 +1847,9 @@ "display_name": "Input", "dynamic": false, "info": "", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1867,7 +2031,9 @@ "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, @@ -1935,9 +2101,9 @@ "showNode": true, "type": "OpenAIModel" }, - "id": "OpenAIModel-QmoIH", + "id": "OpenAIModel-r5JLB", "measured": { - "height": 656, + "height": 525, "width": 320 }, "position": { @@ -1949,9 +2115,11 @@ }, { "data": { - "id": "ChatOutput-oWZwj", + "id": "ChatOutput-ADcYl", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "category": "outputs", "conditional_paths": [], @@ -1988,7 +2156,9 @@ "name": "message", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -2002,7 +2172,9 @@ "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", @@ -2022,7 +2194,9 @@ "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", @@ -2078,7 +2252,9 @@ "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", @@ -2098,7 +2274,11 @@ "display_name": "Text", "dynamic": false, "info": "Message to be passed as output.", - "input_types": ["Data", "DataFrame", "Message"], + "input_types": [ + "Data", + "DataFrame", + "Message" + ], "list": false, "load_from_db": false, "name": "input_value", @@ -2120,7 +2300,10 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": ["Machine", "User"], + "options": [ + "Machine", + "User" + ], "placeholder": "", "required": false, "show": true, @@ -2136,7 +2319,9 @@ "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", @@ -2156,7 +2341,9 @@ "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", @@ -2193,7 +2380,9 @@ "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", @@ -2213,7 +2402,7 @@ "showNode": false, "type": "ChatOutput" }, - "id": "ChatOutput-oWZwj", + "id": "ChatOutput-ADcYl", "measured": { "height": 66, "width": 192 @@ -2227,20 +2416,28 @@ }, { "data": { - "id": "Prompt-DuWFn", + "id": "Prompt-phxgr", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": { - "template": ["history", "input"] + "template": [ + "history", + "input" + ] }, "description": "Create a prompt template with dynamic variables.", "display_name": "Prompt", "documentation": "", "edited": false, "error": null, - "field_order": ["template", "tool_placeholder"], + "field_order": [ + "template", + "tool_placeholder" + ], "frozen": false, "full_path": null, "icon": "prompts", @@ -2262,7 +2459,9 @@ "name": "prompt", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -2295,7 +2494,10 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Message", "Text"], + "input_types": [ + "Message", + "Text" + ], "list": false, "load_from_db": false, "multiline": true, @@ -2315,7 +2517,10 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Message", "Text"], + "input_types": [ + "Message", + "Text" + ], "list": false, "load_from_db": false, "multiline": true, @@ -2350,7 +2555,9 @@ "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", @@ -2370,9 +2577,9 @@ "showNode": true, "type": "Prompt" }, - "id": "Prompt-DuWFn", + "id": "Prompt-phxgr", "measured": { - "height": 421, + "height": 465, "width": 320 }, "position": { @@ -2384,9 +2591,12 @@ }, { "data": { - "id": "Memory-dZvPv", + "id": "Memory-waylX", "node": { - "base_classes": ["Data", "Message"], + "base_classes": [ + "Data", + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -2419,7 +2629,9 @@ "name": "messages", "selected": "Data", "tool_mode": true, - "types": ["Data"], + "types": [ + "Data" + ], "value": "__UNDEFINED__" }, { @@ -2430,7 +2642,9 @@ "name": "messages_text", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" }, { @@ -2441,7 +2655,9 @@ "name": "dataframe", "selected": "DataFrame", "tool_mode": true, - "types": ["DataFrame"], + "types": [ + "DataFrame" + ], "value": "__UNDEFINED__" } ], @@ -2472,7 +2688,9 @@ "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, "list_add_label": "Add More", "name": "memory", @@ -2511,7 +2729,10 @@ "dynamic": false, "info": "Order of the messages.", "name": "order", - "options": ["Ascending", "Descending"], + "options": [ + "Ascending", + "Descending" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -2531,7 +2752,11 @@ "dynamic": false, "info": "Filter by sender type.", "name": "sender", - "options": ["Machine", "User", "Machine and User"], + "options": [ + "Machine", + "User", + "Machine and User" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -2548,7 +2773,9 @@ "display_name": "Sender Name", "dynamic": false, "info": "Filter by sender name.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -2569,7 +2796,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -2590,7 +2819,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -2612,9 +2843,9 @@ "showNode": true, "type": "Memory" }, - "id": "Memory-dZvPv", + "id": "Memory-waylX", "measured": { - "height": 260, + "height": 308, "width": 320 }, "position": { @@ -2626,9 +2857,11 @@ }, { "data": { - "id": "ChatInput-P3hGZ", + "id": "ChatInput-JytcD", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -2663,7 +2896,9 @@ "name": "message", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -2676,7 +2911,9 @@ "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", @@ -2696,7 +2933,9 @@ "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", @@ -2800,7 +3039,10 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": ["Machine", "User"], + "options": [ + "Machine", + "User" + ], "placeholder": "", "required": false, "show": true, @@ -2816,7 +3058,9 @@ "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", @@ -2836,7 +3080,9 @@ "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", @@ -2873,7 +3119,9 @@ "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", @@ -2893,7 +3141,7 @@ "showNode": false, "type": "ChatInput" }, - "id": "ChatInput-P3hGZ", + "id": "ChatInput-JytcD", "measured": { "height": 66, "width": 192 @@ -2907,7 +3155,7 @@ }, { "data": { - "id": "note-d7w2e", + "id": "note-3t3bj", "node": { "description": "### 💡 Add your Assembly AI API key and audio file here", "display_name": "", @@ -2920,7 +3168,7 @@ }, "dragging": false, "height": 324, - "id": "note-d7w2e", + "id": "note-3t3bj", "measured": { "height": 324, "width": 455 @@ -2936,7 +3184,7 @@ }, { "data": { - "id": "note-moVh7", + "id": "note-sV2wq", "node": { "description": "### 💡 Add your Assembly AI API key here", "display_name": "", @@ -2949,7 +3197,7 @@ }, "dragging": false, "height": 324, - "id": "note-moVh7", + "id": "note-sV2wq", "measured": { "height": 324, "width": 364 @@ -2965,7 +3213,7 @@ }, { "data": { - "id": "note-0JLej", + "id": "note-zEnXR", "node": { "description": "### 💡 Add your OpenAI API key here", "display_name": "", @@ -2978,7 +3226,7 @@ }, "dragging": false, "height": 324, - "id": "note-0JLej", + "id": "note-zEnXR", "measured": { "height": 324, "width": 334 @@ -2994,7 +3242,7 @@ }, { "data": { - "id": "note-qCg3p", + "id": "note-TQJ07", "node": { "description": "### 💡 Add your OpenAI API key here", "display_name": "", @@ -3006,7 +3254,7 @@ "type": "note" }, "dragging": false, - "id": "note-qCg3p", + "id": "note-TQJ07", "measured": { "height": 324, "width": 324 @@ -3020,9 +3268,11 @@ }, { "data": { - "id": "AssemblyAITranscriptionJobCreator-DMH1y", + "id": "AssemblyAITranscriptionJobCreator-8EJx8", "node": { - "base_classes": ["Data"], + "base_classes": [ + "Data" + ], "beta": false, "category": "assemblyai", "conditional_paths": [], @@ -3059,7 +3309,9 @@ "name": "transcript_id", "selected": "Data", "tool_mode": true, - "types": ["Data"], + "types": [ + "Data" + ], "value": "__UNDEFINED__" } ], @@ -3073,7 +3325,9 @@ "display_name": "Assembly API Key", "dynamic": false, "info": "Your AssemblyAI API key. You can get one from https://www.assemblyai.com/", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "load_from_db": true, "name": "api_key", "password": true, @@ -3082,7 +3336,7 @@ "show": true, "title_case": false, "type": "str", - "value": "ASSEMBLYAI_API_KEY" + "value": "ASSEMBLY_API_KEY" }, "audio_file": { "_input_type": "FileInput", @@ -3149,7 +3403,9 @@ "display_name": "Audio File URL", "dynamic": false, "info": "The URL of the audio file to transcribe (Can be used instead of a File)", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -3206,7 +3462,9 @@ "display_name": "Language", "dynamic": false, "info": "\n The language of the audio file. Can be set manually if automatic language detection is disabled.\n See https://www.assemblyai.com/docs/getting-started/supported-languages for a list of supported language codes.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -3281,7 +3539,9 @@ "display_name": "Expected Number of Speakers", "dynamic": false, "info": "Set the expected number of speakers (optional, enter a number)", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -3305,7 +3565,10 @@ "dynamic": false, "info": "The speech model to use for the transcription", "name": "speech_model", - "options": ["best", "nano"], + "options": [ + "best", + "nano" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -3323,21 +3586,21 @@ "type": "AssemblyAITranscriptionJobCreator" }, "dragging": false, - "id": "AssemblyAITranscriptionJobCreator-DMH1y", + "id": "AssemblyAITranscriptionJobCreator-8EJx8", "measured": { - "height": 373, + "height": 385, "width": 320 }, "position": { "x": 515.589850902064, "y": 232.58183434411956 }, - "selected": true, + "selected": false, "type": "genericNode" }, { "data": { - "id": "note-oi3im", + "id": "note-fy6aG", "node": { "description": "# Meeting Summary Generator\n\nThis flow automatically transcribes and summarizes meetings by converting audio recordings into concise summaries using **AssemblyAI** and **OpenAI GPT-4**. \n\n## Prerequisites\n\n- **[AssemblyAI API Key](https://www.assemblyai.com/)**\n- **[OpenAI API Key](https://platform.openai.com/)**\n\n## Quickstart\n\n1. Upload an audio file. Most common audio file formats are [supported](https://github.com/langflow-ai/langflow/blob/main/src/backend/base/langflow/components/assemblyai/assemblyai_start_transcript.py#L27).\n2. To run the summary generator flow, click **Playground**.\n\nThe flow transcribes the audio using **AssemblyAI**.\nThe transcript is formatted for AI processing.\nThe **GPT-4** model extracts key points and insights.\nThe summarized meeting details are displayed in a chat-friendly format.\n\n\n\n", "display_name": "", @@ -3348,7 +3611,7 @@ }, "dragging": false, "height": 612, - "id": "note-oi3im", + "id": "note-fy6aG", "measured": { "height": 612, "width": 549 @@ -3364,16 +3627,19 @@ } ], "viewport": { - "x": 122.50148302820207, - "y": -27.863732498292393, - "zoom": 0.4446518657731734 + "x": 121.7090229089714, + "y": 8.227468658221653, + "zoom": 0.4336936257603202 } }, "description": "An AI-powered meeting summary generator that transcribes and summarizes meetings using AssemblyAI and OpenAI for quick insights.", "endpoint_name": null, - "id": "ee25ec0f-105b-47c2-873a-25f28caf012c", + "id": "23f56532-73ca-44d3-9907-fb324d0a4ade", "is_component": false, "last_tested_version": "1.2.0", "name": "Meeting Summary", - "tags": ["chatbots", "content-generation"] -} + "tags": [ + "chatbots", + "content-generation" + ] +} \ No newline at end of file diff --git a/src/backend/base/langflow/initial_setup/starter_projects/News Aggregator.json b/src/backend/base/langflow/initial_setup/starter_projects/News Aggregator.json index bd9a93848..705f0cef8 100644 --- a/src/backend/base/langflow/initial_setup/starter_projects/News Aggregator.json +++ b/src/backend/base/langflow/initial_setup/starter_projects/News Aggregator.json @@ -7,23 +7,27 @@ "data": { "sourceHandle": { "dataType": "AgentQL", - "id": "AgentQL-QrQyl", + "id": "AgentQL-NY5vW", "name": "component_as_tool", - "output_types": ["Tool"] + "output_types": [ + "Tool" + ] }, "targetHandle": { "fieldName": "tools", - "id": "Agent-DlbOP", - "inputTypes": ["Tool"], + "id": "Agent-QRVSc", + "inputTypes": [ + "Tool" + ], "type": "other" } }, - "id": "reactflow__edge-AgentQL-QrQyl{œdataTypeœ:œAgentQLœ,œidœ:œAgentQL-QrQylœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-DlbOP{œfieldNameœ:œtoolsœ,œidœ:œAgent-DlbOPœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", + "id": "reactflow__edge-AgentQL-NY5vW{œdataTypeœ:œAgentQLœ,œidœ:œAgentQL-NY5vWœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-QRVSc{œfieldNameœ:œtoolsœ,œidœ:œAgent-QRVScœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", "selected": false, - "source": "AgentQL-QrQyl", - "sourceHandle": "{œdataTypeœ: œAgentQLœ, œidœ: œAgentQL-QrQylœ, œnameœ: œcomponent_as_toolœ, œoutput_typesœ: [œToolœ]}", - "target": "Agent-DlbOP", - "targetHandle": "{œfieldNameœ: œtoolsœ, œidœ: œAgent-DlbOPœ, œinputTypesœ: [œToolœ], œtypeœ: œotherœ}" + "source": "AgentQL-NY5vW", + "sourceHandle": "{œdataTypeœ:œAgentQLœ,œidœ:œAgentQL-NY5vWœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}", + "target": "Agent-QRVSc", + "targetHandle": "{œfieldNameœ:œtoolsœ,œidœ:œAgent-QRVScœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}" }, { "animated": false, @@ -31,52 +35,63 @@ "data": { "sourceHandle": { "dataType": "ChatInput", - "id": "ChatInput-rZZHB", + "id": "ChatInput-tFY2s", "name": "message", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "Agent-DlbOP", - "inputTypes": ["Message"], + "id": "Agent-QRVSc", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-ChatInput-rZZHB{œdataTypeœ:œChatInputœ,œidœ:œChatInput-rZZHBœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-Agent-DlbOP{œfieldNameœ:œinput_valueœ,œidœ:œAgent-DlbOPœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-ChatInput-tFY2s{œdataTypeœ:œChatInputœ,œidœ:œChatInput-tFY2sœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-Agent-QRVSc{œfieldNameœ:œinput_valueœ,œidœ:œAgent-QRVScœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "ChatInput-rZZHB", - "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-rZZHBœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", - "target": "Agent-DlbOP", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œAgent-DlbOPœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "source": "ChatInput-tFY2s", + "sourceHandle": "{œdataTypeœ:œChatInputœ,œidœ:œChatInput-tFY2sœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}", + "target": "Agent-QRVSc", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œAgent-QRVScœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, + "className": "", "data": { "sourceHandle": { "dataType": "Agent", - "id": "Agent-DlbOP", + "id": "Agent-QRVSc", "name": "response", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "ChatOutput-tCBqx", - "inputTypes": ["Data", "DataFrame", "Message"], + "id": "ChatOutput-qeYkD", + "inputTypes": [ + "Data", + "DataFrame", + "Message" + ], "type": "other" } }, - "id": "xy-edge__Agent-DlbOP{œdataTypeœ:œAgentœ,œidœ:œAgent-DlbOPœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-tCBqx{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-tCBqxœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œotherœ}", + "id": "reactflow__edge-Agent-QRVSc{œdataTypeœ:œAgentœ,œidœ:œAgent-QRVScœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-qeYkD{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-qeYkDœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œotherœ}", "selected": false, - "source": "Agent-DlbOP", - "sourceHandle": "{œdataTypeœ: œAgentœ, œidœ: œAgent-DlbOPœ, œnameœ: œresponseœ, œoutput_typesœ: [œMessageœ]}", - "target": "ChatOutput-tCBqx", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-tCBqxœ, œinputTypesœ: [œDataœ, œDataFrameœ, œMessageœ], œtypeœ: œotherœ}" + "source": "Agent-QRVSc", + "sourceHandle": "{œdataTypeœ:œAgentœ,œidœ:œAgent-QRVScœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}", + "target": "ChatOutput-qeYkD", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-qeYkDœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œotherœ}" } ], "nodes": [ { "data": { - "id": "note-8QugF", + "id": "note-cvbuP", "node": { "description": "### 💡 Add your OpenAI API key here", "display_name": "", @@ -88,7 +103,7 @@ "type": "note" }, "dragging": false, - "id": "note-8QugF", + "id": "note-cvbuP", "measured": { "height": 324, "width": 324 @@ -102,7 +117,7 @@ }, { "data": { - "id": "note-KBJMn", + "id": "note-lfFOf", "node": { "description": "### 💡 Add your AgentQL API key here", "display_name": "", @@ -115,7 +130,7 @@ }, "dragging": false, "height": 346, - "id": "note-KBJMn", + "id": "note-lfFOf", "measured": { "height": 346, "width": 324 @@ -131,9 +146,11 @@ "data": { "description": "Uses AgentQL API to extract structured data from a given URL.", "display_name": "AgentQL Query Data", - "id": "AgentQL-QrQyl", + "id": "AgentQL-NY5vW", "node": { - "base_classes": ["Data"], + "base_classes": [ + "Data" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -167,10 +184,13 @@ "hidden": null, "method": "to_toolkit", "name": "component_as_tool", + "options": null, "required_inputs": null, "selected": "Tool", "tool_mode": true, - "types": ["Tool"], + "types": [ + "Tool" + ], "value": "__UNDEFINED__" } ], @@ -183,8 +203,10 @@ "display_name": "API Key", "dynamic": false, "info": "Your AgentQL API key from dev.agentql.com", - "input_types": ["Message"], - "load_from_db": false, + "input_types": [ + "Message" + ], + "load_from_db": true, "name": "api_key", "password": true, "placeholder": "", @@ -275,7 +297,10 @@ "dynamic": false, "info": "'standard' uses deep data analysis, while 'fast' trades some depth of analysis for speed.", "name": "mode", - "options": ["fast", "standard"], + "options": [ + "fast", + "standard" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -293,7 +318,9 @@ "display_name": "Prompt", "dynamic": false, "info": "A Natural Language description of the data to extract from the page. Alternative to AgentQL query.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -316,7 +343,9 @@ "display_name": "AgentQL Query", "dynamic": false, "info": "The AgentQL query to execute. Learn more at https://docs.agentql.com/agentql-query or use a prompt.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -375,7 +404,10 @@ "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 }, @@ -420,19 +452,6 @@ "sortable": false, "type": "str" }, - { - "default": true, - "description": "Indicates whether the tool is currently active. Set to True to activate this tool.", - "disable_edit": false, - "display_name": "Enable", - "edit_mode": "popover", - "filterable": true, - "formatter": "boolean", - "hidden": false, - "name": "status", - "sortable": true, - "type": "boolean" - }, { "default": true, "description": "Indicates whether the tool is currently active. Set to True to activate this tool.", @@ -459,7 +478,9 @@ "description": "build_output(api_key: Message, url: Message) - Extracts structured data from a web page using an AgentQL query or a Natural Language description.", "name": "AgentQL-build_output", "status": true, - "tags": ["AgentQL-build_output"] + "tags": [ + "AgentQL-build_output" + ] } ] }, @@ -469,7 +490,9 @@ "display_name": "URL", "dynamic": false, "info": "The URL of the public web page you want to extract data from.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -515,7 +538,7 @@ "type": "AgentQL" }, "dragging": false, - "id": "AgentQL-QrQyl", + "id": "AgentQL-NY5vW", "measured": { "height": 602, "width": 320 @@ -529,9 +552,11 @@ }, { "data": { - "id": "ChatInput-rZZHB", + "id": "ChatInput-tFY2s", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "category": "inputs", "conditional_paths": [], @@ -568,7 +593,9 @@ "name": "message", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -582,7 +609,9 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -603,7 +632,9 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -711,7 +742,10 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": ["Machine", "User"], + "options": [ + "Machine", + "User" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -728,7 +762,9 @@ "display_name": "Sender Name", "dynamic": false, "info": "Name of the sender.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -749,7 +785,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -788,7 +826,9 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -810,7 +850,7 @@ "type": "ChatInput" }, "dragging": false, - "id": "ChatInput-rZZHB", + "id": "ChatInput-tFY2s", "measured": { "height": 66, "width": 192 @@ -824,9 +864,11 @@ }, { "data": { - "id": "ChatOutput-tCBqx", + "id": "ChatOutput-qeYkD", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -861,7 +903,9 @@ "name": "message", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -874,7 +918,9 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -895,7 +941,9 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -952,7 +1000,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -973,7 +1023,11 @@ "display_name": "Text", "dynamic": false, "info": "Message to be passed as output.", - "input_types": ["Data", "DataFrame", "Message"], + "input_types": [ + "Data", + "DataFrame", + "Message" + ], "list": false, "list_add_label": "Add More", "name": "input_value", @@ -994,7 +1048,10 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": ["Machine", "User"], + "options": [ + "Machine", + "User" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -1011,7 +1068,9 @@ "display_name": "Sender Name", "dynamic": false, "info": "Name of the sender.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1032,7 +1091,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -1071,7 +1132,9 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1093,7 +1156,7 @@ "type": "ChatOutput" }, "dragging": false, - "id": "ChatOutput-tCBqx", + "id": "ChatOutput-qeYkD", "measured": { "height": 66, "width": 192 @@ -1107,9 +1170,11 @@ }, { "data": { - "id": "Agent-DlbOP", + "id": "Agent-QRVSc", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -1160,7 +1225,9 @@ "name": "response", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -1191,7 +1258,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -1273,7 +1342,9 @@ "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, @@ -1326,7 +1397,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -1425,7 +1498,9 @@ "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, "list_add_label": "Add More", "name": "memory", @@ -1530,7 +1605,10 @@ "dynamic": false, "info": "Order of the messages.", "name": "order", - "options": ["Ascending", "Descending"], + "options": [ + "Ascending", + "Descending" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -1568,7 +1646,11 @@ "dynamic": false, "info": "Filter by sender type.", "name": "sender", - "options": ["Machine", "User", "Machine and User"], + "options": [ + "Machine", + "User", + "Machine and User" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -1585,7 +1667,9 @@ "display_name": "Sender Name", "dynamic": false, "info": "Filter by sender name.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1606,7 +1690,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -1627,7 +1713,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -1677,7 +1765,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -1717,7 +1807,9 @@ "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, "list_add_label": "Add More", "name": "tools", @@ -1754,7 +1846,7 @@ "type": "Agent" }, "dragging": false, - "id": "Agent-DlbOP", + "id": "Agent-QRVSc", "measured": { "height": 624, "width": 320 @@ -1768,7 +1860,7 @@ }, { "data": { - "id": "note-0zajW", + "id": "note-IV9Ka", "node": { "description": "# News Aggregator\n\nThis flow extracts structured data from a URL.\n## Prerequisites\n\n* **[AgentQL API Key](https://dev.agentql.com/api-keys)**\n* **[OpenAI API Key](https://platform.openai.com/)**\n\n## Quick Start\n\n1. Add your [AgentQL API Key](https://dev.agentql.com/api-keys) to the **AgentQL** component.\n2. Add your [OpenAI API Key](https://platform.openai.com/) to the **Agent** component.\n3. Click **Playground** and enter a question.\nThe **Agent** component populates the **Agent QL** component's **URL** and **Query** fields, and returns a structured response to your question.", "display_name": "", @@ -1780,7 +1872,7 @@ "type": "note" }, "dragging": false, - "id": "note-0zajW", + "id": "note-IV9Ka", "measured": { "height": 604, "width": 325 @@ -1795,15 +1887,18 @@ ], "viewport": { "x": -117.84864069491266, - "y": 80.81149435068329, + "y": 81.66532371797462, "zoom": 0.8538293672913081 } }, "description": "Extracts data and information from webpages.", "endpoint_name": null, - "id": "f2015209-2422-432c-b5c2-61e8edf988aa", + "id": "668ff2ee-3592-47f6-a144-a3eea2150e6a", "is_component": false, "last_tested_version": "1.2.0", "name": "News Aggregator", - "tags": ["web-scraping", "agents"] -} + "tags": [ + "web-scraping", + "agents" + ] +} \ No newline at end of file diff --git a/src/backend/base/langflow/initial_setup/starter_projects/Portfolio Website Code Generator.json b/src/backend/base/langflow/initial_setup/starter_projects/Portfolio Website Code Generator.json index fc4bdecaa..67fcfa200 100644 --- a/src/backend/base/langflow/initial_setup/starter_projects/Portfolio Website Code Generator.json +++ b/src/backend/base/langflow/initial_setup/starter_projects/Portfolio Website Code Generator.json @@ -7,7 +7,7 @@ "data": { "sourceHandle": { "dataType": "ParseData", - "id": "ParseData-qN4UL", + "id": "ParseData-uKULv", "name": "text", "output_types": [ "Message" @@ -15,18 +15,19 @@ }, "targetHandle": { "fieldName": "input_value", - "id": "AnthropicModel-3QKQF", + "id": "AnthropicModel-vog1V", "inputTypes": [ "Message" ], "type": "str" } }, - "id": "reactflow__edge-ParseData-qN4UL{œdataTypeœ:œParseDataœ,œidœ:œParseData-qN4ULœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-AnthropicModel-3QKQF{œfieldNameœ:œinput_valueœ,œidœ:œAnthropicModel-3QKQFœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "ParseData-qN4UL", - "sourceHandle": "{œdataTypeœ: œParseDataœ, œidœ: œParseData-qN4ULœ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}", - "target": "AnthropicModel-3QKQF", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œAnthropicModel-3QKQFœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-ParseData-uKULv{œdataTypeœ:œParseDataœ,œidœ:œParseData-uKULvœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-AnthropicModel-vog1V{œfieldNameœ:œinput_valueœ,œidœ:œAnthropicModel-vog1Vœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "selected": false, + "source": "ParseData-uKULv", + "sourceHandle": "{œdataTypeœ:œParseDataœ,œidœ:œParseData-uKULvœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}", + "target": "AnthropicModel-vog1V", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œAnthropicModel-vog1Vœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -34,7 +35,7 @@ "data": { "sourceHandle": { "dataType": "TextInput", - "id": "TextInput-2kYku", + "id": "TextInput-FRxv5", "name": "text", "output_types": [ "Message" @@ -42,18 +43,19 @@ }, "targetHandle": { "fieldName": "system_message", - "id": "AnthropicModel-3QKQF", + "id": "AnthropicModel-vog1V", "inputTypes": [ "Message" ], "type": "str" } }, - "id": "reactflow__edge-TextInput-2kYku{œdataTypeœ:œTextInputœ,œidœ:œTextInput-2kYkuœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-AnthropicModel-3QKQF{œfieldNameœ:œsystem_messageœ,œidœ:œAnthropicModel-3QKQFœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "TextInput-2kYku", - "sourceHandle": "{œdataTypeœ: œTextInputœ, œidœ: œTextInput-2kYkuœ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}", - "target": "AnthropicModel-3QKQF", - "targetHandle": "{œfieldNameœ: œsystem_messageœ, œidœ: œAnthropicModel-3QKQFœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-TextInput-FRxv5{œdataTypeœ:œTextInputœ,œidœ:œTextInput-FRxv5œ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-AnthropicModel-vog1V{œfieldNameœ:œsystem_messageœ,œidœ:œAnthropicModel-vog1Vœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "selected": false, + "source": "TextInput-FRxv5", + "sourceHandle": "{œdataTypeœ:œTextInputœ,œidœ:œTextInput-FRxv5œ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}", + "target": "AnthropicModel-vog1V", + "targetHandle": "{œfieldNameœ:œsystem_messageœ,œidœ:œAnthropicModel-vog1Vœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -61,7 +63,7 @@ "data": { "sourceHandle": { "dataType": "AnthropicModel", - "id": "AnthropicModel-3QKQF", + "id": "AnthropicModel-vog1V", "name": "text_output", "output_types": [ "Message" @@ -69,7 +71,7 @@ }, "targetHandle": { "fieldName": "input_value", - "id": "ChatOutput-Anz6s", + "id": "ChatOutput-vpJbx", "inputTypes": [ "Data", "DataFrame", @@ -78,11 +80,12 @@ "type": "str" } }, - "id": "reactflow__edge-AnthropicModel-3QKQF{œdataTypeœ:œAnthropicModelœ,œidœ:œAnthropicModel-3QKQFœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-Anz6s{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-Anz6sœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "AnthropicModel-3QKQF", - "sourceHandle": "{œdataTypeœ: œAnthropicModelœ, œidœ: œAnthropicModel-3QKQFœ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}", - "target": "ChatOutput-Anz6s", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-Anz6sœ, œinputTypesœ: [œDataœ, œDataFrameœ, œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-AnthropicModel-vog1V{œdataTypeœ:œAnthropicModelœ,œidœ:œAnthropicModel-vog1Vœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-vpJbx{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-vpJbxœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}", + "selected": false, + "source": "AnthropicModel-vog1V", + "sourceHandle": "{œdataTypeœ:œAnthropicModelœ,œidœ:œAnthropicModel-vog1Vœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}", + "target": "ChatOutput-vpJbx", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-vpJbxœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -90,7 +93,7 @@ "data": { "sourceHandle": { "dataType": "AnthropicModel", - "id": "AnthropicModel-hy2sm", + "id": "AnthropicModel-5piN6", "name": "model_output", "output_types": [ "LanguageModel" @@ -98,18 +101,19 @@ }, "targetHandle": { "fieldName": "llm", - "id": "StructuredOutputv2-ZQldd", + "id": "StructuredOutput-ApbKx", "inputTypes": [ "LanguageModel" ], "type": "other" } }, - "id": "reactflow__edge-AnthropicModel-hy2sm{œdataTypeœ:œAnthropicModelœ,œidœ:œAnthropicModel-hy2smœ,œnameœ:œmodel_outputœ,œoutput_typesœ:[œLanguageModelœ]}-StructuredOutputv2-ZQldd{œfieldNameœ:œllmœ,œidœ:œStructuredOutputv2-ZQlddœ,œinputTypesœ:[œLanguageModelœ],œtypeœ:œotherœ}", - "source": "AnthropicModel-hy2sm", - "sourceHandle": "{œdataTypeœ: œAnthropicModelœ, œidœ: œAnthropicModel-hy2smœ, œnameœ: œmodel_outputœ, œoutput_typesœ: [œLanguageModelœ]}", - "target": "StructuredOutputv2-ZQldd", - "targetHandle": "{œfieldNameœ: œllmœ, œidœ: œStructuredOutputv2-ZQlddœ, œinputTypesœ: [œLanguageModelœ], œtypeœ: œotherœ}" + "id": "reactflow__edge-AnthropicModel-5piN6{œdataTypeœ:œAnthropicModelœ,œidœ:œAnthropicModel-5piN6œ,œnameœ:œmodel_outputœ,œoutput_typesœ:[œLanguageModelœ]}-StructuredOutput-ApbKx{œfieldNameœ:œllmœ,œidœ:œStructuredOutput-ApbKxœ,œinputTypesœ:[œLanguageModelœ],œtypeœ:œotherœ}", + "selected": false, + "source": "AnthropicModel-5piN6", + "sourceHandle": "{œdataTypeœ:œAnthropicModelœ,œidœ:œAnthropicModel-5piN6œ,œnameœ:œmodel_outputœ,œoutput_typesœ:[œLanguageModelœ]}", + "target": "StructuredOutput-ApbKx", + "targetHandle": "{œfieldNameœ:œllmœ,œidœ:œStructuredOutput-ApbKxœ,œinputTypesœ:[œLanguageModelœ],œtypeœ:œotherœ}" }, { "animated": false, @@ -117,7 +121,7 @@ "data": { "sourceHandle": { "dataType": "ParseData", - "id": "ParseData-idUvo", + "id": "ParseData-sbo55", "name": "text", "output_types": [ "Message" @@ -125,25 +129,27 @@ }, "targetHandle": { "fieldName": "input_value", - "id": "StructuredOutputv2-ZQldd", + "id": "StructuredOutput-ApbKx", "inputTypes": [ "Message" ], "type": "str" } }, - "id": "reactflow__edge-ParseData-idUvo{œdataTypeœ:œParseDataœ,œidœ:œParseData-idUvoœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-StructuredOutputv2-ZQldd{œfieldNameœ:œinput_valueœ,œidœ:œStructuredOutputv2-ZQlddœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "ParseData-idUvo", - "sourceHandle": "{œdataTypeœ: œParseDataœ, œidœ: œParseData-idUvoœ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}", - "target": "StructuredOutputv2-ZQldd", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œStructuredOutputv2-ZQlddœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-ParseData-sbo55{œdataTypeœ:œParseDataœ,œidœ:œParseData-sbo55œ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-StructuredOutput-ApbKx{œfieldNameœ:œinput_valueœ,œidœ:œStructuredOutput-ApbKxœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "selected": false, + "source": "ParseData-sbo55", + "sourceHandle": "{œdataTypeœ:œParseDataœ,œidœ:œParseData-sbo55œ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}", + "target": "StructuredOutput-ApbKx", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œStructuredOutput-ApbKxœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { + "animated": false, "className": "", "data": { "sourceHandle": { "dataType": "File", - "id": "File-GICjp", + "id": "File-u0H8v", "name": "data", "output_types": [ "Data" @@ -151,24 +157,27 @@ }, "targetHandle": { "fieldName": "data", - "id": "ParseData-idUvo", + "id": "ParseData-sbo55", "inputTypes": [ "Data" ], "type": "other" } }, - "id": "reactflow__edge-File-GICjp{œdataTypeœ:œFileœ,œidœ:œFile-GICjpœ,œnameœ:œdataœ,œoutput_typesœ:[œDataœ]}-ParseData-idUvo{œfieldNameœ:œdataœ,œidœ:œParseData-idUvoœ,œinputTypesœ:[œDataœ],œtypeœ:œotherœ}", - "source": "File-GICjp", - "sourceHandle": "{œdataTypeœ: œFileœ, œidœ: œFile-GICjpœ, œnameœ: œdataœ, œoutput_typesœ: [œDataœ]}", - "target": "ParseData-idUvo", - "targetHandle": "{œfieldNameœ: œdataœ, œidœ: œParseData-idUvoœ, œinputTypesœ: [œDataœ], œtypeœ: œotherœ}" + "id": "reactflow__edge-File-u0H8v{œdataTypeœ:œFileœ,œidœ:œFile-u0H8vœ,œnameœ:œdataœ,œoutput_typesœ:[œDataœ]}-ParseData-sbo55{œfieldNameœ:œdataœ,œidœ:œParseData-sbo55œ,œinputTypesœ:[œDataœ],œtypeœ:œotherœ}", + "selected": false, + "source": "File-u0H8v", + "sourceHandle": "{œdataTypeœ:œFileœ,œidœ:œFile-u0H8vœ,œnameœ:œdataœ,œoutput_typesœ:[œDataœ]}", + "target": "ParseData-sbo55", + "targetHandle": "{œfieldNameœ:œdataœ,œidœ:œParseData-sbo55œ,œinputTypesœ:[œDataœ],œtypeœ:œotherœ}" }, { + "animated": false, + "className": "", "data": { "sourceHandle": { "dataType": "StructuredOutput", - "id": "StructuredOutputv2-ZQldd", + "id": "StructuredOutput-ApbKx", "name": "structured_output", "output_types": [ "Data" @@ -176,24 +185,25 @@ }, "targetHandle": { "fieldName": "data", - "id": "ParseData-qN4UL", + "id": "ParseData-uKULv", "inputTypes": [ "Data" ], "type": "other" } }, - "id": "xy-edge__StructuredOutputv2-ZQldd{œdataTypeœ:œStructuredOutputœ,œidœ:œStructuredOutputv2-ZQlddœ,œnameœ:œstructured_outputœ,œoutput_typesœ:[œDataœ]}-ParseData-qN4UL{œfieldNameœ:œdataœ,œidœ:œParseData-qN4ULœ,œinputTypesœ:[œDataœ],œtypeœ:œotherœ}", - "source": "StructuredOutputv2-ZQldd", - "sourceHandle": "{œdataTypeœ: œStructuredOutputœ, œidœ: œStructuredOutputv2-ZQlddœ, œnameœ: œstructured_outputœ, œoutput_typesœ: [œDataœ]}", - "target": "ParseData-qN4UL", - "targetHandle": "{œfieldNameœ: œdataœ, œidœ: œParseData-qN4ULœ, œinputTypesœ: [œDataœ], œtypeœ: œotherœ}" + "id": "reactflow__edge-StructuredOutput-ApbKx{œdataTypeœ:œStructuredOutputœ,œidœ:œStructuredOutput-ApbKxœ,œnameœ:œstructured_outputœ,œoutput_typesœ:[œDataœ]}-ParseData-uKULv{œfieldNameœ:œdataœ,œidœ:œParseData-uKULvœ,œinputTypesœ:[œDataœ],œtypeœ:œotherœ}", + "selected": false, + "source": "StructuredOutput-ApbKx", + "sourceHandle": "{œdataTypeœ:œStructuredOutputœ,œidœ:œStructuredOutput-ApbKxœ,œnameœ:œstructured_outputœ,œoutput_typesœ:[œDataœ]}", + "target": "ParseData-uKULv", + "targetHandle": "{œfieldNameœ:œdataœ,œidœ:œParseData-uKULvœ,œinputTypesœ:[œDataœ],œtypeœ:œotherœ}" } ], "nodes": [ { "data": { - "id": "ParseData-idUvo", + "id": "ParseData-sbo55", "node": { "base_classes": [ "Data", @@ -341,7 +351,7 @@ "type": "ParseData" }, "dragging": false, - "id": "ParseData-idUvo", + "id": "ParseData-sbo55", "measured": { "height": 342, "width": 320 @@ -355,7 +365,7 @@ }, { "data": { - "id": "ParseData-qN4UL", + "id": "ParseData-uKULv", "node": { "base_classes": [ "Data", @@ -503,7 +513,7 @@ "type": "ParseData" }, "dragging": false, - "id": "ParseData-qN4UL", + "id": "ParseData-uKULv", "measured": { "height": 342, "width": 320 @@ -517,7 +527,7 @@ }, { "data": { - "id": "TextInput-2kYku", + "id": "TextInput-FRxv5", "node": { "base_classes": [ "Message" @@ -609,7 +619,7 @@ "type": "TextInput" }, "dragging": false, - "id": "TextInput-2kYku", + "id": "TextInput-FRxv5", "measured": { "height": 230, "width": 320 @@ -623,7 +633,7 @@ }, { "data": { - "id": "AnthropicModel-hy2sm", + "id": "AnthropicModel-5piN6", "node": { "base_classes": [ "LanguageModel", @@ -702,7 +712,7 @@ "input_types": [ "Message" ], - "load_from_db": false, + "load_from_db": true, "name": "api_key", "password": true, "placeholder": "", @@ -711,7 +721,7 @@ "show": true, "title_case": false, "type": "str", - "value": "" + "value": "ANTHROPIC_API_KEY" }, "base_url": { "_input_type": "MessageTextInput", @@ -945,9 +955,9 @@ "type": "AnthropicModel" }, "dragging": false, - "id": "AnthropicModel-hy2sm", + "id": "AnthropicModel-5piN6", "measured": { - "height": 801, + "height": 670, "width": 320 }, "position": { @@ -959,7 +969,7 @@ }, { "data": { - "id": "AnthropicModel-3QKQF", + "id": "AnthropicModel-vog1V", "node": { "base_classes": [ "LanguageModel", @@ -998,8 +1008,10 @@ "allows_loop": false, "cache": true, "display_name": "Message", + "hidden": null, "method": "text_response", "name": "text_output", + "options": null, "required_inputs": [], "selected": "Message", "tool_mode": true, @@ -1012,8 +1024,10 @@ "allows_loop": false, "cache": true, "display_name": "Language Model", + "hidden": null, "method": "build_model", "name": "model_output", + "options": null, "required_inputs": [ "api_key" ], @@ -1038,7 +1052,7 @@ "input_types": [ "Message" ], - "load_from_db": false, + "load_from_db": true, "name": "api_key", "password": true, "placeholder": "", @@ -1047,7 +1061,7 @@ "show": true, "title_case": false, "type": "str", - "value": "" + "value": "ANTHROPIC_API_KEY" }, "base_url": { "_input_type": "MessageTextInput", @@ -1281,9 +1295,9 @@ "type": "AnthropicModel" }, "dragging": false, - "id": "AnthropicModel-3QKQF", + "id": "AnthropicModel-vog1V", "measured": { - "height": 801, + "height": 670, "width": 320 }, "position": { @@ -1295,7 +1309,7 @@ }, { "data": { - "id": "ChatOutput-Anz6s", + "id": "ChatOutput-vpJbx", "node": { "base_classes": [ "Message" @@ -1593,7 +1607,7 @@ "type": "ChatOutput" }, "dragging": false, - "id": "ChatOutput-Anz6s", + "id": "ChatOutput-vpJbx", "measured": { "height": 66, "width": 192 @@ -1607,7 +1621,7 @@ }, { "data": { - "id": "note-gCIcE", + "id": "note-KVOU7", "node": { "description": "### 💡 Upload your resume here", "display_name": "", @@ -1620,7 +1634,7 @@ }, "dragging": false, "height": 358, - "id": "note-gCIcE", + "id": "note-KVOU7", "measured": { "height": 358, "width": 345 @@ -1636,7 +1650,7 @@ }, { "data": { - "id": "note-hzqgI", + "id": "note-pq8w3", "node": { "description": "## 📝 Portfolio Website Code Generator\n\nYour uploaded resume is parsed into a structured format, and output as HTML/CSS code for your own resume website!\n\n✅ **Accepted Formats:** PDF or TXT \n✅ To ensure readability, provide clear headings, bullet points, and proper formatting. \n### 📌 Structured output fields:\n1. 🏷 **Full Name** - Candidate's full name \n2. 📧 **Email** - A valid email address \n3. 📞 **Phone Number** - Contact number \n4. 🔗 **LinkedIn** - LinkedIn profile URL \n5. 🖥 **GitHub** - GitHub profile URL (if applicable) \n6. 🌐 **Portfolio** - Personal website or portfolio URL \n7. 🛂 **Visa Status** - Work authorization details (if applicable) \n8. 📝 **Summary** - A brief professional summary or objective statement \n9. 💼 **Experience** - Work experience details (in dictionary format) \n10. 🎓 **Education** - Education details (in dictionary format) \n11. 🛠 **Skills** - Skills mentioned in the resume (comma-separated) \n12. 🚀 **Projects** - Titles, descriptions, and details of projects.", "display_name": "", @@ -1647,7 +1661,7 @@ }, "dragging": false, "height": 324, - "id": "note-hzqgI", + "id": "note-pq8w3", "measured": { "height": 324, "width": 325 @@ -1663,7 +1677,7 @@ }, { "data": { - "id": "note-cc1Ie", + "id": "note-4GusB", "node": { "description": "### 💡 Click **Open table** to view the schema", "display_name": "", @@ -1676,7 +1690,7 @@ }, "dragging": false, "height": 438, - "id": "note-cc1Ie", + "id": "note-4GusB", "measured": { "height": 438, "width": 358 @@ -1692,7 +1706,7 @@ }, { "data": { - "id": "note-NwmXB", + "id": "note-Tqu2d", "node": { "description": "### 💡 Add your Anthropic API key here", "display_name": "", @@ -1705,7 +1719,7 @@ }, "dragging": false, "height": 324, - "id": "note-NwmXB", + "id": "note-Tqu2d", "measured": { "height": 324, "width": 361 @@ -1721,7 +1735,7 @@ }, { "data": { - "id": "note-6xc0C", + "id": "note-Tc72L", "node": { "description": "### 💡 Add your Anthropic API key here", "display_name": "", @@ -1734,7 +1748,7 @@ }, "dragging": false, "height": 324, - "id": "note-6xc0C", + "id": "note-Tc72L", "measured": { "height": 324, "width": 343 @@ -1750,7 +1764,7 @@ }, { "data": { - "id": "StructuredOutputv2-ZQldd", + "id": "StructuredOutput-ApbKx", "node": { "base_classes": [ "Data", @@ -2091,7 +2105,7 @@ "type": "StructuredOutput" }, "dragging": false, - "id": "StructuredOutputv2-ZQldd", + "id": "StructuredOutput-ApbKx", "measured": { "height": 447, "width": 320 @@ -2100,12 +2114,12 @@ "x": 1306.940204747624, "y": 645.3388247558626 }, - "selected": true, + "selected": false, "type": "genericNode" }, { "data": { - "id": "File-GICjp", + "id": "File-u0H8v", "node": { "base_classes": [ "Data" @@ -2324,7 +2338,7 @@ "bz2", "gz" ], - "file_path": "", + "file_path": [], "info": "Supported file extensions: txt, md, mdx, csv, json, yaml, yml, xml, html, htm, pdf, docx, py, sh, sql, js, ts, tsx; optionally bundled in file extensions: zip, tar, tgz, bz2, gz", "list": true, "list_add_label": "Add More", @@ -2399,9 +2413,9 @@ "type": "File" }, "dragging": false, - "id": "File-GICjp", + "id": "File-u0H8v", "measured": { - "height": 228, + "height": 336, "width": 320 }, "position": { @@ -2413,18 +2427,16 @@ } ], "viewport": { - "x": -158.19733671893528, - "y": 43.39993635528333, - "zoom": 0.648669567640396 + "x": 258.19631043779543, + "y": 250.36039957268596, + "zoom": 0.3767176834743995 } }, "description": "This template transforms PDF or TXT resume documents into structured JSON, generating a portfolio website HTML code from the structured data.", - "endpoint_name": "portfolio_website", - "gradient": "3", - "icon": "file-user", - "id": "98f3f604-418e-4d6a-ac71-6476222ebe13", + "endpoint_name": null, + "id": "c8719bf8-c53b-4d8d-a195-139891cad0f5", "is_component": false, - "last_tested_version": "1.1.5", + "last_tested_version": "1.2.0", "name": "Portfolio Website Code Generator", "tags": [ "chatbots", diff --git a/src/backend/base/langflow/initial_setup/starter_projects/Price Deal Finder.json b/src/backend/base/langflow/initial_setup/starter_projects/Price Deal Finder.json index 64b75a023..6db786728 100644 --- a/src/backend/base/langflow/initial_setup/starter_projects/Price Deal Finder.json +++ b/src/backend/base/langflow/initial_setup/starter_projects/Price Deal Finder.json @@ -7,23 +7,27 @@ "data": { "sourceHandle": { "dataType": "AgentQL", - "id": "AgentQL-FEfZe", + "id": "AgentQL-SX5lE", "name": "component_as_tool", - "output_types": ["Tool"] + "output_types": [ + "Tool" + ] }, "targetHandle": { "fieldName": "tools", - "id": "Agent-C2lNW", - "inputTypes": ["Tool"], + "id": "Agent-6kg5B", + "inputTypes": [ + "Tool" + ], "type": "other" } }, - "id": "reactflow__edge-AgentQL-FEfZe{œdataTypeœ:œAgentQLœ,œidœ:œAgentQL-FEfZeœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-C2lNW{œfieldNameœ:œtoolsœ,œidœ:œAgent-C2lNWœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", + "id": "reactflow__edge-AgentQL-SX5lE{œdataTypeœ:œAgentQLœ,œidœ:œAgentQL-SX5lEœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-6kg5B{œfieldNameœ:œtoolsœ,œidœ:œAgent-6kg5Bœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", "selected": false, - "source": "AgentQL-FEfZe", - "sourceHandle": "{œdataTypeœ: œAgentQLœ, œidœ: œAgentQL-FEfZeœ, œnameœ: œcomponent_as_toolœ, œoutput_typesœ: [œToolœ]}", - "target": "Agent-C2lNW", - "targetHandle": "{œfieldNameœ: œtoolsœ, œidœ: œAgent-C2lNWœ, œinputTypesœ: [œToolœ], œtypeœ: œotherœ}" + "source": "AgentQL-SX5lE", + "sourceHandle": "{œdataTypeœ:œAgentQLœ,œidœ:œAgentQL-SX5lEœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}", + "target": "Agent-6kg5B", + "targetHandle": "{œfieldNameœ:œtoolsœ,œidœ:œAgent-6kg5Bœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}" }, { "animated": false, @@ -31,23 +35,27 @@ "data": { "sourceHandle": { "dataType": "TavilySearchComponent", - "id": "TavilySearchComponent-ilBh2", + "id": "TavilySearchComponent-rYJ93", "name": "component_as_tool", - "output_types": ["Tool"] + "output_types": [ + "Tool" + ] }, "targetHandle": { "fieldName": "tools", - "id": "Agent-C2lNW", - "inputTypes": ["Tool"], + "id": "Agent-6kg5B", + "inputTypes": [ + "Tool" + ], "type": "other" } }, - "id": "reactflow__edge-TavilySearchComponent-ilBh2{œdataTypeœ:œTavilySearchComponentœ,œidœ:œTavilySearchComponent-ilBh2œ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-C2lNW{œfieldNameœ:œtoolsœ,œidœ:œAgent-C2lNWœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", + "id": "reactflow__edge-TavilySearchComponent-rYJ93{œdataTypeœ:œTavilySearchComponentœ,œidœ:œTavilySearchComponent-rYJ93œ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-6kg5B{œfieldNameœ:œtoolsœ,œidœ:œAgent-6kg5Bœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", "selected": false, - "source": "TavilySearchComponent-ilBh2", - "sourceHandle": "{œdataTypeœ: œTavilySearchComponentœ, œidœ: œTavilySearchComponent-ilBh2œ, œnameœ: œcomponent_as_toolœ, œoutput_typesœ: [œToolœ]}", - "target": "Agent-C2lNW", - "targetHandle": "{œfieldNameœ: œtoolsœ, œidœ: œAgent-C2lNWœ, œinputTypesœ: [œToolœ], œtypeœ: œotherœ}" + "source": "TavilySearchComponent-rYJ93", + "sourceHandle": "{œdataTypeœ:œTavilySearchComponentœ,œidœ:œTavilySearchComponent-rYJ93œ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}", + "target": "Agent-6kg5B", + "targetHandle": "{œfieldNameœ:œtoolsœ,œidœ:œAgent-6kg5Bœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}" }, { "animated": false, @@ -55,54 +63,67 @@ "data": { "sourceHandle": { "dataType": "ChatInput", - "id": "ChatInput-ikOpG", + "id": "ChatInput-RjE2C", "name": "message", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "Agent-C2lNW", - "inputTypes": ["Message"], + "id": "Agent-6kg5B", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-ChatInput-ikOpG{œdataTypeœ:œChatInputœ,œidœ:œChatInput-ikOpGœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-Agent-C2lNW{œfieldNameœ:œinput_valueœ,œidœ:œAgent-C2lNWœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-ChatInput-RjE2C{œdataTypeœ:œChatInputœ,œidœ:œChatInput-RjE2Cœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-Agent-6kg5B{œfieldNameœ:œinput_valueœ,œidœ:œAgent-6kg5Bœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "ChatInput-ikOpG", - "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-ikOpGœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", - "target": "Agent-C2lNW", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œAgent-C2lNWœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "source": "ChatInput-RjE2C", + "sourceHandle": "{œdataTypeœ:œChatInputœ,œidœ:œChatInput-RjE2Cœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}", + "target": "Agent-6kg5B", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œAgent-6kg5Bœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, + "className": "", "data": { "sourceHandle": { "dataType": "Agent", - "id": "Agent-C2lNW", + "id": "Agent-6kg5B", "name": "response", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "ChatOutput-uu7cZ", - "inputTypes": ["Data", "DataFrame", "Message"], + "id": "ChatOutput-x7zHw", + "inputTypes": [ + "Data", + "DataFrame", + "Message" + ], "type": "other" } }, - "id": "xy-edge__Agent-C2lNW{œdataTypeœ:œAgentœ,œidœ:œAgent-C2lNWœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-uu7cZ{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-uu7cZœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œotherœ}", + "id": "reactflow__edge-Agent-6kg5B{œdataTypeœ:œAgentœ,œidœ:œAgent-6kg5Bœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-x7zHw{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-x7zHwœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œotherœ}", "selected": false, - "source": "Agent-C2lNW", - "sourceHandle": "{œdataTypeœ: œAgentœ, œidœ: œAgent-C2lNWœ, œnameœ: œresponseœ, œoutput_typesœ: [œMessageœ]}", - "target": "ChatOutput-uu7cZ", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-uu7cZœ, œinputTypesœ: [œDataœ, œDataFrameœ, œMessageœ], œtypeœ: œotherœ}" + "source": "Agent-6kg5B", + "sourceHandle": "{œdataTypeœ:œAgentœ,œidœ:œAgent-6kg5Bœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}", + "target": "ChatOutput-x7zHw", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-x7zHwœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œotherœ}" } ], "nodes": [ { "data": { - "id": "ChatInput-ikOpG", + "id": "ChatInput-RjE2C", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "category": "inputs", "conditional_paths": [], @@ -139,7 +160,9 @@ "name": "message", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -153,7 +176,9 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -174,7 +199,9 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -282,7 +309,10 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": ["Machine", "User"], + "options": [ + "Machine", + "User" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -299,7 +329,9 @@ "display_name": "Sender Name", "dynamic": false, "info": "Name of the sender.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -320,7 +352,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -359,7 +393,9 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -381,7 +417,7 @@ "type": "ChatInput" }, "dragging": false, - "id": "ChatInput-ikOpG", + "id": "ChatInput-RjE2C", "measured": { "height": 66, "width": 192 @@ -395,9 +431,11 @@ }, { "data": { - "id": "ChatOutput-uu7cZ", + "id": "ChatOutput-x7zHw", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -432,7 +470,9 @@ "name": "message", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -445,7 +485,9 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -466,7 +508,9 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -523,7 +567,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -544,7 +590,11 @@ "display_name": "Text", "dynamic": false, "info": "Message to be passed as output.", - "input_types": ["Data", "DataFrame", "Message"], + "input_types": [ + "Data", + "DataFrame", + "Message" + ], "list": false, "list_add_label": "Add More", "name": "input_value", @@ -565,7 +615,10 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": ["Machine", "User"], + "options": [ + "Machine", + "User" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -582,7 +635,9 @@ "display_name": "Sender Name", "dynamic": false, "info": "Name of the sender.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -603,7 +658,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -642,7 +699,9 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -664,7 +723,7 @@ "type": "ChatOutput" }, "dragging": false, - "id": "ChatOutput-uu7cZ", + "id": "ChatOutput-x7zHw", "measured": { "height": 66, "width": 192 @@ -678,9 +737,12 @@ }, { "data": { - "id": "TavilySearchComponent-ilBh2", + "id": "TavilySearchComponent-rYJ93", "node": { - "base_classes": ["Data", "Message"], + "base_classes": [ + "Data", + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -716,7 +778,9 @@ "required_inputs": null, "selected": "Tool", "tool_mode": true, - "types": ["Tool"], + "types": [ + "Tool" + ], "value": "__UNDEFINED__" } ], @@ -729,8 +793,10 @@ "display_name": "Tavily API Key", "dynamic": false, "info": "Your Tavily API Key.", - "input_types": ["Message"], - "load_from_db": false, + "input_types": [ + "Message" + ], + "load_from_db": true, "name": "api_key", "password": true, "placeholder": "", @@ -738,7 +804,7 @@ "show": true, "title_case": false, "type": "str", - "value": "" + "value": "TAVILY_API_KEY" }, "code": { "advanced": true, @@ -818,7 +884,9 @@ "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, @@ -842,7 +910,10 @@ "dynamic": false, "info": "The depth of the search.", "name": "search_depth", - "options": ["basic", "advanced"], + "options": [ + "basic", + "advanced" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -862,7 +933,12 @@ "dynamic": false, "info": "The time range back from the current date to include in the search results.", "name": "time_range", - "options": ["day", "week", "month", "year"], + "options": [ + "day", + "week", + "month", + "year" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -897,7 +973,10 @@ "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 }, @@ -948,12 +1027,16 @@ { "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": "TavilySearchComponent-fetch_content", - "tags": ["TavilySearchComponent-fetch_content"] + "tags": [ + "TavilySearchComponent-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": "TavilySearchComponent-fetch_content_text", - "tags": ["TavilySearchComponent-fetch_content_text"] + "tags": [ + "TavilySearchComponent-fetch_content_text" + ] } ] }, @@ -966,7 +1049,10 @@ "dynamic": false, "info": "The category of the search.", "name": "topic", - "options": ["general", "news"], + "options": [ + "general", + "news" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -984,7 +1070,7 @@ "type": "TavilySearchComponent" }, "dragging": false, - "id": "TavilySearchComponent-ilBh2", + "id": "TavilySearchComponent-rYJ93", "measured": { "height": 437, "width": 320 @@ -993,16 +1079,18 @@ "x": 345.9762510966062, "y": 500.79656821057074 }, - "selected": false, + "selected": true, "type": "genericNode" }, { "data": { "description": "Uses AgentQL API to extract structured data from a given URL.", "display_name": "AgentQL Query Data", - "id": "AgentQL-FEfZe", + "id": "AgentQL-SX5lE", "node": { - "base_classes": ["Data"], + "base_classes": [ + "Data" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -1036,10 +1124,13 @@ "hidden": null, "method": "to_toolkit", "name": "component_as_tool", + "options": null, "required_inputs": null, "selected": "Tool", "tool_mode": true, - "types": ["Tool"], + "types": [ + "Tool" + ], "value": "__UNDEFINED__" } ], @@ -1052,8 +1143,10 @@ "display_name": "API Key", "dynamic": false, "info": "Your AgentQL API key from dev.agentql.com", - "input_types": ["Message"], - "load_from_db": false, + "input_types": [ + "Message" + ], + "load_from_db": true, "name": "api_key", "password": true, "placeholder": "", @@ -1061,7 +1154,7 @@ "show": true, "title_case": false, "type": "str", - "value": "" + "value": "AGENTQL_API_KEY" }, "code": { "advanced": true, @@ -1144,7 +1237,10 @@ "dynamic": false, "info": "'standard' uses deep data analysis, while 'fast' trades some depth of analysis for speed.", "name": "mode", - "options": ["fast", "standard"], + "options": [ + "fast", + "standard" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -1162,7 +1258,9 @@ "display_name": "Prompt", "dynamic": false, "info": "A Natural Language description of the data to extract from the page. Alternative to AgentQL query.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1185,7 +1283,9 @@ "display_name": "AgentQL Query", "dynamic": false, "info": "The AgentQL query to execute. Learn more at https://docs.agentql.com/agentql-query or use a prompt.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1244,7 +1344,10 @@ "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 }, @@ -1289,19 +1392,6 @@ "sortable": false, "type": "str" }, - { - "default": true, - "description": "Indicates whether the tool is currently active. Set to True to activate this tool.", - "disable_edit": false, - "display_name": "Enable", - "edit_mode": "popover", - "filterable": true, - "formatter": "boolean", - "hidden": false, - "name": "status", - "sortable": true, - "type": "boolean" - }, { "default": true, "description": "Indicates whether the tool is currently active. Set to True to activate this tool.", @@ -1328,7 +1418,9 @@ "description": "build_output(api_key: Message, url: Message) - Extracts structured data from a web page using an AgentQL query or a Natural Language description.", "name": "AgentQL-build_output", "status": true, - "tags": ["AgentQL-build_output"] + "tags": [ + "AgentQL-build_output" + ] } ] }, @@ -1338,7 +1430,9 @@ "display_name": "URL", "dynamic": false, "info": "The URL of the public web page you want to extract data from.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1384,7 +1478,7 @@ "type": "AgentQL" }, "dragging": false, - "id": "AgentQL-FEfZe", + "id": "AgentQL-SX5lE", "measured": { "height": 602, "width": 320 @@ -1398,9 +1492,11 @@ }, { "data": { - "id": "Agent-C2lNW", + "id": "Agent-6kg5B", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -1451,7 +1547,9 @@ "name": "response", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -1482,7 +1580,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -1564,7 +1664,9 @@ "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, @@ -1617,7 +1719,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -1716,7 +1820,9 @@ "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, "list_add_label": "Add More", "name": "memory", @@ -1821,7 +1927,10 @@ "dynamic": false, "info": "Order of the messages.", "name": "order", - "options": ["Ascending", "Descending"], + "options": [ + "Ascending", + "Descending" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -1859,7 +1968,11 @@ "dynamic": false, "info": "Filter by sender type.", "name": "sender", - "options": ["Machine", "User", "Machine and User"], + "options": [ + "Machine", + "User", + "Machine and User" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -1876,7 +1989,9 @@ "display_name": "Sender Name", "dynamic": false, "info": "Filter by sender name.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1897,7 +2012,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -1918,7 +2035,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -1968,7 +2087,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -2008,7 +2129,9 @@ "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, "list_add_label": "Add More", "name": "tools", @@ -2045,7 +2168,7 @@ "type": "Agent" }, "dragging": false, - "id": "Agent-C2lNW", + "id": "Agent-6kg5B", "measured": { "height": 624, "width": 320 @@ -2059,7 +2182,7 @@ }, { "data": { - "id": "note-fxnAw", + "id": "note-l316C", "node": { "description": "### 💡 Add your OpenAI API key here", "display_name": "", @@ -2071,7 +2194,7 @@ "type": "note" }, "dragging": false, - "id": "note-fxnAw", + "id": "note-l316C", "measured": { "height": 324, "width": 324 @@ -2085,7 +2208,7 @@ }, { "data": { - "id": "note-zwQr5", + "id": "note-9uZJm", "node": { "description": "### 💡 Add your AgentQL API key here", "display_name": "", @@ -2098,7 +2221,7 @@ }, "dragging": false, "height": 346, - "id": "note-zwQr5", + "id": "note-9uZJm", "measured": { "height": 346, "width": 324 @@ -2112,7 +2235,7 @@ }, { "data": { - "id": "note-MwIwp", + "id": "note-X4Slm", "node": { "description": "# Price Deal Finder \n\nThis flow extracts structured data from a URL.\n## Prerequisites\n\n* **[AgentQL API Key](https://dev.agentql.com/api-keys)**\n* **[OpenAI API Key](https://platform.openai.com/)**\n* **[TavilyAI Search API Key](https://tavily.com/)**\n\n## Quick Start\n\n1. Add your [AgentQL API Key](https://dev.agentql.com/api-keys) to the **AgentQL** component.\n2. Add your [OpenAI API Key](https://platform.openai.com/) to the **Agent** component.\n3. Add your [TavilyAI Search API Key](https://tavily.com/) to the **Tavily AI Search** component.\n4. Click **Playground** and enter a product in chat. For example, search \"Nintendo Switch - OLed Model - w/ White Joy-Con\")\n* The **Agent** component populates the **Tavily AI Search** component's **Search Query** field, and the **Agent QL** component's **URL** and **Query** fields. \n\n* The **Agent** returns a structured response to your searcn in the chat.", "display_name": "", @@ -2123,7 +2246,7 @@ }, "dragging": false, "height": 674, - "id": "note-MwIwp", + "id": "note-X4Slm", "measured": { "height": 674, "width": 467 @@ -2139,7 +2262,7 @@ }, { "data": { - "id": "note-Aa3h7", + "id": "note-s2MdP", "node": { "description": "### 💡 Add your Tavily AI Search key here", "display_name": "", @@ -2152,7 +2275,7 @@ }, "dragging": false, "height": 324, - "id": "note-Aa3h7", + "id": "note-s2MdP", "measured": { "height": 324, "width": 344 @@ -2168,16 +2291,19 @@ } ], "viewport": { - "x": 434.3618973589291, - "y": 283.7646795952994, - "zoom": 0.6085090013349782 + "x": 424.9980860019988, + "y": 301.1687784963252, + "zoom": 0.6254645347553064 } }, "description": "Searches and compares product prices across multiple e-commerce platforms. ", "endpoint_name": null, - "id": "7a42e7d2-6f97-4df6-bbbb-f90705ed52d9", + "id": "44912ccb-acc0-4963-bdf6-1274bc455b63", "is_component": false, "last_tested_version": "1.2.0", "name": "Price Deal Finder", - "tags": ["web-scraping", "agents"] -} + "tags": [ + "web-scraping", + "agents" + ] +} \ No newline at end of file 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 77c9e9b1f..1788b32c8 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,23 +7,28 @@ "data": { "sourceHandle": { "dataType": "ChatInput", - "id": "ChatInput-ODlE4", + "id": "ChatInput-KgyhN", "name": "message", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "Prompt-0159s", - "inputTypes": ["Message", "Text"], + "id": "Prompt-o2zd8", + "inputTypes": [ + "Message", + "Text" + ], "type": "str" } }, - "id": "reactflow__edge-ChatInput-ODlE4{œdataTypeœ:œChatInputœ,œidœ:œChatInput-ODlE4œ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-Prompt-0159s{œfieldNameœ:œinput_valueœ,œidœ:œPrompt-0159sœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-ChatInput-KgyhN{œdataTypeœ:œChatInputœ,œidœ:œChatInput-KgyhNœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-Prompt-o2zd8{œfieldNameœ:œinput_valueœ,œidœ:œPrompt-o2zd8œ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", "selected": false, - "source": "ChatInput-ODlE4", - "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-ODlE4œ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", - "target": "Prompt-0159s", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œPrompt-0159sœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" + "source": "ChatInput-KgyhN", + "sourceHandle": "{œdataTypeœ:œChatInputœ,œidœ:œChatInput-KgyhNœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}", + "target": "Prompt-o2zd8", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œPrompt-o2zd8œ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -31,23 +36,27 @@ "data": { "sourceHandle": { "dataType": "Prompt", - "id": "Prompt-Lj4w8", + "id": "Prompt-I3JbF", "name": "prompt", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "Agent-gNoaI", - "inputTypes": ["Message"], + "id": "Agent-TPxdA", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-Prompt-Lj4w8{œdataTypeœ:œPromptœ,œidœ:œPrompt-Lj4w8œ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-Agent-gNoaI{œfieldNameœ:œinput_valueœ,œidœ:œAgent-gNoaIœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-Prompt-I3JbF{œdataTypeœ:œPromptœ,œidœ:œPrompt-I3JbFœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-Agent-TPxdA{œfieldNameœ:œinput_valueœ,œidœ:œAgent-TPxdAœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "Prompt-Lj4w8", - "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-Lj4w8œ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", - "target": "Agent-gNoaI", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œAgent-gNoaIœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "source": "Prompt-I3JbF", + "sourceHandle": "{œdataTypeœ:œPromptœ,œidœ:œPrompt-I3JbFœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}", + "target": "Agent-TPxdA", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œAgent-TPxdAœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -55,176 +64,227 @@ "data": { "sourceHandle": { "dataType": "Agent", - "id": "Agent-gNoaI", + "id": "Agent-TPxdA", "name": "response", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "search_results", - "id": "Prompt-0159s", - "inputTypes": ["Message", "Text"], + "id": "Prompt-o2zd8", + "inputTypes": [ + "Message", + "Text" + ], "type": "str" } }, - "id": "reactflow__edge-Agent-gNoaI{œdataTypeœ:œAgentœ,œidœ:œAgent-gNoaIœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-Prompt-0159s{œfieldNameœ:œsearch_resultsœ,œidœ:œPrompt-0159sœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-Agent-TPxdA{œdataTypeœ:œAgentœ,œidœ:œAgent-TPxdAœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-Prompt-o2zd8{œfieldNameœ:œsearch_resultsœ,œidœ:œPrompt-o2zd8œ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", "selected": false, - "source": "Agent-gNoaI", - "sourceHandle": "{œdataTypeœ: œAgentœ, œidœ: œAgent-gNoaIœ, œnameœ: œresponseœ, œoutput_typesœ: [œMessageœ]}", - "target": "Prompt-0159s", - "targetHandle": "{œfieldNameœ: œsearch_resultsœ, œidœ: œPrompt-0159sœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" + "source": "Agent-TPxdA", + "sourceHandle": "{œdataTypeœ:œAgentœ,œidœ:œAgent-TPxdAœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}", + "target": "Prompt-o2zd8", + "targetHandle": "{œfieldNameœ:œsearch_resultsœ,œidœ:œPrompt-o2zd8œ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}" }, { + "animated": false, "className": "", "data": { "sourceHandle": { "dataType": "TavilySearchComponent", - "id": "TavilySearchComponent-dk7WW", + "id": "TavilySearchComponent-okHYL", "name": "component_as_tool", - "output_types": ["Tool"] + "output_types": [ + "Tool" + ] }, "targetHandle": { "fieldName": "tools", - "id": "Agent-gNoaI", - "inputTypes": ["Tool"], + "id": "Agent-TPxdA", + "inputTypes": [ + "Tool" + ], "type": "other" } }, - "id": "reactflow__edge-TavilySearchComponent-dk7WW{œdataTypeœ:œTavilySearchComponentœ,œidœ:œTavilySearchComponent-dk7WWœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-gNoaI{œfieldNameœ:œtoolsœ,œidœ:œAgent-gNoaIœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", - "source": "TavilySearchComponent-dk7WW", - "sourceHandle": "{œdataTypeœ: œTavilySearchComponentœ, œidœ: œTavilySearchComponent-dk7WWœ, œnameœ: œcomponent_as_toolœ, œoutput_typesœ: [œToolœ]}", - "target": "Agent-gNoaI", - "targetHandle": "{œfieldNameœ: œtoolsœ, œidœ: œAgent-gNoaIœ, œinputTypesœ: [œToolœ], œtypeœ: œotherœ}" + "id": "reactflow__edge-TavilySearchComponent-okHYL{œdataTypeœ:œTavilySearchComponentœ,œidœ:œTavilySearchComponent-okHYLœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-TPxdA{œfieldNameœ:œtoolsœ,œidœ:œAgent-TPxdAœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", + "selected": false, + "source": "TavilySearchComponent-okHYL", + "sourceHandle": "{œdataTypeœ:œTavilySearchComponentœ,œidœ:œTavilySearchComponent-okHYLœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}", + "target": "Agent-TPxdA", + "targetHandle": "{œfieldNameœ:œtoolsœ,œidœ:œAgent-TPxdAœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}" }, { + "animated": false, "className": "", "data": { "sourceHandle": { "dataType": "Prompt", - "id": "Prompt-5lo5d", + "id": "Prompt-saNk6", "name": "prompt", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "system_message", - "id": "OpenAIModel-1sVXW", - "inputTypes": ["Message"], + "id": "OpenAIModel-sO8rf", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-Prompt-5lo5d{œdataTypeœ:œPromptœ,œidœ:œPrompt-5lo5dœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-1sVXW{œfieldNameœ:œsystem_messageœ,œidœ:œOpenAIModel-1sVXWœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "Prompt-5lo5d", - "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-5lo5dœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", - "target": "OpenAIModel-1sVXW", - "targetHandle": "{œfieldNameœ: œsystem_messageœ, œidœ: œOpenAIModel-1sVXWœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-Prompt-saNk6{œdataTypeœ:œPromptœ,œidœ:œPrompt-saNk6œ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-sO8rf{œfieldNameœ:œsystem_messageœ,œidœ:œOpenAIModel-sO8rfœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "selected": false, + "source": "Prompt-saNk6", + "sourceHandle": "{œdataTypeœ:œPromptœ,œidœ:œPrompt-saNk6œ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}", + "target": "OpenAIModel-sO8rf", + "targetHandle": "{œfieldNameœ:œsystem_messageœ,œidœ:œOpenAIModel-sO8rfœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { + "animated": false, "className": "", "data": { "sourceHandle": { "dataType": "ChatInput", - "id": "ChatInput-ODlE4", + "id": "ChatInput-KgyhN", "name": "message", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "OpenAIModel-1sVXW", - "inputTypes": ["Message"], + "id": "OpenAIModel-sO8rf", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-ChatInput-ODlE4{œdataTypeœ:œChatInputœ,œidœ:œChatInput-ODlE4œ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-1sVXW{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-1sVXWœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "ChatInput-ODlE4", - "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-ODlE4œ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", - "target": "OpenAIModel-1sVXW", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œOpenAIModel-1sVXWœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-ChatInput-KgyhN{œdataTypeœ:œChatInputœ,œidœ:œChatInput-KgyhNœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-sO8rf{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-sO8rfœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "selected": false, + "source": "ChatInput-KgyhN", + "sourceHandle": "{œdataTypeœ:œChatInputœ,œidœ:œChatInput-KgyhNœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}", + "target": "OpenAIModel-sO8rf", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-sO8rfœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { + "animated": false, "className": "", "data": { "sourceHandle": { "dataType": "OpenAIModel", - "id": "OpenAIModel-1sVXW", + "id": "OpenAIModel-sO8rf", "name": "text_output", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "previous_response", - "id": "Prompt-Lj4w8", - "inputTypes": ["Message", "Text"], + "id": "Prompt-I3JbF", + "inputTypes": [ + "Message", + "Text" + ], "type": "str" } }, - "id": "reactflow__edge-OpenAIModel-1sVXW{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-1sVXWœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-Prompt-Lj4w8{œfieldNameœ:œprevious_responseœ,œidœ:œPrompt-Lj4w8œ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", - "source": "OpenAIModel-1sVXW", - "sourceHandle": "{œdataTypeœ: œOpenAIModelœ, œidœ: œOpenAIModel-1sVXWœ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}", - "target": "Prompt-Lj4w8", - "targetHandle": "{œfieldNameœ: œprevious_responseœ, œidœ: œPrompt-Lj4w8œ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-OpenAIModel-sO8rf{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-sO8rfœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-Prompt-I3JbF{œfieldNameœ:œprevious_responseœ,œidœ:œPrompt-I3JbFœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", + "selected": false, + "source": "OpenAIModel-sO8rf", + "sourceHandle": "{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-sO8rfœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}", + "target": "Prompt-I3JbF", + "targetHandle": "{œfieldNameœ:œprevious_responseœ,œidœ:œPrompt-I3JbFœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}" }, { + "animated": false, "className": "", "data": { "sourceHandle": { "dataType": "Prompt", - "id": "Prompt-0159s", + "id": "Prompt-o2zd8", "name": "prompt", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "OpenAIModel-Rg8Kn", - "inputTypes": ["Message"], + "id": "OpenAIModel-1pnlf", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-Prompt-0159s{œdataTypeœ:œPromptœ,œidœ:œPrompt-0159sœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-Rg8Kn{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-Rg8Knœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "Prompt-0159s", - "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-0159sœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", - "target": "OpenAIModel-Rg8Kn", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œOpenAIModel-Rg8Knœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-Prompt-o2zd8{œdataTypeœ:œPromptœ,œidœ:œPrompt-o2zd8œ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-1pnlf{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-1pnlfœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "selected": false, + "source": "Prompt-o2zd8", + "sourceHandle": "{œdataTypeœ:œPromptœ,œidœ:œPrompt-o2zd8œ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}", + "target": "OpenAIModel-1pnlf", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-1pnlfœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { + "animated": false, "className": "", "data": { "sourceHandle": { "dataType": "Prompt", - "id": "Prompt-4HHcE", + "id": "Prompt-z31Nf", "name": "prompt", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "system_message", - "id": "OpenAIModel-Rg8Kn", - "inputTypes": ["Message"], + "id": "OpenAIModel-1pnlf", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-Prompt-4HHcE{œdataTypeœ:œPromptœ,œidœ:œPrompt-4HHcEœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-Rg8Kn{œfieldNameœ:œsystem_messageœ,œidœ:œOpenAIModel-Rg8Knœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "Prompt-4HHcE", - "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-4HHcEœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", - "target": "OpenAIModel-Rg8Kn", - "targetHandle": "{œfieldNameœ: œsystem_messageœ, œidœ: œOpenAIModel-Rg8Knœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-Prompt-z31Nf{œdataTypeœ:œPromptœ,œidœ:œPrompt-z31Nfœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-1pnlf{œfieldNameœ:œsystem_messageœ,œidœ:œOpenAIModel-1pnlfœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "selected": false, + "source": "Prompt-z31Nf", + "sourceHandle": "{œdataTypeœ:œPromptœ,œidœ:œPrompt-z31Nfœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}", + "target": "OpenAIModel-1pnlf", + "targetHandle": "{œfieldNameœ:œsystem_messageœ,œidœ:œOpenAIModel-1pnlfœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { + "animated": false, + "className": "", "data": { "sourceHandle": { "dataType": "OpenAIModel", - "id": "OpenAIModel-Rg8Kn", + "id": "OpenAIModel-1pnlf", "name": "text_output", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "ChatOutput-SIV0E", - "inputTypes": ["Data", "DataFrame", "Message"], + "id": "ChatOutput-Fg9B4", + "inputTypes": [ + "Data", + "DataFrame", + "Message" + ], "type": "other" } }, - "id": "xy-edge__OpenAIModel-Rg8Kn{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-Rg8Knœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-SIV0E{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-SIV0Eœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œotherœ}", - "source": "OpenAIModel-Rg8Kn", - "sourceHandle": "{œdataTypeœ: œOpenAIModelœ, œidœ: œOpenAIModel-Rg8Knœ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}", - "target": "ChatOutput-SIV0E", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-SIV0Eœ, œinputTypesœ: [œDataœ, œDataFrameœ, œMessageœ], œtypeœ: œotherœ}" + "id": "reactflow__edge-OpenAIModel-1pnlf{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-1pnlfœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-Fg9B4{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-Fg9B4œ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œotherœ}", + "selected": false, + "source": "OpenAIModel-1pnlf", + "sourceHandle": "{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-1pnlfœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}", + "target": "ChatOutput-Fg9B4", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-Fg9B4œ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œotherœ}" } ], "nodes": [ @@ -232,19 +292,25 @@ "data": { "description": "Create a prompt template with dynamic variables.", "display_name": "Prompt", - "id": "Prompt-Lj4w8", + "id": "Prompt-I3JbF", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": { - "template": ["previous_response"] + "template": [ + "previous_response" + ] }, "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, @@ -260,7 +326,9 @@ "name": "prompt", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -293,7 +361,10 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Message", "Text"], + "input_types": [ + "Message", + "Text" + ], "list": false, "load_from_db": false, "multiline": true, @@ -329,7 +400,9 @@ "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", @@ -350,7 +423,7 @@ }, "dragging": false, "height": 347, - "id": "Prompt-Lj4w8", + "id": "Prompt-I3JbF", "measured": { "height": 347, "width": 320 @@ -369,9 +442,11 @@ }, { "data": { - "id": "ChatInput-ODlE4", + "id": "ChatInput-KgyhN", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "category": "inputs", "conditional_paths": [], @@ -407,7 +482,9 @@ "name": "message", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -420,7 +497,9 @@ "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", @@ -439,7 +518,9 @@ "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", @@ -541,7 +622,10 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": ["Machine", "User"], + "options": [ + "Machine", + "User" + ], "placeholder": "", "required": false, "show": true, @@ -556,7 +640,9 @@ "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", @@ -575,7 +661,9 @@ "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", @@ -610,7 +698,9 @@ "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", @@ -629,14 +719,14 @@ }, "dragging": false, "height": 234, - "id": "ChatInput-ODlE4", + "id": "ChatInput-KgyhN", "measured": { "height": 234, "width": 320 }, "position": { - "x": 756.0075981758582, - "y": 756.7423476254241 + "x": 698.6950441526648, + "y": 807.1773951658345 }, "positionAbsolute": { "x": 756.0075981758582, @@ -650,19 +740,26 @@ "data": { "description": "Create a prompt template with dynamic variables.", "display_name": "Prompt", - "id": "Prompt-0159s", + "id": "Prompt-o2zd8", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": { - "template": ["search_results", "input_value"] + "template": [ + "search_results", + "input_value" + ] }, "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, @@ -678,7 +775,9 @@ "name": "prompt", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -711,7 +810,10 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Message", "Text"], + "input_types": [ + "Message", + "Text" + ], "list": false, "load_from_db": false, "multiline": true, @@ -731,7 +833,10 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Message", "Text"], + "input_types": [ + "Message", + "Text" + ], "list": false, "load_from_db": false, "multiline": true, @@ -767,7 +872,9 @@ "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", @@ -788,7 +895,7 @@ }, "dragging": false, "height": 433, - "id": "Prompt-0159s", + "id": "Prompt-o2zd8", "measured": { "height": 433, "width": 320 @@ -807,7 +914,7 @@ }, { "data": { - "id": "note-466wP", + "id": "note-DarNU", "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": "", @@ -820,14 +927,14 @@ }, "dragging": false, "height": 694, - "id": "note-466wP", + "id": "note-DarNU", "measured": { "height": 694, "width": 325 }, "position": { - "x": 504.2335190696667, - "y": 41.80990646064032 + "x": 699.0962027485247, + "y": -88.86271671224083 }, "positionAbsolute": { "x": 471.4335708918645, @@ -846,9 +953,11 @@ "data": { "description": "Define the agent's instructions, then enter a task to complete using tools.", "display_name": "Agent", - "id": "Agent-gNoaI", + "id": "Agent-TPxdA", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -899,7 +1008,9 @@ "name": "response", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -928,7 +1039,9 @@ "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, @@ -979,7 +1092,9 @@ "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, @@ -988,7 +1103,7 @@ "show": true, "title_case": false, "type": "str", - "value": "" + "value": "OPENAI_API_KEY" }, "code": { "advanced": true, @@ -1030,7 +1145,9 @@ "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", @@ -1122,7 +1239,9 @@ "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": "", @@ -1216,7 +1335,10 @@ "dynamic": false, "info": "Order of the messages.", "name": "order", - "options": ["Ascending", "Descending"], + "options": [ + "Ascending", + "Descending" + ], "placeholder": "", "required": false, "show": true, @@ -1250,7 +1372,11 @@ "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, @@ -1266,7 +1392,9 @@ "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", @@ -1286,7 +1414,9 @@ "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", @@ -1306,7 +1436,9 @@ "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, @@ -1343,7 +1475,9 @@ "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, @@ -1382,7 +1516,9 @@ "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": "", @@ -1416,7 +1552,7 @@ }, "dragging": false, "height": 658, - "id": "Agent-gNoaI", + "id": "Agent-TPxdA", "measured": { "height": 658, "width": 320 @@ -1437,9 +1573,11 @@ "data": { "description": "Create a prompt template with dynamic variables.", "display_name": "Prompt", - "id": "Prompt-5lo5d", + "id": "Prompt-saNk6", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": { @@ -1449,7 +1587,9 @@ "display_name": "Prompt", "documentation": "", "edited": false, - "field_order": ["template"], + "field_order": [ + "template" + ], "frozen": false, "icon": "prompts", "legacy": false, @@ -1465,7 +1605,9 @@ "name": "prompt", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -1514,7 +1656,9 @@ "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", @@ -1535,7 +1679,7 @@ }, "dragging": false, "height": 260, - "id": "Prompt-5lo5d", + "id": "Prompt-saNk6", "measured": { "height": 260, "width": 320 @@ -1556,9 +1700,11 @@ "data": { "description": "Create a prompt template with dynamic variables.", "display_name": "Prompt", - "id": "Prompt-4HHcE", + "id": "Prompt-z31Nf", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": { @@ -1568,7 +1714,9 @@ "display_name": "Prompt", "documentation": "", "edited": false, - "field_order": ["template"], + "field_order": [ + "template" + ], "frozen": false, "icon": "prompts", "legacy": false, @@ -1584,7 +1732,9 @@ "name": "prompt", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -1633,7 +1783,9 @@ "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", @@ -1654,7 +1806,7 @@ }, "dragging": false, "height": 260, - "id": "Prompt-4HHcE", + "id": "Prompt-z31Nf", "measured": { "height": 260, "width": 320 @@ -1673,7 +1825,7 @@ }, { "data": { - "id": "note-OqZYf", + "id": "note-ZQq6I", "node": { "description": "# 🔑 Tavily AI Search Needs API Key\n\nYou can get 1000 searches/month free [here](https://tavily.com/) ", "display_name": "", @@ -1686,7 +1838,7 @@ }, "dragging": false, "height": 325, - "id": "note-OqZYf", + "id": "note-ZQq6I", "measured": { "height": 325, "width": 326 @@ -1705,9 +1857,12 @@ }, { "data": { - "id": "TavilySearchComponent-dk7WW", + "id": "TavilySearchComponent-okHYL", "node": { - "base_classes": ["Data", "Message"], + "base_classes": [ + "Data", + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -1739,10 +1894,13 @@ "hidden": null, "method": "to_toolkit", "name": "component_as_tool", + "options": null, "required_inputs": null, "selected": "Tool", "tool_mode": true, - "types": ["Tool"], + "types": [ + "Tool" + ], "value": "__UNDEFINED__" } ], @@ -1755,8 +1913,10 @@ "display_name": "Tavily API Key", "dynamic": false, "info": "Your Tavily API Key.", - "input_types": ["Message"], - "load_from_db": false, + "input_types": [ + "Message" + ], + "load_from_db": true, "name": "api_key", "password": true, "placeholder": "", @@ -1764,7 +1924,7 @@ "show": true, "title_case": false, "type": "str", - "value": "" + "value": "TAVILY_API_KEY" }, "code": { "advanced": true, @@ -1844,7 +2004,9 @@ "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, @@ -1868,7 +2030,10 @@ "dynamic": false, "info": "The depth of the search.", "name": "search_depth", - "options": ["basic", "advanced"], + "options": [ + "basic", + "advanced" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -1888,7 +2053,12 @@ "dynamic": false, "info": "The time range back from the current date to include in the search results.", "name": "time_range", - "options": ["day", "week", "month", "year"], + "options": [ + "day", + "week", + "month", + "year" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -1923,13 +2093,17 @@ "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 }, "table_schema": { "columns": [ { + "default": "None", "description": "Specify the name of the tool.", "disable_edit": false, "display_name": "Tool Name", @@ -1939,9 +2113,10 @@ "hidden": false, "name": "name", "sortable": false, - "type": "text" + "type": "str" }, { + "default": "None", "description": "Describe the purpose of the tool.", "disable_edit": false, "display_name": "Tool Description", @@ -1951,9 +2126,10 @@ "hidden": false, "name": "description", "sortable": false, - "type": "text" + "type": "str" }, { + "default": "None", "description": "The default identifiers for the tools and cannot be changed.", "disable_edit": true, "display_name": "Tool Identifiers", @@ -1963,7 +2139,20 @@ "hidden": true, "name": "tags", "sortable": false, - "type": "text" + "type": "str" + }, + { + "default": true, + "description": "Indicates whether the tool is currently active. Set to True to activate this tool.", + "disable_edit": false, + "display_name": "Enable", + "edit_mode": "popover", + "filterable": true, + "formatter": "boolean", + "hidden": false, + "name": "status", + "sortable": true, + "type": "boolean" } ] }, @@ -1977,12 +2166,16 @@ { "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": "TavilySearchComponent-fetch_content", - "tags": ["TavilySearchComponent-fetch_content"] + "tags": [ + "TavilySearchComponent-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": "TavilySearchComponent-fetch_content_text", - "tags": ["TavilySearchComponent-fetch_content_text"] + "tags": [ + "TavilySearchComponent-fetch_content_text" + ] } ] }, @@ -1995,7 +2188,10 @@ "dynamic": false, "info": "The category of the search.", "name": "topic", - "options": ["general", "news"], + "options": [ + "general", + "news" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -2013,7 +2209,7 @@ "type": "TavilySearchComponent" }, "dragging": false, - "id": "TavilySearchComponent-dk7WW", + "id": "TavilySearchComponent-okHYL", "measured": { "height": 437, "width": 320 @@ -2027,9 +2223,12 @@ }, { "data": { - "id": "OpenAIModel-1sVXW", + "id": "OpenAIModel-sO8rf", "node": { - "base_classes": ["LanguageModel", "Message"], + "base_classes": [ + "LanguageModel", + "Message" + ], "beta": false, "category": "models", "conditional_paths": [], @@ -2068,7 +2267,9 @@ "required_inputs": [], "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" }, { @@ -2077,10 +2278,14 @@ "display_name": "Language Model", "method": "build_model", "name": "model_output", - "required_inputs": ["api_key"], + "required_inputs": [ + "api_key" + ], "selected": "LanguageModel", "tool_mode": true, - "types": ["LanguageModel"], + "types": [ + "LanguageModel" + ], "value": "__UNDEFINED__" } ], @@ -2094,7 +2299,9 @@ "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, @@ -2103,7 +2310,7 @@ "show": true, "title_case": false, "type": "str", - "value": "" + "value": "OPENAI_API_KEY" }, "code": { "advanced": true, @@ -2129,7 +2336,9 @@ "display_name": "Input", "dynamic": false, "info": "", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -2311,7 +2520,9 @@ "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, @@ -2380,9 +2591,9 @@ "type": "OpenAIModel" }, "dragging": false, - "id": "OpenAIModel-1sVXW", + "id": "OpenAIModel-sO8rf", "measured": { - "height": 656, + "height": 525, "width": 320 }, "position": { @@ -2394,9 +2605,12 @@ }, { "data": { - "id": "OpenAIModel-Rg8Kn", + "id": "OpenAIModel-1pnlf", "node": { - "base_classes": ["LanguageModel", "Message"], + "base_classes": [ + "LanguageModel", + "Message" + ], "beta": false, "category": "models", "conditional_paths": [], @@ -2435,7 +2649,9 @@ "required_inputs": [], "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" }, { @@ -2444,10 +2660,14 @@ "display_name": "Language Model", "method": "build_model", "name": "model_output", - "required_inputs": ["api_key"], + "required_inputs": [ + "api_key" + ], "selected": "LanguageModel", "tool_mode": true, - "types": ["LanguageModel"], + "types": [ + "LanguageModel" + ], "value": "__UNDEFINED__" } ], @@ -2461,7 +2681,9 @@ "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, @@ -2470,7 +2692,7 @@ "show": true, "title_case": false, "type": "str", - "value": "" + "value": "OPENAI_API_KEY" }, "code": { "advanced": true, @@ -2496,7 +2718,9 @@ "display_name": "Input", "dynamic": false, "info": "", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -2678,7 +2902,9 @@ "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, @@ -2747,9 +2973,9 @@ "type": "OpenAIModel" }, "dragging": false, - "id": "OpenAIModel-Rg8Kn", + "id": "OpenAIModel-1pnlf", "measured": { - "height": 656, + "height": 525, "width": 320 }, "position": { @@ -2761,9 +2987,11 @@ }, { "data": { - "id": "ChatOutput-SIV0E", + "id": "ChatOutput-Fg9B4", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "category": "outputs", "conditional_paths": [], @@ -2800,7 +3028,9 @@ "name": "message", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -2814,7 +3044,9 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -2835,7 +3067,9 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -2892,7 +3126,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -2913,7 +3149,11 @@ "display_name": "Text", "dynamic": false, "info": "Message to be passed as output.", - "input_types": ["Data", "DataFrame", "Message"], + "input_types": [ + "Data", + "DataFrame", + "Message" + ], "list": false, "list_add_label": "Add More", "name": "input_value", @@ -2934,7 +3174,10 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": ["Machine", "User"], + "options": [ + "Machine", + "User" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -2951,7 +3194,9 @@ "display_name": "Sender Name", "dynamic": false, "info": "Name of the sender.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -2972,7 +3217,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -3011,7 +3258,9 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -3032,7 +3281,7 @@ "showNode": false, "type": "ChatOutput" }, - "id": "ChatOutput-SIV0E", + "id": "ChatOutput-Fg9B4", "measured": { "height": 66, "width": 192 @@ -3046,18 +3295,19 @@ } ], "viewport": { - "x": -906.5696913524712, - "y": -68.8894615401914, - "zoom": 0.6316332602024672 + "x": -154.13080129013133, + "y": 193.27768148412844, + "zoom": 0.436204605187947 } }, "description": "Agent that generates focused plans, conducts web searches, and synthesizes findings into comprehensive reports.", "endpoint_name": null, - "gradient": "5", - "icon": "TextSearchIcon", - "id": "a793f011-2a1f-4aba-b813-7a3be49f4ea2", + "id": "b833e38c-c394-4bde-b35c-334ce43a0476", "is_component": false, - "last_tested_version": "1.1.5", + "last_tested_version": "1.2.0", "name": "Research Agent", - "tags": ["assistants", "agents"] -} + "tags": [ + "assistants", + "agents" + ] +} \ No newline at end of file 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 5b7180244..7271fcec5 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,11 +2,12 @@ "data": { "edges": [ { + "animated": false, "className": "", "data": { "sourceHandle": { "dataType": "Prompt", - "id": "Prompt-a6SIY", + "id": "Prompt-KlZxj", "name": "prompt", "output_types": [ "Message" @@ -14,26 +15,27 @@ }, "targetHandle": { "fieldName": "system_message", - "id": "OpenAIModel-brPVM", + "id": "OpenAIModel-xbTZw", "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œ}", + "id": "reactflow__edge-Prompt-KlZxj{œdataTypeœ:œPromptœ,œidœ:œPrompt-KlZxjœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-xbTZw{œfieldNameœ:œsystem_messageœ,œidœ:œOpenAIModel-xbTZwœ,œ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œ}" + "source": "Prompt-KlZxj", + "sourceHandle": "{œdataTypeœ:œPromptœ,œidœ:œPrompt-KlZxjœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}", + "target": "OpenAIModel-xbTZw", + "targetHandle": "{œfieldNameœ:œsystem_messageœ,œidœ:œOpenAIModel-xbTZwœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { + "animated": false, "className": "", "data": { "sourceHandle": { "dataType": "Prompt", - "id": "Prompt-jkCpO", + "id": "Prompt-KHvO6", "name": "prompt", "output_types": [ "Message" @@ -41,26 +43,27 @@ }, "targetHandle": { "fieldName": "input_value", - "id": "OpenAIModel-brPVM", + "id": "OpenAIModel-xbTZw", "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œ}", + "id": "reactflow__edge-Prompt-KHvO6{œdataTypeœ:œPromptœ,œidœ:œPrompt-KHvO6œ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-xbTZw{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-xbTZwœ,œ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œ}" + "source": "Prompt-KHvO6", + "sourceHandle": "{œdataTypeœ:œPromptœ,œidœ:œPrompt-KHvO6œ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}", + "target": "OpenAIModel-xbTZw", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-xbTZwœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { + "animated": false, "className": "", "data": { "sourceHandle": { "dataType": "OpenAIModel", - "id": "OpenAIModel-brPVM", + "id": "OpenAIModel-xbTZw", "name": "text_output", "output_types": [ "Message" @@ -68,7 +71,7 @@ }, "targetHandle": { "fieldName": "input_value", - "id": "ChatOutput-oE2ic", + "id": "ChatOutput-iMyF9", "inputTypes": [ "Data", "DataFrame", @@ -77,12 +80,12 @@ "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œ}", + "id": "reactflow__edge-OpenAIModel-xbTZw{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-xbTZwœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-iMyF9{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-iMyF9œ,œinputTypesœ:[œDataœ,œDataFrameœ,œ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œ: [œDataœ, œDataFrameœ, œMessageœ], œtypeœ: œstrœ}" + "source": "OpenAIModel-xbTZw", + "sourceHandle": "{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-xbTZwœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}", + "target": "ChatOutput-iMyF9", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-iMyF9œ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}" } ], "nodes": [ @@ -90,7 +93,7 @@ "data": { "description": "Create a prompt template with dynamic variables.", "display_name": "Prompt", - "id": "Prompt-jkCpO", + "id": "Prompt-KHvO6", "node": { "base_classes": [ "Message" @@ -341,26 +344,26 @@ }, "dragging": false, "height": 779, - "id": "Prompt-jkCpO", + "id": "Prompt-KHvO6", "measured": { "height": 779, "width": 320 }, "position": { - "x": 816.9328565352126, - "y": 189.70442453076902 + "x": 815.644070953848, + "y": 116.56584278832369 }, "positionAbsolute": { "x": 816.9328565352126, "y": 189.70442453076902 }, - "selected": false, + "selected": true, "type": "genericNode", "width": 320 }, { "data": { - "id": "note-nssRq", + "id": "note-UCQVH", "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": "", @@ -371,10 +374,10 @@ }, "dragging": false, "height": 607, - "id": "note-nssRq", + "id": "note-UCQVH", "measured": { - "height": 608, - "width": 324 + "height": 607, + "width": 325 }, "position": { "x": 221.74248905040588, @@ -397,7 +400,7 @@ "data": { "description": "Create a prompt template with dynamic variables.", "display_name": "Prompt", - "id": "Prompt-a6SIY", + "id": "Prompt-KlZxj", "node": { "base_classes": [ "Message" @@ -503,7 +506,7 @@ }, "dragging": false, "height": 260, - "id": "Prompt-a6SIY", + "id": "Prompt-KlZxj", "measured": { "height": 260, "width": 320 @@ -524,7 +527,7 @@ "data": { "description": "Display a chat message in the Playground.", "display_name": "Chat Output", - "id": "ChatOutput-oE2ic", + "id": "ChatOutput-iMyF9", "node": { "base_classes": [ "Message" @@ -806,7 +809,7 @@ }, "dragging": false, "height": 234, - "id": "ChatOutput-oE2ic", + "id": "ChatOutput-iMyF9", "measured": { "height": 234, "width": 320 @@ -825,7 +828,7 @@ }, { "data": { - "id": "note-aLkdy", + "id": "note-wwutt", "node": { "description": "## Make sure to add your OpenAI API key from [platform.openai.com](https://platform.openai.com). ", "display_name": "", @@ -836,7 +839,7 @@ }, "dragging": false, "height": 325, - "id": "note-aLkdy", + "id": "note-wwutt", "measured": { "height": 325, "width": 326 @@ -855,7 +858,7 @@ }, { "data": { - "id": "OpenAIModel-brPVM", + "id": "OpenAIModel-xbTZw", "node": { "base_classes": [ "LanguageModel", @@ -1223,9 +1226,9 @@ "type": "OpenAIModel" }, "dragging": false, - "id": "OpenAIModel-brPVM", + "id": "OpenAIModel-xbTZw", "measured": { - "height": 653, + "height": 525, "width": 320 }, "position": { @@ -1237,18 +1240,16 @@ } ], "viewport": { - "x": -34.95262355945238, - "y": -104.978464862529, - "zoom": 0.7683067619311971 + "x": -111.23719516361678, + "y": -172.21601486484758, + "zoom": 0.7759242611491008 } }, "description": "Generates targeted SEO keywords based on product information, pain points, and customer profiles for strategic marketing.", "endpoint_name": null, - "gradient": "2", - "icon": "List", - "id": "3432cbdf-c4af-43b2-96ef-5f8155cf24d1", + "id": "0908c10f-b941-4e96-89be-1c65337bbfbd", "is_component": false, - "last_tested_version": "1.0.19.post2", + "last_tested_version": "1.2.0", "name": "SEO Keyword Generator", "tags": [ "chatbots", diff --git a/src/backend/base/langflow/initial_setup/starter_projects/Search agent.json b/src/backend/base/langflow/initial_setup/starter_projects/Search agent.json index e21893c14..c59bb644a 100644 --- a/src/backend/base/langflow/initial_setup/starter_projects/Search agent.json +++ b/src/backend/base/langflow/initial_setup/starter_projects/Search agent.json @@ -7,22 +7,27 @@ "data": { "sourceHandle": { "dataType": "ScrapeGraphSearchApi", - "id": "ScrapeGraphSearchApi-4qF2k", + "id": "ScrapeGraphSearchApi-bLGp9", "name": "component_as_tool", - "output_types": ["Tool"] + "output_types": [ + "Tool" + ] }, "targetHandle": { "fieldName": "tools", - "id": "Agent-CBAEF", - "inputTypes": ["Tool"], + "id": "Agent-F0B6L", + "inputTypes": [ + "Tool" + ], "type": "other" } }, - "id": "reactflow__edge-ScrapeGraphSearchApi-4qF2k{œdataTypeœ:œScrapeGraphSearchApiœ,œidœ:œScrapeGraphSearchApi-4qF2kœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-CBAEF{œfieldNameœ:œtoolsœ,œidœ:œAgent-CBAEFœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", - "source": "ScrapeGraphSearchApi-4qF2k", - "sourceHandle": "{œdataTypeœ: œScrapeGraphSearchApiœ, œidœ: œScrapeGraphSearchApi-4qF2kœ, œnameœ: œcomponent_as_toolœ, œoutput_typesœ: [œToolœ]}", - "target": "Agent-CBAEF", - "targetHandle": "{œfieldNameœ: œtoolsœ, œidœ: œAgent-CBAEFœ, œinputTypesœ: [œToolœ], œtypeœ: œotherœ}" + "id": "reactflow__edge-ScrapeGraphSearchApi-bLGp9{œdataTypeœ:œScrapeGraphSearchApiœ,œidœ:œScrapeGraphSearchApi-bLGp9œ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-F0B6L{œfieldNameœ:œtoolsœ,œidœ:œAgent-F0B6Lœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", + "selected": false, + "source": "ScrapeGraphSearchApi-bLGp9", + "sourceHandle": "{œdataTypeœ:œScrapeGraphSearchApiœ,œidœ:œScrapeGraphSearchApi-bLGp9œ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}", + "target": "Agent-F0B6L", + "targetHandle": "{œfieldNameœ:œtoolsœ,œidœ:œAgent-F0B6Lœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}" }, { "animated": false, @@ -30,22 +35,27 @@ "data": { "sourceHandle": { "dataType": "ChatInput", - "id": "ChatInput-8hLIp", + "id": "ChatInput-04UDQ", "name": "message", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "Agent-CBAEF", - "inputTypes": ["Message"], + "id": "Agent-F0B6L", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-ChatInput-8hLIp{œdataTypeœ:œChatInputœ,œidœ:œChatInput-8hLIpœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-Agent-CBAEF{œfieldNameœ:œinput_valueœ,œidœ:œAgent-CBAEFœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "ChatInput-8hLIp", - "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-8hLIpœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", - "target": "Agent-CBAEF", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œAgent-CBAEFœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-ChatInput-04UDQ{œdataTypeœ:œChatInputœ,œidœ:œChatInput-04UDQœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-Agent-F0B6L{œfieldNameœ:œinput_valueœ,œidœ:œAgent-F0B6Lœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "selected": false, + "source": "ChatInput-04UDQ", + "sourceHandle": "{œdataTypeœ:œChatInputœ,œidœ:œChatInput-04UDQœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}", + "target": "Agent-F0B6L", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œAgent-F0B6Lœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -53,30 +63,39 @@ "data": { "sourceHandle": { "dataType": "Agent", - "id": "Agent-CBAEF", + "id": "Agent-F0B6L", "name": "response", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "ChatOutput-9EKQJ", - "inputTypes": ["Data", "DataFrame", "Message"], + "id": "ChatOutput-bZGEh", + "inputTypes": [ + "Data", + "DataFrame", + "Message" + ], "type": "other" } }, - "id": "reactflow__edge-Agent-CBAEF{œdataTypeœ:œAgentœ,œidœ:œAgent-CBAEFœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-9EKQJ{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-9EKQJœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œotherœ}", - "source": "Agent-CBAEF", - "sourceHandle": "{œdataTypeœ: œAgentœ, œidœ: œAgent-CBAEFœ, œnameœ: œresponseœ, œoutput_typesœ: [œMessageœ]}", - "target": "ChatOutput-9EKQJ", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-9EKQJœ, œinputTypesœ: [œDataœ, œDataFrameœ, œMessageœ], œtypeœ: œotherœ}" + "id": "reactflow__edge-Agent-F0B6L{œdataTypeœ:œAgentœ,œidœ:œAgent-F0B6Lœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-bZGEh{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-bZGEhœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œotherœ}", + "selected": false, + "source": "Agent-F0B6L", + "sourceHandle": "{œdataTypeœ:œAgentœ,œidœ:œAgent-F0B6Lœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}", + "target": "ChatOutput-bZGEh", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-bZGEhœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œotherœ}" } ], "nodes": [ { "data": { - "id": "ScrapeGraphSearchApi-4qF2k", + "id": "ScrapeGraphSearchApi-bLGp9", "node": { - "base_classes": ["Data"], + "base_classes": [ + "Data" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -84,7 +103,10 @@ "display_name": "ScrapeGraphSearchApi", "documentation": "https://docs.scrapegraphai.com/introduction", "edited": false, - "field_order": ["api_key", "user_prompt"], + "field_order": [ + "api_key", + "user_prompt" + ], "frozen": false, "icon": "ScrapeGraph", "legacy": false, @@ -100,10 +122,13 @@ "hidden": null, "method": "to_toolkit", "name": "component_as_tool", + "options": null, "required_inputs": null, "selected": "Tool", "tool_mode": true, - "types": ["Tool"], + "types": [ + "Tool" + ], "value": "__UNDEFINED__" } ], @@ -116,8 +141,10 @@ "display_name": "ScrapeGraph API Key", "dynamic": false, "info": "The API key to use ScrapeGraph API.", - "input_types": ["Message"], - "load_from_db": false, + "input_types": [ + "Message" + ], + "load_from_db": true, "name": "api_key", "password": true, "placeholder": "", @@ -125,7 +152,7 @@ "show": true, "title_case": false, "type": "str", - "value": "" + "value": "SCRAPEGRAPH_API_KEY" }, "code": { "advanced": true, @@ -170,13 +197,17 @@ "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 }, "table_schema": { "columns": [ { + "default": "None", "description": "Specify the name of the tool.", "disable_edit": false, "display_name": "Tool Name", @@ -186,9 +217,10 @@ "hidden": false, "name": "name", "sortable": false, - "type": "text" + "type": "str" }, { + "default": "None", "description": "Describe the purpose of the tool.", "disable_edit": false, "display_name": "Tool Description", @@ -198,9 +230,10 @@ "hidden": false, "name": "description", "sortable": false, - "type": "text" + "type": "str" }, { + "default": "None", "description": "The default identifiers for the tools and cannot be changed.", "disable_edit": true, "display_name": "Tool Identifiers", @@ -210,7 +243,20 @@ "hidden": true, "name": "tags", "sortable": false, - "type": "text" + "type": "str" + }, + { + "default": true, + "description": "Indicates whether the tool is currently active. Set to True to activate this tool.", + "disable_edit": false, + "display_name": "Enable", + "edit_mode": "popover", + "filterable": true, + "formatter": "boolean", + "hidden": false, + "name": "status", + "sortable": true, + "type": "boolean" } ] }, @@ -224,7 +270,9 @@ { "description": "search(api_key: Message) - ScrapeGraph Search API.\n Given a search prompt, it will return search results using ScrapeGraph's search functionality.\n More info at https://docs.scrapegraphai.com/services/searchscraper", "name": "ScrapeGraphSearchApi-search", - "tags": ["ScrapeGraphSearchApi-search"] + "tags": [ + "ScrapeGraphSearchApi-search" + ] } ] }, @@ -234,7 +282,9 @@ "display_name": "Search Prompt", "dynamic": false, "info": "The search prompt to use.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -256,23 +306,25 @@ "type": "ScrapeGraphSearchApi" }, "dragging": false, - "id": "ScrapeGraphSearchApi-4qF2k", + "id": "ScrapeGraphSearchApi-bLGp9", "measured": { "height": 497, "width": 320 }, "position": { - "x": 42.512465889820305, - "y": 172.783808513074 + "x": 44.524524067370976, + "y": 148.63911038246573 }, "selected": false, "type": "genericNode" }, { "data": { - "id": "Agent-CBAEF", + "id": "Agent-F0B6L", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -324,7 +376,9 @@ "name": "response", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -355,7 +409,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -409,8 +465,10 @@ "display_name": "OpenAI API Key", "dynamic": false, "info": "The OpenAI API Key to use for the OpenAI model.", - "input_types": ["Message"], - "load_from_db": false, + "input_types": [ + "Message" + ], + "load_from_db": true, "name": "api_key", "password": true, "placeholder": "", @@ -418,7 +476,7 @@ "show": true, "title_case": false, "type": "str", - "value": "" + "value": "OPENAI_API_KEY" }, "code": { "advanced": true, @@ -462,7 +520,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -561,7 +621,9 @@ "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, "list_add_label": "Add More", "name": "memory", @@ -666,7 +728,10 @@ "dynamic": false, "info": "Order of the messages.", "name": "order", - "options": ["Ascending", "Descending"], + "options": [ + "Ascending", + "Descending" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -704,7 +769,11 @@ "dynamic": false, "info": "Filter by sender type.", "name": "sender", - "options": ["Machine", "User", "Machine and User"], + "options": [ + "Machine", + "User", + "Machine and User" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -721,7 +790,9 @@ "display_name": "Sender Name", "dynamic": false, "info": "Filter by sender name.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -742,7 +813,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -763,7 +836,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -813,7 +888,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -853,7 +930,9 @@ "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, "list_add_label": "Add More", "name": "tools", @@ -890,7 +969,7 @@ "type": "Agent" }, "dragging": false, - "id": "Agent-CBAEF", + "id": "Agent-F0B6L", "measured": { "height": 624, "width": 320 @@ -904,9 +983,11 @@ }, { "data": { - "id": "ChatInput-8hLIp", + "id": "ChatInput-04UDQ", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -941,7 +1022,9 @@ "name": "message", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -954,7 +1037,9 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -975,7 +1060,9 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1083,7 +1170,10 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": ["Machine", "User"], + "options": [ + "Machine", + "User" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -1100,7 +1190,9 @@ "display_name": "Sender Name", "dynamic": false, "info": "Name of the sender.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1121,7 +1213,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -1160,7 +1254,9 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1182,7 +1278,7 @@ "type": "ChatInput" }, "dragging": false, - "id": "ChatInput-8hLIp", + "id": "ChatInput-04UDQ", "measured": { "height": 66, "width": 192 @@ -1196,9 +1292,11 @@ }, { "data": { - "id": "ChatOutput-9EKQJ", + "id": "ChatOutput-bZGEh", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -1234,7 +1332,9 @@ "name": "message", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -1247,7 +1347,9 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1268,7 +1370,9 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1325,7 +1429,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -1346,7 +1452,11 @@ "display_name": "Text", "dynamic": false, "info": "Message to be passed as output.", - "input_types": ["Data", "DataFrame", "Message"], + "input_types": [ + "Data", + "DataFrame", + "Message" + ], "list": false, "list_add_label": "Add More", "name": "input_value", @@ -1367,7 +1477,10 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": ["Machine", "User"], + "options": [ + "Machine", + "User" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -1384,7 +1497,9 @@ "display_name": "Sender Name", "dynamic": false, "info": "Name of the sender.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1405,7 +1520,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -1444,7 +1561,9 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1466,7 +1585,7 @@ "type": "ChatOutput" }, "dragging": false, - "id": "ChatOutput-9EKQJ", + "id": "ChatOutput-bZGEh", "measured": { "height": 66, "width": 192 @@ -1480,7 +1599,7 @@ }, { "data": { - "id": "note-d88zH", + "id": "note-YWlY3", "node": { "description": "## 🚀 ScrapeGraphAI Template 🔍\n\nThis template connects the **Search Point** endpoint from [ScrapeGraphAI](https://scrapegraphai.com) to an **Agent** component.\n\n## Prerequisites\n\n* [OpenAI API key](https://platform.openai.com/docs/overview)\n* [ScrapeGraphAI API key](https://dashboard.scrapegraphai.com)\n\n## Quickstart\n\n1. Add your **ScrapeGraphAI API key** to the **ScrapeGraphSearchApi** component.\n\n2. Add your **OpenAI API key** to the **Agent** component.\n\n3. Open the **Playground** and ask your Agent a question. The Agent uses ScrapeGraph as a tool to answer you.", "display_name": "", @@ -1491,7 +1610,7 @@ }, "dragging": false, "height": 584, - "id": "note-d88zH", + "id": "note-YWlY3", "measured": { "height": 584, "width": 346 @@ -1507,7 +1626,7 @@ }, { "data": { - "id": "note-K97PH", + "id": "note-Ey3jA", "node": { "description": "### 💡 Add your OpenAI API key here 👇", "display_name": "", @@ -1519,7 +1638,7 @@ "type": "note" }, "dragging": false, - "id": "note-K97PH", + "id": "note-Ey3jA", "measured": { "height": 324, "width": 324 @@ -1533,7 +1652,7 @@ }, { "data": { - "id": "note-Q9gWp", + "id": "note-CKc8o", "node": { "description": "### 💡 Add your ScrapeGraphAI API key here 👇", "display_name": "", @@ -1546,34 +1665,36 @@ }, "dragging": false, "height": 324, - "id": "note-Q9gWp", + "id": "note-CKc8o", "measured": { "height": 324, "width": 389 }, "position": { - "x": 8.432436918410303, - "y": 130.15072721938364 + "x": 14.468611451062372, + "y": 102.98794182244934 }, "resizing": false, - "selected": false, + "selected": true, "type": "noteNode", "width": 390 } ], "viewport": { - "x": 386.73940143606825, - "y": 27.399081408903214, + "x": 387.7394014360682, + "y": 3.672068787097828, "zoom": 0.9940070432926703 } }, "description": "Search the web for information.", "endpoint_name": null, - "gradient": "3", - "icon": "search", - "id": "99aa93b0-8c09-4608-b6ca-b7edc07c5cc3", + "id": "fc111550-57fe-429f-b648-61f1b8abbbb2", "is_component": false, - "last_tested_version": "1.1.5", + "last_tested_version": "1.2.0", "name": "Search agent", - "tags": ["web-scraping", "agents", "assistants"] -} + "tags": [ + "web-scraping", + "agents", + "assistants" + ] +} \ No newline at end of file diff --git a/src/backend/base/langflow/initial_setup/starter_projects/Sequential Tasks Agents.json b/src/backend/base/langflow/initial_setup/starter_projects/Sequential Tasks Agents.json index b242722ea..df690e80b 100644 --- a/src/backend/base/langflow/initial_setup/starter_projects/Sequential Tasks Agents.json +++ b/src/backend/base/langflow/initial_setup/starter_projects/Sequential Tasks Agents.json @@ -7,23 +7,27 @@ "data": { "sourceHandle": { "dataType": "Prompt", - "id": "Prompt-ODLKa", + "id": "Prompt-WNOHC", "name": "prompt", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "system_prompt", - "id": "Agent-RDNeT", - "inputTypes": ["Message"], + "id": "Agent-INg7A", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-Prompt-ODLKa{œdataTypeœ:œPromptœ,œidœ:œPrompt-ODLKaœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-Agent-RDNeT{œfieldNameœ:œsystem_promptœ,œidœ:œAgent-RDNeTœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-Prompt-WNOHC{œdataTypeœ:œPromptœ,œidœ:œPrompt-WNOHCœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-Agent-INg7A{œfieldNameœ:œsystem_promptœ,œidœ:œAgent-INg7Aœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "Prompt-ODLKa", - "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-ODLKaœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", - "target": "Agent-RDNeT", - "targetHandle": "{œfieldNameœ: œsystem_promptœ, œidœ: œAgent-RDNeTœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "source": "Prompt-WNOHC", + "sourceHandle": "{œdataTypeœ:œPromptœ,œidœ:œPrompt-WNOHCœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}", + "target": "Agent-INg7A", + "targetHandle": "{œfieldNameœ:œsystem_promptœ,œidœ:œAgent-INg7Aœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -31,23 +35,27 @@ "data": { "sourceHandle": { "dataType": "Prompt", - "id": "Prompt-Gwn6h", + "id": "Prompt-d1yBl", "name": "prompt", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "system_prompt", - "id": "Agent-uOZfx", - "inputTypes": ["Message"], + "id": "Agent-xzdFp", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-Prompt-Gwn6h{œdataTypeœ:œPromptœ,œidœ:œPrompt-Gwn6hœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-Agent-uOZfx{œfieldNameœ:œsystem_promptœ,œidœ:œAgent-uOZfxœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-Prompt-d1yBl{œdataTypeœ:œPromptœ,œidœ:œPrompt-d1yBlœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-Agent-xzdFp{œfieldNameœ:œsystem_promptœ,œidœ:œAgent-xzdFpœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "Prompt-Gwn6h", - "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-Gwn6hœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", - "target": "Agent-uOZfx", - "targetHandle": "{œfieldNameœ: œsystem_promptœ, œidœ: œAgent-uOZfxœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "source": "Prompt-d1yBl", + "sourceHandle": "{œdataTypeœ:œPromptœ,œidœ:œPrompt-d1yBlœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}", + "target": "Agent-xzdFp", + "targetHandle": "{œfieldNameœ:œsystem_promptœ,œidœ:œAgent-xzdFpœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -55,23 +63,28 @@ "data": { "sourceHandle": { "dataType": "Agent", - "id": "Agent-uOZfx", + "id": "Agent-xzdFp", "name": "response", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "finance_agent_output", - "id": "Prompt-ODLKa", - "inputTypes": ["Message", "Text"], + "id": "Prompt-WNOHC", + "inputTypes": [ + "Message", + "Text" + ], "type": "str" } }, - "id": "reactflow__edge-Agent-uOZfx{œdataTypeœ:œAgentœ,œidœ:œAgent-uOZfxœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-Prompt-ODLKa{œfieldNameœ:œfinance_agent_outputœ,œidœ:œPrompt-ODLKaœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-Agent-xzdFp{œdataTypeœ:œAgentœ,œidœ:œAgent-xzdFpœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-Prompt-WNOHC{œfieldNameœ:œfinance_agent_outputœ,œidœ:œPrompt-WNOHCœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", "selected": false, - "source": "Agent-uOZfx", - "sourceHandle": "{œdataTypeœ: œAgentœ, œidœ: œAgent-uOZfxœ, œnameœ: œresponseœ, œoutput_typesœ: [œMessageœ]}", - "target": "Prompt-ODLKa", - "targetHandle": "{œfieldNameœ: œfinance_agent_outputœ, œidœ: œPrompt-ODLKaœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" + "source": "Agent-xzdFp", + "sourceHandle": "{œdataTypeœ:œAgentœ,œidœ:œAgent-xzdFpœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}", + "target": "Prompt-WNOHC", + "targetHandle": "{œfieldNameœ:œfinance_agent_outputœ,œidœ:œPrompt-WNOHCœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -79,23 +92,27 @@ "data": { "sourceHandle": { "dataType": "ChatInput", - "id": "ChatInput-3FGZe", + "id": "ChatInput-EXrQ4", "name": "message", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "Agent-E8NYA", - "inputTypes": ["Message"], + "id": "Agent-mYTzY", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-ChatInput-3FGZe{œdataTypeœ:œChatInputœ,œidœ:œChatInput-3FGZeœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-Agent-E8NYA{œfieldNameœ:œinput_valueœ,œidœ:œAgent-E8NYAœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-ChatInput-EXrQ4{œdataTypeœ:œChatInputœ,œidœ:œChatInput-EXrQ4œ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-Agent-mYTzY{œfieldNameœ:œinput_valueœ,œidœ:œAgent-mYTzYœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "ChatInput-3FGZe", - "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-3FGZeœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", - "target": "Agent-E8NYA", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œAgent-E8NYAœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "source": "ChatInput-EXrQ4", + "sourceHandle": "{œdataTypeœ:œChatInputœ,œidœ:œChatInput-EXrQ4œ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}", + "target": "Agent-mYTzY", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œAgent-mYTzYœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -103,23 +120,27 @@ "data": { "sourceHandle": { "dataType": "Prompt", - "id": "Prompt-RIFxC", + "id": "Prompt-f7d7X", "name": "prompt", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "system_prompt", - "id": "Agent-E8NYA", - "inputTypes": ["Message"], + "id": "Agent-mYTzY", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-Prompt-RIFxC{œdataTypeœ:œPromptœ,œidœ:œPrompt-RIFxCœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-Agent-E8NYA{œfieldNameœ:œsystem_promptœ,œidœ:œAgent-E8NYAœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-Prompt-f7d7X{œdataTypeœ:œPromptœ,œidœ:œPrompt-f7d7Xœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-Agent-mYTzY{œfieldNameœ:œsystem_promptœ,œidœ:œAgent-mYTzYœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "Prompt-RIFxC", - "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-RIFxCœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", - "target": "Agent-E8NYA", - "targetHandle": "{œfieldNameœ: œsystem_promptœ, œidœ: œAgent-E8NYAœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "source": "Prompt-f7d7X", + "sourceHandle": "{œdataTypeœ:œPromptœ,œidœ:œPrompt-f7d7Xœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}", + "target": "Agent-mYTzY", + "targetHandle": "{œfieldNameœ:œsystem_promptœ,œidœ:œAgent-mYTzYœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -127,23 +148,27 @@ "data": { "sourceHandle": { "dataType": "Agent", - "id": "Agent-E8NYA", + "id": "Agent-mYTzY", "name": "response", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "Agent-uOZfx", - "inputTypes": ["Message"], + "id": "Agent-xzdFp", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-Agent-E8NYA{œdataTypeœ:œAgentœ,œidœ:œAgent-E8NYAœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-Agent-uOZfx{œfieldNameœ:œinput_valueœ,œidœ:œAgent-uOZfxœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-Agent-mYTzY{œdataTypeœ:œAgentœ,œidœ:œAgent-mYTzYœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-Agent-xzdFp{œfieldNameœ:œinput_valueœ,œidœ:œAgent-xzdFpœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "Agent-E8NYA", - "sourceHandle": "{œdataTypeœ: œAgentœ, œidœ: œAgent-E8NYAœ, œnameœ: œresponseœ, œoutput_typesœ: [œMessageœ]}", - "target": "Agent-uOZfx", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œAgent-uOZfxœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "source": "Agent-mYTzY", + "sourceHandle": "{œdataTypeœ:œAgentœ,œidœ:œAgent-mYTzYœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}", + "target": "Agent-xzdFp", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œAgent-xzdFpœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -151,23 +176,28 @@ "data": { "sourceHandle": { "dataType": "Agent", - "id": "Agent-E8NYA", + "id": "Agent-mYTzY", "name": "response", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "research_agent_output", - "id": "Prompt-ODLKa", - "inputTypes": ["Message", "Text"], + "id": "Prompt-WNOHC", + "inputTypes": [ + "Message", + "Text" + ], "type": "str" } }, - "id": "reactflow__edge-Agent-E8NYA{œdataTypeœ:œAgentœ,œidœ:œAgent-E8NYAœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-Prompt-ODLKa{œfieldNameœ:œresearch_agent_outputœ,œidœ:œPrompt-ODLKaœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-Agent-mYTzY{œdataTypeœ:œAgentœ,œidœ:œAgent-mYTzYœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-Prompt-WNOHC{œfieldNameœ:œresearch_agent_outputœ,œidœ:œPrompt-WNOHCœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", "selected": false, - "source": "Agent-E8NYA", - "sourceHandle": "{œdataTypeœ: œAgentœ, œidœ: œAgent-E8NYAœ, œnameœ: œresponseœ, œoutput_typesœ: [œMessageœ]}", - "target": "Prompt-ODLKa", - "targetHandle": "{œfieldNameœ: œresearch_agent_outputœ, œidœ: œPrompt-ODLKaœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" + "source": "Agent-mYTzY", + "sourceHandle": "{œdataTypeœ:œAgentœ,œidœ:œAgent-mYTzYœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}", + "target": "Prompt-WNOHC", + "targetHandle": "{œfieldNameœ:œresearch_agent_outputœ,œidœ:œPrompt-WNOHCœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -175,23 +205,27 @@ "data": { "sourceHandle": { "dataType": "CalculatorComponent", - "id": "CalculatorComponent-qoEVQ", + "id": "CalculatorComponent-9O7Ap", "name": "component_as_tool", - "output_types": ["Tool"] + "output_types": [ + "Tool" + ] }, "targetHandle": { "fieldName": "tools", - "id": "Agent-RDNeT", - "inputTypes": ["Tool"], + "id": "Agent-INg7A", + "inputTypes": [ + "Tool" + ], "type": "other" } }, - "id": "reactflow__edge-CalculatorComponent-qoEVQ{œdataTypeœ:œCalculatorComponentœ,œidœ:œCalculatorComponent-qoEVQœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-RDNeT{œfieldNameœ:œtoolsœ,œidœ:œAgent-RDNeTœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", + "id": "reactflow__edge-CalculatorComponent-9O7Ap{œdataTypeœ:œCalculatorComponentœ,œidœ:œCalculatorComponent-9O7Apœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-INg7A{œfieldNameœ:œtoolsœ,œidœ:œAgent-INg7Aœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", "selected": false, - "source": "CalculatorComponent-qoEVQ", - "sourceHandle": "{œdataTypeœ: œCalculatorComponentœ, œidœ: œCalculatorComponent-qoEVQœ, œnameœ: œcomponent_as_toolœ, œoutput_typesœ: [œToolœ]}", - "target": "Agent-RDNeT", - "targetHandle": "{œfieldNameœ: œtoolsœ, œidœ: œAgent-RDNeTœ, œinputTypesœ: [œToolœ], œtypeœ: œotherœ}" + "source": "CalculatorComponent-9O7Ap", + "sourceHandle": "{œdataTypeœ:œCalculatorComponentœ,œidœ:œCalculatorComponent-9O7Apœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}", + "target": "Agent-INg7A", + "targetHandle": "{œfieldNameœ:œtoolsœ,œidœ:œAgent-INg7Aœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}" }, { "animated": false, @@ -199,23 +233,27 @@ "data": { "sourceHandle": { "dataType": "YfinanceComponent", - "id": "YfinanceComponent-LMwvY", + "id": "YfinanceComponent-Adjq6", "name": "component_as_tool", - "output_types": ["Tool"] + "output_types": [ + "Tool" + ] }, "targetHandle": { "fieldName": "tools", - "id": "Agent-uOZfx", - "inputTypes": ["Tool"], + "id": "Agent-xzdFp", + "inputTypes": [ + "Tool" + ], "type": "other" } }, - "id": "reactflow__edge-YfinanceComponent-LMwvY{œdataTypeœ:œYfinanceComponentœ,œidœ:œYfinanceComponent-LMwvYœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-uOZfx{œfieldNameœ:œtoolsœ,œidœ:œAgent-uOZfxœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", + "id": "reactflow__edge-YfinanceComponent-Adjq6{œdataTypeœ:œYfinanceComponentœ,œidœ:œYfinanceComponent-Adjq6œ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-xzdFp{œfieldNameœ:œtoolsœ,œidœ:œAgent-xzdFpœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", "selected": false, - "source": "YfinanceComponent-LMwvY", - "sourceHandle": "{œdataTypeœ: œYfinanceComponentœ, œidœ: œYfinanceComponent-LMwvYœ, œnameœ: œcomponent_as_toolœ, œoutput_typesœ: [œToolœ]}", - "target": "Agent-uOZfx", - "targetHandle": "{œfieldNameœ: œtoolsœ, œidœ: œAgent-uOZfxœ, œinputTypesœ: [œToolœ], œtypeœ: œotherœ}" + "source": "YfinanceComponent-Adjq6", + "sourceHandle": "{œdataTypeœ:œYfinanceComponentœ,œidœ:œYfinanceComponent-Adjq6œ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}", + "target": "Agent-xzdFp", + "targetHandle": "{œfieldNameœ:œtoolsœ,œidœ:œAgent-xzdFpœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}" }, { "animated": false, @@ -223,23 +261,27 @@ "data": { "sourceHandle": { "dataType": "TavilySearchComponent", - "id": "TavilySearchComponent-GOWJw", + "id": "TavilySearchComponent-6ezaX", "name": "component_as_tool", - "output_types": ["Tool"] + "output_types": [ + "Tool" + ] }, "targetHandle": { "fieldName": "tools", - "id": "Agent-E8NYA", - "inputTypes": ["Tool"], + "id": "Agent-mYTzY", + "inputTypes": [ + "Tool" + ], "type": "other" } }, - "id": "reactflow__edge-TavilySearchComponent-GOWJw{œdataTypeœ:œTavilySearchComponentœ,œidœ:œTavilySearchComponent-GOWJwœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-E8NYA{œfieldNameœ:œtoolsœ,œidœ:œAgent-E8NYAœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", + "id": "reactflow__edge-TavilySearchComponent-6ezaX{œdataTypeœ:œTavilySearchComponentœ,œidœ:œTavilySearchComponent-6ezaXœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-mYTzY{œfieldNameœ:œtoolsœ,œidœ:œAgent-mYTzYœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", "selected": false, - "source": "TavilySearchComponent-GOWJw", - "sourceHandle": "{œdataTypeœ: œTavilySearchComponentœ, œidœ: œTavilySearchComponent-GOWJwœ, œnameœ: œcomponent_as_toolœ, œoutput_typesœ: [œToolœ]}", - "target": "Agent-E8NYA", - "targetHandle": "{œfieldNameœ: œtoolsœ, œidœ: œAgent-E8NYAœ, œinputTypesœ: [œToolœ], œtypeœ: œotherœ}" + "source": "TavilySearchComponent-6ezaX", + "sourceHandle": "{œdataTypeœ:œTavilySearchComponentœ,œidœ:œTavilySearchComponent-6ezaXœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}", + "target": "Agent-mYTzY", + "targetHandle": "{œfieldNameœ:œtoolsœ,œidœ:œAgent-mYTzYœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}" }, { "animated": false, @@ -247,23 +289,29 @@ "data": { "sourceHandle": { "dataType": "Agent", - "id": "Agent-RDNeT", + "id": "Agent-INg7A", "name": "response", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "ChatOutput-MCPSV", - "inputTypes": ["Data", "DataFrame", "Message"], + "id": "ChatOutput-rF4Qx", + "inputTypes": [ + "Data", + "DataFrame", + "Message" + ], "type": "other" } }, - "id": "reactflow__edge-Agent-RDNeT{œdataTypeœ:œAgentœ,œidœ:œAgent-RDNeTœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-MCPSV{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-MCPSVœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œotherœ}", + "id": "reactflow__edge-Agent-INg7A{œdataTypeœ:œAgentœ,œidœ:œAgent-INg7Aœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-rF4Qx{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-rF4Qxœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œotherœ}", "selected": false, - "source": "Agent-RDNeT", - "sourceHandle": "{œdataTypeœ: œAgentœ, œidœ: œAgent-RDNeTœ, œnameœ: œresponseœ, œoutput_typesœ: [œMessageœ]}", - "target": "ChatOutput-MCPSV", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-MCPSVœ, œinputTypesœ: [œDataœ, œDataFrameœ, œMessageœ], œtypeœ: œotherœ}" + "source": "Agent-INg7A", + "sourceHandle": "{œdataTypeœ:œAgentœ,œidœ:œAgent-INg7Aœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}", + "target": "ChatOutput-rF4Qx", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-rF4Qxœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œotherœ}" } ], "nodes": [ @@ -271,9 +319,11 @@ "data": { "description": "Define the agent's instructions, then enter a task to complete using tools.", "display_name": "Finance Agent", - "id": "Agent-uOZfx", + "id": "Agent-xzdFp", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -324,7 +374,9 @@ "name": "response", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -353,7 +405,9 @@ "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, @@ -404,7 +458,9 @@ "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, @@ -455,7 +511,9 @@ "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", @@ -547,7 +605,9 @@ "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": "", @@ -641,7 +701,10 @@ "dynamic": false, "info": "Order of the messages.", "name": "order", - "options": ["Ascending", "Descending"], + "options": [ + "Ascending", + "Descending" + ], "placeholder": "", "required": false, "show": true, @@ -675,7 +738,11 @@ "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, @@ -691,7 +758,9 @@ "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", @@ -711,7 +780,9 @@ "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", @@ -731,7 +802,9 @@ "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, @@ -768,7 +841,9 @@ "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, @@ -807,7 +882,9 @@ "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": "", @@ -841,10 +918,10 @@ }, "dragging": false, "height": 650, - "id": "Agent-uOZfx", + "id": "Agent-xzdFp", "measured": { "height": 650, - "width": 360 + "width": 320 }, "position": { "x": 45.70736046026991, @@ -862,9 +939,11 @@ "data": { "description": "Define the agent's instructions, then enter a task to complete using tools.", "display_name": "Analysis & Editor Agent", - "id": "Agent-RDNeT", + "id": "Agent-INg7A", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -915,7 +994,9 @@ "name": "response", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -944,7 +1025,9 @@ "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, @@ -995,7 +1078,9 @@ "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, @@ -1046,7 +1131,9 @@ "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", @@ -1138,7 +1225,9 @@ "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": "", @@ -1232,7 +1321,10 @@ "dynamic": false, "info": "Order of the messages.", "name": "order", - "options": ["Ascending", "Descending"], + "options": [ + "Ascending", + "Descending" + ], "placeholder": "", "required": false, "show": true, @@ -1266,7 +1358,11 @@ "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, @@ -1282,7 +1378,9 @@ "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", @@ -1302,7 +1400,9 @@ "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", @@ -1322,7 +1422,9 @@ "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, @@ -1359,7 +1461,9 @@ "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, @@ -1398,7 +1502,9 @@ "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": "", @@ -1432,10 +1538,10 @@ }, "dragging": false, "height": 650, - "id": "Agent-RDNeT", + "id": "Agent-INg7A", "measured": { "height": 650, - "width": 360 + "width": 320 }, "position": { "x": 815.1900903820148, @@ -1453,9 +1559,11 @@ "data": { "description": "Create a prompt template with dynamic variables.", "display_name": "Prompt", - "id": "Prompt-RIFxC", + "id": "Prompt-f7d7X", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": { @@ -1466,7 +1574,9 @@ "documentation": "", "edited": false, "error": null, - "field_order": ["template"], + "field_order": [ + "template" + ], "frozen": false, "full_path": null, "icon": "prompts", @@ -1487,7 +1597,9 @@ "name": "prompt", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -1536,7 +1648,9 @@ "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", @@ -1557,10 +1671,10 @@ }, "dragging": false, "height": 260, - "id": "Prompt-RIFxC", + "id": "Prompt-f7d7X", "measured": { "height": 260, - "width": 360 + "width": 320 }, "position": { "x": -1142.2312935529987, @@ -1578,9 +1692,11 @@ "data": { "description": "Create a prompt template with dynamic variables.", "display_name": "Prompt", - "id": "Prompt-Gwn6h", + "id": "Prompt-d1yBl", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": { @@ -1591,7 +1707,9 @@ "documentation": "", "edited": false, "error": null, - "field_order": ["template"], + "field_order": [ + "template" + ], "frozen": false, "full_path": null, "icon": "prompts", @@ -1612,7 +1730,9 @@ "name": "prompt", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -1661,7 +1781,9 @@ "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", @@ -1682,10 +1804,10 @@ }, "dragging": false, "height": 260, - "id": "Prompt-Gwn6h", + "id": "Prompt-d1yBl", "measured": { "height": 260, - "width": 360 + "width": 320 }, "position": { "x": -344.9674638932195, @@ -1703,20 +1825,27 @@ "data": { "description": "Create a prompt template with dynamic variables.", "display_name": "Prompt", - "id": "Prompt-ODLKa", + "id": "Prompt-WNOHC", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": { - "template": ["research_agent_output", "finance_agent_output"] + "template": [ + "research_agent_output", + "finance_agent_output" + ] }, "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", @@ -1737,7 +1866,9 @@ "name": "prompt", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -1770,7 +1901,10 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Message", "Text"], + "input_types": [ + "Message", + "Text" + ], "list": false, "load_from_db": false, "multiline": true, @@ -1790,7 +1924,10 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Message", "Text"], + "input_types": [ + "Message", + "Text" + ], "list": false, "load_from_db": false, "multiline": true, @@ -1826,7 +1963,9 @@ "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", @@ -1847,10 +1986,10 @@ }, "dragging": false, "height": 433, - "id": "Prompt-ODLKa", + "id": "Prompt-WNOHC", "measured": { "height": 433, - "width": 360 + "width": 320 }, "position": { "x": 416.02309796632085, @@ -1866,9 +2005,11 @@ }, { "data": { - "id": "ChatInput-3FGZe", + "id": "ChatInput-EXrQ4", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -1902,7 +2043,9 @@ "name": "message", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -1915,7 +2058,9 @@ "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", @@ -1935,7 +2080,9 @@ "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", @@ -2039,7 +2186,10 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": ["Machine", "User"], + "options": [ + "Machine", + "User" + ], "placeholder": "", "required": false, "show": true, @@ -2055,7 +2205,9 @@ "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", @@ -2075,7 +2227,9 @@ "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", @@ -2111,7 +2265,9 @@ "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", @@ -2132,10 +2288,10 @@ }, "dragging": false, "height": 234, - "id": "ChatInput-3FGZe", + "id": "ChatInput-EXrQ4", "measured": { "height": 234, - "width": 360 + "width": 320 }, "position": { "x": -1510.6054210793818, @@ -2151,7 +2307,7 @@ }, { "data": { - "id": "note-QxoYR", + "id": "note-Lit1C", "node": { "description": "# Sequential Tasks Agents\n\n## Overview\nThis flow demonstrates how to chain multiple AI agents for comprehensive research and analysis. Each agent specializes in different aspects of the research process, building upon the previous agent's work.\n\n## How to Use the Flow\n\n1. **Input Your Query** 🎯\n - Be specific and clear\n - Include key aspects you want analyzed\n - Examples:\n ```\n Good: \"Should I invest in Tesla (TSLA)? Focus on AI development impact\"\n Bad: \"Tell me about Tesla\"\n ```\n\n2. **Research Agent Process** 🔍\n - Utilizes Tavily Search for comprehensive research\n\n\n3. **Specialized Analysis** 📊\n - Each agent adds unique value:\n ```\n Research Agent → Deep Research & Context\n ↓\n Finance Agent → Data Analysis & Metrics\n ↓\n Editor Agent → Final Synthesis & Report\n ```\n\n4. **Output Format** 📝\n - Structured report\n - Embedded images and charts\n - Data-backed insights\n - Clear recommendations\n\n## Pro Tips\n\n### Query Construction\n- Include specific points of interest\n- Mention required metrics or data points\n- Specify time frames if relevant\n\n### Flow Customization\n- Modify agent prompts for different use cases\n- Add or remove tools as needed\n\n## Common Applications\n- Investment Research\n- Market Analysis\n- Competitive Intelligence\n- Industry Reports\n- Technology Impact Studies\n\n⚡ **Best Practice**: Start with a test query to understand the flow's capabilities before running complex analyses.\n\n---\n*Note: This flow template uses financial analysis as an example but can be adapted for any research-intensive task requiring multiple perspectives and data sources.*", "display_name": "", @@ -2162,10 +2318,10 @@ }, "dragging": false, "height": 800, - "id": "note-QxoYR", + "id": "note-Lit1C", "measured": { "height": 800, - "width": 604 + "width": 601 }, "position": { "x": -2122.739127560837, @@ -2186,7 +2342,7 @@ }, { "data": { - "id": "note-ZtXL3", + "id": "note-aqqVW", "node": { "description": "## What Are Sequential Task Agents?\nA system where multiple AI agents work in sequence, each specializing in specific tasks and passing their output to the next agent in the chain. Think of it as an assembly line where each agent adds value to the final result.\n\n## How It Works\n1. **First Agent** → **Second Agent** → **Third Agent** → **Final Output**\n - Each agent receives input from the previous one\n - Processes and enhances the information\n - Passes refined output forward\n\n## Key Benefits\n- **Specialization**: Each agent focuses on specific tasks\n- **Progressive Refinement**: Information gets enhanced at each step\n- **Structured Output**: Final result combines multiple perspectives\n- **Quality Control**: Each agent validates and improves previous work\n\n## Building Your Own Sequence\n1. **Plan Your Chain**\n - Identify distinct tasks\n - Determine logical order\n - Define input/output requirements\n\n2. **Configure Agents**\n - Give each agent clear instructions\n - Ensure compatible outputs/inputs\n - Set appropriate tools for each agent\n\n3. **Connect the Flow**\n - Link agents in proper order\n - Test data flow between agents\n - Verify final output format\n\n## Example Applications\n- Research → Analysis → Report Writing\n- Data Collection → Processing → Visualization\n- Content Research → Writing → Editing\n- Market Analysis → Financial Review → Investment Advice\n\n⭐ **Pro Tip**: The strength of sequential agents comes from how well they complement each other's capabilities.\n\nThis template uses financial analysis as an example, but you can adapt it for any multi-step process requiring different expertise at each stage.", "display_name": "", @@ -2199,10 +2355,10 @@ }, "dragging": false, "height": 800, - "id": "note-ZtXL3", + "id": "note-aqqVW", "measured": { "height": 800, - "width": 604 + "width": 601 }, "position": { "x": -1423.4595108457968, @@ -2225,9 +2381,11 @@ "data": { "description": "Define the agent's instructions, then enter a task to complete using tools.", "display_name": "Researcher Agent", - "id": "Agent-E8NYA", + "id": "Agent-mYTzY", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -2278,7 +2436,9 @@ "name": "response", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -2307,7 +2467,9 @@ "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, @@ -2358,7 +2520,9 @@ "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, @@ -2409,7 +2573,9 @@ "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", @@ -2501,7 +2667,9 @@ "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": "", @@ -2595,7 +2763,10 @@ "dynamic": false, "info": "Order of the messages.", "name": "order", - "options": ["Ascending", "Descending"], + "options": [ + "Ascending", + "Descending" + ], "placeholder": "", "required": false, "show": true, @@ -2629,7 +2800,11 @@ "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, @@ -2645,7 +2820,9 @@ "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", @@ -2665,7 +2842,9 @@ "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", @@ -2685,7 +2864,9 @@ "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, @@ -2722,7 +2903,9 @@ "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, @@ -2761,7 +2944,9 @@ "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": "", @@ -2795,10 +2980,10 @@ }, "dragging": false, "height": 650, - "id": "Agent-E8NYA", + "id": "Agent-mYTzY", "measured": { "height": 650, - "width": 360 + "width": 320 }, "position": { "x": -715.1798010873374, @@ -2814,27 +2999,27 @@ }, { "data": { - "id": "note-n7ptl", + "id": "note-VDGf8", "node": { - "description": "## Get your API key at [https://tavily.com](https://tavily.com)\n", + "description": "# 🔑 Tavily AI Search Needs API Key\n\nYou can get 1000 searches/month free [here](https://tavily.com/) ", "display_name": "", "documentation": "", "template": { - "backgroundColor": "rose" + "backgroundColor": "lime" } }, "type": "note" }, "dragging": false, "height": 324, - "id": "note-n7ptl", + "id": "note-VDGf8", "measured": { "height": 324, - "width": 351 + "width": 348 }, "position": { - "x": -1144.3898055225054, - "y": -844.3506743985376 + "x": -1152.542145753744, + "y": -722.0655709299575 }, "positionAbsolute": { "x": -1144.3898055225054, @@ -2851,7 +3036,7 @@ }, { "data": { - "id": "note-FhYcn", + "id": "note-lux0a", "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/SambaNova: 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": "", @@ -2864,10 +3049,10 @@ }, "dragging": false, "height": 324, - "id": "note-FhYcn", + "id": "note-lux0a", "measured": { "height": 324, - "width": 374 + "width": 371 }, "position": { "x": -736.720927923848, @@ -2890,9 +3075,13 @@ "data": { "description": "Uses [yfinance](https://pypi.org/project/yfinance/) (unofficial package) to access financial data and market information from Yahoo Finance.", "display_name": "Yahoo Finance", - "id": "YfinanceComponent-LMwvY", + "id": "YfinanceComponent-Adjq6", "node": { - "base_classes": ["Data", "DataFrame", "Message"], + "base_classes": [ + "Data", + "DataFrame", + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -2900,7 +3089,11 @@ "display_name": "Yahoo Finance", "documentation": "", "edited": false, - "field_order": ["symbol", "method", "num_news"], + "field_order": [ + "symbol", + "method", + "num_news" + ], "frozen": false, "icon": "trending-up", "legacy": false, @@ -2919,7 +3112,9 @@ "required_inputs": null, "selected": "Tool", "tool_mode": true, - "types": ["Tool"], + "types": [ + "Tool" + ], "value": "__UNDEFINED__" } ], @@ -3014,7 +3209,9 @@ "display_name": "Stock Symbol", "dynamic": false, "info": "The stock symbol to retrieve data for (e.g., AAPL, GOOG).", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -3054,7 +3251,10 @@ "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 }, @@ -3125,19 +3325,25 @@ "description": "fetch_content() - Uses [yfinance](https://pypi.org/project/yfinance/) (unofficial package) to access financial data and market information from Yahoo Finance.", "name": "YfinanceComponent-fetch_content", "status": true, - "tags": ["YfinanceComponent-fetch_content"] + "tags": [ + "YfinanceComponent-fetch_content" + ] }, { "description": "fetch_content_text() - Uses [yfinance](https://pypi.org/project/yfinance/) (unofficial package) to access financial data and market information from Yahoo Finance.", "name": "YfinanceComponent-fetch_content_text", "status": true, - "tags": ["YfinanceComponent-fetch_content_text"] + "tags": [ + "YfinanceComponent-fetch_content_text" + ] }, { "description": "as_dataframe() - Uses [yfinance](https://pypi.org/project/yfinance/) (unofficial package) to access financial data and market information from Yahoo Finance.", "name": "YfinanceComponent-as_dataframe", "status": true, - "tags": ["YfinanceComponent-as_dataframe"] + "tags": [ + "YfinanceComponent-as_dataframe" + ] } ] } @@ -3148,23 +3354,25 @@ "type": "YfinanceComponent" }, "dragging": true, - "id": "YfinanceComponent-LMwvY", + "id": "YfinanceComponent-Adjq6", "measured": { - "height": 581, - "width": 360 + "height": 519, + "width": 320 }, "position": { "x": -347.05382068428014, "y": -950.8279673971418 }, - "selected": true, + "selected": false, "type": "genericNode" }, { "data": { - "id": "CalculatorComponent-qoEVQ", + "id": "CalculatorComponent-9O7Ap", "node": { - "base_classes": ["Data"], + "base_classes": [ + "Data" + ], "beta": false, "category": "tools", "conditional_paths": [], @@ -3173,7 +3381,9 @@ "display_name": "Calculator", "documentation": "", "edited": false, - "field_order": ["expression"], + "field_order": [ + "expression" + ], "frozen": false, "icon": "calculator", "key": "CalculatorComponent", @@ -3190,7 +3400,9 @@ "name": "component_as_tool", "required_inputs": null, "selected": "Tool", - "types": ["Tool"], + "types": [ + "Tool" + ], "value": "__UNDEFINED__" } ], @@ -3222,7 +3434,9 @@ "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, @@ -3262,7 +3476,10 @@ "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 }, @@ -3313,7 +3530,9 @@ { "description": "evaluate_expression() - Perform basic arithmetic operations on a given expression.", "name": "CalculatorComponent-evaluate_expression", - "tags": ["CalculatorComponent-evaluate_expression"] + "tags": [ + "CalculatorComponent-evaluate_expression" + ] } ] } @@ -3324,23 +3543,26 @@ "type": "CalculatorComponent" }, "dragging": false, - "id": "CalculatorComponent-qoEVQ", + "id": "CalculatorComponent-9O7Ap", "measured": { - "height": 374, - "width": 360 + "height": 334, + "width": 320 }, "position": { "x": 418.5430081507146, - "y": -618.940894040711 + "y": -498.99999708804125 }, - "selected": false, + "selected": true, "type": "genericNode" }, { "data": { - "id": "TavilySearchComponent-GOWJw", + "id": "TavilySearchComponent-6ezaX", "node": { - "base_classes": ["Data", "Message"], + "base_classes": [ + "Data", + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -3376,7 +3598,9 @@ "required_inputs": null, "selected": "Tool", "tool_mode": true, - "types": ["Tool"], + "types": [ + "Tool" + ], "value": "__UNDEFINED__" } ], @@ -3389,7 +3613,9 @@ "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, @@ -3478,7 +3704,9 @@ "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, @@ -3502,7 +3730,10 @@ "dynamic": false, "info": "The depth of the search.", "name": "search_depth", - "options": ["basic", "advanced"], + "options": [ + "basic", + "advanced" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -3522,7 +3753,12 @@ "dynamic": false, "info": "The time range back from the current date to include in the search results.", "name": "time_range", - "options": ["day", "week", "month", "year"], + "options": [ + "day", + "week", + "month", + "year" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -3557,7 +3793,10 @@ "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 }, @@ -3627,12 +3866,16 @@ { "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": "TavilySearchComponent-fetch_content", - "tags": ["TavilySearchComponent-fetch_content"] + "tags": [ + "TavilySearchComponent-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": "TavilySearchComponent-fetch_content_text", - "tags": ["TavilySearchComponent-fetch_content_text"] + "tags": [ + "TavilySearchComponent-fetch_content_text" + ] } ] }, @@ -3645,7 +3888,10 @@ "dynamic": false, "info": "The category of the search.", "name": "topic", - "options": ["general", "news"], + "options": [ + "general", + "news" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -3663,23 +3909,25 @@ "type": "TavilySearchComponent" }, "dragging": false, - "id": "TavilySearchComponent-GOWJw", + "id": "TavilySearchComponent-6ezaX", "measured": { - "height": 489, - "width": 360 + "height": 437, + "width": 320 }, "position": { - "x": -1138.848513020278, - "y": -764.5604109436156 + "x": -1141.5659597640242, + "y": -555.3170116751562 }, "selected": false, "type": "genericNode" }, { "data": { - "id": "ChatOutput-MCPSV", + "id": "ChatOutput-rF4Qx", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "category": "outputs", "conditional_paths": [], @@ -3716,7 +3964,9 @@ "name": "message", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -3730,7 +3980,9 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -3751,7 +4003,9 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -3808,7 +4062,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -3829,7 +4085,11 @@ "display_name": "Text", "dynamic": false, "info": "Message to be passed as output.", - "input_types": ["Data", "DataFrame", "Message"], + "input_types": [ + "Data", + "DataFrame", + "Message" + ], "list": false, "list_add_label": "Add More", "name": "input_value", @@ -3850,7 +4110,10 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": ["Machine", "User"], + "options": [ + "Machine", + "User" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -3867,7 +4130,9 @@ "display_name": "Sender Name", "dynamic": false, "info": "Name of the sender.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -3888,7 +4153,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -3927,7 +4194,9 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -3949,10 +4218,10 @@ "type": "ChatOutput" }, "dragging": false, - "id": "ChatOutput-MCPSV", + "id": "ChatOutput-rF4Qx", "measured": { - "height": 74, - "width": 216 + "height": 66, + "width": 192 }, "position": { "x": 1262.4089496614665, @@ -3963,16 +4232,20 @@ } ], "viewport": { - "x": 796.4205708332455, - "y": 1011.1031568901649, - "zoom": 0.34584930104157496 + "x": 777.2369417602284, + "y": 881.5715494830567, + "zoom": 0.37106613302179997 } }, "description": "This Agent is designed to systematically execute a series of tasks following a meticulously predefined sequence. By adhering to this structured order, the Agent ensures that each task is completed efficiently and effectively, optimizing overall performance and maintaining a high level of accuracy.", "endpoint_name": null, - "id": "e0fb1fbb-c819-4b74-80e0-a62b6cac597e", + "id": "98e71965-2948-4541-90cc-15352236491c", "is_component": false, "last_tested_version": "1.2.0", "name": "Sequential Tasks Agents", - "tags": ["assistants", "agents", "web-scraping"] -} + "tags": [ + "assistants", + "agents", + "web-scraping" + ] +} \ No newline at end of file diff --git a/src/backend/base/langflow/initial_setup/starter_projects/Social Media Agent.json b/src/backend/base/langflow/initial_setup/starter_projects/Social Media Agent.json index dae4ef300..0eb16fd94 100644 --- a/src/backend/base/langflow/initial_setup/starter_projects/Social Media Agent.json +++ b/src/backend/base/langflow/initial_setup/starter_projects/Social Media Agent.json @@ -2,96 +2,129 @@ "data": { "edges": [ { + "animated": false, + "className": "", "data": { "sourceHandle": { "dataType": "ApifyActors", - "id": "ApifyActors-B3OZd", + "id": "ApifyActors-n0Tjo", "name": "tool", - "output_types": ["Tool"] + "output_types": [ + "Tool" + ] }, "targetHandle": { "fieldName": "tools", - "id": "Agent-KXbzb", - "inputTypes": ["Tool"], + "id": "Agent-EePDq", + "inputTypes": [ + "Tool" + ], "type": "other" } }, - "id": "xy-edge__ApifyActors-B3OZd{œdataTypeœ:œApifyActorsœ,œidœ:œApifyActors-B3OZdœ,œnameœ:œtoolœ,œoutput_typesœ:[œToolœ]}-Agent-KXbzb{œfieldNameœ:œtoolsœ,œidœ:œAgent-KXbzbœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", - "source": "ApifyActors-B3OZd", - "sourceHandle": "{œdataTypeœ: œApifyActorsœ, œidœ: œApifyActors-B3OZdœ, œnameœ: œtoolœ, œoutput_typesœ: [œToolœ]}", - "target": "Agent-KXbzb", - "targetHandle": "{œfieldNameœ: œtoolsœ, œidœ: œAgent-KXbzbœ, œinputTypesœ: [œToolœ], œtypeœ: œotherœ}" + "id": "reactflow__edge-ApifyActors-n0Tjo{œdataTypeœ:œApifyActorsœ,œidœ:œApifyActors-n0Tjoœ,œnameœ:œtoolœ,œoutput_typesœ:[œToolœ]}-Agent-EePDq{œfieldNameœ:œtoolsœ,œidœ:œAgent-EePDqœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", + "selected": false, + "source": "ApifyActors-n0Tjo", + "sourceHandle": "{œdataTypeœ:œApifyActorsœ,œidœ:œApifyActors-n0Tjoœ,œnameœ:œtoolœ,œoutput_typesœ:[œToolœ]}", + "target": "Agent-EePDq", + "targetHandle": "{œfieldNameœ:œtoolsœ,œidœ:œAgent-EePDqœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}" }, { + "animated": false, + "className": "", "data": { "sourceHandle": { "dataType": "ApifyActors", - "id": "ApifyActors-0TUqW", + "id": "ApifyActors-t44sy", "name": "tool", - "output_types": ["Tool"] + "output_types": [ + "Tool" + ] }, "targetHandle": { "fieldName": "tools", - "id": "Agent-KXbzb", - "inputTypes": ["Tool"], + "id": "Agent-EePDq", + "inputTypes": [ + "Tool" + ], "type": "other" } }, - "id": "xy-edge__ApifyActors-0TUqW{œdataTypeœ:œApifyActorsœ,œidœ:œApifyActors-0TUqWœ,œnameœ:œtoolœ,œoutput_typesœ:[œToolœ]}-Agent-KXbzb{œfieldNameœ:œtoolsœ,œidœ:œAgent-KXbzbœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", - "source": "ApifyActors-0TUqW", - "sourceHandle": "{œdataTypeœ: œApifyActorsœ, œidœ: œApifyActors-0TUqWœ, œnameœ: œtoolœ, œoutput_typesœ: [œToolœ]}", - "target": "Agent-KXbzb", - "targetHandle": "{œfieldNameœ: œtoolsœ, œidœ: œAgent-KXbzbœ, œinputTypesœ: [œToolœ], œtypeœ: œotherœ}" + "id": "reactflow__edge-ApifyActors-t44sy{œdataTypeœ:œApifyActorsœ,œidœ:œApifyActors-t44syœ,œnameœ:œtoolœ,œoutput_typesœ:[œToolœ]}-Agent-EePDq{œfieldNameœ:œtoolsœ,œidœ:œAgent-EePDqœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", + "selected": false, + "source": "ApifyActors-t44sy", + "sourceHandle": "{œdataTypeœ:œApifyActorsœ,œidœ:œApifyActors-t44syœ,œnameœ:œtoolœ,œoutput_typesœ:[œToolœ]}", + "target": "Agent-EePDq", + "targetHandle": "{œfieldNameœ:œtoolsœ,œidœ:œAgent-EePDqœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}" }, { + "animated": false, + "className": "", "data": { "sourceHandle": { "dataType": "ChatInput", - "id": "ChatInput-3C2ac", + "id": "ChatInput-9joxW", "name": "message", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "Agent-KXbzb", - "inputTypes": ["Message"], + "id": "Agent-EePDq", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "xy-edge__ChatInput-3C2ac{œdataTypeœ:œChatInputœ,œidœ:œChatInput-3C2acœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-Agent-KXbzb{œfieldNameœ:œinput_valueœ,œidœ:œAgent-KXbzbœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "ChatInput-3C2ac", - "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-3C2acœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", - "target": "Agent-KXbzb", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œAgent-KXbzbœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-ChatInput-9joxW{œdataTypeœ:œChatInputœ,œidœ:œChatInput-9joxWœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-Agent-EePDq{œfieldNameœ:œinput_valueœ,œidœ:œAgent-EePDqœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "selected": false, + "source": "ChatInput-9joxW", + "sourceHandle": "{œdataTypeœ:œChatInputœ,œidœ:œChatInput-9joxWœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}", + "target": "Agent-EePDq", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œAgent-EePDqœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { + "animated": false, + "className": "", "data": { "sourceHandle": { "dataType": "Agent", - "id": "Agent-KXbzb", + "id": "Agent-EePDq", "name": "response", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "ChatOutput-lTzgN", - "inputTypes": ["Data", "DataFrame", "Message"], + "id": "ChatOutput-dWtqL", + "inputTypes": [ + "Data", + "DataFrame", + "Message" + ], "type": "other" } }, - "id": "xy-edge__Agent-KXbzb{œdataTypeœ:œAgentœ,œidœ:œAgent-KXbzbœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-lTzgN{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-lTzgNœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œotherœ}", - "source": "Agent-KXbzb", - "sourceHandle": "{œdataTypeœ: œAgentœ, œidœ: œAgent-KXbzbœ, œnameœ: œresponseœ, œoutput_typesœ: [œMessageœ]}", - "target": "ChatOutput-lTzgN", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-lTzgNœ, œinputTypesœ: [œDataœ, œDataFrameœ, œMessageœ], œtypeœ: œotherœ}" + "id": "reactflow__edge-Agent-EePDq{œdataTypeœ:œAgentœ,œidœ:œAgent-EePDqœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-dWtqL{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-dWtqLœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œotherœ}", + "selected": false, + "source": "Agent-EePDq", + "sourceHandle": "{œdataTypeœ:œAgentœ,œidœ:œAgent-EePDqœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}", + "target": "ChatOutput-dWtqL", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-dWtqLœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œotherœ}" } ], "nodes": [ { "data": { - "id": "ApifyActors-0TUqW", + "id": "ApifyActors-t44sy", "node": { - "base_classes": ["Data", "Tool"], + "base_classes": [ + "Data", + "Tool" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -123,7 +156,9 @@ "required_inputs": null, "selected": "Data", "tool_mode": true, - "types": ["Data"], + "types": [ + "Data" + ], "value": "__UNDEFINED__" }, { @@ -136,7 +171,9 @@ "required_inputs": null, "selected": "Tool", "tool_mode": true, - "types": ["Tool"], + "types": [ + "Tool" + ], "value": "__UNDEFINED__" } ], @@ -168,8 +205,10 @@ "display_name": "Apify Token", "dynamic": false, "info": "The API token for the Apify account.", - "input_types": ["Message"], - "load_from_db": false, + "input_types": [ + "Message" + ], + "load_from_db": true, "name": "apify_token", "password": true, "placeholder": "", @@ -177,7 +216,7 @@ "show": true, "title_case": false, "type": "str", - "value": "" + "value": "APIFY_API_KEY" }, "code": { "advanced": true, @@ -203,7 +242,9 @@ "display_name": "Output fields", "dynamic": false, "info": "Fields to extract from the dataset, split by commas. Other fields will be ignored. Dots in nested structures will be replaced by underscores. Sample input: 'text, metadata.title'. Sample output: {'text': 'page content here', 'metadata_title': 'page title here'}. For example, for the 'apify/website-content-crawler' Actor, you can extract the 'markdown' field, which is the content of the website in markdown format.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -243,7 +284,9 @@ "display_name": "Run input", "dynamic": false, "info": "The JSON input for the Actor run. For example for the \"apify/website-content-crawler\" Actor: {\"startUrls\":[{\"url\":\"https://docs.apify.com/academy/web-scraping-for-beginners\"}],\"maxCrawlDepth\":0}", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -266,7 +309,7 @@ "type": "ApifyActors" }, "dragging": false, - "id": "ApifyActors-0TUqW", + "id": "ApifyActors-t44sy", "measured": { "height": 628, "width": 320 @@ -280,9 +323,12 @@ }, { "data": { - "id": "ApifyActors-B3OZd", + "id": "ApifyActors-n0Tjo", "node": { - "base_classes": ["Data", "Tool"], + "base_classes": [ + "Data", + "Tool" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -314,7 +360,9 @@ "required_inputs": null, "selected": "Data", "tool_mode": true, - "types": ["Data"], + "types": [ + "Data" + ], "value": "__UNDEFINED__" }, { @@ -327,7 +375,9 @@ "required_inputs": null, "selected": "Tool", "tool_mode": true, - "types": ["Tool"], + "types": [ + "Tool" + ], "value": "__UNDEFINED__" } ], @@ -359,8 +409,10 @@ "display_name": "Apify Token", "dynamic": false, "info": "The API token for the Apify account.", - "input_types": ["Message"], - "load_from_db": false, + "input_types": [ + "Message" + ], + "load_from_db": true, "name": "apify_token", "password": true, "placeholder": "", @@ -368,7 +420,7 @@ "show": true, "title_case": false, "type": "str", - "value": "" + "value": "APIFY_API_KEY" }, "code": { "advanced": true, @@ -394,7 +446,9 @@ "display_name": "Output fields", "dynamic": false, "info": "Fields to extract from the dataset, split by commas. Other fields will be ignored. Dots in nested structures will be replaced by underscores. Sample input: 'text, metadata.title'. Sample output: {'text': 'page content here', 'metadata_title': 'page title here'}. For example, for the 'apify/website-content-crawler' Actor, you can extract the 'markdown' field, which is the content of the website in markdown format.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -434,7 +488,9 @@ "display_name": "Run input", "dynamic": false, "info": "The JSON input for the Actor run. For example for the \"apify/website-content-crawler\" Actor: {\"startUrls\":[{\"url\":\"https://docs.apify.com/academy/web-scraping-for-beginners\"}],\"maxCrawlDepth\":0}", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -457,7 +513,7 @@ "type": "ApifyActors" }, "dragging": false, - "id": "ApifyActors-B3OZd", + "id": "ApifyActors-n0Tjo", "measured": { "height": 628, "width": 320 @@ -471,7 +527,7 @@ }, { "data": { - "id": "note-xXNfV", + "id": "note-QhVg5", "node": { "description": "### 💡 Add your Apify API key here ", "display_name": "", @@ -483,7 +539,7 @@ "type": "note" }, "dragging": false, - "id": "note-xXNfV", + "id": "note-QhVg5", "measured": { "height": 324, "width": 324 @@ -497,7 +553,7 @@ }, { "data": { - "id": "note-kRYk5", + "id": "note-JuSWo", "node": { "description": "### 💡 Add your Apify API key here ", "display_name": "", @@ -510,7 +566,7 @@ }, "dragging": false, "height": 324, - "id": "note-kRYk5", + "id": "note-JuSWo", "measured": { "height": 324, "width": 324 @@ -526,7 +582,7 @@ }, { "data": { - "id": "note-1r49Y", + "id": "note-yDKv9", "node": { "description": "# Social Media Agent\n\nExtract data with **Apify Actors** and analyze the data with an **Agent**.\n\n## Prerequisites\n\n* An [Apify API token](https://docs.apify.com/platform/integrations/api#api-token)\n* An [OpenAI API key](https://platform.openai.com/)\n\n## Quickstart\n\n1. Enter your **Apify** API token in the **Apify Token** fields of the **Apify Actors** components. \n2. Enter your **OpenAI** API token in the **OpenAI API Key** field of the **Agent** component.\n3. Open the **Playground** and chat with the agent. For example, task it with retrieving a profile bio and the latest video by using this prompt: \n ```\n Find the TikTok profile of the company OpenAI using Google search, then show me the profile bio and their latest video.\n ```", "display_name": "", @@ -539,7 +595,7 @@ }, "dragging": false, "height": 657, - "id": "note-1r49Y", + "id": "note-yDKv9", "measured": { "height": 657, "width": 525 @@ -555,9 +611,11 @@ }, { "data": { - "id": "ChatInput-3C2ac", + "id": "ChatInput-9joxW", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -592,7 +650,9 @@ "name": "message", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -605,7 +665,9 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -626,7 +688,9 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -734,7 +798,10 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": ["Machine", "User"], + "options": [ + "Machine", + "User" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -751,7 +818,9 @@ "display_name": "Sender Name", "dynamic": false, "info": "Name of the sender.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -772,7 +841,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -811,7 +882,9 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -833,7 +906,7 @@ "type": "ChatInput" }, "dragging": false, - "id": "ChatInput-3C2ac", + "id": "ChatInput-9joxW", "measured": { "height": 66, "width": 192 @@ -847,9 +920,11 @@ }, { "data": { - "id": "ChatOutput-lTzgN", + "id": "ChatOutput-dWtqL", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -885,7 +960,9 @@ "name": "message", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -898,7 +975,9 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -919,7 +998,9 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -976,7 +1057,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -997,7 +1080,11 @@ "display_name": "Text", "dynamic": false, "info": "Message to be passed as output.", - "input_types": ["Data", "DataFrame", "Message"], + "input_types": [ + "Data", + "DataFrame", + "Message" + ], "list": false, "list_add_label": "Add More", "name": "input_value", @@ -1018,7 +1105,10 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": ["Machine", "User"], + "options": [ + "Machine", + "User" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -1035,7 +1125,9 @@ "display_name": "Sender Name", "dynamic": false, "info": "Name of the sender.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1056,7 +1148,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -1095,7 +1189,9 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1117,7 +1213,7 @@ "type": "ChatOutput" }, "dragging": false, - "id": "ChatOutput-lTzgN", + "id": "ChatOutput-dWtqL", "measured": { "height": 66, "width": 192 @@ -1131,7 +1227,7 @@ }, { "data": { - "id": "note-xQRMd", + "id": "note-NYz05", "node": { "description": "### 💡 Add your OpenAI API key here ", "display_name": "", @@ -1143,7 +1239,7 @@ "type": "note" }, "dragging": false, - "id": "note-xQRMd", + "id": "note-NYz05", "measured": { "height": 324, "width": 324 @@ -1157,9 +1253,11 @@ }, { "data": { - "id": "Agent-KXbzb", + "id": "Agent-EePDq", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "category": "agents", "conditional_paths": [], @@ -1212,7 +1310,9 @@ "name": "response", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -1245,7 +1345,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -1327,8 +1429,10 @@ "display_name": "OpenAI API Key", "dynamic": false, "info": "The OpenAI API Key to use for the OpenAI model.", - "input_types": ["Message"], - "load_from_db": false, + "input_types": [ + "Message" + ], + "load_from_db": true, "name": "api_key", "password": true, "placeholder": "", @@ -1336,7 +1440,7 @@ "show": true, "title_case": false, "type": "str", - "value": "" + "value": "OPENAI_API_KEY" }, "code": { "advanced": true, @@ -1380,7 +1484,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -1479,7 +1585,9 @@ "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, "list_add_label": "Add More", "name": "memory", @@ -1584,7 +1692,10 @@ "dynamic": false, "info": "Order of the messages.", "name": "order", - "options": ["Ascending", "Descending"], + "options": [ + "Ascending", + "Descending" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -1622,7 +1733,11 @@ "dynamic": false, "info": "Filter by sender type.", "name": "sender", - "options": ["Machine", "User", "Machine and User"], + "options": [ + "Machine", + "User", + "Machine and User" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -1639,7 +1754,9 @@ "display_name": "Sender Name", "dynamic": false, "info": "Filter by sender name.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1660,7 +1777,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -1682,7 +1801,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -1733,7 +1854,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -1773,7 +1896,9 @@ "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, "list_add_label": "Add More", "name": "tools", @@ -1810,7 +1935,7 @@ "type": "Agent" }, "dragging": false, - "id": "Agent-KXbzb", + "id": "Agent-EePDq", "measured": { "height": 624, "width": 320 @@ -1819,21 +1944,24 @@ "x": 1023.5315500182937, "y": 280.6548808097231 }, - "selected": true, + "selected": false, "type": "genericNode" } ], "viewport": { - "x": -37.341352016254405, - "y": -91.95251540726224, - "zoom": 0.8575366287284449 + "x": 280.5777285013439, + "y": 153.83586264930773, + "zoom": 0.6859951115676428 } }, "description": "Utilize Apify Actors as agent tools to search and analyze social media profiles.", "endpoint_name": null, - "id": "23a735de-a049-4058-b4dd-89e5da601ed1", + "id": "6aa57fa5-c085-4a30-8654-b56b4944679a", "is_component": false, "last_tested_version": "1.2.0", "name": "Social Media Agent", - "tags": ["agent", "assistants"] -} + "tags": [ + "agent", + "assistants" + ] +} \ No newline at end of file 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 20a50a0ce..5b6e88d43 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,23 +7,29 @@ "data": { "sourceHandle": { "dataType": "Agent", - "id": "Agent-PKpSO", + "id": "Agent-5ELhg", "name": "response", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "ChatOutput-8np0X", - "inputTypes": ["Data", "DataFrame", "Message"], + "id": "ChatOutput-aVGIh", + "inputTypes": [ + "Data", + "DataFrame", + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-Agent-PKpSO{œdataTypeœ:œAgentœ,œidœ:œAgent-PKpSOœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-8np0X{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-8np0Xœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-Agent-5ELhg{œdataTypeœ:œAgentœ,œidœ:œAgent-5ELhgœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-aVGIh{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-aVGIhœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "Agent-PKpSO", - "sourceHandle": "{œdataTypeœ: œAgentœ, œidœ: œAgent-PKpSOœ, œnameœ: œresponseœ, œoutput_typesœ: [œMessageœ]}", - "target": "ChatOutput-8np0X", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-8np0Xœ, œinputTypesœ: [œDataœ, œDataFrameœ, œMessageœ], œtypeœ: œstrœ}" + "source": "Agent-5ELhg", + "sourceHandle": "{œdataTypeœ:œAgentœ,œidœ:œAgent-5ELhgœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}", + "target": "ChatOutput-aVGIh", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-aVGIhœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -31,23 +37,27 @@ "data": { "sourceHandle": { "dataType": "Agent", - "id": "Agent-zOYup", + "id": "Agent-fIjE5", "name": "response", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "Agent-PKpSO", - "inputTypes": ["Message"], + "id": "Agent-5ELhg", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-Agent-zOYup{œdataTypeœ:œAgentœ,œidœ:œAgent-zOYupœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-Agent-PKpSO{œfieldNameœ:œinput_valueœ,œidœ:œAgent-PKpSOœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-Agent-fIjE5{œdataTypeœ:œAgentœ,œidœ:œAgent-fIjE5œ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-Agent-5ELhg{œfieldNameœ:œinput_valueœ,œidœ:œAgent-5ELhgœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "Agent-zOYup", - "sourceHandle": "{œdataTypeœ: œAgentœ, œidœ: œAgent-zOYupœ, œnameœ: œresponseœ, œoutput_typesœ: [œMessageœ]}", - "target": "Agent-PKpSO", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œAgent-PKpSOœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "source": "Agent-fIjE5", + "sourceHandle": "{œdataTypeœ:œAgentœ,œidœ:œAgent-fIjE5œ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}", + "target": "Agent-5ELhg", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œAgent-5ELhgœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -55,23 +65,27 @@ "data": { "sourceHandle": { "dataType": "Agent", - "id": "Agent-7K58a", + "id": "Agent-GmGzO", "name": "response", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "Agent-zOYup", - "inputTypes": ["Message"], + "id": "Agent-fIjE5", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-Agent-7K58a{œdataTypeœ:œAgentœ,œidœ:œAgent-7K58aœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-Agent-zOYup{œfieldNameœ:œinput_valueœ,œidœ:œAgent-zOYupœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-Agent-GmGzO{œdataTypeœ:œAgentœ,œidœ:œAgent-GmGzOœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-Agent-fIjE5{œfieldNameœ:œinput_valueœ,œidœ:œAgent-fIjE5œ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "Agent-7K58a", - "sourceHandle": "{œdataTypeœ: œAgentœ, œidœ: œAgent-7K58aœ, œnameœ: œresponseœ, œoutput_typesœ: [œMessageœ]}", - "target": "Agent-zOYup", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œAgent-zOYupœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "source": "Agent-GmGzO", + "sourceHandle": "{œdataTypeœ:œAgentœ,œidœ:œAgent-GmGzOœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}", + "target": "Agent-fIjE5", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œAgent-fIjE5œ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -79,23 +93,27 @@ "data": { "sourceHandle": { "dataType": "ChatInput", - "id": "ChatInput-iZoDa", + "id": "ChatInput-9lxdc", "name": "message", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "Agent-7K58a", - "inputTypes": ["Message"], + "id": "Agent-GmGzO", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-ChatInput-iZoDa{œdataTypeœ:œChatInputœ,œidœ:œChatInput-iZoDaœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-Agent-7K58a{œfieldNameœ:œinput_valueœ,œidœ:œAgent-7K58aœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-ChatInput-9lxdc{œdataTypeœ:œChatInputœ,œidœ:œChatInput-9lxdcœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-Agent-GmGzO{œfieldNameœ:œinput_valueœ,œidœ:œAgent-GmGzOœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "ChatInput-iZoDa", - "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-iZoDaœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", - "target": "Agent-7K58a", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œAgent-7K58aœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "source": "ChatInput-9lxdc", + "sourceHandle": "{œdataTypeœ:œChatInputœ,œidœ:œChatInput-9lxdcœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}", + "target": "Agent-GmGzO", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œAgent-GmGzOœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -103,23 +121,27 @@ "data": { "sourceHandle": { "dataType": "URL", - "id": "URL-j9slU", + "id": "URL-EYvKG", "name": "component_as_tool", - "output_types": ["Tool"] + "output_types": [ + "Tool" + ] }, "targetHandle": { "fieldName": "tools", - "id": "Agent-zOYup", - "inputTypes": ["Tool"], + "id": "Agent-fIjE5", + "inputTypes": [ + "Tool" + ], "type": "other" } }, - "id": "reactflow__edge-URL-j9slU{œdataTypeœ:œURLœ,œidœ:œURL-j9slUœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-zOYup{œfieldNameœ:œtoolsœ,œidœ:œAgent-zOYupœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", + "id": "reactflow__edge-URL-EYvKG{œdataTypeœ:œURLœ,œidœ:œURL-EYvKGœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-fIjE5{œfieldNameœ:œtoolsœ,œidœ:œAgent-fIjE5œ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", "selected": false, - "source": "URL-j9slU", - "sourceHandle": "{œdataTypeœ: œURLœ, œidœ: œURL-j9slUœ, œnameœ: œcomponent_as_toolœ, œoutput_typesœ: [œToolœ]}", - "target": "Agent-zOYup", - "targetHandle": "{œfieldNameœ: œtoolsœ, œidœ: œAgent-zOYupœ, œinputTypesœ: [œToolœ], œtypeœ: œotherœ}" + "source": "URL-EYvKG", + "sourceHandle": "{œdataTypeœ:œURLœ,œidœ:œURL-EYvKGœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}", + "target": "Agent-fIjE5", + "targetHandle": "{œfieldNameœ:œtoolsœ,œidœ:œAgent-fIjE5œ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}" }, { "animated": false, @@ -127,23 +149,27 @@ "data": { "sourceHandle": { "dataType": "CalculatorComponent", - "id": "CalculatorComponent-L3y5A", + "id": "CalculatorComponent-iYKK0", "name": "component_as_tool", - "output_types": ["Tool"] + "output_types": [ + "Tool" + ] }, "targetHandle": { "fieldName": "tools", - "id": "Agent-PKpSO", - "inputTypes": ["Tool"], + "id": "Agent-5ELhg", + "inputTypes": [ + "Tool" + ], "type": "other" } }, - "id": "reactflow__edge-CalculatorComponent-L3y5A{œdataTypeœ:œCalculatorComponentœ,œidœ:œCalculatorComponent-L3y5Aœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-PKpSO{œfieldNameœ:œtoolsœ,œidœ:œAgent-PKpSOœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", + "id": "reactflow__edge-CalculatorComponent-iYKK0{œdataTypeœ:œCalculatorComponentœ,œidœ:œCalculatorComponent-iYKK0œ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-5ELhg{œfieldNameœ:œtoolsœ,œidœ:œAgent-5ELhgœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", "selected": false, - "source": "CalculatorComponent-L3y5A", - "sourceHandle": "{œdataTypeœ: œCalculatorComponentœ, œidœ: œCalculatorComponent-L3y5Aœ, œnameœ: œcomponent_as_toolœ, œoutput_typesœ: [œToolœ]}", - "target": "Agent-PKpSO", - "targetHandle": "{œfieldNameœ: œtoolsœ, œidœ: œAgent-PKpSOœ, œinputTypesœ: [œToolœ], œtypeœ: œotherœ}" + "source": "CalculatorComponent-iYKK0", + "sourceHandle": "{œdataTypeœ:œCalculatorComponentœ,œidœ:œCalculatorComponent-iYKK0œ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}", + "target": "Agent-5ELhg", + "targetHandle": "{œfieldNameœ:œtoolsœ,œidœ:œAgent-5ELhgœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}" }, { "animated": false, @@ -151,31 +177,37 @@ "data": { "sourceHandle": { "dataType": "SearchComponent", - "id": "SearchComponent-8lQPB", + "id": "SearchComponent-mq4ho", "name": "component_as_tool", - "output_types": ["Tool"] + "output_types": [ + "Tool" + ] }, "targetHandle": { "fieldName": "tools", - "id": "Agent-7K58a", - "inputTypes": ["Tool"], + "id": "Agent-GmGzO", + "inputTypes": [ + "Tool" + ], "type": "other" } }, - "id": "reactflow__edge-SearchComponent-8lQPB{œdataTypeœ:œSearchComponentœ,œidœ:œSearchComponent-8lQPBœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-7K58a{œfieldNameœ:œtoolsœ,œidœ:œAgent-7K58aœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", + "id": "reactflow__edge-SearchComponent-mq4ho{œdataTypeœ:œSearchComponentœ,œidœ:œSearchComponent-mq4hoœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-GmGzO{œfieldNameœ:œtoolsœ,œidœ:œAgent-GmGzOœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", "selected": false, - "source": "SearchComponent-8lQPB", - "sourceHandle": "{œdataTypeœ: œSearchComponentœ, œidœ: œSearchComponent-8lQPBœ, œnameœ: œcomponent_as_toolœ, œoutput_typesœ: [œToolœ]}", - "target": "Agent-7K58a", - "targetHandle": "{œfieldNameœ: œtoolsœ, œidœ: œAgent-7K58aœ, œinputTypesœ: [œToolœ], œtypeœ: œotherœ}" + "source": "SearchComponent-mq4ho", + "sourceHandle": "{œdataTypeœ:œSearchComponentœ,œidœ:œSearchComponent-mq4hoœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}", + "target": "Agent-GmGzO", + "targetHandle": "{œfieldNameœ:œtoolsœ,œidœ:œAgent-GmGzOœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}" } ], "nodes": [ { "data": { - "id": "ChatInput-iZoDa", + "id": "ChatInput-9lxdc", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -206,7 +238,9 @@ "name": "message", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -219,7 +253,9 @@ "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", @@ -238,7 +274,9 @@ "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", @@ -340,7 +378,10 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": ["Machine", "User"], + "options": [ + "Machine", + "User" + ], "placeholder": "", "required": false, "show": true, @@ -355,7 +396,9 @@ "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", @@ -374,7 +417,9 @@ "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", @@ -409,7 +454,9 @@ "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", @@ -428,14 +475,14 @@ }, "dragging": false, "height": 262, - "id": "ChatInput-iZoDa", + "id": "ChatInput-9lxdc", "measured": { "height": 262, - "width": 360 + "width": 320 }, "position": { - "x": 1756.77096149088, - "y": 292.73476765276695 + "x": 1731.3224944651397, + "y": 595.5715252590742 }, "positionAbsolute": { "x": 1756.77096149088, @@ -449,9 +496,11 @@ "data": { "description": "Display a chat message in the Playground.", "display_name": "Chat Output", - "id": "ChatOutput-8np0X", + "id": "ChatOutput-aVGIh", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -485,7 +534,9 @@ "name": "message", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -498,7 +549,9 @@ "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", @@ -518,7 +571,9 @@ "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", @@ -574,7 +629,9 @@ "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", @@ -594,7 +651,11 @@ "display_name": "Text", "dynamic": false, "info": "Message to be passed as output.", - "input_types": ["Data", "DataFrame", "Message"], + "input_types": [ + "Data", + "DataFrame", + "Message" + ], "list": false, "load_from_db": false, "name": "input_value", @@ -615,7 +676,10 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": ["Machine", "User"], + "options": [ + "Machine", + "User" + ], "placeholder": "", "required": false, "show": true, @@ -631,7 +695,9 @@ "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", @@ -651,7 +717,9 @@ "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", @@ -687,7 +755,9 @@ "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", @@ -708,10 +778,10 @@ }, "dragging": false, "height": 262, - "id": "ChatOutput-8np0X", + "id": "ChatOutput-aVGIh", "measured": { "height": 262, - "width": 360 + "width": 320 }, "position": { "x": 4349.229697347143, @@ -729,9 +799,11 @@ "data": { "description": "Define the agent's instructions, then enter a task to complete using tools.", "display_name": "City Selection Agent", - "id": "Agent-7K58a", + "id": "Agent-GmGzO", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -782,7 +854,9 @@ "name": "response", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -811,7 +885,9 @@ "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, @@ -862,7 +938,9 @@ "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, @@ -913,7 +991,9 @@ "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", @@ -1005,7 +1085,9 @@ "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": "", @@ -1099,7 +1181,10 @@ "dynamic": false, "info": "Order of the messages.", "name": "order", - "options": ["Ascending", "Descending"], + "options": [ + "Ascending", + "Descending" + ], "placeholder": "", "required": false, "show": true, @@ -1133,7 +1218,11 @@ "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, @@ -1149,7 +1238,9 @@ "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", @@ -1169,7 +1260,9 @@ "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", @@ -1189,7 +1282,9 @@ "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, @@ -1226,7 +1321,9 @@ "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, @@ -1265,7 +1362,9 @@ "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": "", @@ -1299,10 +1398,10 @@ }, "dragging": true, "height": 725, - "id": "Agent-7K58a", + "id": "Agent-GmGzO", "measured": { "height": 725, - "width": 360 + "width": 320 }, "position": { "x": 2472.7748760933105, @@ -1320,9 +1419,11 @@ "data": { "description": "Define the agent's instructions, then enter a task to complete using tools.", "display_name": "Local Expert Agent", - "id": "Agent-zOYup", + "id": "Agent-fIjE5", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -1373,7 +1474,9 @@ "name": "response", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -1402,7 +1505,9 @@ "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, @@ -1453,7 +1558,9 @@ "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, @@ -1504,7 +1611,9 @@ "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", @@ -1596,7 +1705,9 @@ "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": "", @@ -1690,7 +1801,10 @@ "dynamic": false, "info": "Order of the messages.", "name": "order", - "options": ["Ascending", "Descending"], + "options": [ + "Ascending", + "Descending" + ], "placeholder": "", "required": false, "show": true, @@ -1724,7 +1838,11 @@ "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, @@ -1740,7 +1858,9 @@ "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", @@ -1760,7 +1880,9 @@ "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", @@ -1780,7 +1902,9 @@ "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, @@ -1817,7 +1941,9 @@ "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, @@ -1856,7 +1982,9 @@ "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": "", @@ -1890,10 +2018,10 @@ }, "dragging": false, "height": 725, - "id": "Agent-zOYup", + "id": "Agent-fIjE5", "measured": { "height": 725, - "width": 360 + "width": 320 }, "position": { "x": 3185.66991544494, @@ -1911,9 +2039,11 @@ "data": { "description": "Define the agent's instructions, then enter a task to complete using tools.", "display_name": "Travel Concierge Agent", - "id": "Agent-PKpSO", + "id": "Agent-5ELhg", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -1964,7 +2094,9 @@ "name": "response", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -1993,7 +2125,9 @@ "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, @@ -2044,7 +2178,9 @@ "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, @@ -2095,7 +2231,9 @@ "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", @@ -2187,7 +2325,9 @@ "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": "", @@ -2281,7 +2421,10 @@ "dynamic": false, "info": "Order of the messages.", "name": "order", - "options": ["Ascending", "Descending"], + "options": [ + "Ascending", + "Descending" + ], "placeholder": "", "required": false, "show": true, @@ -2315,7 +2458,11 @@ "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, @@ -2331,7 +2478,9 @@ "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", @@ -2351,7 +2500,9 @@ "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", @@ -2371,7 +2522,9 @@ "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, @@ -2408,7 +2561,9 @@ "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, @@ -2447,7 +2602,9 @@ "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": "", @@ -2481,10 +2638,10 @@ }, "dragging": false, "height": 725, - "id": "Agent-PKpSO", + "id": "Agent-5ELhg", "measured": { "height": 725, - "width": 360 + "width": 320 }, "position": { "x": 3889.695953842898, @@ -2500,7 +2657,7 @@ }, { "data": { - "id": "note-gUKzO", + "id": "note-PulfS", "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": "", @@ -2511,10 +2668,10 @@ }, "dragging": false, "height": 603, - "id": "note-gUKzO", + "id": "note-PulfS", "measured": { "height": 603, - "width": 328 + "width": 325 }, "position": { "x": 1319.2860379588103, @@ -2535,7 +2692,7 @@ }, { "data": { - "id": "note-a0pJv", + "id": "note-enyoR", "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": "", @@ -2548,14 +2705,14 @@ }, "dragging": false, "height": 334, - "id": "note-a0pJv", + "id": "note-enyoR", "measured": { "height": 334, - "width": 328 + "width": 325 }, "position": { - "x": 2122.4146132377227, - "y": 485.2212661145467 + "x": 2112.2352264274264, + "y": 406.33101833475234 }, "positionAbsolute": { "x": 2122.4146132377227, @@ -2572,7 +2729,7 @@ }, { "data": { - "id": "note-ylJy2", + "id": "note-sJHlL", "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": "", @@ -2585,10 +2742,10 @@ }, "dragging": false, "height": 342, - "id": "note-ylJy2", + "id": "note-sJHlL", "measured": { "height": 342, - "width": 328 + "width": 325 }, "position": { "x": 2827.660803823376, @@ -2609,7 +2766,7 @@ }, { "data": { - "id": "note-LZBEx", + "id": "note-vMCuU", "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": "", @@ -2622,10 +2779,10 @@ }, "dragging": false, "height": 336, - "id": "note-LZBEx", + "id": "note-vMCuU", "measured": { "height": 336, - "width": 328 + "width": 325 }, "position": { "x": 3536.084279543714, @@ -2646,7 +2803,7 @@ }, { "data": { - "id": "note-4IUQQ", + "id": "note-HdGkW", "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": "", @@ -2659,10 +2816,10 @@ }, "dragging": false, "height": 324, - "id": "note-4IUQQ", + "id": "note-HdGkW", "measured": { "height": 324, - "width": 328 + "width": 325 }, "position": { "x": 2463.3881993480218, @@ -2681,9 +2838,13 @@ "data": { "description": "Load and retrieve data from specified URLs. Supports output in plain text, raw HTML, or JSON, with options for cleaning and separating multiple outputs.", "display_name": "URL", - "id": "URL-j9slU", + "id": "URL-EYvKG", "node": { - "base_classes": ["Data", "DataFrame", "Message"], + "base_classes": [ + "Data", + "DataFrame", + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -2714,7 +2875,9 @@ "required_inputs": null, "selected": "Tool", "tool_mode": true, - "types": ["Tool"], + "types": [ + "Tool" + ], "value": "__UNDEFINED__" } ], @@ -2766,7 +2929,11 @@ "dynamic": false, "info": "Output Format. Use 'Text' to extract text from the HTML, 'Raw HTML' for the raw HTML content, or 'JSON' to extract JSON from the HTML.", "name": "format", - "options": ["Text", "Raw HTML", "JSON"], + "options": [ + "Text", + "Raw HTML", + "JSON" + ], "options_metadata": [], "placeholder": "", "real_time_refresh": true, @@ -2822,7 +2989,10 @@ "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 }, @@ -2879,17 +3049,23 @@ { "description": "fetch_content() - Load and retrieve data from specified URLs. Supports output in plain text, raw HTML, or JSON, with options for cleaning and separating multiple outputs.", "name": "URL-fetch_content", - "tags": ["URL-fetch_content"] + "tags": [ + "URL-fetch_content" + ] }, { "description": "fetch_content_text() - Load and retrieve data from specified URLs. Supports output in plain text, raw HTML, or JSON, with options for cleaning and separating multiple outputs.", "name": "URL-fetch_content_text", - "tags": ["URL-fetch_content_text"] + "tags": [ + "URL-fetch_content_text" + ] }, { "description": "as_dataframe() - Load and retrieve data from specified URLs. Supports output in plain text, raw HTML, or JSON, with options for cleaning and separating multiple outputs.", "name": "URL-as_dataframe", - "tags": ["URL-as_dataframe"] + "tags": [ + "URL-as_dataframe" + ] } ] }, @@ -2899,7 +3075,9 @@ "display_name": "URLs", "dynamic": false, "info": "", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": true, "list_add_label": "Add URL", "load_from_db": false, @@ -2921,10 +3099,10 @@ "type": "URL" }, "dragging": false, - "id": "URL-j9slU", + "id": "URL-EYvKG", "measured": { - "height": 660, - "width": 360 + "height": 590, + "width": 320 }, "position": { "x": 2829.4526852839367, @@ -2935,9 +3113,11 @@ }, { "data": { - "id": "CalculatorComponent-L3y5A", + "id": "CalculatorComponent-iYKK0", "node": { - "base_classes": ["Data"], + "base_classes": [ + "Data" + ], "beta": false, "category": "tools", "conditional_paths": [], @@ -2946,7 +3126,9 @@ "display_name": "Calculator", "documentation": "", "edited": false, - "field_order": ["expression"], + "field_order": [ + "expression" + ], "frozen": false, "icon": "calculator", "key": "CalculatorComponent", @@ -2965,7 +3147,9 @@ "name": "component_as_tool", "required_inputs": null, "selected": "Tool", - "types": ["Tool"], + "types": [ + "Tool" + ], "value": "__UNDEFINED__" } ], @@ -2997,7 +3181,9 @@ "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, @@ -3037,7 +3223,10 @@ "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 }, @@ -3088,7 +3277,9 @@ { "description": "evaluate_expression() - Perform basic arithmetic operations on a given expression.", "name": "CalculatorComponent-evaluate_expression", - "tags": ["CalculatorComponent-evaluate_expression"] + "tags": [ + "CalculatorComponent-evaluate_expression" + ] } ] } @@ -3099,10 +3290,10 @@ "type": "CalculatorComponent" }, "dragging": false, - "id": "CalculatorComponent-L3y5A", + "id": "CalculatorComponent-iYKK0", "measured": { - "height": 374, - "width": 360 + "height": 334, + "width": 320 }, "position": { "x": 3540.356346381247, @@ -3115,9 +3306,13 @@ "data": { "description": "Call the searchapi.io API with result limiting", "display_name": "Search API", - "id": "SearchComponent-8lQPB", + "id": "SearchComponent-mq4ho", "node": { - "base_classes": ["Data", "DataFrame", "Message"], + "base_classes": [ + "Data", + "DataFrame", + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -3151,7 +3346,9 @@ "required_inputs": null, "selected": "Tool", "tool_mode": true, - "types": ["Tool"], + "types": [ + "Tool" + ], "value": "__UNDEFINED__" } ], @@ -3164,8 +3361,10 @@ "display_name": "SearchAPI API Key", "dynamic": false, "info": "", - "input_types": ["Message"], - "load_from_db": false, + "input_types": [ + "Message" + ], + "load_from_db": true, "name": "api_key", "password": true, "placeholder": "", @@ -3202,7 +3401,11 @@ "dynamic": false, "info": "", "name": "engine", - "options": ["google", "bing", "duckduckgo"], + "options": [ + "google", + "bing", + "duckduckgo" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -3220,7 +3423,9 @@ "display_name": "Input", "dynamic": false, "info": "", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -3315,7 +3520,10 @@ "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 }, @@ -3386,19 +3594,25 @@ "description": "fetch_content(api_key: Message) - Call the searchapi.io API with result limiting", "name": "SearchComponent-fetch_content", "status": true, - "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", "status": true, - "tags": ["SearchComponent-fetch_content_text"] + "tags": [ + "SearchComponent-fetch_content_text" + ] }, { "description": "as_dataframe(api_key: Message) - Call the searchapi.io API with result limiting", "name": "SearchComponent-as_dataframe", "status": true, - "tags": ["SearchComponent-as_dataframe"] + "tags": [ + "SearchComponent-as_dataframe" + ] } ] } @@ -3409,32 +3623,33 @@ "type": "SearchComponent" }, "dragging": false, - "id": "SearchComponent-8lQPB", + "id": "SearchComponent-mq4ho", "measured": { - "height": 536, - "width": 360 + "height": 479, + "width": 320 }, "position": { "x": 2089.0393126914205, - "y": 864.3967489854795 + "y": 894.9349094163676 }, "selected": false, "type": "genericNode" } ], "viewport": { - "x": -422.4287774794177, - "y": 323.63311823261427, - "zoom": 0.36739682737950574 + "x": -453.59655672949, + "y": 152.68149931085674, + "zoom": 0.392950977749874 } }, "description": "Create a travel planning chatbot that uses specialized agents to craft personalized trip itineraries.", "endpoint_name": null, - "gradient": "0", - "icon": "Plane", - "id": "29cad7e9-2561-4cba-a974-d1fa83ac1c1e", + "id": "bb57ce7a-13e0-40c0-9e7a-7783fd6f32e8", "is_component": false, - "last_tested_version": "1.0.19.post2", + "last_tested_version": "1.2.0", "name": "Travel Planning Agents", - "tags": ["agents", "openai"] -} + "tags": [ + "agents", + "openai" + ] +} \ No newline at end of file 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 38129ec1d..be2d5e28c 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,23 +7,28 @@ "data": { "sourceHandle": { "dataType": "ParseData", - "id": "ParseData-dTUtn", + "id": "ParseData-Pc764", "name": "text", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "context", - "id": "Prompt-NBncd", - "inputTypes": ["Message", "Text"], + "id": "Prompt-T1JLQ", + "inputTypes": [ + "Message", + "Text" + ], "type": "str" } }, - "id": "reactflow__edge-ParseData-dTUtn{œdataTypeœ:œParseDataœ,œidœ:œParseData-dTUtnœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-Prompt-NBncd{œfieldNameœ:œcontextœ,œidœ:œPrompt-NBncdœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-ParseData-Pc764{œdataTypeœ:œParseDataœ,œidœ:œParseData-Pc764œ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-Prompt-T1JLQ{œfieldNameœ:œcontextœ,œidœ:œPrompt-T1JLQœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", "selected": false, - "source": "ParseData-dTUtn", - "sourceHandle": "{œdataTypeœ: œParseDataœ, œidœ: œParseData-dTUtnœ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}", - "target": "Prompt-NBncd", - "targetHandle": "{œfieldNameœ: œcontextœ, œidœ: œPrompt-NBncdœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" + "source": "ParseData-Pc764", + "sourceHandle": "{œdataTypeœ:œParseDataœ,œidœ:œParseData-Pc764œ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}", + "target": "Prompt-T1JLQ", + "targetHandle": "{œfieldNameœ:œcontextœ,œidœ:œPrompt-T1JLQœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -31,23 +36,28 @@ "data": { "sourceHandle": { "dataType": "ChatInput", - "id": "ChatInput-qtFQQ", + "id": "ChatInput-5reba", "name": "message", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "question", - "id": "Prompt-NBncd", - "inputTypes": ["Message", "Text"], + "id": "Prompt-T1JLQ", + "inputTypes": [ + "Message", + "Text" + ], "type": "str" } }, - "id": "reactflow__edge-ChatInput-qtFQQ{œdataTypeœ:œChatInputœ,œidœ:œChatInput-qtFQQœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-Prompt-NBncd{œfieldNameœ:œquestionœ,œidœ:œPrompt-NBncdœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-ChatInput-5reba{œdataTypeœ:œChatInputœ,œidœ:œChatInput-5rebaœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-Prompt-T1JLQ{œfieldNameœ:œquestionœ,œidœ:œPrompt-T1JLQœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}", "selected": false, - "source": "ChatInput-qtFQQ", - "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-qtFQQœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", - "target": "Prompt-NBncd", - "targetHandle": "{œfieldNameœ: œquestionœ, œidœ: œPrompt-NBncdœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}" + "source": "ChatInput-5reba", + "sourceHandle": "{œdataTypeœ:œChatInputœ,œidœ:œChatInput-5rebaœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}", + "target": "Prompt-T1JLQ", + "targetHandle": "{œfieldNameœ:œquestionœ,œidœ:œPrompt-T1JLQœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -55,23 +65,28 @@ "data": { "sourceHandle": { "dataType": "File", - "id": "File-oTnVx", + "id": "File-IwyQk", "name": "data", - "output_types": ["Data"] + "output_types": [ + "Data" + ] }, "targetHandle": { "fieldName": "data_inputs", - "id": "SplitText-vaZeR", - "inputTypes": ["Data", "DataFrame"], + "id": "SplitText-EixdW", + "inputTypes": [ + "Data", + "DataFrame" + ], "type": "other" } }, - "id": "reactflow__edge-File-oTnVx{œdataTypeœ:œFileœ,œidœ:œFile-oTnVxœ,œnameœ:œdataœ,œoutput_typesœ:[œDataœ]}-SplitText-vaZeR{œfieldNameœ:œdata_inputsœ,œidœ:œSplitText-vaZeRœ,œinputTypesœ:[œDataœ,œDataFrameœ],œtypeœ:œotherœ}", + "id": "reactflow__edge-File-IwyQk{œdataTypeœ:œFileœ,œidœ:œFile-IwyQkœ,œnameœ:œdataœ,œoutput_typesœ:[œDataœ]}-SplitText-EixdW{œfieldNameœ:œdata_inputsœ,œidœ:œSplitText-EixdWœ,œinputTypesœ:[œDataœ,œDataFrameœ],œtypeœ:œotherœ}", "selected": false, - "source": "File-oTnVx", - "sourceHandle": "{œdataTypeœ: œFileœ, œidœ: œFile-oTnVxœ, œnameœ: œdataœ, œoutput_typesœ: [œDataœ]}", - "target": "SplitText-vaZeR", - "targetHandle": "{œfieldNameœ: œdata_inputsœ, œidœ: œSplitText-vaZeRœ, œinputTypesœ: [œDataœ, œDataFrameœ], œtypeœ: œotherœ}" + "source": "File-IwyQk", + "sourceHandle": "{œdataTypeœ:œFileœ,œidœ:œFile-IwyQkœ,œnameœ:œdataœ,œoutput_typesœ:[œDataœ]}", + "target": "SplitText-EixdW", + "targetHandle": "{œfieldNameœ:œdata_inputsœ,œidœ:œSplitText-EixdWœ,œinputTypesœ:[œDataœ,œDataFrameœ],œtypeœ:œotherœ}" }, { "animated": false, @@ -79,23 +94,27 @@ "data": { "sourceHandle": { "dataType": "Prompt", - "id": "Prompt-NBncd", + "id": "Prompt-T1JLQ", "name": "prompt", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "OpenAIModel-FTJXf", - "inputTypes": ["Message"], + "id": "OpenAIModel-e49kI", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-Prompt-NBncd{œdataTypeœ:œPromptœ,œidœ:œPrompt-NBncdœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-FTJXf{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-FTJXfœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-Prompt-T1JLQ{œdataTypeœ:œPromptœ,œidœ:œPrompt-T1JLQœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-e49kI{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-e49kIœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "Prompt-NBncd", - "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-NBncdœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", - "target": "OpenAIModel-FTJXf", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œOpenAIModel-FTJXfœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "source": "Prompt-T1JLQ", + "sourceHandle": "{œdataTypeœ:œPromptœ,œidœ:œPrompt-T1JLQœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}", + "target": "OpenAIModel-e49kI", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-e49kIœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -103,128 +122,170 @@ "data": { "sourceHandle": { "dataType": "OpenAIModel", - "id": "OpenAIModel-FTJXf", + "id": "OpenAIModel-e49kI", "name": "text_output", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "ChatOutput-pJO1V", - "inputTypes": ["Data", "DataFrame", "Message"], + "id": "ChatOutput-aQXd2", + "inputTypes": [ + "Data", + "DataFrame", + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-OpenAIModel-FTJXf{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-FTJXfœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-pJO1V{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-pJO1Vœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-OpenAIModel-e49kI{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-e49kIœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-aQXd2{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-aQXd2œ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "OpenAIModel-FTJXf", - "sourceHandle": "{œdataTypeœ: œOpenAIModelœ, œidœ: œOpenAIModel-FTJXfœ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}", - "target": "ChatOutput-pJO1V", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-pJO1Vœ, œinputTypesœ: [œDataœ, œDataFrameœ, œMessageœ], œtypeœ: œstrœ}" + "source": "OpenAIModel-e49kI", + "sourceHandle": "{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-e49kIœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}", + "target": "ChatOutput-aQXd2", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-aQXd2œ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}" }, { + "animated": false, + "className": "", "data": { "sourceHandle": { "dataType": "OpenAIEmbeddings", - "id": "OpenAIEmbeddings-EMFka", + "id": "OpenAIEmbeddings-fftff", "name": "embeddings", - "output_types": ["Embeddings"] + "output_types": [ + "Embeddings" + ] }, "targetHandle": { "fieldName": "embedding_model", - "id": "AstraDB-PEjRy", - "inputTypes": ["Embeddings"], + "id": "AstraDB-JF2lS", + "inputTypes": [ + "Embeddings" + ], "type": "other" } }, - "id": "xy-edge__OpenAIEmbeddings-EMFka{œdataTypeœ:œOpenAIEmbeddingsœ,œidœ:œOpenAIEmbeddings-EMFkaœ,œnameœ:œembeddingsœ,œoutput_typesœ:[œEmbeddingsœ]}-AstraDB-PEjRy{œfieldNameœ:œembedding_modelœ,œidœ:œAstraDB-PEjRyœ,œinputTypesœ:[œEmbeddingsœ],œtypeœ:œotherœ}", - "source": "OpenAIEmbeddings-EMFka", - "sourceHandle": "{œdataTypeœ: œOpenAIEmbeddingsœ, œidœ: œOpenAIEmbeddings-EMFkaœ, œnameœ: œembeddingsœ, œoutput_typesœ: [œEmbeddingsœ]}", - "target": "AstraDB-PEjRy", - "targetHandle": "{œfieldNameœ: œembedding_modelœ, œidœ: œAstraDB-PEjRyœ, œinputTypesœ: [œEmbeddingsœ], œtypeœ: œotherœ}" + "id": "reactflow__edge-OpenAIEmbeddings-fftff{œdataTypeœ:œOpenAIEmbeddingsœ,œidœ:œOpenAIEmbeddings-fftffœ,œnameœ:œembeddingsœ,œoutput_typesœ:[œEmbeddingsœ]}-AstraDB-JF2lS{œfieldNameœ:œembedding_modelœ,œidœ:œAstraDB-JF2lSœ,œinputTypesœ:[œEmbeddingsœ],œtypeœ:œotherœ}", + "selected": false, + "source": "OpenAIEmbeddings-fftff", + "sourceHandle": "{œdataTypeœ:œOpenAIEmbeddingsœ,œidœ:œOpenAIEmbeddings-fftffœ,œnameœ:œembeddingsœ,œoutput_typesœ:[œEmbeddingsœ]}", + "target": "AstraDB-JF2lS", + "targetHandle": "{œfieldNameœ:œembedding_modelœ,œidœ:œAstraDB-JF2lSœ,œinputTypesœ:[œEmbeddingsœ],œtypeœ:œotherœ}" }, { + "animated": false, + "className": "", "data": { "sourceHandle": { "dataType": "SplitText", - "id": "SplitText-vaZeR", + "id": "SplitText-EixdW", "name": "chunks", - "output_types": ["Data"] + "output_types": [ + "Data" + ] }, "targetHandle": { "fieldName": "ingest_data", - "id": "AstraDB-PEjRy", - "inputTypes": ["Data", "DataFrame"], + "id": "AstraDB-JF2lS", + "inputTypes": [ + "Data", + "DataFrame" + ], "type": "other" } }, - "id": "xy-edge__SplitText-vaZeR{œdataTypeœ:œSplitTextœ,œidœ:œSplitText-vaZeRœ,œnameœ:œchunksœ,œoutput_typesœ:[œDataœ]}-AstraDB-PEjRy{œfieldNameœ:œingest_dataœ,œidœ:œAstraDB-PEjRyœ,œinputTypesœ:[œDataœ],œtypeœ:œotherœ}", - "source": "SplitText-vaZeR", - "sourceHandle": "{œdataTypeœ: œSplitTextœ, œidœ: œSplitText-vaZeRœ, œnameœ: œchunksœ, œoutput_typesœ: [œDataœ]}", - "target": "AstraDB-PEjRy", - "targetHandle": "{œfieldNameœ: œingest_dataœ, œidœ: œAstraDB-PEjRyœ, œinputTypesœ: [œDataœ, œDataFrameœ], œtypeœ: œotherœ}" + "id": "reactflow__edge-SplitText-EixdW{œdataTypeœ:œSplitTextœ,œidœ:œSplitText-EixdWœ,œnameœ:œchunksœ,œoutput_typesœ:[œDataœ]}-AstraDB-JF2lS{œfieldNameœ:œingest_dataœ,œidœ:œAstraDB-JF2lSœ,œinputTypesœ:[œDataœ,œDataFrameœ],œtypeœ:œotherœ}", + "selected": false, + "source": "SplitText-EixdW", + "sourceHandle": "{œdataTypeœ:œSplitTextœ,œidœ:œSplitText-EixdWœ,œnameœ:œchunksœ,œoutput_typesœ:[œDataœ]}", + "target": "AstraDB-JF2lS", + "targetHandle": "{œfieldNameœ:œingest_dataœ,œidœ:œAstraDB-JF2lSœ,œinputTypesœ:[œDataœ,œDataFrameœ],œtypeœ:œotherœ}" }, { + "animated": false, + "className": "", "data": { "sourceHandle": { "dataType": "OpenAIEmbeddings", - "id": "OpenAIEmbeddings-u4Q5A", + "id": "OpenAIEmbeddings-t4aMI", "name": "embeddings", - "output_types": ["Embeddings"] + "output_types": [ + "Embeddings" + ] }, "targetHandle": { "fieldName": "embedding_model", - "id": "AstraDB-hkfZY", - "inputTypes": ["Embeddings"], + "id": "AstraDB-8CuoQ", + "inputTypes": [ + "Embeddings" + ], "type": "other" } }, - "id": "xy-edge__OpenAIEmbeddings-u4Q5A{œdataTypeœ:œOpenAIEmbeddingsœ,œidœ:œOpenAIEmbeddings-u4Q5Aœ,œnameœ:œembeddingsœ,œoutput_typesœ:[œEmbeddingsœ]}-AstraDB-hkfZY{œfieldNameœ:œembedding_modelœ,œidœ:œAstraDB-hkfZYœ,œinputTypesœ:[œEmbeddingsœ],œtypeœ:œotherœ}", - "source": "OpenAIEmbeddings-u4Q5A", - "sourceHandle": "{œdataTypeœ: œOpenAIEmbeddingsœ, œidœ: œOpenAIEmbeddings-u4Q5Aœ, œnameœ: œembeddingsœ, œoutput_typesœ: [œEmbeddingsœ]}", - "target": "AstraDB-hkfZY", - "targetHandle": "{œfieldNameœ: œembedding_modelœ, œidœ: œAstraDB-hkfZYœ, œinputTypesœ: [œEmbeddingsœ], œtypeœ: œotherœ}" + "id": "reactflow__edge-OpenAIEmbeddings-t4aMI{œdataTypeœ:œOpenAIEmbeddingsœ,œidœ:œOpenAIEmbeddings-t4aMIœ,œnameœ:œembeddingsœ,œoutput_typesœ:[œEmbeddingsœ]}-AstraDB-8CuoQ{œfieldNameœ:œembedding_modelœ,œidœ:œAstraDB-8CuoQœ,œinputTypesœ:[œEmbeddingsœ],œtypeœ:œotherœ}", + "selected": false, + "source": "OpenAIEmbeddings-t4aMI", + "sourceHandle": "{œdataTypeœ:œOpenAIEmbeddingsœ,œidœ:œOpenAIEmbeddings-t4aMIœ,œnameœ:œembeddingsœ,œoutput_typesœ:[œEmbeddingsœ]}", + "target": "AstraDB-8CuoQ", + "targetHandle": "{œfieldNameœ:œembedding_modelœ,œidœ:œAstraDB-8CuoQœ,œinputTypesœ:[œEmbeddingsœ],œtypeœ:œotherœ}" }, { + "animated": false, + "className": "", "data": { "sourceHandle": { "dataType": "ChatInput", - "id": "ChatInput-qtFQQ", + "id": "ChatInput-5reba", "name": "message", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "search_query", - "id": "AstraDB-hkfZY", - "inputTypes": ["Message"], + "id": "AstraDB-8CuoQ", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "xy-edge__ChatInput-qtFQQ{œdataTypeœ:œChatInputœ,œidœ:œChatInput-qtFQQœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-AstraDB-hkfZY{œfieldNameœ:œsearch_queryœ,œidœ:œAstraDB-hkfZYœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", - "source": "ChatInput-qtFQQ", - "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-qtFQQœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", - "target": "AstraDB-hkfZY", - "targetHandle": "{œfieldNameœ: œsearch_queryœ, œidœ: œAstraDB-hkfZYœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "id": "reactflow__edge-ChatInput-5reba{œdataTypeœ:œChatInputœ,œidœ:œChatInput-5rebaœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-AstraDB-8CuoQ{œfieldNameœ:œsearch_queryœ,œidœ:œAstraDB-8CuoQœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "selected": false, + "source": "ChatInput-5reba", + "sourceHandle": "{œdataTypeœ:œChatInputœ,œidœ:œChatInput-5rebaœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}", + "target": "AstraDB-8CuoQ", + "targetHandle": "{œfieldNameœ:œsearch_queryœ,œidœ:œAstraDB-8CuoQœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { + "animated": false, + "className": "", "data": { "sourceHandle": { "dataType": "AstraDB", - "id": "AstraDB-hkfZY", + "id": "AstraDB-8CuoQ", "name": "search_results", - "output_types": ["Data"] + "output_types": [ + "Data" + ] }, "targetHandle": { "fieldName": "data", - "id": "ParseData-dTUtn", - "inputTypes": ["Data"], + "id": "ParseData-Pc764", + "inputTypes": [ + "Data" + ], "type": "other" } }, - "id": "xy-edge__AstraDB-hkfZY{œdataTypeœ:œAstraDBœ,œidœ:œAstraDB-hkfZYœ,œnameœ:œsearch_resultsœ,œoutput_typesœ:[œDataœ]}-ParseData-dTUtn{œfieldNameœ:œdataœ,œidœ:œParseData-dTUtnœ,œinputTypesœ:[œDataœ],œtypeœ:œotherœ}", - "source": "AstraDB-hkfZY", - "sourceHandle": "{œdataTypeœ: œAstraDBœ, œidœ: œAstraDB-hkfZYœ, œnameœ: œsearch_resultsœ, œoutput_typesœ: [œDataœ]}", - "target": "ParseData-dTUtn", - "targetHandle": "{œfieldNameœ: œdataœ, œidœ: œParseData-dTUtnœ, œinputTypesœ: [œDataœ], œtypeœ: œotherœ}" + "id": "reactflow__edge-AstraDB-8CuoQ{œdataTypeœ:œAstraDBœ,œidœ:œAstraDB-8CuoQœ,œnameœ:œsearch_resultsœ,œoutput_typesœ:[œDataœ]}-ParseData-Pc764{œfieldNameœ:œdataœ,œidœ:œParseData-Pc764œ,œinputTypesœ:[œDataœ],œtypeœ:œotherœ}", + "selected": false, + "source": "AstraDB-8CuoQ", + "sourceHandle": "{œdataTypeœ:œAstraDBœ,œidœ:œAstraDB-8CuoQœ,œnameœ:œsearch_resultsœ,œoutput_typesœ:[œDataœ]}", + "target": "ParseData-Pc764", + "targetHandle": "{œfieldNameœ:œdataœ,œidœ:œParseData-Pc764œ,œinputTypesœ:[œDataœ],œtypeœ:œotherœ}" } ], "nodes": [ @@ -232,9 +293,11 @@ "data": { "description": "Get chat inputs from the Playground.", "display_name": "Chat Input", - "id": "ChatInput-qtFQQ", + "id": "ChatInput-5reba", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -265,7 +328,9 @@ "name": "message", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -278,7 +343,9 @@ "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", @@ -297,7 +364,9 @@ "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", @@ -395,7 +464,10 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": ["Machine", "User"], + "options": [ + "Machine", + "User" + ], "placeholder": "", "required": false, "show": true, @@ -409,7 +481,9 @@ "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", @@ -427,7 +501,9 @@ "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", @@ -461,7 +537,9 @@ "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", @@ -480,14 +558,14 @@ }, "dragging": false, "height": 234, - "id": "ChatInput-qtFQQ", + "id": "ChatInput-5reba", "measured": { "height": 234, "width": 320 }, "position": { - "x": 741.9155057321848, - "y": 453.4025695365494 + "x": 827.4877596995269, + "y": 421.8759496538444 }, "positionAbsolute": { "x": 743.9745420290319, @@ -501,9 +579,11 @@ "data": { "description": "Convert Data into plain text following a specified template.", "display_name": "Parse Data", - "id": "ParseData-dTUtn", + "id": "ParseData-Pc764", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -511,7 +591,11 @@ "display_name": "Parse Data", "documentation": "", "edited": false, - "field_order": ["data", "template", "sep"], + "field_order": [ + "data", + "template", + "sep" + ], "frozen": false, "icon": "message-square", "legacy": false, @@ -529,7 +613,9 @@ "name": "text", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" }, { @@ -540,7 +626,9 @@ "name": "data_list", "selected": "Data", "tool_mode": true, - "types": ["Data"], + "types": [ + "Data" + ], "value": "__UNDEFINED__" } ], @@ -570,7 +658,9 @@ "display_name": "Data", "dynamic": false, "info": "The data to convert to text.", - "input_types": ["Data"], + "input_types": [ + "Data" + ], "list": true, "name": "data", "placeholder": "", @@ -603,7 +693,9 @@ "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, @@ -623,7 +715,7 @@ }, "dragging": false, "height": 350, - "id": "ParseData-dTUtn", + "id": "ParseData-Pc764", "measured": { "height": 350, "width": 320 @@ -644,20 +736,27 @@ "data": { "description": "Create a prompt template with dynamic variables.", "display_name": "Prompt", - "id": "Prompt-NBncd", + "id": "Prompt-T1JLQ", "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", @@ -678,7 +777,9 @@ "name": "prompt", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -711,7 +812,10 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Message", "Text"], + "input_types": [ + "Message", + "Text" + ], "list": false, "load_from_db": false, "multiline": true, @@ -731,7 +835,10 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Message", "Text"], + "input_types": [ + "Message", + "Text" + ], "list": false, "load_from_db": false, "multiline": true, @@ -765,7 +872,9 @@ "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", @@ -786,7 +895,7 @@ }, "dragging": false, "height": 433, - "id": "Prompt-NBncd", + "id": "Prompt-T1JLQ", "measured": { "height": 433, "width": 320 @@ -807,9 +916,11 @@ "data": { "description": "Split text into chunks based on specified criteria.", "display_name": "Split Text", - "id": "SplitText-vaZeR", + "id": "SplitText-EixdW", "node": { - "base_classes": ["Data"], + "base_classes": [ + "Data" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -838,7 +949,9 @@ "name": "chunks", "selected": "Data", "tool_mode": true, - "types": ["Data"], + "types": [ + "Data" + ], "value": "__UNDEFINED__" }, { @@ -849,7 +962,9 @@ "name": "dataframe", "selected": "DataFrame", "tool_mode": true, - "types": ["DataFrame"], + "types": [ + "DataFrame" + ], "value": "__UNDEFINED__" } ], @@ -909,7 +1024,10 @@ "display_name": "Data or DataFrame", "dynamic": false, "info": "The data with texts to split in chunks.", - "input_types": ["Data", "DataFrame"], + "input_types": [ + "Data", + "DataFrame" + ], "list": false, "name": "data_inputs", "placeholder": "", @@ -929,7 +1047,12 @@ "dynamic": false, "info": "Whether to keep the separator in the output chunks and where to place it.", "name": "keep_separator", - "options": ["False", "True", "Start", "End"], + "options": [ + "False", + "True", + "Start", + "End" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -945,7 +1068,9 @@ "display_name": "Separator", "dynamic": false, "info": "The character to split on. Use \\n for newline. Examples: \\n\\n for paragraphs, \\n for lines, . for sentences", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "load_from_db": false, "name": "separator", @@ -964,7 +1089,9 @@ "display_name": "Text Key", "dynamic": false, "info": "The key to use for the text column.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -985,14 +1112,14 @@ }, "dragging": false, "height": 475, - "id": "SplitText-vaZeR", + "id": "SplitText-EixdW", "measured": { "height": 475, "width": 320 }, "position": { - "x": 1683.4543896546102, - "y": 1350.7871623588553 + "x": 1692.461995335383, + "y": 1328.2681481569232 }, "positionAbsolute": { "x": 1683.4543896546102, @@ -1004,7 +1131,7 @@ }, { "data": { - "id": "note-Fi1UC", + "id": "note-En1Ka", "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": "", @@ -1017,7 +1144,7 @@ }, "dragging": false, "height": 324, - "id": "note-Fi1UC", + "id": "note-En1Ka", "measured": { "height": 324, "width": 325 @@ -1041,7 +1168,7 @@ }, { "data": { - "id": "note-HxhH7", + "id": "note-SHxvt", "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", @@ -1054,21 +1181,21 @@ }, "dragging": false, "height": 324, - "id": "note-HxhH7", + "id": "note-SHxvt", "measured": { "height": 324, "width": 325 }, "position": { - "x": 94.28986613312418, - "y": 907.6428043837066 + "x": 191.12162720143235, + "y": 1157.6038620251531 }, "positionAbsolute": { "x": 94.28986613312418, "y": 907.6428043837066 }, "resizing": false, - "selected": false, + "selected": true, "style": { "height": 324, "width": 324 @@ -1080,9 +1207,11 @@ "data": { "description": "Display a chat message in the Playground.", "display_name": "Chat Output", - "id": "ChatOutput-pJO1V", + "id": "ChatOutput-aQXd2", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -1116,7 +1245,9 @@ "name": "message", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -1129,7 +1260,9 @@ "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", @@ -1149,7 +1282,9 @@ "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", @@ -1205,7 +1340,9 @@ "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", @@ -1225,7 +1362,11 @@ "display_name": "Text", "dynamic": false, "info": "Message to be passed as output.", - "input_types": ["Data", "DataFrame", "Message"], + "input_types": [ + "Data", + "DataFrame", + "Message" + ], "list": false, "load_from_db": false, "name": "input_value", @@ -1246,7 +1387,10 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": ["Machine", "User"], + "options": [ + "Machine", + "User" + ], "placeholder": "", "required": false, "show": true, @@ -1262,7 +1406,9 @@ "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", @@ -1282,7 +1428,9 @@ "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", @@ -1318,7 +1466,9 @@ "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", @@ -1339,7 +1489,7 @@ }, "dragging": false, "height": 234, - "id": "ChatOutput-pJO1V", + "id": "ChatOutput-aQXd2", "measured": { "height": 234, "width": 320 @@ -1358,9 +1508,11 @@ }, { "data": { - "id": "OpenAIEmbeddings-u4Q5A", + "id": "OpenAIEmbeddings-t4aMI", "node": { - "base_classes": ["Embeddings"], + "base_classes": [ + "Embeddings" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -1404,10 +1556,14 @@ "display_name": "Embeddings", "method": "build_embeddings", "name": "embeddings", - "required_inputs": ["openai_api_key"], + "required_inputs": [ + "openai_api_key" + ], "selected": "Embeddings", "tool_mode": true, - "types": ["Embeddings"], + "types": [ + "Embeddings" + ], "value": "__UNDEFINED__" } ], @@ -1436,7 +1592,9 @@ "display_name": "Client", "dynamic": false, "info": "", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "load_from_db": false, "name": "client", @@ -1506,7 +1664,9 @@ "display_name": "Deployment", "dynamic": false, "info": "", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "load_from_db": false, "name": "deployment", @@ -1612,7 +1772,9 @@ "display_name": "OpenAI API Base", "dynamic": false, "info": "", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "load_from_db": false, "name": "openai_api_base", @@ -1632,7 +1794,9 @@ "display_name": "OpenAI API Key", "dynamic": false, "info": "", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "load_from_db": true, "name": "openai_api_key", "password": true, @@ -1649,7 +1813,9 @@ "display_name": "OpenAI API Type", "dynamic": false, "info": "", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "load_from_db": false, "name": "openai_api_type", @@ -1669,7 +1835,9 @@ "display_name": "OpenAI API Version", "dynamic": false, "info": "", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "load_from_db": false, "name": "openai_api_version", @@ -1689,7 +1857,9 @@ "display_name": "OpenAI Organization", "dynamic": false, "info": "", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "load_from_db": false, "name": "openai_organization", @@ -1709,7 +1879,9 @@ "display_name": "OpenAI Proxy", "dynamic": false, "info": "", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "load_from_db": false, "name": "openai_proxy", @@ -1793,7 +1965,9 @@ "display_name": "TikToken Model Name", "dynamic": false, "info": "", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "load_from_db": false, "name": "tiktoken_model_name", @@ -1814,7 +1988,7 @@ }, "dragging": false, "height": 320, - "id": "OpenAIEmbeddings-u4Q5A", + "id": "OpenAIEmbeddings-t4aMI", "measured": { "height": 320, "width": 320 @@ -1833,7 +2007,7 @@ }, { "data": { - "id": "note-T4Uza", + "id": "note-PYicu", "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": "", @@ -1846,7 +2020,7 @@ }, "dragging": false, "height": 324, - "id": "note-T4Uza", + "id": "note-PYicu", "measured": { "height": 324, "width": 325 @@ -1870,9 +2044,11 @@ }, { "data": { - "id": "OpenAIEmbeddings-EMFka", + "id": "OpenAIEmbeddings-fftff", "node": { - "base_classes": ["Embeddings"], + "base_classes": [ + "Embeddings" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -1916,10 +2092,14 @@ "display_name": "Embeddings", "method": "build_embeddings", "name": "embeddings", - "required_inputs": ["openai_api_key"], + "required_inputs": [ + "openai_api_key" + ], "selected": "Embeddings", "tool_mode": true, - "types": ["Embeddings"], + "types": [ + "Embeddings" + ], "value": "__UNDEFINED__" } ], @@ -1948,7 +2128,9 @@ "display_name": "Client", "dynamic": false, "info": "", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "load_from_db": false, "name": "client", @@ -2018,7 +2200,9 @@ "display_name": "Deployment", "dynamic": false, "info": "", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "load_from_db": false, "name": "deployment", @@ -2124,7 +2308,9 @@ "display_name": "OpenAI API Base", "dynamic": false, "info": "", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "load_from_db": false, "name": "openai_api_base", @@ -2144,7 +2330,9 @@ "display_name": "OpenAI API Key", "dynamic": false, "info": "", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "load_from_db": true, "name": "openai_api_key", "password": true, @@ -2161,7 +2349,9 @@ "display_name": "OpenAI API Type", "dynamic": false, "info": "", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "load_from_db": false, "name": "openai_api_type", @@ -2181,7 +2371,9 @@ "display_name": "OpenAI API Version", "dynamic": false, "info": "", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "load_from_db": false, "name": "openai_api_version", @@ -2201,7 +2393,9 @@ "display_name": "OpenAI Organization", "dynamic": false, "info": "", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "load_from_db": false, "name": "openai_organization", @@ -2221,7 +2415,9 @@ "display_name": "OpenAI Proxy", "dynamic": false, "info": "", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "load_from_db": false, "name": "openai_proxy", @@ -2305,7 +2501,9 @@ "display_name": "TikToken Model Name", "dynamic": false, "info": "", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "load_from_db": false, "name": "tiktoken_model_name", @@ -2326,7 +2524,7 @@ }, "dragging": false, "height": 320, - "id": "OpenAIEmbeddings-EMFka", + "id": "OpenAIEmbeddings-fftff", "measured": { "height": 320, "width": 320 @@ -2345,9 +2543,11 @@ }, { "data": { - "id": "File-oTnVx", + "id": "File-IwyQk", "node": { - "base_classes": ["Data"], + "base_classes": [ + "Data" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -2377,7 +2577,9 @@ "required_inputs": [], "selected": "Data", "tool_mode": true, - "types": ["Data"], + "types": [ + "Data" + ], "value": "__UNDEFINED__" }, { @@ -2389,7 +2591,9 @@ "required_inputs": [], "selected": "DataFrame", "tool_mode": true, - "types": ["DataFrame"], + "types": [ + "DataFrame" + ], "value": "__UNDEFINED__" }, { @@ -2401,7 +2605,9 @@ "required_inputs": [], "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -2464,7 +2670,10 @@ "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": "", @@ -2537,7 +2746,7 @@ "bz2", "gz" ], - "file_path": "4c491583-732f-4c0a-9fe2-77753034170c/2025-01-07_11-26-26_1706.03762v7.pdf", + "file_path": [], "info": "Supported file extensions: txt, md, mdx, csv, json, yaml, yml, xml, html, htm, pdf, docx, py, sh, sql, js, ts, tsx; optionally bundled in file extensions: zip, tar, tgz, bz2, gz", "list": true, "name": "path", @@ -2607,7 +2816,7 @@ }, "dragging": false, "height": 367, - "id": "File-oTnVx", + "id": "File-IwyQk", "measured": { "height": 367, "width": 320 @@ -2626,7 +2835,7 @@ }, { "data": { - "id": "note-w4nmv", + "id": "note-F2ZXQ", "node": { "description": "### 💡 Add your OpenAI API key here 👇", "display_name": "", @@ -2639,7 +2848,7 @@ }, "dragging": false, "height": 324, - "id": "note-w4nmv", + "id": "note-F2ZXQ", "measured": { "height": 324, "width": 324 @@ -2658,7 +2867,7 @@ }, { "data": { - "id": "note-uQTfH", + "id": "note-ocedp", "node": { "description": "### 💡 Add your OpenAI API key here 👇", "display_name": "", @@ -2671,7 +2880,7 @@ }, "dragging": false, "height": 324, - "id": "note-uQTfH", + "id": "note-ocedp", "measured": { "height": 324, "width": 324 @@ -2690,7 +2899,7 @@ }, { "data": { - "id": "note-Ww5ll", + "id": "note-rhNU3", "node": { "description": "### 💡 Add your OpenAI API key here 👇", "display_name": "", @@ -2703,7 +2912,7 @@ }, "dragging": false, "height": 324, - "id": "note-Ww5ll", + "id": "note-rhNU3", "measured": { "height": 324, "width": 324 @@ -2722,9 +2931,12 @@ }, { "data": { - "id": "OpenAIModel-FTJXf", + "id": "OpenAIModel-e49kI", "node": { - "base_classes": ["LanguageModel", "Message"], + "base_classes": [ + "LanguageModel", + "Message" + ], "beta": false, "category": "models", "conditional_paths": [], @@ -2763,7 +2975,9 @@ "required_inputs": [], "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" }, { @@ -2772,10 +2986,14 @@ "display_name": "Language Model", "method": "build_model", "name": "model_output", - "required_inputs": ["api_key"], + "required_inputs": [ + "api_key" + ], "selected": "LanguageModel", "tool_mode": true, - "types": ["LanguageModel"], + "types": [ + "LanguageModel" + ], "value": "__UNDEFINED__" } ], @@ -2789,7 +3007,9 @@ "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, @@ -2824,7 +3044,9 @@ "display_name": "Input", "dynamic": false, "info": "", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -3006,7 +3228,9 @@ "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, @@ -3075,9 +3299,9 @@ "type": "OpenAIModel" }, "dragging": false, - "id": "OpenAIModel-FTJXf", + "id": "OpenAIModel-e49kI", "measured": { - "height": 656, + "height": 525, "width": 320 }, "position": { @@ -3089,9 +3313,12 @@ }, { "data": { - "id": "AstraDB-hkfZY", + "id": "AstraDB-8CuoQ", "node": { - "base_classes": ["Data", "DataFrame"], + "base_classes": [ + "Data", + "DataFrame" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -3141,7 +3368,9 @@ ], "selected": "Data", "tool_mode": true, - "types": ["Data"], + "types": [ + "Data" + ], "value": "__UNDEFINED__" }, { @@ -3153,7 +3382,9 @@ "required_inputs": [], "selected": "DataFrame", "tool_mode": true, - "types": ["DataFrame"], + "types": [ + "DataFrame" + ], "value": "__UNDEFINED__" }, { @@ -3165,7 +3396,9 @@ "name": "vectorstoreconnection", "selected": "VectorStore", "tool_mode": true, - "types": ["VectorStore"], + "types": [ + "VectorStore" + ], "value": "__UNDEFINED__" } ], @@ -3535,7 +3768,10 @@ "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, @@ -3553,7 +3789,9 @@ "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", @@ -3609,7 +3847,10 @@ "display_name": "Ingest Data", "dynamic": false, "info": "", - "input_types": ["Data", "DataFrame"], + "input_types": [ + "Data", + "DataFrame" + ], "list": true, "list_add_label": "Add More", "name": "ingest_data", @@ -3666,7 +3907,9 @@ "display_name": "Search Query", "dynamic": false, "info": "", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -3767,7 +4010,7 @@ "type": "AstraDB" }, "dragging": false, - "id": "AstraDB-hkfZY", + "id": "AstraDB-8CuoQ", "measured": { "height": 532, "width": 320 @@ -3781,9 +4024,12 @@ }, { "data": { - "id": "AstraDB-PEjRy", + "id": "AstraDB-JF2lS", "node": { - "base_classes": ["Data", "DataFrame"], + "base_classes": [ + "Data", + "DataFrame" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -3833,7 +4079,9 @@ ], "selected": "Data", "tool_mode": true, - "types": ["Data"], + "types": [ + "Data" + ], "value": "__UNDEFINED__" }, { @@ -3845,7 +4093,9 @@ "required_inputs": [], "selected": "DataFrame", "tool_mode": true, - "types": ["DataFrame"], + "types": [ + "DataFrame" + ], "value": "__UNDEFINED__" }, { @@ -3857,7 +4107,9 @@ "name": "vectorstoreconnection", "selected": "VectorStore", "tool_mode": true, - "types": ["VectorStore"], + "types": [ + "VectorStore" + ], "value": "__UNDEFINED__" } ], @@ -4227,7 +4479,10 @@ "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, @@ -4245,7 +4500,9 @@ "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", @@ -4301,7 +4558,10 @@ "display_name": "Ingest Data", "dynamic": false, "info": "", - "input_types": ["Data", "DataFrame"], + "input_types": [ + "Data", + "DataFrame" + ], "list": true, "list_add_label": "Add More", "name": "ingest_data", @@ -4358,7 +4618,9 @@ "display_name": "Search Query", "dynamic": false, "info": "", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -4459,7 +4721,7 @@ "type": "AstraDB" }, "dragging": false, - "id": "AstraDB-PEjRy", + "id": "AstraDB-JF2lS", "measured": { "height": 532, "width": 320 @@ -4473,16 +4735,21 @@ } ], "viewport": { - "x": 61.72440568469267, - "y": -171.9865302648302, - "zoom": 0.4689494682805365 + "x": 23.94695899838632, + "y": -121.14595988693713, + "zoom": 0.44406917240373706 } }, "description": "Load your data for chat context with Retrieval Augmented Generation.", "endpoint_name": null, - "id": "3985f1e0-bd93-466b-954c-6f9b3f2b9cd9", + "id": "b9f87508-ce73-441d-ba7b-66144513c04e", "is_component": false, "last_tested_version": "1.2.0", "name": "Vector Store RAG", - "tags": ["openai", "astradb", "rag", "q-a"] -} + "tags": [ + "openai", + "astradb", + "rag", + "q-a" + ] +} \ No newline at end of file diff --git a/src/backend/base/langflow/initial_setup/starter_projects/Youtube Analysis.json b/src/backend/base/langflow/initial_setup/starter_projects/Youtube Analysis.json index e4eaf290e..8c6e8e2a5 100644 --- a/src/backend/base/langflow/initial_setup/starter_projects/Youtube Analysis.json +++ b/src/backend/base/langflow/initial_setup/starter_projects/Youtube Analysis.json @@ -7,23 +7,27 @@ "data": { "sourceHandle": { "dataType": "YouTubeCommentsComponent", - "id": "YouTubeCommentsComponent-5DgSV", + "id": "YouTubeCommentsComponent-1B3Fv", "name": "comments", - "output_types": ["DataFrame"] + "output_types": [ + "DataFrame" + ] }, "targetHandle": { "fieldName": "df", - "id": "BatchRunComponent-s2QTv", - "inputTypes": ["DataFrame"], + "id": "BatchRunComponent-gNH2h", + "inputTypes": [ + "DataFrame" + ], "type": "other" } }, - "id": "reactflow__edge-YouTubeCommentsComponent-5DgSV{œdataTypeœ:œYouTubeCommentsComponentœ,œidœ:œYouTubeCommentsComponent-5DgSVœ,œnameœ:œcommentsœ,œoutput_typesœ:[œDataFrameœ]}-BatchRunComponent-s2QTv{œfieldNameœ:œdfœ,œidœ:œBatchRunComponent-s2QTvœ,œinputTypesœ:[œDataFrameœ],œtypeœ:œotherœ}", + "id": "reactflow__edge-YouTubeCommentsComponent-1B3Fv{œdataTypeœ:œYouTubeCommentsComponentœ,œidœ:œYouTubeCommentsComponent-1B3Fvœ,œnameœ:œcommentsœ,œoutput_typesœ:[œDataFrameœ]}-BatchRunComponent-gNH2h{œfieldNameœ:œdfœ,œidœ:œBatchRunComponent-gNH2hœ,œinputTypesœ:[œDataFrameœ],œtypeœ:œotherœ}", "selected": false, - "source": "YouTubeCommentsComponent-5DgSV", - "sourceHandle": "{œdataTypeœ: œYouTubeCommentsComponentœ, œidœ: œYouTubeCommentsComponent-5DgSVœ, œnameœ: œcommentsœ, œoutput_typesœ: [œDataFrameœ]}", - "target": "BatchRunComponent-s2QTv", - "targetHandle": "{œfieldNameœ: œdfœ, œidœ: œBatchRunComponent-s2QTvœ, œinputTypesœ: [œDataFrameœ], œtypeœ: œotherœ}" + "source": "YouTubeCommentsComponent-1B3Fv", + "sourceHandle": "{œdataTypeœ:œYouTubeCommentsComponentœ,œidœ:œYouTubeCommentsComponent-1B3Fvœ,œnameœ:œcommentsœ,œoutput_typesœ:[œDataFrameœ]}", + "target": "BatchRunComponent-gNH2h", + "targetHandle": "{œfieldNameœ:œdfœ,œidœ:œBatchRunComponent-gNH2hœ,œinputTypesœ:[œDataFrameœ],œtypeœ:œotherœ}" }, { "animated": false, @@ -31,23 +35,27 @@ "data": { "sourceHandle": { "dataType": "OpenAIModel", - "id": "OpenAIModel-ZVATe", + "id": "OpenAIModel-05xLQ", "name": "model_output", - "output_types": ["LanguageModel"] + "output_types": [ + "LanguageModel" + ] }, "targetHandle": { "fieldName": "model", - "id": "BatchRunComponent-s2QTv", - "inputTypes": ["LanguageModel"], + "id": "BatchRunComponent-gNH2h", + "inputTypes": [ + "LanguageModel" + ], "type": "other" } }, - "id": "reactflow__edge-OpenAIModel-ZVATe{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-ZVATeœ,œnameœ:œmodel_outputœ,œoutput_typesœ:[œLanguageModelœ]}-BatchRunComponent-s2QTv{œfieldNameœ:œmodelœ,œidœ:œBatchRunComponent-s2QTvœ,œinputTypesœ:[œLanguageModelœ],œtypeœ:œotherœ}", + "id": "reactflow__edge-OpenAIModel-05xLQ{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-05xLQœ,œnameœ:œmodel_outputœ,œoutput_typesœ:[œLanguageModelœ]}-BatchRunComponent-gNH2h{œfieldNameœ:œmodelœ,œidœ:œBatchRunComponent-gNH2hœ,œinputTypesœ:[œLanguageModelœ],œtypeœ:œotherœ}", "selected": false, - "source": "OpenAIModel-ZVATe", - "sourceHandle": "{œdataTypeœ: œOpenAIModelœ, œidœ: œOpenAIModel-ZVATeœ, œnameœ: œmodel_outputœ, œoutput_typesœ: [œLanguageModelœ]}", - "target": "BatchRunComponent-s2QTv", - "targetHandle": "{œfieldNameœ: œmodelœ, œidœ: œBatchRunComponent-s2QTvœ, œinputTypesœ: [œLanguageModelœ], œtypeœ: œotherœ}" + "source": "OpenAIModel-05xLQ", + "sourceHandle": "{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-05xLQœ,œnameœ:œmodel_outputœ,œoutput_typesœ:[œLanguageModelœ]}", + "target": "BatchRunComponent-gNH2h", + "targetHandle": "{œfieldNameœ:œmodelœ,œidœ:œBatchRunComponent-gNH2hœ,œinputTypesœ:[œLanguageModelœ],œtypeœ:œotherœ}" }, { "animated": false, @@ -55,23 +63,27 @@ "data": { "sourceHandle": { "dataType": "BatchRunComponent", - "id": "BatchRunComponent-s2QTv", + "id": "BatchRunComponent-gNH2h", "name": "batch_results", - "output_types": ["DataFrame"] + "output_types": [ + "DataFrame" + ] }, "targetHandle": { "fieldName": "df", - "id": "ParseDataFrame-pJJ7Z", - "inputTypes": ["DataFrame"], + "id": "ParseDataFrame-OIHSx", + "inputTypes": [ + "DataFrame" + ], "type": "other" } }, - "id": "reactflow__edge-BatchRunComponent-s2QTv{œdataTypeœ:œBatchRunComponentœ,œidœ:œBatchRunComponent-s2QTvœ,œnameœ:œbatch_resultsœ,œoutput_typesœ:[œDataFrameœ]}-ParseDataFrame-pJJ7Z{œfieldNameœ:œdfœ,œidœ:œParseDataFrame-pJJ7Zœ,œinputTypesœ:[œDataFrameœ],œtypeœ:œotherœ}", + "id": "reactflow__edge-BatchRunComponent-gNH2h{œdataTypeœ:œBatchRunComponentœ,œidœ:œBatchRunComponent-gNH2hœ,œnameœ:œbatch_resultsœ,œoutput_typesœ:[œDataFrameœ]}-ParseDataFrame-OIHSx{œfieldNameœ:œdfœ,œidœ:œParseDataFrame-OIHSxœ,œinputTypesœ:[œDataFrameœ],œtypeœ:œotherœ}", "selected": false, - "source": "BatchRunComponent-s2QTv", - "sourceHandle": "{œdataTypeœ: œBatchRunComponentœ, œidœ: œBatchRunComponent-s2QTvœ, œnameœ: œbatch_resultsœ, œoutput_typesœ: [œDataFrameœ]}", - "target": "ParseDataFrame-pJJ7Z", - "targetHandle": "{œfieldNameœ: œdfœ, œidœ: œParseDataFrame-pJJ7Zœ, œinputTypesœ: [œDataFrameœ], œtypeœ: œotherœ}" + "source": "BatchRunComponent-gNH2h", + "sourceHandle": "{œdataTypeœ:œBatchRunComponentœ,œidœ:œBatchRunComponent-gNH2hœ,œnameœ:œbatch_resultsœ,œoutput_typesœ:[œDataFrameœ]}", + "target": "ParseDataFrame-OIHSx", + "targetHandle": "{œfieldNameœ:œdfœ,œidœ:œParseDataFrame-OIHSxœ,œinputTypesœ:[œDataFrameœ],œtypeœ:œotherœ}" }, { "animated": false, @@ -79,23 +91,27 @@ "data": { "sourceHandle": { "dataType": "ParseDataFrame", - "id": "ParseDataFrame-pJJ7Z", + "id": "ParseDataFrame-OIHSx", "name": "text", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "analysis", - "id": "Prompt-Kn7x9", - "inputTypes": ["Message"], + "id": "Prompt-aWbxe", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-ParseDataFrame-pJJ7Z{œdataTypeœ:œParseDataFrameœ,œidœ:œParseDataFrame-pJJ7Zœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-Prompt-Kn7x9{œfieldNameœ:œanalysisœ,œidœ:œPrompt-Kn7x9œ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-ParseDataFrame-OIHSx{œdataTypeœ:œParseDataFrameœ,œidœ:œParseDataFrame-OIHSxœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-Prompt-aWbxe{œfieldNameœ:œanalysisœ,œidœ:œPrompt-aWbxeœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "ParseDataFrame-pJJ7Z", - "sourceHandle": "{œdataTypeœ: œParseDataFrameœ, œidœ: œParseDataFrame-pJJ7Zœ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}", - "target": "Prompt-Kn7x9", - "targetHandle": "{œfieldNameœ: œanalysisœ, œidœ: œPrompt-Kn7x9œ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "source": "ParseDataFrame-OIHSx", + "sourceHandle": "{œdataTypeœ:œParseDataFrameœ,œidœ:œParseDataFrame-OIHSxœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}", + "target": "Prompt-aWbxe", + "targetHandle": "{œfieldNameœ:œanalysisœ,œidœ:œPrompt-aWbxeœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -103,23 +119,27 @@ "data": { "sourceHandle": { "dataType": "Prompt", - "id": "Prompt-Kn7x9", + "id": "Prompt-aWbxe", "name": "prompt", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "Agent-Px7Zt", - "inputTypes": ["Message"], + "id": "Agent-3FPSt", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-Prompt-Kn7x9{œdataTypeœ:œPromptœ,œidœ:œPrompt-Kn7x9œ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-Agent-Px7Zt{œfieldNameœ:œinput_valueœ,œidœ:œAgent-Px7Ztœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-Prompt-aWbxe{œdataTypeœ:œPromptœ,œidœ:œPrompt-aWbxeœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-Agent-3FPSt{œfieldNameœ:œinput_valueœ,œidœ:œAgent-3FPStœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "Prompt-Kn7x9", - "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-Kn7x9œ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", - "target": "Agent-Px7Zt", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œAgent-Px7Ztœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "source": "Prompt-aWbxe", + "sourceHandle": "{œdataTypeœ:œPromptœ,œidœ:œPrompt-aWbxeœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}", + "target": "Agent-3FPSt", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œAgent-3FPStœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -127,23 +147,29 @@ "data": { "sourceHandle": { "dataType": "Agent", - "id": "Agent-Px7Zt", + "id": "Agent-3FPSt", "name": "response", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", - "id": "ChatOutput-W5R97", - "inputTypes": ["Data", "DataFrame", "Message"], + "id": "ChatOutput-i5hlZ", + "inputTypes": [ + "Data", + "DataFrame", + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-Agent-Px7Zt{œdataTypeœ:œAgentœ,œidœ:œAgent-Px7Ztœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-W5R97{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-W5R97œ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-Agent-3FPSt{œdataTypeœ:œAgentœ,œidœ:œAgent-3FPStœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-i5hlZ{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-i5hlZœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "Agent-Px7Zt", - "sourceHandle": "{œdataTypeœ: œAgentœ, œidœ: œAgent-Px7Ztœ, œnameœ: œresponseœ, œoutput_typesœ: [œMessageœ]}", - "target": "ChatOutput-W5R97", - "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-W5R97œ, œinputTypesœ: [œDataœ, œDataFrameœ, œMessageœ], œtypeœ: œstrœ}" + "source": "Agent-3FPSt", + "sourceHandle": "{œdataTypeœ:œAgentœ,œidœ:œAgent-3FPStœ,œnameœ:œresponseœ,œoutput_typesœ:[œMessageœ]}", + "target": "ChatOutput-i5hlZ", + "targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-i5hlZœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -151,23 +177,27 @@ "data": { "sourceHandle": { "dataType": "YouTubeTranscripts", - "id": "YouTubeTranscripts-ppAJD", + "id": "YouTubeTranscripts-nSvJC", "name": "component_as_tool", - "output_types": ["Tool"] + "output_types": [ + "Tool" + ] }, "targetHandle": { "fieldName": "tools", - "id": "Agent-Px7Zt", - "inputTypes": ["Tool"], + "id": "Agent-3FPSt", + "inputTypes": [ + "Tool" + ], "type": "other" } }, - "id": "reactflow__edge-YouTubeTranscripts-ppAJD{œdataTypeœ:œYouTubeTranscriptsœ,œidœ:œYouTubeTranscripts-ppAJDœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-Px7Zt{œfieldNameœ:œtoolsœ,œidœ:œAgent-Px7Ztœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", + "id": "reactflow__edge-YouTubeTranscripts-nSvJC{œdataTypeœ:œYouTubeTranscriptsœ,œidœ:œYouTubeTranscripts-nSvJCœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-3FPSt{œfieldNameœ:œtoolsœ,œidœ:œAgent-3FPStœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}", "selected": false, - "source": "YouTubeTranscripts-ppAJD", - "sourceHandle": "{œdataTypeœ: œYouTubeTranscriptsœ, œidœ: œYouTubeTranscripts-ppAJDœ, œnameœ: œcomponent_as_toolœ, œoutput_typesœ: [œToolœ]}", - "target": "Agent-Px7Zt", - "targetHandle": "{œfieldNameœ: œtoolsœ, œidœ: œAgent-Px7Ztœ, œinputTypesœ: [œToolœ], œtypeœ: œotherœ}" + "source": "YouTubeTranscripts-nSvJC", + "sourceHandle": "{œdataTypeœ:œYouTubeTranscriptsœ,œidœ:œYouTubeTranscripts-nSvJCœ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}", + "target": "Agent-3FPSt", + "targetHandle": "{œfieldNameœ:œtoolsœ,œidœ:œAgent-3FPStœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}" }, { "animated": false, @@ -175,23 +205,27 @@ "data": { "sourceHandle": { "dataType": "ChatInput", - "id": "ChatInput-Aprv5", + "id": "ChatInput-aeyrx", "name": "message", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_text", - "id": "ConditionalRouter-NmX80", - "inputTypes": ["Message"], + "id": "ConditionalRouter-DNDns", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-ChatInput-Aprv5{œdataTypeœ:œChatInputœ,œidœ:œChatInput-Aprv5œ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-ConditionalRouter-NmX80{œfieldNameœ:œinput_textœ,œidœ:œConditionalRouter-NmX80œ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-ChatInput-aeyrx{œdataTypeœ:œChatInputœ,œidœ:œChatInput-aeyrxœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-ConditionalRouter-DNDns{œfieldNameœ:œinput_textœ,œidœ:œConditionalRouter-DNDnsœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "ChatInput-Aprv5", - "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-Aprv5œ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", - "target": "ConditionalRouter-NmX80", - "targetHandle": "{œfieldNameœ: œinput_textœ, œidœ: œConditionalRouter-NmX80œ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "source": "ChatInput-aeyrx", + "sourceHandle": "{œdataTypeœ:œChatInputœ,œidœ:œChatInput-aeyrxœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}", + "target": "ConditionalRouter-DNDns", + "targetHandle": "{œfieldNameœ:œinput_textœ,œidœ:œConditionalRouter-DNDnsœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -199,23 +233,27 @@ "data": { "sourceHandle": { "dataType": "ChatInput", - "id": "ChatInput-Aprv5", + "id": "ChatInput-aeyrx", "name": "message", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "message", - "id": "ConditionalRouter-NmX80", - "inputTypes": ["Message"], + "id": "ConditionalRouter-DNDns", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-ChatInput-Aprv5{œdataTypeœ:œChatInputœ,œidœ:œChatInput-Aprv5œ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-ConditionalRouter-NmX80{œfieldNameœ:œmessageœ,œidœ:œConditionalRouter-NmX80œ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-ChatInput-aeyrx{œdataTypeœ:œChatInputœ,œidœ:œChatInput-aeyrxœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-ConditionalRouter-DNDns{œfieldNameœ:œmessageœ,œidœ:œConditionalRouter-DNDnsœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "ChatInput-Aprv5", - "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-Aprv5œ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", - "target": "ConditionalRouter-NmX80", - "targetHandle": "{œfieldNameœ: œmessageœ, œidœ: œConditionalRouter-NmX80œ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "source": "ChatInput-aeyrx", + "sourceHandle": "{œdataTypeœ:œChatInputœ,œidœ:œChatInput-aeyrxœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}", + "target": "ConditionalRouter-DNDns", + "targetHandle": "{œfieldNameœ:œmessageœ,œidœ:œConditionalRouter-DNDnsœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -223,23 +261,27 @@ "data": { "sourceHandle": { "dataType": "ConditionalRouter", - "id": "ConditionalRouter-NmX80", + "id": "ConditionalRouter-DNDns", "name": "true_result", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "video_url", - "id": "YouTubeCommentsComponent-5DgSV", - "inputTypes": ["Message"], + "id": "YouTubeCommentsComponent-1B3Fv", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-ConditionalRouter-NmX80{œdataTypeœ:œConditionalRouterœ,œidœ:œConditionalRouter-NmX80œ,œnameœ:œtrue_resultœ,œoutput_typesœ:[œMessageœ]}-YouTubeCommentsComponent-5DgSV{œfieldNameœ:œvideo_urlœ,œidœ:œYouTubeCommentsComponent-5DgSVœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-ConditionalRouter-DNDns{œdataTypeœ:œConditionalRouterœ,œidœ:œConditionalRouter-DNDnsœ,œnameœ:œtrue_resultœ,œoutput_typesœ:[œMessageœ]}-YouTubeCommentsComponent-1B3Fv{œfieldNameœ:œvideo_urlœ,œidœ:œYouTubeCommentsComponent-1B3Fvœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "ConditionalRouter-NmX80", - "sourceHandle": "{œdataTypeœ: œConditionalRouterœ, œidœ: œConditionalRouter-NmX80œ, œnameœ: œtrue_resultœ, œoutput_typesœ: [œMessageœ]}", - "target": "YouTubeCommentsComponent-5DgSV", - "targetHandle": "{œfieldNameœ: œvideo_urlœ, œidœ: œYouTubeCommentsComponent-5DgSVœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "source": "ConditionalRouter-DNDns", + "sourceHandle": "{œdataTypeœ:œConditionalRouterœ,œidœ:œConditionalRouter-DNDnsœ,œnameœ:œtrue_resultœ,œoutput_typesœ:[œMessageœ]}", + "target": "YouTubeCommentsComponent-1B3Fv", + "targetHandle": "{œfieldNameœ:œvideo_urlœ,œidœ:œYouTubeCommentsComponent-1B3Fvœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" }, { "animated": false, @@ -247,31 +289,37 @@ "data": { "sourceHandle": { "dataType": "ConditionalRouter", - "id": "ConditionalRouter-NmX80", + "id": "ConditionalRouter-DNDns", "name": "true_result", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "url", - "id": "Prompt-Kn7x9", - "inputTypes": ["Message"], + "id": "Prompt-aWbxe", + "inputTypes": [ + "Message" + ], "type": "str" } }, - "id": "reactflow__edge-ConditionalRouter-NmX80{œdataTypeœ:œConditionalRouterœ,œidœ:œConditionalRouter-NmX80œ,œnameœ:œtrue_resultœ,œoutput_typesœ:[œMessageœ]}-Prompt-Kn7x9{œfieldNameœ:œurlœ,œidœ:œPrompt-Kn7x9œ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", + "id": "reactflow__edge-ConditionalRouter-DNDns{œdataTypeœ:œConditionalRouterœ,œidœ:œConditionalRouter-DNDnsœ,œnameœ:œtrue_resultœ,œoutput_typesœ:[œMessageœ]}-Prompt-aWbxe{œfieldNameœ:œurlœ,œidœ:œPrompt-aWbxeœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}", "selected": false, - "source": "ConditionalRouter-NmX80", - "sourceHandle": "{œdataTypeœ: œConditionalRouterœ, œidœ: œConditionalRouter-NmX80œ, œnameœ: œtrue_resultœ, œoutput_typesœ: [œMessageœ]}", - "target": "Prompt-Kn7x9", - "targetHandle": "{œfieldNameœ: œurlœ, œidœ: œPrompt-Kn7x9œ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" + "source": "ConditionalRouter-DNDns", + "sourceHandle": "{œdataTypeœ:œConditionalRouterœ,œidœ:œConditionalRouter-DNDnsœ,œnameœ:œtrue_resultœ,œoutput_typesœ:[œMessageœ]}", + "target": "Prompt-aWbxe", + "targetHandle": "{œfieldNameœ:œurlœ,œidœ:œPrompt-aWbxeœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}" } ], "nodes": [ { "data": { - "id": "BatchRunComponent-s2QTv", + "id": "BatchRunComponent-gNH2h", "node": { - "base_classes": ["DataFrame"], + "base_classes": [ + "DataFrame" + ], "beta": true, "category": "helpers", "conditional_paths": [], @@ -280,7 +328,12 @@ "display_name": "Batch Run", "documentation": "", "edited": false, - "field_order": ["model", "system_message", "df", "column_name"], + "field_order": [ + "model", + "system_message", + "df", + "column_name" + ], "frozen": false, "icon": "List", "key": "BatchRunComponent", @@ -298,7 +351,9 @@ "name": "batch_results", "selected": "DataFrame", "tool_mode": true, - "types": ["DataFrame"], + "types": [ + "DataFrame" + ], "value": "__UNDEFINED__" } ], @@ -349,7 +404,9 @@ "display_name": "DataFrame", "dynamic": false, "info": "The DataFrame whose column (specified by 'column_name') we'll treat as text messages.", - "input_types": ["DataFrame"], + "input_types": [ + "DataFrame" + ], "list": false, "list_add_label": "Add More", "name": "df", @@ -387,7 +444,9 @@ "display_name": "Language Model", "dynamic": false, "info": "Connect the 'Language Model' output from your LLM component here.", - "input_types": ["LanguageModel"], + "input_types": [ + "LanguageModel" + ], "list": false, "list_add_label": "Add More", "name": "model", @@ -405,7 +464,9 @@ "display_name": "System Message", "dynamic": false, "info": "Multi-line system instruction for all rows in the DataFrame.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -428,10 +489,10 @@ "type": "BatchRunComponent" }, "dragging": false, - "id": "BatchRunComponent-s2QTv", + "id": "BatchRunComponent-gNH2h", "measured": { - "height": 446, - "width": 360 + "height": 399, + "width": 320 }, "position": { "x": 635.0665302273813, @@ -442,9 +503,11 @@ }, { "data": { - "id": "YouTubeCommentsComponent-5DgSV", + "id": "YouTubeCommentsComponent-1B3Fv", "node": { - "base_classes": ["DataFrame"], + "base_classes": [ + "DataFrame" + ], "beta": false, "category": "youtube", "conditional_paths": [], @@ -478,7 +541,9 @@ "name": "comments", "selected": "DataFrame", "tool_mode": true, - "types": ["DataFrame"], + "types": [ + "DataFrame" + ], "value": "__UNDEFINED__" } ], @@ -492,7 +557,9 @@ "display_name": "YouTube API Key", "dynamic": false, "info": "Your YouTube Data API key.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "load_from_db": true, "name": "api_key", "password": true, @@ -584,7 +651,10 @@ "dynamic": false, "info": "Sort comments by time or relevance.", "name": "sort_by", - "options": ["time", "relevance"], + "options": [ + "time", + "relevance" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -601,7 +671,9 @@ "display_name": "Video URL", "dynamic": false, "info": "The URL of the YouTube video to get comments from.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -623,23 +695,26 @@ "type": "YouTubeCommentsComponent" }, "dragging": false, - "id": "YouTubeCommentsComponent-5DgSV", + "id": "YouTubeCommentsComponent-1B3Fv", "measured": { - "height": 556, - "width": 360 + "height": 497, + "width": 320 }, "position": { "x": 191.60600144515274, "y": 6042.239455161904 }, - "selected": false, + "selected": true, "type": "genericNode" }, { "data": { - "id": "OpenAIModel-ZVATe", + "id": "OpenAIModel-05xLQ", "node": { - "base_classes": ["LanguageModel", "Message"], + "base_classes": [ + "LanguageModel", + "Message" + ], "beta": false, "category": "models", "conditional_paths": [], @@ -679,7 +754,9 @@ "required_inputs": [], "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" }, { @@ -688,10 +765,14 @@ "display_name": "Language Model", "method": "build_model", "name": "model_output", - "required_inputs": ["api_key"], + "required_inputs": [ + "api_key" + ], "selected": "LanguageModel", "tool_mode": true, - "types": ["LanguageModel"], + "types": [ + "LanguageModel" + ], "value": "__UNDEFINED__" } ], @@ -705,7 +786,9 @@ "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, @@ -740,7 +823,9 @@ "display_name": "Input", "dynamic": false, "info": "", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -922,7 +1007,9 @@ "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, @@ -991,10 +1078,10 @@ "type": "OpenAIModel" }, "dragging": false, - "id": "OpenAIModel-ZVATe", + "id": "OpenAIModel-05xLQ", "measured": { - "height": 734, - "width": 360 + "height": 525, + "width": 320 }, "position": { "x": 192.79820011992825, @@ -1005,9 +1092,11 @@ }, { "data": { - "id": "ParseDataFrame-pJJ7Z", + "id": "ParseDataFrame-OIHSx", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "category": "processing", "conditional_paths": [], @@ -1016,7 +1105,11 @@ "display_name": "Parse DataFrame", "documentation": "", "edited": false, - "field_order": ["df", "template", "sep"], + "field_order": [ + "df", + "template", + "sep" + ], "frozen": false, "icon": "braces", "key": "ParseDataFrame", @@ -1034,7 +1127,9 @@ "name": "text", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -1066,7 +1161,9 @@ "display_name": "DataFrame", "dynamic": false, "info": "The DataFrame to convert to text rows.", - "input_types": ["DataFrame"], + "input_types": [ + "DataFrame" + ], "list": false, "list_add_label": "Add More", "name": "df", @@ -1105,7 +1202,9 @@ "display_name": "Template", "dynamic": false, "info": "The template for formatting each row. Use placeholders matching column names in the DataFrame, for example '{col1}', '{col2}'.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1128,10 +1227,10 @@ "type": "ParseDataFrame" }, "dragging": false, - "id": "ParseDataFrame-pJJ7Z", + "id": "ParseDataFrame-OIHSx", "measured": { - "height": 352, - "width": 360 + "height": 334, + "width": 320 }, "position": { "x": 993.5819211529395, @@ -1142,9 +1241,11 @@ }, { "data": { - "id": "Agent-Px7Zt", + "id": "Agent-3FPSt", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "category": "agents", "conditional_paths": [], @@ -1196,7 +1297,9 @@ "name": "response", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -1228,7 +1331,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -1282,7 +1387,9 @@ "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, @@ -1335,7 +1442,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -1434,7 +1543,9 @@ "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, "list_add_label": "Add More", "name": "memory", @@ -1539,7 +1650,10 @@ "dynamic": false, "info": "Order of the messages.", "name": "order", - "options": ["Ascending", "Descending"], + "options": [ + "Ascending", + "Descending" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -1577,7 +1691,11 @@ "dynamic": false, "info": "Filter by sender type.", "name": "sender", - "options": ["Machine", "User", "Machine and User"], + "options": [ + "Machine", + "User", + "Machine and User" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -1594,7 +1712,9 @@ "display_name": "Sender Name", "dynamic": false, "info": "Filter by sender name.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1615,7 +1735,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -1636,7 +1758,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -1686,7 +1810,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -1726,7 +1852,9 @@ "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, "list_add_label": "Add More", "name": "tools", @@ -1763,10 +1891,10 @@ "type": "Agent" }, "dragging": false, - "id": "Agent-Px7Zt", + "id": "Agent-3FPSt", "measured": { - "height": 698, - "width": 360 + "height": 624, + "width": 320 }, "position": { "x": 1982.1085644220088, @@ -1777,20 +1905,28 @@ }, { "data": { - "id": "Prompt-Kn7x9", + "id": "Prompt-aWbxe", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": { - "template": ["url", "analysis"] + "template": [ + "url", + "analysis" + ] }, "description": "Create a prompt template with dynamic variables.", "display_name": "Prompt", "documentation": "", "edited": false, "error": null, - "field_order": ["template", "tool_placeholder"], + "field_order": [ + "template", + "tool_placeholder" + ], "frozen": false, "full_path": null, "icon": "prompts", @@ -1812,7 +1948,9 @@ "name": "prompt", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -1827,7 +1965,9 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "load_from_db": false, "multiline": true, @@ -1881,7 +2021,9 @@ "display_name": "Tool Placeholder", "dynamic": false, "info": "A placeholder input for tool mode.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -1904,7 +2046,9 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "load_from_db": false, "multiline": true, @@ -1923,10 +2067,10 @@ "type": "Prompt" }, "dragging": false, - "id": "Prompt-Kn7x9", + "id": "Prompt-aWbxe", "measured": { - "height": 448, - "width": 360 + "height": 495, + "width": 320 }, "position": { "x": 1575.3649919098807, @@ -1937,9 +2081,11 @@ }, { "data": { - "id": "ChatOutput-W5R97", + "id": "ChatOutput-i5hlZ", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "category": "outputs", "conditional_paths": [], @@ -1976,7 +2122,9 @@ "name": "message", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -1990,7 +2138,9 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -2011,7 +2161,9 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -2068,7 +2220,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -2089,7 +2243,11 @@ "display_name": "Text", "dynamic": false, "info": "Message to be passed as output.", - "input_types": ["Data", "DataFrame", "Message"], + "input_types": [ + "Data", + "DataFrame", + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -2113,7 +2271,10 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": ["Machine", "User"], + "options": [ + "Machine", + "User" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -2130,7 +2291,9 @@ "display_name": "Sender Name", "dynamic": false, "info": "Name of the sender.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -2151,7 +2314,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -2190,7 +2355,9 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -2212,10 +2379,10 @@ "type": "ChatOutput" }, "dragging": false, - "id": "ChatOutput-W5R97", + "id": "ChatOutput-i5hlZ", "measured": { - "height": 257, - "width": 360 + "height": 230, + "width": 320 }, "position": { "x": 2365.8487393880428, @@ -2226,9 +2393,13 @@ }, { "data": { - "id": "YouTubeTranscripts-ppAJD", + "id": "YouTubeTranscripts-nSvJC", "node": { - "base_classes": ["Data", "DataFrame", "Message"], + "base_classes": [ + "Data", + "DataFrame", + "Message" + ], "beta": false, "conditional_paths": [], "custom_fields": {}, @@ -2236,7 +2407,11 @@ "display_name": "YouTube Transcripts", "documentation": "", "edited": false, - "field_order": ["url", "chunk_size_seconds", "translation"], + "field_order": [ + "url", + "chunk_size_seconds", + "translation" + ], "frozen": false, "icon": "YouTube", "legacy": false, @@ -2251,10 +2426,13 @@ "hidden": null, "method": "to_toolkit", "name": "component_as_tool", + "options": null, "required_inputs": null, "selected": "Tool", "tool_mode": true, - "types": ["Tool"], + "types": [ + "Tool" + ], "value": "__UNDEFINED__" } ], @@ -2322,13 +2500,17 @@ "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 }, "table_schema": { "columns": [ { + "default": "None", "description": "Specify the name of the tool.", "disable_edit": false, "display_name": "Tool Name", @@ -2338,9 +2520,10 @@ "hidden": false, "name": "name", "sortable": false, - "type": "text" + "type": "str" }, { + "default": "None", "description": "Describe the purpose of the tool.", "disable_edit": false, "display_name": "Tool Description", @@ -2350,9 +2533,10 @@ "hidden": false, "name": "description", "sortable": false, - "type": "text" + "type": "str" }, { + "default": "None", "description": "The default identifiers for the tools and cannot be changed.", "disable_edit": true, "display_name": "Tool Identifiers", @@ -2362,7 +2546,20 @@ "hidden": true, "name": "tags", "sortable": false, - "type": "text" + "type": "str" + }, + { + "default": true, + "description": "Indicates whether the tool is currently active. Set to True to activate this tool.", + "disable_edit": false, + "display_name": "Enable", + "edit_mode": "popover", + "filterable": true, + "formatter": "boolean", + "hidden": false, + "name": "status", + "sortable": true, + "type": "boolean" } ] }, @@ -2376,17 +2573,23 @@ { "description": "get_dataframe_output(url: Message) - Extracts spoken content from YouTube videos with multiple output options.", "name": "YouTubeTranscripts-get_dataframe_output", - "tags": ["YouTubeTranscripts-get_dataframe_output"] + "tags": [ + "YouTubeTranscripts-get_dataframe_output" + ] }, { "description": "get_message_output(url: Message) - Extracts spoken content from YouTube videos with multiple output options.", "name": "YouTubeTranscripts-get_message_output", - "tags": ["YouTubeTranscripts-get_message_output"] + "tags": [ + "YouTubeTranscripts-get_message_output" + ] }, { "description": "get_data_output(url: Message) - Extracts spoken content from YouTube videos with multiple output options.", "name": "YouTubeTranscripts-get_data_output", - "tags": ["YouTubeTranscripts-get_data_output"] + "tags": [ + "YouTubeTranscripts-get_data_output" + ] } ] }, @@ -2430,7 +2633,9 @@ "display_name": "Video URL", "dynamic": false, "info": "Enter the YouTube video URL to get transcripts from.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -2453,10 +2658,10 @@ "type": "YouTubeTranscripts" }, "dragging": false, - "id": "YouTubeTranscripts-ppAJD", + "id": "YouTubeTranscripts-nSvJC", "measured": { - "height": 466, - "width": 360 + "height": 417, + "width": 320 }, "position": { "x": 1577.7800211610804, @@ -2467,9 +2672,11 @@ }, { "data": { - "id": "ChatInput-Aprv5", + "id": "ChatInput-aeyrx", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "category": "inputs", "conditional_paths": [], @@ -2506,7 +2713,9 @@ "name": "message", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -2520,7 +2729,9 @@ "display_name": "Background Color", "dynamic": false, "info": "The background color of the icon.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -2541,7 +2752,9 @@ "display_name": "Icon", "dynamic": false, "info": "The icon of the message.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -2649,7 +2862,10 @@ "dynamic": false, "info": "Type of sender.", "name": "sender", - "options": ["Machine", "User"], + "options": [ + "Machine", + "User" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -2666,7 +2882,9 @@ "display_name": "Sender Name", "dynamic": false, "info": "Name of the sender.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -2687,7 +2905,9 @@ "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, "list_add_label": "Add More", "load_from_db": false, @@ -2726,7 +2946,9 @@ "display_name": "Text Color", "dynamic": false, "info": "The text color of the name", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -2748,10 +2970,10 @@ "type": "ChatInput" }, "dragging": false, - "id": "ChatInput-Aprv5", + "id": "ChatInput-aeyrx", "measured": { - "height": 257, - "width": 360 + "height": 230, + "width": 320 }, "position": { "x": -894.6710448870117, @@ -2762,7 +2984,7 @@ }, { "data": { - "id": "note-fVy2q", + "id": "note-ATxMO", "node": { "description": "# Batch Run component\n\nThis component processes a DataFrame by running each row through a Language Model (LLM). Perfect for batch analysis, sentiment scoring, or content generation at scale.\n\n## How It Works\n1. Accepts a DataFrame with text data.\n2. Routes each row through your chosen LLM.\n3. Returns new DataFrame with `text_input` and `model_response`.\n\n", "display_name": "", @@ -2775,10 +2997,10 @@ }, "dragging": false, "height": 522, - "id": "note-fVy2q", + "id": "note-ATxMO", "measured": { "height": 522, - "width": 328 + "width": 325 }, "position": { "x": 631.7137680312561, @@ -2791,7 +3013,7 @@ }, { "data": { - "id": "note-ib6pc", + "id": "note-7bKvt", "node": { "description": "## Set up the YouTube API\n1. Go to [Google Cloud Console](https://console.cloud.google.com).\n2. Create a new project or select existing one.\n3. Enable YouTube Data API v3:\n - Navigate to APIs & Services > Library.\n - Search \"YouTube Data API v3\".\n - Click Enable.\n4. Create credentials:\n - Go to APIs & Services > Credentials.\n - Click Create Credentials > API Key.\n5. Copy your new API key for use in the component.\n\n⚠️ Remember to:\n- Restrict the API key to YouTube Data API v3 only.\n- Set appropriate quotas and restrictions.\n", "display_name": "", @@ -2804,10 +3026,10 @@ }, "dragging": false, "height": 486, - "id": "note-ib6pc", + "id": "note-7bKvt", "measured": { "height": 486, - "width": 328 + "width": 325 }, "position": { "x": 1579.119903578572, @@ -2820,7 +3042,7 @@ }, { "data": { - "id": "note-dhEu8", + "id": "note-rMgY5", "node": { "description": "# 🎥 YouTube Video Analysis\nThis flow performs comprehensive analysis of YouTube videos.\n1. Extract video comments and transcripts.\n2. Run sentiment analysis on comments using LLM.\n3. Combine transcript content and comment sentiment for comprehensive video analysis.\n\n## Prerequisites\n- OpenAI API Key\n- YouTube Data API v3 key", "display_name": "", @@ -2833,10 +3055,10 @@ }, "dragging": false, "height": 454, - "id": "note-dhEu8", + "id": "note-rMgY5", "measured": { "height": 454, - "width": 436 + "width": 433 }, "position": { "x": -1366.105596485301, @@ -2849,9 +3071,11 @@ }, { "data": { - "id": "ConditionalRouter-NmX80", + "id": "ConditionalRouter-DNDns", "node": { - "base_classes": ["Message"], + "base_classes": [ + "Message" + ], "beta": false, "category": "logic", "conditional_paths": [], @@ -2886,7 +3110,9 @@ "name": "true_result", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" }, { @@ -2897,7 +3123,9 @@ "name": "false_result", "selected": "Message", "tool_mode": true, - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -2950,7 +3178,10 @@ "dynamic": false, "info": "The default route to take when max iterations are reached.", "name": "default_route", - "options": ["true_result", "false_result"], + "options": [ + "true_result", + "false_result" + ], "options_metadata": [], "placeholder": "", "required": false, @@ -2967,7 +3198,9 @@ "display_name": "Text Input", "dynamic": false, "info": "The primary text input for the operation.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -2988,7 +3221,9 @@ "display_name": "Match Text", "dynamic": false, "info": "The text input to compare against.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -3027,7 +3262,9 @@ "display_name": "Message", "dynamic": false, "info": "The message to pass through either route.", - "input_types": ["Message"], + "input_types": [ + "Message" + ], "list": false, "list_add_label": "Add More", "load_from_db": false, @@ -3077,10 +3314,10 @@ "type": "ConditionalRouter" }, "dragging": false, - "id": "ConditionalRouter-NmX80", + "id": "ConditionalRouter-DNDns", "measured": { - "height": 658, - "width": 360 + "height": 588, + "width": 320 }, "position": { "x": -352.80314888328695, @@ -3091,17 +3328,19 @@ } ], "viewport": { - "x": 505.76519965138317, - "y": -1259.3934784241562, - "zoom": 0.301928683991489 + "x": 401.72676890198, + "y": -2953.276665335332, + "zoom": 0.543344895149028 } }, "description": "The YouTube Analysis flow extracts video comments and transcripts, analyzing sentiment patterns and content themes.", "endpoint_name": null, - "icon": "Youtube", - "id": "3b0d43c2-dc2c-4906-8a3e-850702b534c4", + "id": "2956e72a-2ad1-4848-aa74-ee9143e6e88e", "is_component": false, - "last_tested_version": "1.1.3", + "last_tested_version": "1.2.0", "name": "Youtube Analysis", - "tags": ["agents", "assistants"] -} + "tags": [ + "agents", + "assistants" + ] +} \ No newline at end of file