From 40ce88b9eaf9edbf70fb21cb42fe1c8460a0aeb1 Mon Sep 17 00:00:00 2001 From: ogabrielluiz Date: Wed, 12 Jun 2024 22:44:23 -0300 Subject: [PATCH] refactor: Update logs field in ResultDataResponse schema Update the logs field in the ResultDataResponse schema to allow for a list of logs or a single log. This change ensures compatibility with the latest langflow library updates and improves the flexibility of the schema. --- src/backend/base/langflow/api/v1/schemas.py | 2 +- .../Langflow Blog Writter.json | 222 ++++++-- .../Langflow Memory Conversation.json | 268 +++++++-- .../Langflow Prompt Chaining.json | 2 +- .../VectorStore-RAG-Flows.json | 535 +++++++++++++----- src/backend/base/langflow/schema/schema.py | 9 +- 6 files changed, 797 insertions(+), 241 deletions(-) diff --git a/src/backend/base/langflow/api/v1/schemas.py b/src/backend/base/langflow/api/v1/schemas.py index c44e0f676..2dde0e286 100644 --- a/src/backend/base/langflow/api/v1/schemas.py +++ b/src/backend/base/langflow/api/v1/schemas.py @@ -245,7 +245,7 @@ class VerticesOrderResponse(BaseModel): class ResultDataResponse(BaseModel): results: Optional[Any] = Field(default_factory=dict) - logs: dict[str, Log] = Field(default_factory=dict) + logs: dict[str, List[Log] | Log] = Field(default_factory=dict) message: Optional[Any] = Field(default_factory=dict) artifacts: Optional[Any] = Field(default_factory=dict) timedelta: Optional[float] = None diff --git a/src/backend/base/langflow/initial_setup/starter_projects/Langflow Blog Writter.json b/src/backend/base/langflow/initial_setup/starter_projects/Langflow Blog Writter.json index ab46fedd0..36a76085c 100644 --- a/src/backend/base/langflow/initial_setup/starter_projects/Langflow Blog Writter.json +++ b/src/backend/base/langflow/initial_setup/starter_projects/Langflow Blog Writter.json @@ -13,7 +13,12 @@ "targetHandle": { "fieldName": "reference_2", "id": "Prompt-Rse03", - "inputTypes": ["Document", "BaseOutputParser", "Record", "Text"], + "inputTypes": [ + "Document", + "BaseOutputParser", + "Record", + "Text" + ], "type": "str" } }, @@ -34,12 +39,17 @@ "dataType": "OpenAIModel", "id": "OpenAIModel-gi29P", "name": "text_output", - "output_types": ["Text"] + "output_types": [ + "Text" + ] }, "targetHandle": { "fieldName": "input_value", "id": "ChatOutput-JPlxl", - "inputTypes": ["Text", "Message"], + "inputTypes": [ + "Text", + "Message" + ], "type": "str" } }, @@ -64,7 +74,12 @@ "targetHandle": { "fieldName": "reference_1", "id": "Prompt-Rse03", - "inputTypes": ["Document", "BaseOutputParser", "Record", "Text"], + "inputTypes": [ + "Document", + "BaseOutputParser", + "Record", + "Text" + ], "type": "str" } }, @@ -84,12 +99,19 @@ "dataType": "TextInput", "id": "TextInput-og8Or", "name": "Text", - "output_types": ["Text"] + "output_types": [ + "Text" + ] }, "targetHandle": { "fieldName": "instructions", "id": "Prompt-Rse03", - "inputTypes": ["Document", "BaseOutputParser", "Record", "Text"], + "inputTypes": [ + "Document", + "BaseOutputParser", + "Record", + "Text" + ], "type": "str" } }, @@ -109,12 +131,18 @@ "dataType": "Prompt", "id": "Prompt-Rse03", "name": "prompt", - "output_types": ["Prompt"] + "output_types": [ + "Prompt" + ] }, "targetHandle": { "fieldName": "input_value", "id": "OpenAIModel-gi29P", - "inputTypes": ["Text", "Data", "Prompt"], + "inputTypes": [ + "Text", + "Data", + "Prompt" + ], "type": "str" } }, @@ -136,10 +164,18 @@ "display_name": "Prompt", "id": "Prompt-Rse03", "node": { - "base_classes": ["object", "Text", "str"], + "base_classes": [ + "object", + "Text", + "str" + ], "beta": false, "custom_fields": { - "template": ["reference_1", "reference_2", "instructions"] + "template": [ + "reference_1", + "reference_2", + "instructions" + ] }, "description": "Create a prompt template with dynamic variables.", "display_name": "Prompt", @@ -162,7 +198,9 @@ "method": "build_prompt", "name": "prompt", "selected": "Prompt", - "types": ["Prompt"], + "types": [ + "Prompt" + ], "value": "__UNDEFINED__" }, { @@ -171,7 +209,9 @@ "method": "format_prompt", "name": "text", "selected": "Text", - "types": ["Text"], + "types": [ + "Text" + ], "value": "__UNDEFINED__" } ], @@ -280,7 +320,9 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -316,7 +358,9 @@ "data": { "id": "URL-HYPkR", "node": { - "base_classes": ["Record"], + "base_classes": [ + "Record" + ], "beta": false, "custom_fields": { "urls": null @@ -328,16 +372,20 @@ "field_order": [], "frozen": false, "icon": "layout-template", - "output_types": ["Data"], + "output_types": [ + "Data" + ], "outputs": [ { "cache": true, "display_name": "Data", - "hide": null, + "hidden": null, "method": null, "name": "data", "selected": "Data", - "types": ["Data"], + "types": [ + "Data" + ], "value": "__UNDEFINED__" } ], @@ -368,7 +416,9 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": true, "load_from_db": false, "multiline": false, @@ -406,7 +456,12 @@ "data": { "id": "ChatOutput-JPlxl", "node": { - "base_classes": ["Text", "Record", "object", "str"], + "base_classes": [ + "Text", + "Record", + "object", + "str" + ], "beta": false, "custom_fields": { "input_value": null, @@ -431,7 +486,9 @@ "method": "text_response", "name": "text", "selected": "Text", - "types": ["Text"], + "types": [ + "Text" + ], "value": "__UNDEFINED__" }, { @@ -440,7 +497,9 @@ "method": "message_response", "name": "message", "selected": "Message", - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -471,7 +530,10 @@ "fileTypes": [], "file_path": "", "info": "Message to be passed as output.", - "input_types": ["Text", "Message"], + "input_types": [ + "Text", + "Message" + ], "list": false, "load_from_db": false, "multiline": true, @@ -491,12 +553,17 @@ "fileTypes": [], "file_path": "", "info": "Type of sender.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": true, "load_from_db": false, "multiline": false, "name": "sender", - "options": ["Machine", "User"], + "options": [ + "Machine", + "User" + ], "password": false, "placeholder": "", "required": false, @@ -512,7 +579,9 @@ "fileTypes": [], "file_path": "", "info": "Name of the sender.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -532,7 +601,9 @@ "fileTypes": [], "file_path": "", "info": "Session ID for the message.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -563,7 +634,11 @@ "data": { "id": "OpenAIModel-gi29P", "node": { - "base_classes": ["str", "Text", "object"], + "base_classes": [ + "str", + "Text", + "object" + ], "beta": false, "custom_fields": { "input_value": null, @@ -601,7 +676,9 @@ "method": "text_response", "name": "text_output", "selected": "Text", - "types": ["Text"], + "types": [ + "Text" + ], "value": "__UNDEFINED__" }, { @@ -610,7 +687,9 @@ "method": "build_model", "name": "model_output", "selected": "BaseLanguageModel", - "types": ["BaseLanguageModel"], + "types": [ + "BaseLanguageModel" + ], "value": "__UNDEFINED__" } ], @@ -641,7 +720,11 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Text", "Data", "Prompt"], + "input_types": [ + "Text", + "Data", + "Prompt" + ], "list": false, "load_from_db": false, "multiline": false, @@ -661,7 +744,9 @@ "fileTypes": [], "file_path": "", "info": "The maximum number of tokens to generate. Set to 0 for unlimited tokens.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -681,7 +766,9 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -701,7 +788,9 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": true, "load_from_db": false, "multiline": false, @@ -728,7 +817,9 @@ "fileTypes": [], "file_path": "", "info": "The base URL of the OpenAI API. Defaults to https://api.openai.com/v1.\n\nYou can change this to use other APIs like JinaChat, LocalAI and Prem.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -748,7 +839,9 @@ "fileTypes": [], "file_path": "", "info": "The OpenAI API Key to use for the OpenAI model.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -768,7 +861,9 @@ "fileTypes": [], "file_path": "", "info": "Stream the response from the model. Streaming works only in Chat.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -788,7 +883,9 @@ "fileTypes": [], "file_path": "", "info": "System message to pass to the model.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -808,7 +905,9 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -844,7 +943,9 @@ "data": { "id": "URL-2cX90", "node": { - "base_classes": ["Record"], + "base_classes": [ + "Record" + ], "beta": false, "custom_fields": { "urls": null @@ -856,16 +957,20 @@ "field_order": [], "frozen": false, "icon": "layout-template", - "output_types": ["Data"], + "output_types": [ + "Data" + ], "outputs": [ { "cache": true, "display_name": "Data", - "hide": null, + "hidden": null, "method": null, "name": "data", "selected": "Data", - "types": ["Data"], + "types": [ + "Data" + ], "value": "__UNDEFINED__" } ], @@ -896,7 +1001,9 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": true, "load_from_db": false, "multiline": false, @@ -907,7 +1014,9 @@ "show": true, "title_case": false, "type": "str", - "value": ["https://www.promptingguide.ai/introduction/basics"] + "value": [ + "https://www.promptingguide.ai/introduction/basics" + ] } } }, @@ -932,7 +1041,11 @@ "data": { "id": "TextInput-og8Or", "node": { - "base_classes": ["object", "Text", "str"], + "base_classes": [ + "object", + "Text", + "str" + ], "beta": false, "custom_fields": { "input_value": null, @@ -945,12 +1058,16 @@ "field_order": [], "frozen": false, "icon": "type", - "output_types": ["Text"], + "output_types": [ + "Text" + ], "outputs": [ { "name": "Text", "selected": "Text", - "types": ["Text"] + "types": [ + "Text" + ] } ], "template": { @@ -980,7 +1097,10 @@ "fileTypes": [], "file_path": "", "info": "Text or Record to be passed as input.", - "input_types": ["Record", "Text"], + "input_types": [ + "Record", + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -1000,7 +1120,9 @@ "fileTypes": [], "file_path": "", "info": "Template to convert Record to Text. If left empty, it will be dynamically set to the Record's text key.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": true, @@ -1044,4 +1166,4 @@ "is_component": false, "last_tested_version": "1.0.0a0", "name": "Blog Writer" -} +} \ No newline at end of file diff --git a/src/backend/base/langflow/initial_setup/starter_projects/Langflow Memory Conversation.json b/src/backend/base/langflow/initial_setup/starter_projects/Langflow Memory Conversation.json index 27aa6e0b1..0066bcfa1 100644 --- a/src/backend/base/langflow/initial_setup/starter_projects/Langflow Memory Conversation.json +++ b/src/backend/base/langflow/initial_setup/starter_projects/Langflow Memory Conversation.json @@ -8,12 +8,19 @@ "dataType": "MemoryComponent", "id": "MemoryComponent-cdA1J", "name": "text", - "output_types": ["Text"] + "output_types": [ + "Text" + ] }, "targetHandle": { "fieldName": "context", "id": "Prompt-ODkUx", - "inputTypes": ["Document", "Message", "Record", "Text"], + "inputTypes": [ + "Document", + "Message", + "Record", + "Text" + ], "type": "str" } }, @@ -34,12 +41,19 @@ "dataType": "ChatInput", "id": "ChatInput-t7F8v", "name": "message", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "user_message", "id": "Prompt-ODkUx", - "inputTypes": ["Document", "Message", "Record", "Text"], + "inputTypes": [ + "Document", + "Message", + "Record", + "Text" + ], "type": "str" } }, @@ -60,12 +74,18 @@ "dataType": "Prompt", "id": "Prompt-ODkUx", "name": "prompt", - "output_types": ["Prompt"] + "output_types": [ + "Prompt" + ] }, "targetHandle": { "fieldName": "input_value", "id": "OpenAIModel-9RykF", - "inputTypes": ["Text", "Data", "Prompt"], + "inputTypes": [ + "Text", + "Data", + "Prompt" + ], "type": "str" } }, @@ -85,12 +105,17 @@ "dataType": "OpenAIModel", "id": "OpenAIModel-9RykF", "name": "text_output", - "output_types": ["Text"] + "output_types": [ + "Text" + ] }, "targetHandle": { "fieldName": "input_value", "id": "ChatOutput-P1jEe", - "inputTypes": ["Text", "Message"], + "inputTypes": [ + "Text", + "Message" + ], "type": "str" } }, @@ -110,12 +135,17 @@ "dataType": "MemoryComponent", "id": "MemoryComponent-cdA1J", "name": "text", - "output_types": ["Text"] + "output_types": [ + "Text" + ] }, "targetHandle": { "fieldName": "input_value", "id": "TextOutput-vrs6T", - "inputTypes": ["Record", "Text"], + "inputTypes": [ + "Record", + "Text" + ], "type": "str" } }, @@ -134,7 +164,12 @@ "data": { "id": "ChatInput-t7F8v", "node": { - "base_classes": ["Text", "object", "Record", "str"], + "base_classes": [ + "Text", + "object", + "Record", + "str" + ], "beta": false, "custom_fields": { "input_value": null, @@ -158,7 +193,9 @@ "method": "message_response", "name": "message", "selected": "Message", - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -209,12 +246,17 @@ "fileTypes": [], "file_path": "", "info": "Type of sender.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": true, "load_from_db": false, "multiline": false, "name": "sender", - "options": ["Machine", "User"], + "options": [ + "Machine", + "User" + ], "password": false, "placeholder": "", "required": false, @@ -230,7 +272,9 @@ "fileTypes": [], "file_path": "", "info": "Name of the sender.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -250,7 +294,9 @@ "fileTypes": [], "file_path": "", "info": "Session ID for the message.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -286,7 +332,12 @@ "data": { "id": "ChatOutput-P1jEe", "node": { - "base_classes": ["Text", "object", "Record", "str"], + "base_classes": [ + "Text", + "object", + "Record", + "str" + ], "beta": false, "custom_fields": { "input_value": null, @@ -310,7 +361,9 @@ "method": "text_response", "name": "text", "selected": "Text", - "types": ["Text"], + "types": [ + "Text" + ], "value": "__UNDEFINED__" }, { @@ -319,7 +372,9 @@ "method": "message_response", "name": "message", "selected": "Message", - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -350,7 +405,10 @@ "fileTypes": [], "file_path": "", "info": "Message to be passed as output.", - "input_types": ["Text", "Message"], + "input_types": [ + "Text", + "Message" + ], "list": false, "load_from_db": false, "multiline": true, @@ -370,12 +428,17 @@ "fileTypes": [], "file_path": "", "info": "Type of sender.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": true, "load_from_db": false, "multiline": false, "name": "sender", - "options": ["Machine", "User"], + "options": [ + "Machine", + "User" + ], "password": false, "placeholder": "", "required": false, @@ -391,7 +454,9 @@ "fileTypes": [], "file_path": "", "info": "Name of the sender.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -411,7 +476,9 @@ "fileTypes": [], "file_path": "", "info": "Session ID for the message.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -449,7 +516,11 @@ "display_name": "Chat Memory", "id": "MemoryComponent-cdA1J", "node": { - "base_classes": ["str", "Text", "object"], + "base_classes": [ + "str", + "Text", + "object" + ], "beta": true, "custom_fields": { "n_messages": null, @@ -466,16 +537,20 @@ "field_order": [], "frozen": false, "icon": "history", - "output_types": ["Text"], + "output_types": [ + "Text" + ], "outputs": [ { "cache": true, "display_name": "Text", - "hide": null, + "hidden": null, "method": null, "name": "text", "selected": "Text", - "types": ["Text"], + "types": [ + "Text" + ], "value": "__UNDEFINED__" } ], @@ -525,12 +600,17 @@ "fileTypes": [], "file_path": "", "info": "Order of the messages.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": true, "load_from_db": false, "multiline": false, "name": "order", - "options": ["Ascending", "Descending"], + "options": [ + "Ascending", + "Descending" + ], "password": false, "placeholder": "", "required": false, @@ -546,12 +626,18 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": true, "load_from_db": false, "multiline": false, "name": "sender", - "options": ["Machine", "User", "Machine and User"], + "options": [ + "Machine", + "User", + "Machine and User" + ], "password": false, "placeholder": "", "required": false, @@ -567,7 +653,9 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -586,7 +674,9 @@ "fileTypes": [], "file_path": "", "info": "Session ID of the chat history.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -624,10 +714,17 @@ "display_name": "Prompt", "id": "Prompt-ODkUx", "node": { - "base_classes": ["Text", "str", "object"], + "base_classes": [ + "Text", + "str", + "object" + ], "beta": false, "custom_fields": { - "template": ["context", "user_message"] + "template": [ + "context", + "user_message" + ] }, "description": "Create a prompt template with dynamic variables.", "display_name": "Prompt", @@ -650,7 +747,9 @@ "method": "build_prompt", "name": "prompt", "selected": "Prompt", - "types": ["Prompt"], + "types": [ + "Prompt" + ], "value": "__UNDEFINED__" }, { @@ -659,7 +758,9 @@ "method": "format_prompt", "name": "text", "selected": "Text", - "types": ["Text"], + "types": [ + "Text" + ], "value": "__UNDEFINED__" } ], @@ -691,7 +792,12 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Document", "Message", "Record", "Text"], + "input_types": [ + "Document", + "Message", + "Record", + "Text" + ], "list": false, "load_from_db": false, "multiline": true, @@ -711,7 +817,9 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -732,7 +840,12 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Document", "Message", "Record", "Text"], + "input_types": [ + "Document", + "Message", + "Record", + "Text" + ], "list": false, "load_from_db": false, "multiline": true, @@ -768,7 +881,11 @@ "data": { "id": "OpenAIModel-9RykF", "node": { - "base_classes": ["str", "object", "Text"], + "base_classes": [ + "str", + "object", + "Text" + ], "beta": false, "custom_fields": { "input_value": null, @@ -806,7 +923,9 @@ "method": "text_response", "name": "text_output", "selected": "Text", - "types": ["Text"], + "types": [ + "Text" + ], "value": "__UNDEFINED__" }, { @@ -815,7 +934,9 @@ "method": "build_model", "name": "model_output", "selected": "BaseLanguageModel", - "types": ["BaseLanguageModel"], + "types": [ + "BaseLanguageModel" + ], "value": "__UNDEFINED__" } ], @@ -846,7 +967,11 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Text", "Data", "Prompt"], + "input_types": [ + "Text", + "Data", + "Prompt" + ], "list": false, "load_from_db": false, "multiline": false, @@ -866,7 +991,9 @@ "fileTypes": [], "file_path": "", "info": "The maximum number of tokens to generate. Set to 0 for unlimited tokens.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -886,7 +1013,9 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -906,7 +1035,9 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": true, "load_from_db": false, "multiline": false, @@ -933,7 +1064,9 @@ "fileTypes": [], "file_path": "", "info": "The base URL of the OpenAI API. Defaults to https://api.openai.com/v1.\n\nYou can change this to use other APIs like JinaChat, LocalAI and Prem.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -953,7 +1086,9 @@ "fileTypes": [], "file_path": "", "info": "The OpenAI API Key to use for the OpenAI model.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -973,7 +1108,9 @@ "fileTypes": [], "file_path": "", "info": "Stream the response from the model. Streaming works only in Chat.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -993,7 +1130,9 @@ "fileTypes": [], "file_path": "", "info": "System message to pass to the model.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -1013,7 +1152,9 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -1049,7 +1190,11 @@ "data": { "id": "TextOutput-vrs6T", "node": { - "base_classes": ["str", "object", "Text"], + "base_classes": [ + "str", + "object", + "Text" + ], "beta": false, "custom_fields": { "input_value": null, @@ -1062,7 +1207,9 @@ "field_order": [], "frozen": false, "icon": "type", - "output_types": ["Text"], + "output_types": [ + "Text" + ], "template": { "_type": "CustomComponent", "code": { @@ -1090,7 +1237,10 @@ "fileTypes": [], "file_path": "", "info": "Text or Record to be passed as output.", - "input_types": ["Record", "Text"], + "input_types": [ + "Record", + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -1110,7 +1260,9 @@ "fileTypes": [], "file_path": "", "info": "Template to convert Record to Text. If left empty, it will be dynamically set to the Record's text key.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": true, @@ -1156,4 +1308,4 @@ "is_component": false, "last_tested_version": "1.0.0a0", "name": "Memory Chatbot" -} +} \ No newline at end of file diff --git a/src/backend/base/langflow/initial_setup/starter_projects/Langflow Prompt Chaining.json b/src/backend/base/langflow/initial_setup/starter_projects/Langflow Prompt Chaining.json index 001711d2c..f2bf96df0 100644 --- a/src/backend/base/langflow/initial_setup/starter_projects/Langflow Prompt Chaining.json +++ b/src/backend/base/langflow/initial_setup/starter_projects/Langflow Prompt Chaining.json @@ -939,7 +939,7 @@ "show": true, "title_case": false, "type": "code", - "value": "from langflow.base.io.text import TextComponent\nfrom langflow.field_typing import Text\nfrom langflow.template import Input, Output\n\n\nclass TextInput(TextComponent):\n display_name = \"Text Input\"\n description = \"Get text inputs from the Playground.\"\n icon = \"type\"\n\n inputs = [\n Input(\n name=\"input_value\",\n type=str,\n display_name=\"Value\",\n info=\"Text or Data to be passed as input.\",\n input_types=[\"Data\", \"Text\"],\n ),\n Input(\n name=\"data_template\",\n type=str,\n display_name=\"Data Template\",\n multiline=True,\n info=\"Template to convert Data to Text. If left empty, it will be dynamically set to the Data's text key.\",\n advanced=True,\n ),\n ]\n outputs = [\n Output(display_name=\"Text\", name=\"text\", method=\"text_response\"),\n ]\n\n def text_response(self) -> Text:\n return self.build(input_value=self.input_value, data_template=self.data_template)\n" + "value": "from langflow.base.io.text import TextComponent\nfrom langflow.field_typing import Text\nfrom langflow.inputs import StrInput\nfrom langflow.template import Output\n\n\nclass TextInput(TextComponent):\n display_name = \"Text Input\"\n description = \"Get text inputs from the Playground.\"\n icon = \"type\"\n\n inputs = [\n StrInput(\n name=\"input_value\",\n type=str,\n display_name=\"Value\",\n info=\"Text or Data to be passed as input.\",\n input_types=[\"Data\", \"Text\"],\n ),\n StrInput(\n name=\"data_template\",\n display_name=\"Data Template\",\n multiline=True,\n info=\"Template to convert Data to Text. If left empty, it will be dynamically set to the Data's text key.\",\n advanced=True,\n value=\"{text}\",\n ),\n ]\n outputs = [\n Output(display_name=\"Text\", name=\"text\", method=\"text_response\"),\n ]\n\n def text_response(self) -> Text:\n return self.build(input_value=self.input_value, data_template=self.data_template)\n" }, "input_value": { "advanced": false, diff --git a/src/backend/base/langflow/initial_setup/starter_projects/VectorStore-RAG-Flows.json b/src/backend/base/langflow/initial_setup/starter_projects/VectorStore-RAG-Flows.json index 916ec69b2..a1a776895 100644 --- a/src/backend/base/langflow/initial_setup/starter_projects/VectorStore-RAG-Flows.json +++ b/src/backend/base/langflow/initial_setup/starter_projects/VectorStore-RAG-Flows.json @@ -8,12 +8,19 @@ "dataType": "TextOutput", "id": "TextOutput-BDknO", "name": "Text", - "output_types": ["Text"] + "output_types": [ + "Text" + ] }, "targetHandle": { "fieldName": "context", "id": "Prompt-xeI6K", - "inputTypes": ["Document", "Message", "Record", "Text"], + "inputTypes": [ + "Document", + "Message", + "Record", + "Text" + ], "type": "str" } }, @@ -34,12 +41,19 @@ "dataType": "ChatInput", "id": "ChatInput-yxMKE", "name": "message", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "question", "id": "Prompt-xeI6K", - "inputTypes": ["Document", "Message", "Record", "Text"], + "inputTypes": [ + "Document", + "Message", + "Record", + "Text" + ], "type": "str" } }, @@ -60,12 +74,18 @@ "dataType": "Prompt", "id": "Prompt-xeI6K", "name": "prompt", - "output_types": ["Prompt"] + "output_types": [ + "Prompt" + ] }, "targetHandle": { "fieldName": "input_value", "id": "OpenAIModel-EjXlN", - "inputTypes": ["Text", "Data", "Prompt"], + "inputTypes": [ + "Text", + "Data", + "Prompt" + ], "type": "str" } }, @@ -86,12 +106,17 @@ "dataType": "OpenAIModel", "id": "OpenAIModel-EjXlN", "name": "text_output", - "output_types": ["Text"] + "output_types": [ + "Text" + ] }, "targetHandle": { "fieldName": "input_value", "id": "ChatOutput-Q39I8", - "inputTypes": ["Text", "Message"], + "inputTypes": [ + "Text", + "Message" + ], "type": "str" } }, @@ -117,7 +142,10 @@ "targetHandle": { "fieldName": "inputs", "id": "RecursiveCharacterTextSplitter-tR9QM", - "inputTypes": ["Document", "Data"], + "inputTypes": [ + "Document", + "Data" + ], "type": "Document" } }, @@ -138,7 +166,9 @@ "dataType": "OpenAIEmbeddings", "id": "OpenAIEmbeddings-ZlOk1", "name": "embeddings", - "output_types": ["Embeddings"] + "output_types": [ + "Embeddings" + ] }, "targetHandle": { "fieldName": "embedding", @@ -163,12 +193,16 @@ "dataType": "ChatInput", "id": "ChatInput-yxMKE", "name": "message", - "output_types": ["Message"] + "output_types": [ + "Message" + ] }, "targetHandle": { "fieldName": "input_value", "id": "AstraDBSearch-41nRz", - "inputTypes": ["Text"], + "inputTypes": [ + "Text" + ], "type": "str" } }, @@ -214,7 +248,9 @@ "dataType": "OpenAIEmbeddings", "id": "OpenAIEmbeddings-9TPjc", "name": "embeddings", - "output_types": ["Embeddings"] + "output_types": [ + "Embeddings" + ] }, "targetHandle": { "fieldName": "embedding", @@ -245,7 +281,10 @@ "targetHandle": { "fieldName": "input_value", "id": "TextOutput-BDknO", - "inputTypes": ["Record", "Text"], + "inputTypes": [ + "Record", + "Text" + ], "type": "str" } }, @@ -264,7 +303,12 @@ "data": { "id": "ChatInput-yxMKE", "node": { - "base_classes": ["Text", "str", "object", "Record"], + "base_classes": [ + "Text", + "str", + "object", + "Record" + ], "beta": false, "custom_fields": { "input_value": null, @@ -288,7 +332,9 @@ "method": "message_response", "name": "message", "selected": "Message", - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -339,12 +385,17 @@ "fileTypes": [], "file_path": "", "info": "Type of sender.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": true, "load_from_db": false, "multiline": false, "name": "sender", - "options": ["Machine", "User"], + "options": [ + "Machine", + "User" + ], "password": false, "placeholder": "", "required": false, @@ -360,7 +411,9 @@ "fileTypes": [], "file_path": "", "info": "Name of the sender.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -380,7 +433,9 @@ "fileTypes": [], "file_path": "", "info": "Session ID for the message.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -411,7 +466,11 @@ "data": { "id": "TextOutput-BDknO", "node": { - "base_classes": ["object", "Text", "str"], + "base_classes": [ + "object", + "Text", + "str" + ], "beta": false, "custom_fields": { "input_value": null, @@ -424,12 +483,16 @@ "field_order": [], "frozen": false, "icon": "type", - "output_types": ["Text"], + "output_types": [ + "Text" + ], "outputs": [ { "name": "Text", "selected": "Text", - "types": ["Text"] + "types": [ + "Text" + ] } ], "template": { @@ -459,7 +522,10 @@ "fileTypes": [], "file_path": "", "info": "Text or Record to be passed as output.", - "input_types": ["Record", "Text"], + "input_types": [ + "Record", + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -479,7 +545,9 @@ "fileTypes": [], "file_path": "", "info": "Template to convert Record to Text. If left empty, it will be dynamically set to the Record's text key.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": true, @@ -515,7 +583,9 @@ "data": { "id": "OpenAIEmbeddings-ZlOk1", "node": { - "base_classes": ["Embeddings"], + "base_classes": [ + "Embeddings" + ], "beta": false, "custom_fields": { "allowed_special": null, @@ -547,16 +617,20 @@ "field_formatters": {}, "field_order": [], "frozen": false, - "output_types": ["Embeddings"], + "output_types": [ + "Embeddings" + ], "outputs": [ { "cache": true, "display_name": "Embeddings", - "hide": null, + "hidden": null, "method": null, "name": "embeddings", "selected": "Embeddings", - "types": ["Embeddings"], + "types": [ + "Embeddings" + ], "value": "__UNDEFINED__" } ], @@ -569,7 +643,9 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": true, "load_from_db": false, "multiline": false, @@ -663,7 +739,9 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -683,7 +761,9 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": true, "load_from_db": false, "multiline": false, @@ -694,7 +774,9 @@ "show": true, "title_case": false, "type": "str", - "value": ["all"] + "value": [ + "all" + ] }, "embedding_ctx_length": { "advanced": true, @@ -741,7 +823,9 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": true, "load_from_db": false, "multiline": false, @@ -785,7 +869,9 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -804,7 +890,9 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -824,7 +912,9 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -843,7 +933,9 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -862,7 +954,9 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -881,7 +975,9 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -981,7 +1077,9 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -1012,7 +1110,11 @@ "data": { "id": "OpenAIModel-EjXlN", "node": { - "base_classes": ["object", "Text", "str"], + "base_classes": [ + "object", + "Text", + "str" + ], "beta": false, "custom_fields": { "input_value": null, @@ -1050,7 +1152,9 @@ "method": "text_response", "name": "text_output", "selected": "Text", - "types": ["Text"], + "types": [ + "Text" + ], "value": "__UNDEFINED__" }, { @@ -1059,7 +1163,9 @@ "method": "build_model", "name": "model_output", "selected": "BaseLanguageModel", - "types": ["BaseLanguageModel"], + "types": [ + "BaseLanguageModel" + ], "value": "__UNDEFINED__" } ], @@ -1090,7 +1196,11 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Text", "Data", "Prompt"], + "input_types": [ + "Text", + "Data", + "Prompt" + ], "list": false, "load_from_db": false, "multiline": false, @@ -1110,7 +1220,9 @@ "fileTypes": [], "file_path": "", "info": "The maximum number of tokens to generate. Set to 0 for unlimited tokens.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -1130,7 +1242,9 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -1150,7 +1264,9 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": true, "load_from_db": false, "multiline": false, @@ -1177,7 +1293,9 @@ "fileTypes": [], "file_path": "", "info": "The base URL of the OpenAI API. Defaults to https://api.openai.com/v1.\n\nYou can change this to use other APIs like JinaChat, LocalAI and Prem.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -1197,7 +1315,9 @@ "fileTypes": [], "file_path": "", "info": "The OpenAI API Key to use for the OpenAI model.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -1217,7 +1337,9 @@ "fileTypes": [], "file_path": "", "info": "Stream the response from the model. Streaming works only in Chat.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -1237,7 +1359,9 @@ "fileTypes": [], "file_path": "", "info": "System message to pass to the model.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -1257,7 +1381,9 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -1295,10 +1421,17 @@ "display_name": "Prompt", "id": "Prompt-xeI6K", "node": { - "base_classes": ["object", "Text", "str"], + "base_classes": [ + "object", + "Text", + "str" + ], "beta": false, "custom_fields": { - "template": ["context", "question"] + "template": [ + "context", + "question" + ] }, "description": "Create a prompt template with dynamic variables.", "display_name": "Prompt", @@ -1321,7 +1454,9 @@ "method": "build_prompt", "name": "prompt", "selected": "Prompt", - "types": ["Prompt"], + "types": [ + "Prompt" + ], "value": "__UNDEFINED__" }, { @@ -1330,7 +1465,9 @@ "method": "format_prompt", "name": "text", "selected": "Text", - "types": ["Text"], + "types": [ + "Text" + ], "value": "__UNDEFINED__" } ], @@ -1362,7 +1499,12 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Document", "Message", "Record", "Text"], + "input_types": [ + "Document", + "Message", + "Record", + "Text" + ], "list": false, "load_from_db": false, "multiline": true, @@ -1383,7 +1525,12 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Document", "Message", "Record", "Text"], + "input_types": [ + "Document", + "Message", + "Record", + "Text" + ], "list": false, "load_from_db": false, "multiline": true, @@ -1403,7 +1550,9 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -1439,7 +1588,12 @@ "data": { "id": "ChatOutput-Q39I8", "node": { - "base_classes": ["object", "Text", "Record", "str"], + "base_classes": [ + "object", + "Text", + "Record", + "str" + ], "beta": false, "custom_fields": { "input_value": null, @@ -1464,7 +1618,9 @@ "method": "text_response", "name": "text", "selected": "Text", - "types": ["Text"], + "types": [ + "Text" + ], "value": "__UNDEFINED__" }, { @@ -1473,7 +1629,9 @@ "method": "message_response", "name": "message", "selected": "Message", - "types": ["Message"], + "types": [ + "Message" + ], "value": "__UNDEFINED__" } ], @@ -1504,7 +1662,10 @@ "fileTypes": [], "file_path": "", "info": "Message to be passed as output.", - "input_types": ["Text", "Message"], + "input_types": [ + "Text", + "Message" + ], "list": false, "load_from_db": false, "multiline": true, @@ -1524,12 +1685,17 @@ "fileTypes": [], "file_path": "", "info": "Type of sender.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": true, "load_from_db": false, "multiline": false, "name": "sender", - "options": ["Machine", "User"], + "options": [ + "Machine", + "User" + ], "password": false, "placeholder": "", "required": false, @@ -1545,7 +1711,9 @@ "fileTypes": [], "file_path": "", "info": "Name of the sender.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -1565,7 +1733,9 @@ "fileTypes": [], "file_path": "", "info": "Session ID for the message.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -1601,7 +1771,9 @@ "data": { "id": "File-t0a6a", "node": { - "base_classes": ["Record"], + "base_classes": [ + "Record" + ], "beta": false, "custom_fields": { "path": null, @@ -1614,16 +1786,20 @@ "field_order": [], "frozen": false, "icon": "file-text", - "output_types": ["Data"], + "output_types": [ + "Data" + ], "outputs": [ { "cache": true, "display_name": "Data", - "hide": null, + "hidden": null, "method": null, "name": "data", "selected": "Data", - "types": ["Data"], + "types": [ + "Data" + ], "value": "__UNDEFINED__" } ], @@ -1727,7 +1903,9 @@ "data": { "id": "RecursiveCharacterTextSplitter-tR9QM", "node": { - "base_classes": ["Record"], + "base_classes": [ + "Record" + ], "beta": false, "custom_fields": { "chunk_overlap": null, @@ -1741,16 +1919,20 @@ "field_formatters": {}, "field_order": [], "frozen": false, - "output_types": ["Data"], + "output_types": [ + "Data" + ], "outputs": [ { "cache": true, "display_name": "Data", - "hide": null, + "hidden": null, "method": null, "name": "data", "selected": "Data", - "types": ["Data"], + "types": [ + "Data" + ], "value": "__UNDEFINED__" } ], @@ -1819,7 +2001,10 @@ "fileTypes": [], "file_path": "", "info": "The texts to split.", - "input_types": ["Document", "Data"], + "input_types": [ + "Document", + "Data" + ], "list": true, "load_from_db": false, "multiline": false, @@ -1838,7 +2023,9 @@ "fileTypes": [], "file_path": "", "info": "The characters to split on.\nIf left empty defaults to [\"\\n\\n\", \"\\n\", \" \", \"\"].", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": true, "load_from_db": false, "multiline": false, @@ -1849,7 +2036,9 @@ "show": true, "title_case": false, "type": "str", - "value": [""] + "value": [ + "" + ] } } }, @@ -1874,7 +2063,9 @@ "data": { "id": "AstraDBSearch-41nRz", "node": { - "base_classes": ["Record"], + "base_classes": [ + "Record" + ], "beta": false, "custom_fields": { "api_endpoint": null, @@ -1909,16 +2100,20 @@ ], "frozen": false, "icon": "AstraDB", - "output_types": ["Data"], + "output_types": [ + "Data" + ], "outputs": [ { "cache": true, "display_name": "Data", - "hide": null, + "hidden": null, "method": null, "name": "data", "selected": "Data", - "types": ["Data"], + "types": [ + "Data" + ], "value": "__UNDEFINED__" } ], @@ -1931,7 +2126,9 @@ "fileTypes": [], "file_path": "", "info": "API endpoint URL for the Astra DB service.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": true, "multiline": false, @@ -2059,7 +2256,9 @@ "fileTypes": [], "file_path": "", "info": "The name of the collection within Astra DB where the vectors will be stored.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -2097,7 +2296,9 @@ "fileTypes": [], "file_path": "", "info": "Input value to search", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -2116,7 +2317,9 @@ "fileTypes": [], "file_path": "", "info": "Optional list of metadata fields to exclude from the indexing.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": true, "load_from_db": false, "multiline": false, @@ -2135,7 +2338,9 @@ "fileTypes": [], "file_path": "", "info": "Optional list of metadata fields to include in the indexing.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": true, "load_from_db": false, "multiline": false, @@ -2154,7 +2359,9 @@ "fileTypes": [], "file_path": "", "info": "Optional distance metric for vector comparisons in the vector store.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -2173,7 +2380,9 @@ "fileTypes": [], "file_path": "", "info": "Optional namespace within Astra DB to use for the collection.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -2230,12 +2439,17 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": true, "load_from_db": false, "multiline": false, "name": "search_type", - "options": ["Similarity", "MMR"], + "options": [ + "Similarity", + "MMR" + ], "password": false, "placeholder": "", "required": false, @@ -2251,12 +2465,18 @@ "fileTypes": [], "file_path": "", "info": "Configuration mode for setting up the vector store, with options like “Sync”, “Async”, or “Off”.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": true, "load_from_db": false, "multiline": false, "name": "setup_mode", - "options": ["Sync", "Async", "Off"], + "options": [ + "Sync", + "Async", + "Off" + ], "password": false, "placeholder": "", "required": false, @@ -2272,7 +2492,9 @@ "fileTypes": [], "file_path": "", "info": "Authentication token for accessing Astra DB.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": true, "multiline": false, @@ -2308,7 +2530,9 @@ "data": { "id": "AstraDB-eUCSS", "node": { - "base_classes": ["VectorStore"], + "base_classes": [ + "VectorStore" + ], "beta": false, "custom_fields": { "api_endpoint": null, @@ -2341,26 +2565,33 @@ ], "frozen": false, "icon": "AstraDB", - "output_types": ["VectorStore", "BaseRetriever"], + "output_types": [ + "VectorStore", + "BaseRetriever" + ], "outputs": [ { "cache": true, "display_name": "VectorStore", - "hide": null, + "hidden": null, "method": null, "name": "vectorstore", "selected": "VectorStore", - "types": ["VectorStore"], + "types": [ + "VectorStore" + ], "value": "__UNDEFINED__" }, { "cache": true, "display_name": "BaseRetriever", - "hide": null, + "hidden": null, "method": null, "name": "baseretriever", "selected": "BaseRetriever", - "types": ["BaseRetriever"], + "types": [ + "BaseRetriever" + ], "value": "__UNDEFINED__" } ], @@ -2373,7 +2604,9 @@ "fileTypes": [], "file_path": "", "info": "API endpoint URL for the Astra DB service.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": true, "multiline": false, @@ -2501,7 +2734,9 @@ "fileTypes": [], "file_path": "", "info": "The name of the collection within Astra DB where the vectors will be stored.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -2557,7 +2792,9 @@ "fileTypes": [], "file_path": "", "info": "Optional list of metadata fields to exclude from the indexing.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": true, "load_from_db": false, "multiline": false, @@ -2576,7 +2813,9 @@ "fileTypes": [], "file_path": "", "info": "Optional list of metadata fields to include in the indexing.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": true, "load_from_db": false, "multiline": false, @@ -2595,7 +2834,9 @@ "fileTypes": [], "file_path": "", "info": "Optional distance metric for vector comparisons in the vector store.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -2614,7 +2855,9 @@ "fileTypes": [], "file_path": "", "info": "Optional namespace within Astra DB to use for the collection.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -2652,12 +2895,18 @@ "fileTypes": [], "file_path": "", "info": "Configuration mode for setting up the vector store, with options like “Sync”, “Async”, or “Off”.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": true, "load_from_db": false, "multiline": false, "name": "setup_mode", - "options": ["Sync", "Async", "Off"], + "options": [ + "Sync", + "Async", + "Off" + ], "password": false, "placeholder": "", "required": false, @@ -2673,7 +2922,9 @@ "fileTypes": [], "file_path": "", "info": "Authentication token for accessing Astra DB.", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": true, "multiline": false, @@ -2709,7 +2960,9 @@ "data": { "id": "OpenAIEmbeddings-9TPjc", "node": { - "base_classes": ["Embeddings"], + "base_classes": [ + "Embeddings" + ], "beta": false, "custom_fields": { "allowed_special": null, @@ -2741,16 +2994,20 @@ "field_formatters": {}, "field_order": [], "frozen": false, - "output_types": ["Embeddings"], + "output_types": [ + "Embeddings" + ], "outputs": [ { "cache": true, "display_name": "Embeddings", - "hide": null, + "hidden": null, "method": null, "name": "embeddings", "selected": "Embeddings", - "types": ["Embeddings"], + "types": [ + "Embeddings" + ], "value": "__UNDEFINED__" } ], @@ -2763,7 +3020,9 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": true, "load_from_db": false, "multiline": false, @@ -2857,7 +3116,9 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -2877,7 +3138,9 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": true, "load_from_db": false, "multiline": false, @@ -2888,7 +3151,9 @@ "show": true, "title_case": false, "type": "str", - "value": ["all"] + "value": [ + "all" + ] }, "embedding_ctx_length": { "advanced": true, @@ -2935,7 +3200,9 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": true, "load_from_db": false, "multiline": false, @@ -2979,7 +3246,9 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -2998,7 +3267,9 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -3018,7 +3289,9 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -3037,7 +3310,9 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -3056,7 +3331,9 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -3075,7 +3352,9 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -3175,7 +3454,9 @@ "fileTypes": [], "file_path": "", "info": "", - "input_types": ["Text"], + "input_types": [ + "Text" + ], "list": false, "load_from_db": false, "multiline": false, @@ -3218,4 +3499,4 @@ "is_component": false, "last_tested_version": "1.0.0a0", "name": "Vector Store RAG" -} +} \ No newline at end of file diff --git a/src/backend/base/langflow/schema/schema.py b/src/backend/base/langflow/schema/schema.py index 4939ad82d..30a123f8a 100644 --- a/src/backend/base/langflow/schema/schema.py +++ b/src/backend/base/langflow/schema/schema.py @@ -21,16 +21,17 @@ class Log(TypedDict): def build_logs_from_artifacts(artifacts: dict) -> dict: logs = defaultdict(list) for key in artifacts: - message = artifacts[key] + message = artifacts[key]["raw"] + _type = artifacts[key]["type"] if not isinstance(message, dict): message = {"message": message} if "stream_url" in message and "type" in message: stream_url = StreamURL(location=message["stream_url"]) - log = Log(message=stream_url, type=message["type"]) - elif "type" in message: - log = Log(message=message, type=message["type"]) + log = Log(message=stream_url, type=_type) + elif _type: + log = Log(message=message, type=_type) logs[key].append(log) return logs