fix: adjusted templates positions and api keys (#7147)

Fixed all templates' positions and api keys

Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
This commit is contained in:
Lucas Oliveira 2025-03-19 13:38:35 -03:00 committed by GitHub
commit 28bf835470
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
20 changed files with 6419 additions and 3134 deletions

View file

@ -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"
]
}

View file

@ -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"
]
}

View file

@ -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"
]
}

View file

@ -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"
]
}

View file

@ -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"
]
}

View file

@ -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",

View file

@ -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"
]
}

View file

@ -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",

View file

@ -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"
]
}

View file

@ -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"
]
}