feat: add new starter projects and replace old ones (#4557)

* update templates

* fix ghost edges bug

* update templates

* [autofix.ci] apply automated fixes

* update naming and category

* remove unit tests for starter projects API in v1

* add starter projects back in

* Add unit test for GET /api/v1/starter-projects/ endpoint in FastAPI

* add rodrigo's updates

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
This commit is contained in:
anovazzi1 2024-11-12 23:46:11 -03:00 committed by GitHub
commit f1fd5becc8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
23 changed files with 30798 additions and 15742 deletions

View file

@ -30,9 +30,9 @@ class LCModelComponent(Component):
name="system_message",
display_name="System Message",
info="System message to pass to the model.",
advanced=True,
advanced=False,
),
BoolInput(name="stream", display_name="Stream", info=STREAM_INFO_TEXT, advanced=True),
BoolInput(name="stream", display_name="Stream", info=STREAM_INFO_TEXT, advanced=False),
]
outputs = [

File diff suppressed because one or more lines are too long

View file

@ -2,11 +2,12 @@
"data": {
"edges": [
{
"animated": false,
"className": "",
"data": {
"sourceHandle": {
"dataType": "URL",
"id": "URL-v3FkJ",
"id": "URL-ewId1",
"name": "data",
"output_types": [
"Data"
@ -14,25 +15,26 @@
},
"targetHandle": {
"fieldName": "data",
"id": "ParseData-qffHj",
"id": "ParseData-Zwm0z",
"inputTypes": [
"Data"
],
"type": "other"
}
},
"id": "reactflow__edge-URL-v3FkJ{œdataTypeœ:œURLœ,œidœ:œURL-v3FkJœ,œnameœ:œdataœ,œoutput_typesœ:[œDataœ]}-ParseData-qffHj{œfieldNameœ:œdataœ,œidœ:œParseData-qffHjœ,œinputTypesœ:[œDataœ],œtypeœ:œotherœ}",
"source": "URL-v3FkJ",
"sourceHandle": "{œdataTypeœ: œURLœ, œidœ: œURL-v3FkJœ, œnameœ: œdataœ, œoutput_typesœ: [œDataœ]}",
"target": "ParseData-qffHj",
"targetHandle": "{œfieldNameœ: œdataœ, œidœ: œParseData-qffHjœ, œinputTypesœ: [œDataœ], œtypeœ: œotherœ}"
"id": "reactflow__edge-URL-ewId1{œdataTypeœ:œURLœ,œidœ:œURL-ewId1œ,œnameœ:œdataœ,œoutput_typesœ:[œDataœ]}-ParseData-Zwm0z{œfieldNameœ:œdataœ,œidœ:œParseData-Zwm0zœ,œinputTypesœ:[œDataœ],œtypeœ:œotherœ}",
"source": "URL-ewId1",
"sourceHandle": "{œdataTypeœ: œURLœ, œidœ: œURL-ewId1œ, œnameœ: œdataœ, œoutput_typesœ: [œDataœ]}",
"target": "ParseData-Zwm0z",
"targetHandle": "{œfieldNameœ: œdataœ, œidœ: œParseData-Zwm0zœ, œinputTypesœ: [œDataœ], œtypeœ: œotherœ}"
},
{
"animated": false,
"className": "",
"data": {
"sourceHandle": {
"dataType": "ParseData",
"id": "ParseData-qffHj",
"id": "ParseData-Zwm0z",
"name": "text",
"output_types": [
"Message"
@ -40,7 +42,7 @@
},
"targetHandle": {
"fieldName": "references",
"id": "Prompt-ztjwI",
"id": "Prompt-WTVXx",
"inputTypes": [
"Message",
"Text"
@ -48,18 +50,19 @@
"type": "str"
}
},
"id": "reactflow__edge-ParseData-qffHj{œdataTypeœ:œParseDataœ,œidœ:œParseData-qffHjœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-Prompt-ztjwI{œfieldNameœ:œreferencesœ,œidœ:œPrompt-ztjwIœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}",
"source": "ParseData-qffHj",
"sourceHandle": "{œdataTypeœ: œParseDataœ, œidœ: œParseData-qffHjœ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}",
"target": "Prompt-ztjwI",
"targetHandle": "{œfieldNameœ: œreferencesœ, œidœ: œPrompt-ztjwIœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}"
"id": "reactflow__edge-ParseData-Zwm0z{œdataTypeœ:œParseDataœ,œidœ:œParseData-Zwm0zœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-Prompt-WTVXx{œfieldNameœ:œreferencesœ,œidœ:œPrompt-WTVXxœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}",
"source": "ParseData-Zwm0z",
"sourceHandle": "{œdataTypeœ: œParseDataœ, œidœ: œParseData-Zwm0zœ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}",
"target": "Prompt-WTVXx",
"targetHandle": "{œfieldNameœ: œreferencesœ, œidœ: œPrompt-WTVXxœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}"
},
{
"animated": false,
"className": "",
"data": {
"sourceHandle": {
"dataType": "TextInput",
"id": "TextInput-A7goL",
"id": "TextInput-PAceh",
"name": "text",
"output_types": [
"Message"
@ -67,7 +70,7 @@
},
"targetHandle": {
"fieldName": "instructions",
"id": "Prompt-ztjwI",
"id": "Prompt-WTVXx",
"inputTypes": [
"Message",
"Text"
@ -75,18 +78,19 @@
"type": "str"
}
},
"id": "reactflow__edge-TextInput-A7goL{œdataTypeœ:œTextInputœ,œidœ:œTextInput-A7goLœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-Prompt-ztjwI{œfieldNameœ:œinstructionsœ,œidœ:œPrompt-ztjwIœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}",
"source": "TextInput-A7goL",
"sourceHandle": "{œdataTypeœ: œTextInputœ, œidœ: œTextInput-A7goLœ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}",
"target": "Prompt-ztjwI",
"targetHandle": "{œfieldNameœ: œinstructionsœ, œidœ: œPrompt-ztjwIœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}"
"id": "reactflow__edge-TextInput-PAceh{œdataTypeœ:œTextInputœ,œidœ:œTextInput-PAcehœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-Prompt-WTVXx{œfieldNameœ:œinstructionsœ,œidœ:œPrompt-WTVXxœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}",
"source": "TextInput-PAceh",
"sourceHandle": "{œdataTypeœ: œTextInputœ, œidœ: œTextInput-PAcehœ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}",
"target": "Prompt-WTVXx",
"targetHandle": "{œfieldNameœ: œinstructionsœ, œidœ: œPrompt-WTVXxœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}"
},
{
"animated": false,
"className": "",
"data": {
"sourceHandle": {
"dataType": "Prompt",
"id": "Prompt-ztjwI",
"id": "Prompt-WTVXx",
"name": "prompt",
"output_types": [
"Message"
@ -94,25 +98,26 @@
},
"targetHandle": {
"fieldName": "input_value",
"id": "OpenAIModel-Y3GUP",
"id": "OpenAIModel-s4uQ3",
"inputTypes": [
"Message"
],
"type": "str"
}
},
"id": "reactflow__edge-Prompt-ztjwI{œdataTypeœ:œPromptœ,œidœ:œPrompt-ztjwIœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-Y3GUP{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-Y3GUPœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}",
"source": "Prompt-ztjwI",
"sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-ztjwIœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}",
"target": "OpenAIModel-Y3GUP",
"targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œOpenAIModel-Y3GUPœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}"
"id": "reactflow__edge-Prompt-WTVXx{œdataTypeœ:œPromptœ,œidœ:œPrompt-WTVXxœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-s4uQ3{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-s4uQ3œ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}",
"source": "Prompt-WTVXx",
"sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-WTVXxœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}",
"target": "OpenAIModel-s4uQ3",
"targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œOpenAIModel-s4uQ3œ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}"
},
{
"animated": false,
"className": "",
"data": {
"sourceHandle": {
"dataType": "OpenAIModel",
"id": "OpenAIModel-Y3GUP",
"id": "OpenAIModel-s4uQ3",
"name": "text_output",
"output_types": [
"Message"
@ -120,18 +125,18 @@
},
"targetHandle": {
"fieldName": "input_value",
"id": "ChatOutput-Y7FC3",
"id": "ChatOutput-uL64L",
"inputTypes": [
"Message"
],
"type": "str"
}
},
"id": "reactflow__edge-OpenAIModel-Y3GUP{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-Y3GUPœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-Y7FC3{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-Y7FC3œ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}",
"source": "OpenAIModel-Y3GUP",
"sourceHandle": "{œdataTypeœ: œOpenAIModelœ, œidœ: œOpenAIModel-Y3GUPœ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}",
"target": "ChatOutput-Y7FC3",
"targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-Y7FC3œ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}"
"id": "reactflow__edge-OpenAIModel-s4uQ3{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-s4uQ3œ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-uL64L{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-uL64Lœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}",
"source": "OpenAIModel-s4uQ3",
"sourceHandle": "{œdataTypeœ: œOpenAIModelœ, œidœ: œOpenAIModel-s4uQ3œ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}",
"target": "ChatOutput-uL64L",
"targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-uL64Lœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}"
}
],
"nodes": [
@ -139,7 +144,7 @@
"data": {
"description": "Fetch content from one or more URLs.",
"display_name": "URL",
"id": "URL-v3FkJ",
"id": "URL-ewId1",
"node": {
"base_classes": [
"Data"
@ -157,6 +162,7 @@
"frozen": false,
"icon": "layout-template",
"legacy": false,
"lf_version": "1.0.19.post2",
"metadata": {},
"output_types": [],
"outputs": [
@ -243,8 +249,8 @@
"trace_as_metadata": true,
"type": "str",
"value": [
"langflow.org/",
"docs.langflow.org/"
"https://langflow.org/",
"https://docs.langflow.org/"
]
}
}
@ -252,25 +258,25 @@
"type": "URL"
},
"dragging": false,
"height": 465,
"id": "URL-v3FkJ",
"height": 418,
"id": "URL-ewId1",
"position": {
"x": 220.79156431407534,
"y": 498.8186168722667
"x": 544.3302626182673,
"y": 495.2237424466647
},
"positionAbsolute": {
"x": 220.79156431407534,
"y": 498.8186168722667
"x": 544.3302626182673,
"y": 495.2237424466647
},
"selected": false,
"type": "genericNode",
"width": 384
"width": 320
},
{
"data": {
"description": "Convert Data into plain text following a specified template.",
"display_name": "Parse Data",
"id": "ParseData-qffHj",
"id": "ParseData-Zwm0z",
"node": {
"base_classes": [
"Message"
@ -290,6 +296,7 @@
"frozen": false,
"icon": "braces",
"legacy": false,
"lf_version": "1.0.19.post2",
"metadata": {},
"output_types": [],
"outputs": [
@ -387,25 +394,25 @@
"type": "ParseData"
},
"dragging": false,
"height": 353,
"id": "ParseData-qffHj",
"height": 302,
"id": "ParseData-Zwm0z",
"position": {
"x": 754.3607306709101,
"y": 736.8516961537598
"x": 955.6736985046297,
"y": 702.7003891105396
},
"positionAbsolute": {
"x": 754.3607306709101,
"y": 736.8516961537598
"x": 955.6736985046297,
"y": 702.7003891105396
},
"selected": false,
"type": "genericNode",
"width": 384
"width": 320
},
{
"data": {
"description": "Create a prompt template with dynamic variables.",
"display_name": "Prompt",
"id": "Prompt-ztjwI",
"id": "Prompt-WTVXx",
"node": {
"base_classes": [
"Message"
@ -428,6 +435,7 @@
"frozen": false,
"icon": "prompts",
"legacy": false,
"lf_version": "1.0.19.post2",
"metadata": {},
"output_types": [],
"outputs": [
@ -533,25 +541,25 @@
"type": "Prompt"
},
"dragging": false,
"height": 477,
"id": "Prompt-ztjwI",
"height": 433,
"id": "Prompt-WTVXx",
"position": {
"x": 1368.0633591447076,
"y": 467.19448061224284
"x": 1341.1018009526915,
"y": 456.4098573354365
},
"positionAbsolute": {
"x": 1368.0633591447076,
"y": 467.19448061224284
"x": 1341.1018009526915,
"y": 456.4098573354365
},
"selected": false,
"type": "genericNode",
"width": 384
"width": 320
},
{
"data": {
"description": "Get text inputs from the Playground.",
"display_name": "Instructions",
"id": "TextInput-A7goL",
"id": "TextInput-PAceh",
"node": {
"base_classes": [
"Message"
@ -568,6 +576,7 @@
],
"frozen": false,
"icon": "type",
"lf_version": "1.0.19.post2",
"metadata": {},
"output_types": [],
"outputs": [
@ -631,25 +640,25 @@
"type": "TextInput"
},
"dragging": false,
"height": 289,
"id": "TextInput-A7goL",
"height": 234,
"id": "TextInput-PAceh",
"position": {
"x": 743.7338453293725,
"y": 301.58775454952183
"x": 955.8314364398983,
"y": 402.24423846638155
},
"positionAbsolute": {
"x": 743.7338453293725,
"y": 301.58775454952183
"x": 955.8314364398983,
"y": 402.24423846638155
},
"selected": false,
"type": "genericNode",
"width": 384
"width": 320
},
{
"data": {
"description": "Display a chat message in the Playground.",
"display_name": "Chat Output",
"id": "ChatOutput-Y7FC3",
"id": "ChatOutput-uL64L",
"node": {
"base_classes": [
"Message"
@ -672,6 +681,7 @@
"frozen": false,
"icon": "MessagesSquare",
"legacy": false,
"lf_version": "1.0.19.post2",
"metadata": {},
"output_types": [],
"outputs": [
@ -890,25 +900,25 @@
"type": "ChatOutput"
},
"dragging": false,
"height": 289,
"id": "ChatOutput-Y7FC3",
"height": 234,
"id": "ChatOutput-uL64L",
"position": {
"x": 2449.3489426461606,
"y": 571.2449700910389
"x": 2113.228183852361,
"y": 594.6116538574528
},
"positionAbsolute": {
"x": 2449.3489426461606,
"y": 571.2449700910389
"x": 2113.228183852361,
"y": 594.6116538574528
},
"selected": false,
"type": "genericNode",
"width": 384
"width": 320
},
{
"data": {
"description": "Generates text using OpenAI LLMs.",
"display_name": "OpenAI",
"id": "OpenAIModel-Y3GUP",
"id": "OpenAIModel-s4uQ3",
"node": {
"base_classes": [
"LanguageModel",
@ -938,6 +948,7 @@
"frozen": false,
"icon": "OpenAI",
"legacy": false,
"lf_version": "1.0.19.post2",
"metadata": {},
"output_types": [],
"outputs": [
@ -1160,7 +1171,7 @@
"value": 1
},
"stream": {
"advanced": true,
"advanced": false,
"display_name": "Stream",
"dynamic": false,
"info": "Stream the response from the model. Streaming works only in Chat.",
@ -1175,7 +1186,7 @@
"value": false
},
"system_message": {
"advanced": true,
"advanced": false,
"display_name": "System Message",
"dynamic": false,
"info": "System message to pass to the model.",
@ -1210,35 +1221,133 @@
"type": "OpenAIModel"
},
"dragging": false,
"height": 587,
"id": "OpenAIModel-Y3GUP",
"height": 495,
"id": "OpenAIModel-s4uQ3",
"position": {
"x": 1950.3830456413473,
"y": 380.8161704718418
"x": 1713.1213335516065,
"y": 456.3085334094866
},
"positionAbsolute": {
"x": 1950.3830456413473,
"y": 380.8161704718418
"x": 1713.1213335516065,
"y": 456.3085334094866
},
"selected": true,
"selected": false,
"type": "genericNode",
"width": 384
"width": 320
},
{
"data": {
"id": "note-5zVjK",
"node": {
"description": "## URL Component Setup\n\n**Purpose:**\nFetch and process content from the web to use as reference material for creating a blog post.\n\n**Instructions:**\n1. **Input URLs**: List the URLs of web pages whose content you want to fetch. Ensure the URLs start with `http://` or `https://`.\n2. **Select Output Format**:\n - **Text**: To extract plain text from the pages.\n - **Raw HTML**: To retrieve the raw HTML content for advanced uses.\n\n**Tips**:\n- Double-check URL formats to prevent any data fetching errors.\n- Use the '+' button to add multiple URLs as needed for comprehensive references.\n",
"display_name": "",
"documentation": "",
"template": {
"backgroundColor": "blue"
}
},
"type": "note"
},
"dragging": false,
"height": 329,
"id": "note-5zVjK",
"position": {
"x": 484.73635938598477,
"y": 153.29803159918163
},
"positionAbsolute": {
"x": 484.73635938598477,
"y": 153.29803159918163
},
"resizing": false,
"selected": false,
"style": {
"height": 329,
"width": 414
},
"type": "noteNode",
"width": 414
},
{
"data": {
"id": "note-TrHJa",
"node": {
"description": "# Blog Writing Flow Overview\n\n**Workflow Description:**\nThis flow assists in creating a blog post by using content fetched from URLs and user-provided instructions. It combines external references and user inputs to generate coherent and context-rich text.\n\n**Components**:\n1. **URL Component**: Fetches reference content from specified web pages.\n2. **Parse Data**: Converts the fetched content into a text format.\n3. **Text Input**: Accepts user-specific instructions for the blog post.\n4. **Prompt with Variables**: Merges references and instructions into a dynamic writing prompt.\n5. **OpenAI Model**: Generates the blog post using an AI language model.\n6. **Chat Output**: Displays the final blog text for user review and further refinement.\n\n**Steps to Execute**:\n1. Enter the relevant URLs and specify the output format in the **URL Component**.\n2. Provide detailed writing **Instructions** for AI to follow.\n3. Run the flow to generate the blog and view the result in **Chat Output**.\n\n**Benefits**:\n- Simplifies blog creation by using AI to structure and write content.\n- Incorporates comprehensive reference material to enhance post depth and accuracy.",
"display_name": "",
"documentation": "",
"template": {}
},
"type": "note"
},
"dragging": false,
"height": 509,
"id": "note-TrHJa",
"position": {
"x": -78.41970365609802,
"y": 405.04114164010207
},
"positionAbsolute": {
"x": -78.41970365609802,
"y": 405.04114164010207
},
"resizing": false,
"selected": false,
"style": {
"height": 509,
"width": 562
},
"type": "noteNode",
"width": 562
},
{
"data": {
"id": "note-b1YaN",
"node": {
"description": "## Get Your OpenAI API Key\n**Steps**:\n1. **Visit** [OpenAI's API Key Page](https://platform.openai.com/api-keys).\n\n2. **Log In/Sign Up**:\n - Log in or create a new OpenAI account.\n\n3. **Generate API Key**:\n - Click \"Create New Secret Key\" to obtain your key.\n\n4. **Store Your Key Securely**:\n - Note it down as it will only display once.\n\n5. **Enter API Key**:\n - Input your key in the OpenAI API Key field within the component setup.\n\nKeep your key safe and manage it responsibly!",
"display_name": "",
"documentation": "",
"template": {
"backgroundColor": "rose"
}
},
"type": "note"
},
"dragging": false,
"height": 324,
"id": "note-b1YaN",
"position": {
"x": 1703.974189852056,
"y": 125.15366878585462
},
"positionAbsolute": {
"x": 1703.974189852056,
"y": 125.15366878585462
},
"resizing": false,
"selected": false,
"style": {
"height": 324,
"width": 343
},
"type": "noteNode",
"width": 343
}
],
"viewport": {
"x": -46.935859383438924,
"y": 110.83424076132906,
"zoom": 0.5205627295612754
"x": 94.80835919355627,
"y": 105.45081997045315,
"zoom": 0.5284811262210728
}
},
"description": "This flow can be used to create a blog post following instructions from the user, using two other blogs as reference.",
"description": "Auto-generate a customized blog post from instructions and referenced articles.",
"endpoint_name": null,
"icon": "FileText",
"id": "5e9b5662-0985-4d40-8ffe-b7f42fa86421",
"icon": "NotebookPen",
"id": "8b12aa0f-8b59-4806-a01f-5e545b5b1688",
"is_component": false,
"last_tested_version": "1.0.19.post1",
"last_tested_version": "1.0.19.post2",
"name": "Blog Writer",
"tags": [
"chatbots"
"chatbots",
"content-generation"
]
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -19,8 +19,8 @@ export default function GetStartedComponent() {
bgImage: memoryChatbot,
bgHorizontalImage: memoryChatbotHorizontal,
icon: "MessagesSquare",
category: "Prompting",
flow: examples.find((example) => example.name === "Memory Chatbot"),
category: "prompting",
flow: examples.find((example) => example.name === "Basic Prompting"),
},
{
bgImage: vectorRag,
@ -34,13 +34,13 @@ export default function GetStartedComponent() {
bgHorizontalImage: multiAgentHorizontal,
icon: "Bot",
category: "Agents",
flow: examples.find((example) => example.name === "Dynamic Agent"),
flow: examples.find((example) => example.name === "Simple Agent"),
},
];
return (
<div className="flex flex-1 flex-col gap-4 md:gap-8">
<BaseModal.Header description="Start with templates showcasing Langflow's Chatbot, RAG, and Agent use cases.">
<BaseModal.Header description="Start with templates showcasing Langflow's Prompting, RAG, and Agent use cases.">
Get started
</BaseModal.Header>
<div className="grid flex-1 grid-cols-1 gap-4 lg:grid-cols-3">

View file

@ -31,6 +31,22 @@ export default function TemplatesModal({
{ title: "All templates", icon: "LayoutPanelTop", id: "all-templates" },
],
},
{
title: "Use Cases",
items: [
{ title: "Assistants", icon: "BotMessageSquare", id: "assistants" },
{ title: "Classification", icon: "Tags", id: "classification" },
{ title: "Coding", icon: "TerminalIcon", id: "coding" },
{
title: "Content Generation",
icon: "Newspaper",
id: "content-generation",
},
{ title: "Q&A", icon: "Database", id: "q-a" },
// { title: "Summarization", icon: "Bot", id: "summarization" },
// { title: "Web Scraping", icon: "CodeXml", id: "web-scraping" },
],
},
{
title: "Methodology",
items: [

View file

@ -11,6 +11,7 @@ import { ZepMemoryIcon } from "@/icons/ZepMemory";
import { AthenaIcon } from "@/icons/athena/index";
import { freezeAllIcon } from "@/icons/freezeAll";
import { GlobeOkIcon } from "@/icons/globe-ok";
import { TwitterLogoIcon } from "@radix-ui/react-icons";
import {
AlertCircle,
AlertTriangle,
@ -50,6 +51,7 @@ import {
Clipboard,
Code,
Code2,
CodeXml,
Cog,
Combine,
Command,
@ -74,6 +76,7 @@ import {
File,
FileClock,
FileDown,
FileQuestion,
FileSearch,
FileSearch2,
FileSliders,
@ -101,6 +104,7 @@ import {
Home,
Image,
Info,
InstagramIcon,
Key,
Keyboard,
Laptop2,
@ -109,6 +113,8 @@ import {
LayoutPanelTop,
Link,
Link2,
List,
ListChecks,
ListFilter,
ListOrdered,
Loader2,
@ -130,6 +136,8 @@ import {
MoonIcon,
MoreHorizontal,
Network,
Newspaper,
NotebookPen,
OctagonAlert,
OptionIcon,
Package2,
@ -143,6 +151,7 @@ import {
Pen,
Pencil,
PencilLine,
PieChart,
Pin,
Plane,
Play,
@ -177,6 +186,7 @@ import {
Sparkles,
Square,
SquareArrowOutUpRight,
SquareCode,
SquarePen,
SquarePlay,
StickyNote,
@ -184,10 +194,12 @@ import {
Sun,
SunIcon,
Table,
Tags,
TerminalIcon,
TerminalSquare,
TextCursorInput,
TextSearch,
TextSearchIcon,
ToyBrick,
Trash2,
Type,
@ -207,6 +219,7 @@ import {
Wrench,
X,
XCircle,
Youtube,
Zap,
ZoomIn,
ZoomOut,
@ -733,6 +746,7 @@ export const nodeIconsLucide: iconsType = {
Hammer,
GradientSave,
Shield,
NotebookPen,
Plus,
Redo,
Settings2,
@ -754,6 +768,10 @@ export const nodeIconsLucide: iconsType = {
Eraser,
Lock,
LockOpen,
Newspaper,
Tags,
CodeXml,
PieChart,
LucideSend,
Sparkles,
DownloadCloud,
@ -853,6 +871,14 @@ export const nodeIconsLucide: iconsType = {
Image,
CopyPlus,
Pen,
TwitterLogoIcon,
InstagramIcon,
TextSearchIcon,
FileQuestion,
Youtube,
List,
SquareCode,
ListChecks,
PanelRightOpen,
CornerDownLeft,
ChevronsDownUp,