From deee1b56b693fa19e7356ac457ee55ce1988f250 Mon Sep 17 00:00:00 2001 From: "github-merge-queue[bot]" Date: Thu, 17 Apr 2025 15:18:14 +0000 Subject: [PATCH] deploy: 057108afc6fa5db0c7e818f7a378d8b601c82dca --- 404.html | 2 +- agents-overview.html | 2 +- agents-tool-calling-agent-component.html | 2 +- api-reference-api-examples.html | 2 +- api.html | 2 +- api/add-user.html | 2 +- api/auto-login.html | 2 +- api/build-flow.html | 2 +- api/build-public-tmp.html | 2 +- api/build-vertex-stream.html | 2 +- api/build-vertex.html | 2 +- api/cancel-build.html | 2 +- api/check-if-store-has-api-key.html | 2 +- api/check-if-store-is-enabled.html | 2 +- api/create-api-key-route.html | 2 +- api/create-flow.html | 2 +- api/create-flows.html | 2 +- api/create-folder.html | 2 +- api/create-upload-file.html | 2 +- api/create-variable.html | 2 +- api/custom-component-update.html | 2 +- api/custom-component.html | 2 +- api/delete-all-files.html | 2 +- api/delete-api-key-route.html | 2 +- api/delete-file-1.html | 2 +- api/delete-file.html | 2 +- api/delete-flow.html | 2 +- api/delete-folder.html | 2 +- api/delete-messages-session.html | 2 +- api/delete-messages.html | 2 +- api/delete-multiple-flows.html | 2 +- api/delete-user.html | 2 +- api/delete-variable.html | 2 +- api/delete-vertex-builds.html | 2 +- api/download-component.html | 2 +- api/download-file-1.html | 2 +- api/download-file-2.html | 2 +- api/download-file.html | 2 +- api/download-image.html | 2 +- api/download-multiple-file.html | 2 +- api/download-profile-picture.html | 2 +- api/edit-file-name.html | 2 +- api/experimental-run-flow.html | 2 +- api/get-all.html | 2 +- api/get-api-keys-route.html | 2 +- api/get-build-events.html | 2 +- api/get-components.html | 2 +- api/get-config.html | 2 +- api/get-elevenlabs-voice-ids.html | 2 +- api/get-list-of-components-liked-by-user.html | 2 +- api/get-messages.html | 2 +- api/get-starter-projects.html | 2 +- api/get-tags.html | 2 +- api/get-task-status.html | 2 +- api/get-transactions.html | 2 +- api/get-version.html | 2 +- api/get-vertex-builds.html | 2 +- api/handle-messages-1.html | 2 +- api/handle-messages.html | 2 +- api/handle-sse-1.html | 2 +- api/handle-sse.html | 2 +- api/health-check.html | 2 +- api/health.html | 2 +- api/like-component.html | 2 +- api/list-files-1.html | 2 +- api/list-files.html | 2 +- api/list-profile-pictures.html | 2 +- api/login-to-get-access-token.html | 2 +- api/logout.html | 2 +- api/logs.html | 2 +- api/patch-user.html | 2 +- api/post-validate-code.html | 2 +- api/post-validate-prompt.html | 2 +- api/process-1.html | 2 +- api/process.html | 2 +- api/read-all-users.html | 2 +- api/read-basic-examples.html | 2 +- api/read-current-user.html | 2 +- api/read-flow.html | 2 +- api/read-flows.html | 2 +- api/read-folder.html | 2 +- api/read-folders.html | 2 +- api/read-public-flow.html | 2 +- api/read-variables.html | 2 +- api/refresh-token.html | 2 +- api/reset-password.html | 2 +- api/retrieve-vertices-order.html | 2 +- api/save-store-api-key.html | 2 +- api/share-component.html | 2 +- api/simplified-run-flow.html | 2 +- api/stream-logs.html | 2 +- api/update-flow.html | 2 +- api/update-folder.html | 2 +- api/update-message.html | 2 +- api/update-session-id.html | 2 +- api/update-shared-component.html | 2 +- api/update-variable.html | 2 +- api/upload-file-1.html | 2 +- api/upload-file-2.html | 2 +- api/upload-file.html | 2 +- api/upload-user-file.html | 2 +- api/webhook-run-flow.html | 2 +- ...-file-67ebbb733732670897bedd9fd1b87583.png | Bin 0 -> 278862 bytes ...0d4f5.bcbaf5b9.js => 2ab0d4f5.a0e17025.js} | 2 +- assets/js/6e1a9721.7d676d9a.js | 1 + assets/js/6e1a9721.bc87c671.js | 1 - ...6a4d2.964336ad.js => e6c6a4d2.963fa205.js} | 2 +- ...n.3fd877df.js => runtime~main.e179608d.js} | 2 +- blog-writer.html | 2 +- components-agents.html | 2 +- components-bundle-components.html | 2 +- components-custom-components.html | 2 +- components-data.html | 2 +- components-embedding-models.html | 2 +- components-helpers.html | 2 +- components-io.html | 2 +- components-loaders.html | 2 +- components-logic.html | 2 +- components-memories.html | 2 +- components-models.html | 2 +- components-processing.html | 65 +++++++++++++++--- components-prompts.html | 2 +- components-tools.html | 2 +- components-vector-stores.html | 2 +- concepts-components.html | 2 +- concepts-file-management.html | 2 +- concepts-flows.html | 2 +- concepts-objects.html | 2 +- concepts-overview.html | 2 +- concepts-playground.html | 2 +- concepts-publish.html | 2 +- concepts-voice-mode.html | 2 +- configuration-api-keys.html | 2 +- configuration-authentication.html | 2 +- configuration-cli.html | 2 +- configuration-custom-database.html | 2 +- configuration-global-variables.html | 2 +- contributing-community.html | 2 +- contributing-component-tests.html | 2 +- contributing-components.html | 2 +- contributing-github-discussions.html | 2 +- contributing-github-issues.html | 2 +- contributing-how-to-contribute.html | 2 +- contributing-telemetry.html | 2 +- deployment-docker.html | 2 +- deployment-gcp.html | 2 +- deployment-hugging-face-spaces.html | 2 +- deployment-kubernetes.html | 2 +- deployment-overview.html | 2 +- deployment-railway.html | 2 +- deployment-render.html | 2 +- develop-application.html | 2 +- develop-overview.html | 2 +- document-qa.html | 2 +- environment-variables.html | 2 +- get-started-installation.html | 2 +- get-started-quickstart.html | 2 +- img/component-save-to-file.png | Bin 0 -> 278862 bytes index.html | 2 +- install-custom-dependencies.html | 2 +- integrations-apify.html | 2 +- integrations-arize.html | 2 +- integrations-assemblyai.html | 2 +- integrations-composio.html | 2 +- integrations-langfuse.html | 2 +- integrations-langsmith.html | 2 +- integrations-langwatch.html | 2 +- integrations-mcp.html | 2 +- integrations-nvidia-ingest-wsl2.html | 2 +- integrations-nvidia-ingest.html | 2 +- integrations-opik.html | 2 +- ...setup-google-cloud-vertex-ai-langflow.html | 2 +- integrations-setup-google-oauth-langflow.html | 2 +- .../notion/notion-agent-conversational.html | 2 +- .../notion/notion-agent-meeting-notes.html | 2 +- integrations/notion/setup.html | 2 +- logging.html | 2 +- luna-for-langflow.html | 2 +- mcp-component-astra.html | 2 +- memory-chatbot.html | 2 +- memory.html | 2 +- search.html | 2 +- sequential-agent.html | 2 +- session-id.html | 2 +- sitemap.xml | 2 +- starter-projects-basic-prompting.html | 2 +- starter-projects-simple-agent.html | 2 +- starter-projects-vector-store-rag.html | 2 +- travel-planning-agent.html | 2 +- webhook.html | 2 +- 190 files changed, 243 insertions(+), 194 deletions(-) create mode 100644 assets/images/component-save-to-file-67ebbb733732670897bedd9fd1b87583.png rename assets/js/{2ab0d4f5.bcbaf5b9.js => 2ab0d4f5.a0e17025.js} (51%) create mode 100644 assets/js/6e1a9721.7d676d9a.js delete mode 100644 assets/js/6e1a9721.bc87c671.js rename assets/js/{e6c6a4d2.964336ad.js => e6c6a4d2.963fa205.js} (55%) rename assets/js/{runtime~main.3fd877df.js => runtime~main.e179608d.js} (98%) create mode 100644 img/component-save-to-file.png diff --git a/404.html b/404.html index 59ee8d13d8..876954f009 100644 --- a/404.html +++ b/404.html @@ -21,7 +21,7 @@ - + diff --git a/agents-overview.html b/agents-overview.html index c86eef7591..76fbd755c6 100644 --- a/agents-overview.html +++ b/agents-overview.html @@ -21,7 +21,7 @@ - + diff --git a/agents-tool-calling-agent-component.html b/agents-tool-calling-agent-component.html index d21a35e825..eb7e47490a 100644 --- a/agents-tool-calling-agent-component.html +++ b/agents-tool-calling-agent-component.html @@ -21,7 +21,7 @@ - + diff --git a/api-reference-api-examples.html b/api-reference-api-examples.html index 3392f68d46..029cff9204 100644 --- a/api-reference-api-examples.html +++ b/api-reference-api-examples.html @@ -21,7 +21,7 @@ - + diff --git a/api.html b/api.html index d2f25f8694..930dc1560d 100644 --- a/api.html +++ b/api.html @@ -21,7 +21,7 @@ - + diff --git a/api/add-user.html b/api/add-user.html index 6dc980dd46..468ed4ac50 100644 --- a/api/add-user.html +++ b/api/add-user.html @@ -21,7 +21,7 @@ - + diff --git a/api/auto-login.html b/api/auto-login.html index 63c5ecc728..d9b0b9b2d5 100644 --- a/api/auto-login.html +++ b/api/auto-login.html @@ -21,7 +21,7 @@ - + diff --git a/api/build-flow.html b/api/build-flow.html index 3c6c4fab4e..27cc51ba4e 100644 --- a/api/build-flow.html +++ b/api/build-flow.html @@ -21,7 +21,7 @@ - + diff --git a/api/build-public-tmp.html b/api/build-public-tmp.html index 26ee196182..458a45ba50 100644 --- a/api/build-public-tmp.html +++ b/api/build-public-tmp.html @@ -21,7 +21,7 @@ - + diff --git a/api/build-vertex-stream.html b/api/build-vertex-stream.html index cabaf87798..638d7245cf 100644 --- a/api/build-vertex-stream.html +++ b/api/build-vertex-stream.html @@ -21,7 +21,7 @@ - + diff --git a/api/build-vertex.html b/api/build-vertex.html index 5494844277..796d2ae108 100644 --- a/api/build-vertex.html +++ b/api/build-vertex.html @@ -21,7 +21,7 @@ - + diff --git a/api/cancel-build.html b/api/cancel-build.html index 3ef51d148a..800e0f81a6 100644 --- a/api/cancel-build.html +++ b/api/cancel-build.html @@ -21,7 +21,7 @@ - + diff --git a/api/check-if-store-has-api-key.html b/api/check-if-store-has-api-key.html index 40bbea42ac..e5bc5c41d9 100644 --- a/api/check-if-store-has-api-key.html +++ b/api/check-if-store-has-api-key.html @@ -21,7 +21,7 @@ - + diff --git a/api/check-if-store-is-enabled.html b/api/check-if-store-is-enabled.html index a7e4eaf1a8..57f73085f3 100644 --- a/api/check-if-store-is-enabled.html +++ b/api/check-if-store-is-enabled.html @@ -21,7 +21,7 @@ - + diff --git a/api/create-api-key-route.html b/api/create-api-key-route.html index 304b4256e2..2d203fd3a9 100644 --- a/api/create-api-key-route.html +++ b/api/create-api-key-route.html @@ -21,7 +21,7 @@ - + diff --git a/api/create-flow.html b/api/create-flow.html index 3d06f5ae8c..98d222f3c4 100644 --- a/api/create-flow.html +++ b/api/create-flow.html @@ -21,7 +21,7 @@ - + diff --git a/api/create-flows.html b/api/create-flows.html index ff38657c3a..b4a611f691 100644 --- a/api/create-flows.html +++ b/api/create-flows.html @@ -21,7 +21,7 @@ - + diff --git a/api/create-folder.html b/api/create-folder.html index e71b8c8ca5..3b4fa26f1c 100644 --- a/api/create-folder.html +++ b/api/create-folder.html @@ -21,7 +21,7 @@ - + diff --git a/api/create-upload-file.html b/api/create-upload-file.html index 61f4fb7fd2..137d664040 100644 --- a/api/create-upload-file.html +++ b/api/create-upload-file.html @@ -21,7 +21,7 @@ - + diff --git a/api/create-variable.html b/api/create-variable.html index 9b4a023fc0..40635f85ee 100644 --- a/api/create-variable.html +++ b/api/create-variable.html @@ -21,7 +21,7 @@ - + diff --git a/api/custom-component-update.html b/api/custom-component-update.html index 787586122a..0908d29fd7 100644 --- a/api/custom-component-update.html +++ b/api/custom-component-update.html @@ -21,7 +21,7 @@ - + diff --git a/api/custom-component.html b/api/custom-component.html index 339ced8f5b..113fe5ba29 100644 --- a/api/custom-component.html +++ b/api/custom-component.html @@ -21,7 +21,7 @@ - + diff --git a/api/delete-all-files.html b/api/delete-all-files.html index 3d66417615..3d77977361 100644 --- a/api/delete-all-files.html +++ b/api/delete-all-files.html @@ -21,7 +21,7 @@ - + diff --git a/api/delete-api-key-route.html b/api/delete-api-key-route.html index 1476fe0d26..8c92d786c8 100644 --- a/api/delete-api-key-route.html +++ b/api/delete-api-key-route.html @@ -21,7 +21,7 @@ - + diff --git a/api/delete-file-1.html b/api/delete-file-1.html index 9d9a8403b9..e7c7012fdb 100644 --- a/api/delete-file-1.html +++ b/api/delete-file-1.html @@ -21,7 +21,7 @@ - + diff --git a/api/delete-file.html b/api/delete-file.html index 843a8a52bb..11962df776 100644 --- a/api/delete-file.html +++ b/api/delete-file.html @@ -21,7 +21,7 @@ - + diff --git a/api/delete-flow.html b/api/delete-flow.html index 847e87b0ca..fd14588633 100644 --- a/api/delete-flow.html +++ b/api/delete-flow.html @@ -21,7 +21,7 @@ - + diff --git a/api/delete-folder.html b/api/delete-folder.html index 8a2f708b60..27ed4d4d28 100644 --- a/api/delete-folder.html +++ b/api/delete-folder.html @@ -21,7 +21,7 @@ - + diff --git a/api/delete-messages-session.html b/api/delete-messages-session.html index 2adfeb6187..4748c50d96 100644 --- a/api/delete-messages-session.html +++ b/api/delete-messages-session.html @@ -21,7 +21,7 @@ - + diff --git a/api/delete-messages.html b/api/delete-messages.html index 2571963136..cc0073bc1b 100644 --- a/api/delete-messages.html +++ b/api/delete-messages.html @@ -21,7 +21,7 @@ - + diff --git a/api/delete-multiple-flows.html b/api/delete-multiple-flows.html index 2ea02e4006..29743ecbf7 100644 --- a/api/delete-multiple-flows.html +++ b/api/delete-multiple-flows.html @@ -21,7 +21,7 @@ - + diff --git a/api/delete-user.html b/api/delete-user.html index 9031aeaf3d..9cb40ee359 100644 --- a/api/delete-user.html +++ b/api/delete-user.html @@ -21,7 +21,7 @@ - + diff --git a/api/delete-variable.html b/api/delete-variable.html index 51b0f33a9c..f39ff0b58e 100644 --- a/api/delete-variable.html +++ b/api/delete-variable.html @@ -21,7 +21,7 @@ - + diff --git a/api/delete-vertex-builds.html b/api/delete-vertex-builds.html index 0fa8ee9836..767a1fda02 100644 --- a/api/delete-vertex-builds.html +++ b/api/delete-vertex-builds.html @@ -21,7 +21,7 @@ - + diff --git a/api/download-component.html b/api/download-component.html index b050c41b03..d0c949d75f 100644 --- a/api/download-component.html +++ b/api/download-component.html @@ -21,7 +21,7 @@ - + diff --git a/api/download-file-1.html b/api/download-file-1.html index 35e9ea8e6f..f01109860c 100644 --- a/api/download-file-1.html +++ b/api/download-file-1.html @@ -21,7 +21,7 @@ - + diff --git a/api/download-file-2.html b/api/download-file-2.html index 11f6cbdb8b..f4237d33fd 100644 --- a/api/download-file-2.html +++ b/api/download-file-2.html @@ -21,7 +21,7 @@ - + diff --git a/api/download-file.html b/api/download-file.html index 03cfe3af0f..a99e8703b0 100644 --- a/api/download-file.html +++ b/api/download-file.html @@ -21,7 +21,7 @@ - + diff --git a/api/download-image.html b/api/download-image.html index 1df804e445..5a43ad9b14 100644 --- a/api/download-image.html +++ b/api/download-image.html @@ -21,7 +21,7 @@ - + diff --git a/api/download-multiple-file.html b/api/download-multiple-file.html index 7d824721df..ee5f91a33d 100644 --- a/api/download-multiple-file.html +++ b/api/download-multiple-file.html @@ -21,7 +21,7 @@ - + diff --git a/api/download-profile-picture.html b/api/download-profile-picture.html index 24e30dee9e..1a1ea3f8c8 100644 --- a/api/download-profile-picture.html +++ b/api/download-profile-picture.html @@ -21,7 +21,7 @@ - + diff --git a/api/edit-file-name.html b/api/edit-file-name.html index 1c0b9ce317..2714c890b6 100644 --- a/api/edit-file-name.html +++ b/api/edit-file-name.html @@ -21,7 +21,7 @@ - + diff --git a/api/experimental-run-flow.html b/api/experimental-run-flow.html index d72d382db1..094dac73e0 100644 --- a/api/experimental-run-flow.html +++ b/api/experimental-run-flow.html @@ -21,7 +21,7 @@ - + diff --git a/api/get-all.html b/api/get-all.html index e02bd8db16..ef47bc8a65 100644 --- a/api/get-all.html +++ b/api/get-all.html @@ -21,7 +21,7 @@ - + diff --git a/api/get-api-keys-route.html b/api/get-api-keys-route.html index 2a9fa2aea0..6b9fa8a570 100644 --- a/api/get-api-keys-route.html +++ b/api/get-api-keys-route.html @@ -21,7 +21,7 @@ - + diff --git a/api/get-build-events.html b/api/get-build-events.html index 5704a4723c..5bc8387976 100644 --- a/api/get-build-events.html +++ b/api/get-build-events.html @@ -21,7 +21,7 @@ - + diff --git a/api/get-components.html b/api/get-components.html index b30ae6b63b..4db4f9e066 100644 --- a/api/get-components.html +++ b/api/get-components.html @@ -21,7 +21,7 @@ - + diff --git a/api/get-config.html b/api/get-config.html index 59960bf495..e034ad4bc7 100644 --- a/api/get-config.html +++ b/api/get-config.html @@ -21,7 +21,7 @@ - + diff --git a/api/get-elevenlabs-voice-ids.html b/api/get-elevenlabs-voice-ids.html index 0f815aa0f0..e7cf781c31 100644 --- a/api/get-elevenlabs-voice-ids.html +++ b/api/get-elevenlabs-voice-ids.html @@ -21,7 +21,7 @@ - + diff --git a/api/get-list-of-components-liked-by-user.html b/api/get-list-of-components-liked-by-user.html index 6ab0e468b8..7ddb3c5571 100644 --- a/api/get-list-of-components-liked-by-user.html +++ b/api/get-list-of-components-liked-by-user.html @@ -21,7 +21,7 @@ - + diff --git a/api/get-messages.html b/api/get-messages.html index d1e6068060..6a05b6aab0 100644 --- a/api/get-messages.html +++ b/api/get-messages.html @@ -21,7 +21,7 @@ - + diff --git a/api/get-starter-projects.html b/api/get-starter-projects.html index 6711bfd6dd..5366f64da6 100644 --- a/api/get-starter-projects.html +++ b/api/get-starter-projects.html @@ -21,7 +21,7 @@ - + diff --git a/api/get-tags.html b/api/get-tags.html index 3a2ebdef06..a88b2927e1 100644 --- a/api/get-tags.html +++ b/api/get-tags.html @@ -21,7 +21,7 @@ - + diff --git a/api/get-task-status.html b/api/get-task-status.html index a21e75fcaa..f9f62525f5 100644 --- a/api/get-task-status.html +++ b/api/get-task-status.html @@ -21,7 +21,7 @@ - + diff --git a/api/get-transactions.html b/api/get-transactions.html index cdc89e3433..8b018a082a 100644 --- a/api/get-transactions.html +++ b/api/get-transactions.html @@ -21,7 +21,7 @@ - + diff --git a/api/get-version.html b/api/get-version.html index aa717177c8..a9d3638209 100644 --- a/api/get-version.html +++ b/api/get-version.html @@ -21,7 +21,7 @@ - + diff --git a/api/get-vertex-builds.html b/api/get-vertex-builds.html index 2c622891c5..91d3377b11 100644 --- a/api/get-vertex-builds.html +++ b/api/get-vertex-builds.html @@ -21,7 +21,7 @@ - + diff --git a/api/handle-messages-1.html b/api/handle-messages-1.html index 54e5e3de15..4753e3533f 100644 --- a/api/handle-messages-1.html +++ b/api/handle-messages-1.html @@ -21,7 +21,7 @@ - + diff --git a/api/handle-messages.html b/api/handle-messages.html index 26379a3ee5..fa8cd99e23 100644 --- a/api/handle-messages.html +++ b/api/handle-messages.html @@ -21,7 +21,7 @@ - + diff --git a/api/handle-sse-1.html b/api/handle-sse-1.html index 9988675ef6..773d71decd 100644 --- a/api/handle-sse-1.html +++ b/api/handle-sse-1.html @@ -21,7 +21,7 @@ - + diff --git a/api/handle-sse.html b/api/handle-sse.html index e405f5c425..ce6a3b9075 100644 --- a/api/handle-sse.html +++ b/api/handle-sse.html @@ -21,7 +21,7 @@ - + diff --git a/api/health-check.html b/api/health-check.html index 2e2c6eb3ed..2e989af47e 100644 --- a/api/health-check.html +++ b/api/health-check.html @@ -21,7 +21,7 @@ - + diff --git a/api/health.html b/api/health.html index f2923290fc..e66e9d0937 100644 --- a/api/health.html +++ b/api/health.html @@ -21,7 +21,7 @@ - + diff --git a/api/like-component.html b/api/like-component.html index bc848e83ac..892b32f8a4 100644 --- a/api/like-component.html +++ b/api/like-component.html @@ -21,7 +21,7 @@ - + diff --git a/api/list-files-1.html b/api/list-files-1.html index 74d7a7d47a..c98b8e4121 100644 --- a/api/list-files-1.html +++ b/api/list-files-1.html @@ -21,7 +21,7 @@ - + diff --git a/api/list-files.html b/api/list-files.html index 3a736e7876..2b86e366fd 100644 --- a/api/list-files.html +++ b/api/list-files.html @@ -21,7 +21,7 @@ - + diff --git a/api/list-profile-pictures.html b/api/list-profile-pictures.html index 4c74b19b63..ce4cb4f021 100644 --- a/api/list-profile-pictures.html +++ b/api/list-profile-pictures.html @@ -21,7 +21,7 @@ - + diff --git a/api/login-to-get-access-token.html b/api/login-to-get-access-token.html index 6139769ce9..6e0f83e9d8 100644 --- a/api/login-to-get-access-token.html +++ b/api/login-to-get-access-token.html @@ -21,7 +21,7 @@ - + diff --git a/api/logout.html b/api/logout.html index c85af3ac92..71b6564afe 100644 --- a/api/logout.html +++ b/api/logout.html @@ -21,7 +21,7 @@ - + diff --git a/api/logs.html b/api/logs.html index 8364390aa1..47a646c7fe 100644 --- a/api/logs.html +++ b/api/logs.html @@ -21,7 +21,7 @@ - + diff --git a/api/patch-user.html b/api/patch-user.html index a5482e2fc4..fe00c81ad8 100644 --- a/api/patch-user.html +++ b/api/patch-user.html @@ -21,7 +21,7 @@ - + diff --git a/api/post-validate-code.html b/api/post-validate-code.html index eb90c029c4..30eda4c34e 100644 --- a/api/post-validate-code.html +++ b/api/post-validate-code.html @@ -21,7 +21,7 @@ - + diff --git a/api/post-validate-prompt.html b/api/post-validate-prompt.html index c6f5332b6f..b06d335c15 100644 --- a/api/post-validate-prompt.html +++ b/api/post-validate-prompt.html @@ -21,7 +21,7 @@ - + diff --git a/api/process-1.html b/api/process-1.html index a302f231f0..ba9e41f1e1 100644 --- a/api/process-1.html +++ b/api/process-1.html @@ -21,7 +21,7 @@ - + diff --git a/api/process.html b/api/process.html index 0d78a748dc..6f686da486 100644 --- a/api/process.html +++ b/api/process.html @@ -21,7 +21,7 @@ - + diff --git a/api/read-all-users.html b/api/read-all-users.html index 8e073576d9..f774e3655f 100644 --- a/api/read-all-users.html +++ b/api/read-all-users.html @@ -21,7 +21,7 @@ - + diff --git a/api/read-basic-examples.html b/api/read-basic-examples.html index b6631b342c..83c6dedace 100644 --- a/api/read-basic-examples.html +++ b/api/read-basic-examples.html @@ -21,7 +21,7 @@ - + diff --git a/api/read-current-user.html b/api/read-current-user.html index 0d59c79532..79e273257e 100644 --- a/api/read-current-user.html +++ b/api/read-current-user.html @@ -21,7 +21,7 @@ - + diff --git a/api/read-flow.html b/api/read-flow.html index 1a717aab3b..dc5dc5a991 100644 --- a/api/read-flow.html +++ b/api/read-flow.html @@ -21,7 +21,7 @@ - + diff --git a/api/read-flows.html b/api/read-flows.html index f8e61fd955..57d008aa36 100644 --- a/api/read-flows.html +++ b/api/read-flows.html @@ -21,7 +21,7 @@ - + diff --git a/api/read-folder.html b/api/read-folder.html index f8dffbca2e..0412b1bf28 100644 --- a/api/read-folder.html +++ b/api/read-folder.html @@ -21,7 +21,7 @@ - + diff --git a/api/read-folders.html b/api/read-folders.html index ce50124428..26550213ba 100644 --- a/api/read-folders.html +++ b/api/read-folders.html @@ -21,7 +21,7 @@ - + diff --git a/api/read-public-flow.html b/api/read-public-flow.html index 2888626d63..5f4a9067a6 100644 --- a/api/read-public-flow.html +++ b/api/read-public-flow.html @@ -21,7 +21,7 @@ - + diff --git a/api/read-variables.html b/api/read-variables.html index b984d3ca94..90f852f8b8 100644 --- a/api/read-variables.html +++ b/api/read-variables.html @@ -21,7 +21,7 @@ - + diff --git a/api/refresh-token.html b/api/refresh-token.html index 9e79eb817c..7406495dc3 100644 --- a/api/refresh-token.html +++ b/api/refresh-token.html @@ -21,7 +21,7 @@ - + diff --git a/api/reset-password.html b/api/reset-password.html index 94a98b7880..a4422def18 100644 --- a/api/reset-password.html +++ b/api/reset-password.html @@ -21,7 +21,7 @@ - + diff --git a/api/retrieve-vertices-order.html b/api/retrieve-vertices-order.html index fb08fdec31..7d7a07c5b6 100644 --- a/api/retrieve-vertices-order.html +++ b/api/retrieve-vertices-order.html @@ -21,7 +21,7 @@ - + diff --git a/api/save-store-api-key.html b/api/save-store-api-key.html index 59b743b16c..c6db4a67f7 100644 --- a/api/save-store-api-key.html +++ b/api/save-store-api-key.html @@ -21,7 +21,7 @@ - + diff --git a/api/share-component.html b/api/share-component.html index 772e0a60b4..c3c9a227ff 100644 --- a/api/share-component.html +++ b/api/share-component.html @@ -21,7 +21,7 @@ - + diff --git a/api/simplified-run-flow.html b/api/simplified-run-flow.html index b01e467834..28f4e791d5 100644 --- a/api/simplified-run-flow.html +++ b/api/simplified-run-flow.html @@ -21,7 +21,7 @@ - + diff --git a/api/stream-logs.html b/api/stream-logs.html index 657ed48071..4006b050e4 100644 --- a/api/stream-logs.html +++ b/api/stream-logs.html @@ -21,7 +21,7 @@ - + diff --git a/api/update-flow.html b/api/update-flow.html index 3e979d5b30..8b2d1c1cbc 100644 --- a/api/update-flow.html +++ b/api/update-flow.html @@ -21,7 +21,7 @@ - + diff --git a/api/update-folder.html b/api/update-folder.html index c4f50e0a4e..e31b881bc5 100644 --- a/api/update-folder.html +++ b/api/update-folder.html @@ -21,7 +21,7 @@ - + diff --git a/api/update-message.html b/api/update-message.html index 5fb267ae57..c7c47ce681 100644 --- a/api/update-message.html +++ b/api/update-message.html @@ -21,7 +21,7 @@ - + diff --git a/api/update-session-id.html b/api/update-session-id.html index 551631c4e6..80d6f54661 100644 --- a/api/update-session-id.html +++ b/api/update-session-id.html @@ -21,7 +21,7 @@ - + diff --git a/api/update-shared-component.html b/api/update-shared-component.html index 2b9bb03e00..0afef01d9a 100644 --- a/api/update-shared-component.html +++ b/api/update-shared-component.html @@ -21,7 +21,7 @@ - + diff --git a/api/update-variable.html b/api/update-variable.html index 82b30bba54..75e741f47e 100644 --- a/api/update-variable.html +++ b/api/update-variable.html @@ -21,7 +21,7 @@ - + diff --git a/api/upload-file-1.html b/api/upload-file-1.html index 7a4d1b27df..efe403fe10 100644 --- a/api/upload-file-1.html +++ b/api/upload-file-1.html @@ -21,7 +21,7 @@ - + diff --git a/api/upload-file-2.html b/api/upload-file-2.html index 7757fdd086..9881233ead 100644 --- a/api/upload-file-2.html +++ b/api/upload-file-2.html @@ -21,7 +21,7 @@ - + diff --git a/api/upload-file.html b/api/upload-file.html index e436e6f23c..7839efd6be 100644 --- a/api/upload-file.html +++ b/api/upload-file.html @@ -21,7 +21,7 @@ - + diff --git a/api/upload-user-file.html b/api/upload-user-file.html index 7e7ea37b1b..543d2c4abe 100644 --- a/api/upload-user-file.html +++ b/api/upload-user-file.html @@ -21,7 +21,7 @@ - + diff --git a/api/webhook-run-flow.html b/api/webhook-run-flow.html index 636aef8278..1824ed77d3 100644 --- a/api/webhook-run-flow.html +++ b/api/webhook-run-flow.html @@ -21,7 +21,7 @@ - + diff --git a/assets/images/component-save-to-file-67ebbb733732670897bedd9fd1b87583.png b/assets/images/component-save-to-file-67ebbb733732670897bedd9fd1b87583.png new file mode 100644 index 0000000000000000000000000000000000000000..c767c10b96a203f7684f8ccf04110b714a89682f GIT binary patch literal 278862 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%0DWYImPePP1)$Gpd8uCese&(<8pB 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 B{t.d(n,{R:()=>a,x:()=>o});var i=t(96540);const s={},r=i.createContext(s);function a(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),i.createElement(r.Provider,{value:n},e.children)}},83640:(e,n,t)=>{t.r(n),t.d(n,{contentTitle:()=>o,default:()=>c,frontMatter:()=>a,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"type":"api","id":"simplified-run-flow","title":"Simplified Run Flow","description":"","slug":"/simplified-run-flow","frontMatter":{},"api":{"tags":["Base"],"description":"Executes a specified flow by ID with support for streaming and telemetry.\\n\\nThis endpoint executes a flow identified by ID or name, with options for streaming the response\\nand tracking execution metrics. It handles both streaming and non-streaming execution modes.\\n\\nArgs:\\n background_tasks (BackgroundTasks): FastAPI background task manager\\n flow (FlowRead | None): The flow to execute, loaded via dependency\\n input_request (SimplifiedAPIRequest | None): Input parameters for the flow\\n stream (bool): Whether to stream the response\\n api_key_user (UserRead): Authenticated user from API key\\n request (Request): The incoming HTTP request\\n\\nReturns:\\n Union[StreamingResponse, RunResponse]: Either a streaming response for real-time results\\n or a RunResponse with the complete execution results\\n\\nRaises:\\n HTTPException: For flow not found (404) or invalid input (400)\\n APIException: For internal execution errors (500)\\n\\nNotes:\\n - Supports both streaming and non-streaming execution modes\\n - Tracks execution time and success/failure via telemetry\\n - Handles graceful client disconnection in streaming mode\\n - Provides detailed error handling with appropriate HTTP status codes\\n - In streaming mode, uses EventManager to handle events:\\n - \\"add_message\\": New messages during execution\\n - \\"token\\": Individual tokens during streaming\\n - \\"end\\": Final execution result","operationId":"simplified_run_flow_api_v1_run__flow_id_or_name__post","security":[{"API key query":[]},{"API key header":[]}],"parameters":[{"name":"flow_id_or_name","in":"path","required":true,"schema":{"type":"string","title":"Flow Id Or Name"}},{"name":"stream","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Stream"}},{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"properties":{"input_value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input Value","description":"The input value"},"input_type":{"anyOf":[{"type":"string","enum":["chat","text","any"]},{"type":"null"}],"title":"Input Type","description":"The input type","default":"chat"},"output_type":{"anyOf":[{"type":"string","enum":["chat","text","any","debug"]},{"type":"null"}],"title":"Output Type","description":"The output type","default":"chat"},"output_component":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output Component","description":"If there are multiple output components, you can specify the component to get the output from.","default":""},"tweaks":{"anyOf":[{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"object"}]},"type":"object","title":"Tweaks","description":"A dictionary of tweaks to adjust the flow\'s execution. Allows customizing flow behavior dynamically. All tweaks are overridden by the input values.","examples":[{"Component Name":{"parameter_name":"value"},"component_id":{"parameter_name":"value"},"parameter_name":"value"}]},{"type":"null"}],"description":"The tweaks"},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id","description":"The session id"}},"type":"object","title":"SimplifiedAPIRequest"},{"type":"null"}],"title":"Input Request"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"}}}}},"method":"post","path":"/api/v1/run/{flow_id_or_name}","securitySchemes":{"OAuth2PasswordBearer":{"type":"oauth2","flows":{"password":{"scopes":{},"tokenUrl":"api/v1/login"}}},"API key query":{"type":"apiKey","in":"query","name":"x-api-key"},"API key header":{"type":"apiKey","in":"header","name":"x-api-key"}},"info":{"title":"Langflow","version":"1.3.2"},"postman":{"name":"Simplified Run Flow","description":{"content":"Executes a specified flow by ID with support for streaming and telemetry.\\n\\nThis endpoint executes a flow identified by ID or name, with options for streaming the response\\nand tracking execution metrics. It handles both streaming and non-streaming execution modes.\\n\\nArgs:\\n background_tasks (BackgroundTasks): FastAPI background task manager\\n flow (FlowRead | None): The flow to execute, loaded via dependency\\n input_request (SimplifiedAPIRequest | None): Input parameters for the flow\\n stream (bool): Whether to stream the response\\n api_key_user (UserRead): Authenticated user from API key\\n request (Request): The incoming HTTP request\\n\\nReturns:\\n Union[StreamingResponse, RunResponse]: Either a streaming response for real-time results\\n or a RunResponse with the complete execution results\\n\\nRaises:\\n HTTPException: For flow not found (404) or invalid input (400)\\n APIException: For internal execution errors (500)\\n\\nNotes:\\n - Supports both streaming and non-streaming execution modes\\n - Tracks execution time and success/failure via telemetry\\n - Handles graceful client disconnection in streaming mode\\n - Provides detailed error handling with appropriate HTTP status codes\\n - In streaming mode, uses EventManager to handle events:\\n - \\"add_message\\": New messages during execution\\n - \\"token\\": Individual tokens during streaming\\n - \\"end\\": Final execution result","type":"text/plain"},"url":{"path":["api","v1","run",":flow_id_or_name"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"key":"stream","value":"false"},{"disabled":false,"key":"user_id","value":""}],"variable":[{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"flow_id_or_name"}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"{\\n \\"input_value\\": \\"\\",\\n \\"input_type\\": \\"\\",\\n \\"output_type\\": \\"\\",\\n \\"output_component\\": \\"\\",\\n \\"tweaks\\": {\\n \\"consequatcb\\": \\"\\",\\n \\"sunt6\\": \\"\\",\\n \\"dolor_eee\\": \\"\\"\\n },\\n \\"session_id\\": \\"\\"\\n}","options":{"raw":{"language":"json"}}},"auth":{"type":"apikey","apikey":[{"type":"any","value":"x-api-key","key":"key"},{"type":"any","value":"{{apiKey}}","key":"value"},{"type":"any","value":"query","key":"in"}]}}},"source":"@site/openapi.json","sourceDirName":".","permalink":"/api/simplified-run-flow","previous":{"title":"Get All","permalink":"/api/get-all"},"next":{"title":"Webhook Run Flow","permalink":"/api/webhook-run-flow"}}');var s=t(74848),r=t(28453);const a={},o="Simplified Run Flow",l=[];function d(e){const n={h1:"h1",header:"header",li:"li",p:"p",ul:"ul",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"simplified-run-flow",children:"Simplified Run Flow"})}),"\n",(0,s.jsx)(n.p,{children:"Executes a specified flow by ID with support for streaming and telemetry."}),"\n",(0,s.jsx)(n.p,{children:"This endpoint executes a flow identified by ID or name, with options for streaming the response\nand tracking execution metrics. It handles both streaming and non-streaming execution modes."}),"\n",(0,s.jsx)(n.p,{children:"Args:\nbackground_tasks (BackgroundTasks): FastAPI background task manager\nflow (FlowRead | None): The flow to execute, loaded via dependency\ninput_request (SimplifiedAPIRequest | None): Input parameters for the flow\nstream (bool): Whether to stream the response\napi_key_user (UserRead): Authenticated user from API key\nrequest (Request): The incoming HTTP request"}),"\n",(0,s.jsx)(n.p,{children:"Returns:\nUnion[StreamingResponse, RunResponse]: Either a streaming response for real-time results\nor a RunResponse with the complete execution results"}),"\n",(0,s.jsx)(n.p,{children:"Raises:\nHTTPException: For flow not found (404) or invalid input (400)\nAPIException: For internal execution errors (500)"}),"\n",(0,s.jsx)(n.p,{children:"Notes:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Supports both streaming and non-streaming execution modes"}),"\n",(0,s.jsx)(n.li,{children:"Tracks execution time and success/failure via telemetry"}),"\n",(0,s.jsx)(n.li,{children:"Handles graceful client disconnection in streaming mode"}),"\n",(0,s.jsx)(n.li,{children:"Provides detailed error handling with appropriate HTTP status codes"}),"\n",(0,s.jsxs)(n.li,{children:["In streaming mode, uses EventManager to handle events:","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:'"add_message": New messages during execution'}),"\n",(0,s.jsx)(n.li,{children:'"token": Individual tokens during streaming'}),"\n",(0,s.jsx)(n.li,{children:'"end": Final execution result'}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)("table",{style:{display:"table",width:"100%"},children:[(0,s.jsx)("thead",{children:(0,s.jsx)("tr",{children:(0,s.jsx)("th",{style:{textAlign:"left"},children:"Path Parameters"})})}),(0,s.jsx)("tbody",{children:(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsx)("code",{children:"flow_id_or_name"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" Flow Id Or Name"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,s.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-required)"},children:" REQUIRED"})]})})})]}),"\n",(0,s.jsxs)("table",{style:{display:"table",width:"100%"},children:[(0,s.jsx)("thead",{children:(0,s.jsx)("tr",{children:(0,s.jsx)("th",{style:{textAlign:"left"},children:"Query Parameters"})})}),(0,s.jsxs)("tbody",{children:[(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsx)("code",{children:"stream"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" Stream"})]})}),(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsx)("code",{children:"user_id"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" User Id"})]})})]})]}),"\n",(0,s.jsxs)("table",{style:{display:"table",width:"100%"},children:[(0,s.jsx)("thead",{children:(0,s.jsx)("tr",{children:(0,s.jsxs)("th",{style:{textAlign:"left"},children:[(0,s.jsx)("span",{children:"Request Body "}),(0,s.jsx)("div",{})]})})}),(0,s.jsx)("tbody",{children:(0,s.jsx)("tr",{children:(0,s.jsx)("td",{children:(0,s.jsx)("span",{style:{opacity:"0.6"},children:" undefined"})})})})]}),"\n",(0,s.jsxs)("table",{style:{display:"table",width:"100%"},children:[(0,s.jsx)("thead",{children:(0,s.jsx)("tr",{children:(0,s.jsx)("th",{style:{textAlign:"left"},children:"Responses"})})}),(0,s.jsxs)("tbody",{children:[(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsxs)("div",{style:{display:"flex"},children:[(0,s.jsx)("div",{style:{marginRight:"var(--ifm-table-cell-padding)"},children:(0,s.jsx)("code",{children:"200"})}),(0,s.jsx)("div",{children:(0,s.jsx)(n.p,{children:"Successful Response"})})]}),(0,s.jsx)("div",{children:(0,s.jsxs)("table",{style:{display:"table",width:"100%",marginTop:"var(--ifm-table-cell-padding)",marginBottom:"0px"},children:[(0,s.jsx)("thead",{children:(0,s.jsx)("tr",{children:(0,s.jsxs)("th",{style:{textAlign:"left"},children:[(0,s.jsx)("span",{children:"Schema "}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,s.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"}),(0,s.jsx)("div",{})]})})}),(0,s.jsx)("tbody",{children:(0,s.jsx)("tr",{children:(0,s.jsx)("td",{children:(0,s.jsx)("span",{style:{opacity:"0.6"},children:" undefined"})})})})]})})]})}),(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsxs)("div",{style:{display:"flex"},children:[(0,s.jsx)("div",{style:{marginRight:"var(--ifm-table-cell-padding)"},children:(0,s.jsx)("code",{children:"422"})}),(0,s.jsx)("div",{children:(0,s.jsx)(n.p,{children:"Validation Error"})})]}),(0,s.jsx)("div",{children:(0,s.jsxs)("table",{style:{display:"table",width:"100%",marginTop:"var(--ifm-table-cell-padding)",marginBottom:"0px"},children:[(0,s.jsx)("thead",{children:(0,s.jsx)("tr",{children:(0,s.jsxs)("th",{style:{textAlign:"left"},children:[(0,s.jsx)("span",{children:"Schema "}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,s.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"}),(0,s.jsx)("div",{})]})})}),(0,s.jsx)("tbody",{children:(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsx)("code",{children:"detail"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" object[]"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,s.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"}),(0,s.jsx)("table",{style:{display:"table",width:"100%",marginTop:"var(--ifm-table-cell-padding)",marginBottom:"0px"},children:(0,s.jsxs)("tbody",{children:[(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsx)("code",{children:"loc"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" undefined[]"})]})}),(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsx)("code",{children:"msg"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" Message"})]})}),(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsx)("code",{children:"type"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" Error Type"})]})})]})})]})})})]})})]})})]})]})]})}function c(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}}}]); \ No newline at end of file +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[1845],{28453:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>o});var i=t(96540);const s={},r=i.createContext(s);function a(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),i.createElement(r.Provider,{value:n},e.children)}},83640:(e,n,t)=>{t.r(n),t.d(n,{contentTitle:()=>o,default:()=>c,frontMatter:()=>a,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"type":"api","id":"simplified-run-flow","title":"Simplified Run Flow","description":"","slug":"/simplified-run-flow","frontMatter":{},"api":{"tags":["Base"],"description":"Executes a specified flow by ID with support for streaming and telemetry.\\n\\nThis endpoint executes a flow identified by ID or name, with options for streaming the response\\nand tracking execution metrics. It handles both streaming and non-streaming execution modes.\\n\\nArgs:\\n background_tasks (BackgroundTasks): FastAPI background task manager\\n flow (FlowRead | None): The flow to execute, loaded via dependency\\n input_request (SimplifiedAPIRequest | None): Input parameters for the flow\\n stream (bool): Whether to stream the response\\n api_key_user (UserRead): Authenticated user from API key\\n request (Request): The incoming HTTP request\\n\\nReturns:\\n Union[StreamingResponse, RunResponse]: Either a streaming response for real-time results\\n or a RunResponse with the complete execution results\\n\\nRaises:\\n HTTPException: For flow not found (404) or invalid input (400)\\n APIException: For internal execution errors (500)\\n\\nNotes:\\n - Supports both streaming and non-streaming execution modes\\n - Tracks execution time and success/failure via telemetry\\n - Handles graceful client disconnection in streaming mode\\n - Provides detailed error handling with appropriate HTTP status codes\\n - In streaming mode, uses EventManager to handle events:\\n - \\"add_message\\": New messages during execution\\n - \\"token\\": Individual tokens during streaming\\n - \\"end\\": Final execution result","operationId":"simplified_run_flow_api_v1_run__flow_id_or_name__post","security":[{"API key query":[]},{"API key header":[]}],"parameters":[{"name":"flow_id_or_name","in":"path","required":true,"schema":{"type":"string","title":"Flow Id Or Name"}},{"name":"stream","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Stream"}},{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"properties":{"input_value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input Value","description":"The input value"},"input_type":{"anyOf":[{"type":"string","enum":["chat","text","any"]},{"type":"null"}],"title":"Input Type","description":"The input type","default":"chat"},"output_type":{"anyOf":[{"type":"string","enum":["chat","text","any","debug"]},{"type":"null"}],"title":"Output Type","description":"The output type","default":"chat"},"output_component":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output Component","description":"If there are multiple output components, you can specify the component to get the output from.","default":""},"tweaks":{"anyOf":[{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"object"}]},"type":"object","title":"Tweaks","description":"A dictionary of tweaks to adjust the flow\'s execution. Allows customizing flow behavior dynamically. All tweaks are overridden by the input values.","examples":[{"Component Name":{"parameter_name":"value"},"component_id":{"parameter_name":"value"},"parameter_name":"value"}]},{"type":"null"}],"description":"The tweaks"},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id","description":"The session id"}},"type":"object","title":"SimplifiedAPIRequest"},{"type":"null"}],"title":"Input Request"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"}}}}},"method":"post","path":"/api/v1/run/{flow_id_or_name}","securitySchemes":{"OAuth2PasswordBearer":{"type":"oauth2","flows":{"password":{"scopes":{},"tokenUrl":"api/v1/login"}}},"API key query":{"type":"apiKey","in":"query","name":"x-api-key"},"API key header":{"type":"apiKey","in":"header","name":"x-api-key"}},"info":{"title":"Langflow","version":"1.3.2"},"postman":{"name":"Simplified Run Flow","description":{"content":"Executes a specified flow by ID with support for streaming and telemetry.\\n\\nThis endpoint executes a flow identified by ID or name, with options for streaming the response\\nand tracking execution metrics. It handles both streaming and non-streaming execution modes.\\n\\nArgs:\\n background_tasks (BackgroundTasks): FastAPI background task manager\\n flow (FlowRead | None): The flow to execute, loaded via dependency\\n input_request (SimplifiedAPIRequest | None): Input parameters for the flow\\n stream (bool): Whether to stream the response\\n api_key_user (UserRead): Authenticated user from API key\\n request (Request): The incoming HTTP request\\n\\nReturns:\\n Union[StreamingResponse, RunResponse]: Either a streaming response for real-time results\\n or a RunResponse with the complete execution results\\n\\nRaises:\\n HTTPException: For flow not found (404) or invalid input (400)\\n APIException: For internal execution errors (500)\\n\\nNotes:\\n - Supports both streaming and non-streaming execution modes\\n - Tracks execution time and success/failure via telemetry\\n - Handles graceful client disconnection in streaming mode\\n - Provides detailed error handling with appropriate HTTP status codes\\n - In streaming mode, uses EventManager to handle events:\\n - \\"add_message\\": New messages during execution\\n - \\"token\\": Individual tokens during streaming\\n - \\"end\\": Final execution result","type":"text/plain"},"url":{"path":["api","v1","run",":flow_id_or_name"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"key":"stream","value":"false"},{"disabled":false,"key":"user_id","value":""}],"variable":[{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"flow_id_or_name"}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"{\\n \\"input_value\\": \\"\\",\\n \\"input_type\\": \\"\\",\\n \\"output_type\\": \\"\\",\\n \\"output_component\\": \\"\\",\\n \\"tweaks\\": {\\n \\"mollit_804\\": \\"\\",\\n \\"tempor1\\": \\"\\"\\n },\\n \\"session_id\\": \\"\\"\\n}","options":{"raw":{"language":"json"}}},"auth":{"type":"apikey","apikey":[{"type":"any","value":"x-api-key","key":"key"},{"type":"any","value":"{{apiKey}}","key":"value"},{"type":"any","value":"query","key":"in"}]}}},"source":"@site/openapi.json","sourceDirName":".","permalink":"/api/simplified-run-flow","previous":{"title":"Get All","permalink":"/api/get-all"},"next":{"title":"Webhook Run Flow","permalink":"/api/webhook-run-flow"}}');var s=t(74848),r=t(28453);const a={},o="Simplified Run Flow",l=[];function d(e){const n={h1:"h1",header:"header",li:"li",p:"p",ul:"ul",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"simplified-run-flow",children:"Simplified Run Flow"})}),"\n",(0,s.jsx)(n.p,{children:"Executes a specified flow by ID with support for streaming and telemetry."}),"\n",(0,s.jsx)(n.p,{children:"This endpoint executes a flow identified by ID or name, with options for streaming the response\nand tracking execution metrics. It handles both streaming and non-streaming execution modes."}),"\n",(0,s.jsx)(n.p,{children:"Args:\nbackground_tasks (BackgroundTasks): FastAPI background task manager\nflow (FlowRead | None): The flow to execute, loaded via dependency\ninput_request (SimplifiedAPIRequest | None): Input parameters for the flow\nstream (bool): Whether to stream the response\napi_key_user (UserRead): Authenticated user from API key\nrequest (Request): The incoming HTTP request"}),"\n",(0,s.jsx)(n.p,{children:"Returns:\nUnion[StreamingResponse, RunResponse]: Either a streaming response for real-time results\nor a RunResponse with the complete execution results"}),"\n",(0,s.jsx)(n.p,{children:"Raises:\nHTTPException: For flow not found (404) or invalid input (400)\nAPIException: For internal execution errors (500)"}),"\n",(0,s.jsx)(n.p,{children:"Notes:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Supports both streaming and non-streaming execution modes"}),"\n",(0,s.jsx)(n.li,{children:"Tracks execution time and success/failure via telemetry"}),"\n",(0,s.jsx)(n.li,{children:"Handles graceful client disconnection in streaming mode"}),"\n",(0,s.jsx)(n.li,{children:"Provides detailed error handling with appropriate HTTP status codes"}),"\n",(0,s.jsxs)(n.li,{children:["In streaming mode, uses EventManager to handle events:","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:'"add_message": New messages during execution'}),"\n",(0,s.jsx)(n.li,{children:'"token": Individual tokens during streaming'}),"\n",(0,s.jsx)(n.li,{children:'"end": Final execution result'}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)("table",{style:{display:"table",width:"100%"},children:[(0,s.jsx)("thead",{children:(0,s.jsx)("tr",{children:(0,s.jsx)("th",{style:{textAlign:"left"},children:"Path Parameters"})})}),(0,s.jsx)("tbody",{children:(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsx)("code",{children:"flow_id_or_name"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" Flow Id Or Name"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,s.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-required)"},children:" REQUIRED"})]})})})]}),"\n",(0,s.jsxs)("table",{style:{display:"table",width:"100%"},children:[(0,s.jsx)("thead",{children:(0,s.jsx)("tr",{children:(0,s.jsx)("th",{style:{textAlign:"left"},children:"Query Parameters"})})}),(0,s.jsxs)("tbody",{children:[(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsx)("code",{children:"stream"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" Stream"})]})}),(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsx)("code",{children:"user_id"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" User Id"})]})})]})]}),"\n",(0,s.jsxs)("table",{style:{display:"table",width:"100%"},children:[(0,s.jsx)("thead",{children:(0,s.jsx)("tr",{children:(0,s.jsxs)("th",{style:{textAlign:"left"},children:[(0,s.jsx)("span",{children:"Request Body "}),(0,s.jsx)("div",{})]})})}),(0,s.jsx)("tbody",{children:(0,s.jsx)("tr",{children:(0,s.jsx)("td",{children:(0,s.jsx)("span",{style:{opacity:"0.6"},children:" undefined"})})})})]}),"\n",(0,s.jsxs)("table",{style:{display:"table",width:"100%"},children:[(0,s.jsx)("thead",{children:(0,s.jsx)("tr",{children:(0,s.jsx)("th",{style:{textAlign:"left"},children:"Responses"})})}),(0,s.jsxs)("tbody",{children:[(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsxs)("div",{style:{display:"flex"},children:[(0,s.jsx)("div",{style:{marginRight:"var(--ifm-table-cell-padding)"},children:(0,s.jsx)("code",{children:"200"})}),(0,s.jsx)("div",{children:(0,s.jsx)(n.p,{children:"Successful Response"})})]}),(0,s.jsx)("div",{children:(0,s.jsxs)("table",{style:{display:"table",width:"100%",marginTop:"var(--ifm-table-cell-padding)",marginBottom:"0px"},children:[(0,s.jsx)("thead",{children:(0,s.jsx)("tr",{children:(0,s.jsxs)("th",{style:{textAlign:"left"},children:[(0,s.jsx)("span",{children:"Schema "}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,s.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"}),(0,s.jsx)("div",{})]})})}),(0,s.jsx)("tbody",{children:(0,s.jsx)("tr",{children:(0,s.jsx)("td",{children:(0,s.jsx)("span",{style:{opacity:"0.6"},children:" undefined"})})})})]})})]})}),(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsxs)("div",{style:{display:"flex"},children:[(0,s.jsx)("div",{style:{marginRight:"var(--ifm-table-cell-padding)"},children:(0,s.jsx)("code",{children:"422"})}),(0,s.jsx)("div",{children:(0,s.jsx)(n.p,{children:"Validation Error"})})]}),(0,s.jsx)("div",{children:(0,s.jsxs)("table",{style:{display:"table",width:"100%",marginTop:"var(--ifm-table-cell-padding)",marginBottom:"0px"},children:[(0,s.jsx)("thead",{children:(0,s.jsx)("tr",{children:(0,s.jsxs)("th",{style:{textAlign:"left"},children:[(0,s.jsx)("span",{children:"Schema "}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,s.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"}),(0,s.jsx)("div",{})]})})}),(0,s.jsx)("tbody",{children:(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsx)("code",{children:"detail"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" object[]"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,s.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"}),(0,s.jsx)("table",{style:{display:"table",width:"100%",marginTop:"var(--ifm-table-cell-padding)",marginBottom:"0px"},children:(0,s.jsxs)("tbody",{children:[(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsx)("code",{children:"loc"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" undefined[]"})]})}),(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsx)("code",{children:"msg"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" Message"})]})}),(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsx)("code",{children:"type"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" Error Type"})]})})]})})]})})})]})})]})})]})]})]})}function c(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}}}]); \ No newline at end of file diff --git a/assets/js/6e1a9721.7d676d9a.js b/assets/js/6e1a9721.7d676d9a.js new file mode 100644 index 0000000000..4f37b81bba --- /dev/null +++ b/assets/js/6e1a9721.7d676d9a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[321],{7685:(e,t,n)=>{n.d(t,{A:()=>s});const s=n.p+"assets/images/vector-store-document-ingestion-fce32e9be440846a2545397e3a18b7bf.png"},35073:(e,t,n)=>{n.d(t,{A:()=>s});const s=n.p+"assets/images/component-save-to-file-67ebbb733732670897bedd9fd1b87583.png"},59748:(e,t,n)=>{n.r(t),n.d(t,{CH:()=>o,assets:()=>h,chCodeConfig:()=>j,contentTitle:()=>a,default:()=>u,frontMatter:()=>c,metadata:()=>s,toc:()=>x});const s=JSON.parse('{"id":"Components/components-processing","title":"Processing","description":"Processing components process and transform data within a flow.","source":"@site/docs/Components/components-processing.md","sourceDirName":"Components","slug":"/components-processing","permalink":"/components-processing","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{"title":"Processing","slug":"/components-processing"},"sidebar":"docs","previous":{"title":"Models","permalink":"/components-models"},"next":{"title":"Prompts","permalink":"/components-prompts"}}');var d=n(74848),r=n(28453),i=n(24754),l=n(84443);const c={title:"Processing",slug:"/components-processing"},a=void 0,h={},o={annotations:i.hk,Code:i.Cy},j={staticMediaQuery:"not screen, (max-width: 768px)",lineNumbers:!0,showCopyButton:!0,themeName:"github-dark"},x=[{value:"Use a processing component in a flow",id:"use-a-processing-component-in-a-flow",level:2},{value:"Alter metadata",id:"alter-metadata",level:2},{value:"Inputs",id:"inputs",level:3},{value:"Outputs",id:"outputs",level:3},{value:"Combine text",id:"combine-text",level:2},{value:"Inputs",id:"inputs-1",level:3},{value:"Outputs",id:"outputs-1",level:3},{value:"Create data",id:"create-data",level:2},{value:"Inputs",id:"inputs-2",level:3},{value:"Outputs",id:"outputs-2",level:3},{value:"Data combiner",id:"data-combiner",level:2},{value:"Inputs",id:"inputs-3",level:3},{value:"Outputs",id:"outputs-3",level:3},{value:"DataFrame operations",id:"dataframe-operations",level:2},{value:"Inputs",id:"inputs-4",level:3},{value:"Outputs",id:"outputs-4",level:3},{value:"Data to message",id:"data-to-message",level:2},{value:"Inputs",id:"inputs-5",level:3},{value:"Outputs",id:"outputs-5",level:3},{value:"Filter data",id:"filter-data",level:2},{value:"Inputs",id:"inputs-6",level:3},{value:"Outputs",id:"outputs-6",level:3},{value:"Filter values",id:"filter-values",level:2},{value:"Inputs",id:"inputs-7",level:3},{value:"Outputs",id:"outputs-7",level:3},{value:"JSON cleaner",id:"json-cleaner",level:2},{value:"Inputs",id:"inputs-8",level:3},{value:"Outputs",id:"outputs-8",level:3},{value:"Lambda filter",id:"lambda-filter",level:2},{value:"Inputs",id:"inputs-9",level:3},{value:"Outputs",id:"outputs-9",level:3},{value:"LLM router",id:"llm-router",level:2},{value:"Inputs",id:"inputs-10",level:3},{value:"Outputs",id:"outputs-10",level:3},{value:"Message to data",id:"message-to-data",level:2},{value:"Inputs",id:"inputs-11",level:3},{value:"Outputs",id:"outputs-11",level:3},{value:"Parser",id:"parser",level:2},{value:"Inputs",id:"inputs-12",level:3},{value:"Outputs",id:"outputs-12",level:3},{value:"Parse DataFrame",id:"parse-dataframe",level:2},{value:"Inputs",id:"inputs-13",level:3},{value:"Outputs",id:"outputs-13",level:3},{value:"Parse JSON",id:"parse-json",level:2},{value:"Inputs",id:"inputs-14",level:3},{value:"Outputs",id:"outputs-14",level:3},{value:"Save to File",id:"save-to-file",level:2},{value:"File input format options",id:"file-input-format-options",level:3},{value:"Inputs",id:"inputs-15",level:3},{value:"Outputs",id:"outputs-15",level:3},{value:"Select data",id:"select-data",level:2},{value:"Inputs",id:"inputs-16",level:3},{value:"Outputs",id:"outputs-16",level:3},{value:"Split text",id:"split-text",level:2},{value:"Inputs",id:"inputs-17",level:3},{value:"Outputs",id:"outputs-17",level:3},{value:"Update data",id:"update-data",level:2},{value:"Inputs",id:"inputs-18",level:3},{value:"Outputs",id:"outputs-18",level:3}];function p(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.R)(),...e.components};return o||m("CH",!1),o.Code||m("CH.Code",!0),(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("style",{dangerouslySetInnerHTML:{__html:'[data-ch-theme="github-dark"] { --ch-t-colorScheme: dark;--ch-t-foreground: #c9d1d9;--ch-t-background: #0d1117;--ch-t-lighter-inlineBackground: #0d1117e6;--ch-t-editor-background: #0d1117;--ch-t-editor-foreground: #c9d1d9;--ch-t-editor-lineHighlightBackground: #6e76811a;--ch-t-editor-rangeHighlightBackground: #ffffff0b;--ch-t-editor-infoForeground: #3794FF;--ch-t-editor-selectionBackground: #264F78;--ch-t-focusBorder: #1f6feb;--ch-t-tab-activeBackground: #0d1117;--ch-t-tab-activeForeground: #c9d1d9;--ch-t-tab-inactiveBackground: #010409;--ch-t-tab-inactiveForeground: #8b949e;--ch-t-tab-border: #30363d;--ch-t-tab-activeBorder: #0d1117;--ch-t-editorGroup-border: #30363d;--ch-t-editorGroupHeader-tabsBackground: #010409;--ch-t-editorLineNumber-foreground: #6e7681;--ch-t-input-background: #0d1117;--ch-t-input-foreground: #c9d1d9;--ch-t-input-border: #30363d;--ch-t-icon-foreground: #8b949e;--ch-t-sideBar-background: #010409;--ch-t-sideBar-foreground: #c9d1d9;--ch-t-sideBar-border: #30363d;--ch-t-list-activeSelectionBackground: #6e768166;--ch-t-list-activeSelectionForeground: #c9d1d9;--ch-t-list-hoverBackground: #6e76811a;--ch-t-list-hoverForeground: #c9d1d9; }'}}),"\n","\n",(0,d.jsx)(t.p,{children:"Processing components process and transform data within a flow."}),"\n",(0,d.jsx)(t.h2,{id:"use-a-processing-component-in-a-flow",children:"Use a processing component in a flow"}),"\n",(0,d.jsxs)(t.p,{children:["The ",(0,d.jsx)(t.strong,{children:"Split Text"})," processing component in this flow splits the incoming ",(0,d.jsx)(t.a,{href:"/concepts-objects",children:"Data"})," into chunks to be embedded into the vector store component."]}),"\n",(0,d.jsx)(t.p,{children:"The component offers control over chunk size, overlap, and separator, which affect context and granularity in vector store retrieval results."}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.img,{src:n(7685).A+"",width:"1804",height:"1546"})}),"\n",(0,d.jsx)(t.h2,{id:"alter-metadata",children:"Alter metadata"}),"\n",(0,d.jsxs)(t.p,{children:["This component modifies metadata of input objects. It can add new metadata, update existing metadata, and remove specified metadata fields. The component works with both ",(0,d.jsx)(t.a,{href:"/concepts-objects#message-object",children:"Message"})," and ",(0,d.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," objects, and can also create a new Data object from user-provided text."]}),"\n",(0,d.jsx)(t.h3,{id:"inputs",children:"Inputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"input_value"}),(0,d.jsx)(t.td,{children:"Input"}),(0,d.jsx)(t.td,{children:"Objects to which Metadata should be added"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"text_in"}),(0,d.jsx)(t.td,{children:"User Text"}),(0,d.jsxs)(t.td,{children:["Text input; the value will be in the 'text' attribute of the ",(0,d.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," object. Empty text entries are ignored."]})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"metadata"}),(0,d.jsx)(t.td,{children:"Metadata"}),(0,d.jsx)(t.td,{children:"Metadata to add to each object"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"remove_fields"}),(0,d.jsx)(t.td,{children:"Fields to Remove"}),(0,d.jsx)(t.td,{children:"Metadata Fields to Remove"})]})]})]}),"\n",(0,d.jsx)(t.h3,{id:"outputs",children:"Outputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsx)(t.tbody,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"data"}),(0,d.jsx)(t.td,{children:"Data"}),(0,d.jsx)(t.td,{children:"List of Input objects, each with added metadata"})]})})]}),"\n",(0,d.jsx)(t.h2,{id:"combine-text",children:"Combine text"}),"\n",(0,d.jsx)(t.p,{children:"This component concatenates two text sources into a single text chunk using a specified delimiter."}),"\n",(0,d.jsx)(t.h3,{id:"inputs-1",children:"Inputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"first_text"}),(0,d.jsx)(t.td,{children:"First Text"}),(0,d.jsx)(t.td,{children:"The first text input to concatenate."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"second_text"}),(0,d.jsx)(t.td,{children:"Second Text"}),(0,d.jsx)(t.td,{children:"The second text input to concatenate."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"delimiter"}),(0,d.jsx)(t.td,{children:"Delimiter"}),(0,d.jsx)(t.td,{children:"A string used to separate the two text inputs. Defaults to a space."})]})]})]}),"\n",(0,d.jsx)(t.h3,{id:"outputs-1",children:"Outputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsx)(t.tbody,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"message"}),(0,d.jsx)(t.td,{children:"Message"}),(0,d.jsxs)(t.td,{children:["A ",(0,d.jsx)(t.a,{href:"/concepts-objects#message-object",children:"Message"})," object containing the combined text."]})]})})]}),"\n",(0,d.jsx)(t.h2,{id:"create-data",children:"Create data"}),"\n",(0,d.jsx)(t.admonition,{type:"important",children:(0,d.jsxs)(t.p,{children:["This component is in ",(0,d.jsx)(t.strong,{children:"Legacy"}),", which means it is no longer in active development as of Langflow version 1.1.3."]})}),"\n",(0,d.jsxs)(t.p,{children:["This component dynamically creates a ",(0,d.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," object with a specified number of fields."]}),"\n",(0,d.jsx)(t.h3,{id:"inputs-2",children:"Inputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"number_of_fields"}),(0,d.jsx)(t.td,{children:"Number of Fields"}),(0,d.jsx)(t.td,{children:"The number of fields to be added to the record."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"text_key"}),(0,d.jsx)(t.td,{children:"Text Key"}),(0,d.jsx)(t.td,{children:"Key that identifies the field to be used as the text content."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"text_key_validator"}),(0,d.jsx)(t.td,{children:"Text Key Validator"}),(0,d.jsxs)(t.td,{children:["If enabled, checks if the given ",(0,d.jsx)(t.code,{children:"Text Key"})," is present in the given ",(0,d.jsx)(t.code,{children:"Data"}),"."]})]})]})]}),"\n",(0,d.jsx)(t.h3,{id:"outputs-2",children:"Outputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsx)(t.tbody,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"data"}),(0,d.jsx)(t.td,{children:"Data"}),(0,d.jsxs)(t.td,{children:["A ",(0,d.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," object created with the specified fields and text key."]})]})})]}),"\n",(0,d.jsx)(t.h2,{id:"data-combiner",children:"Data combiner"}),"\n",(0,d.jsx)(t.admonition,{type:"important",children:(0,d.jsxs)(t.p,{children:["Prior to Langflow version 1.1.3, this component was named ",(0,d.jsx)(t.strong,{children:"Merge Data"}),"."]})}),"\n",(0,d.jsxs)(t.p,{children:["This component combines multiple data sources into a single unified ",(0,d.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," object."]}),"\n",(0,d.jsx)(t.p,{children:"The component iterates through the input list of data objects, merging them into a single data object. If the input list is empty, it returns an empty data object. If there's only one input data object, it returns that object unchanged. The merging process uses the addition operator to combine data objects."}),"\n",(0,d.jsx)(t.h3,{id:"inputs-3",children:"Inputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsx)(t.tbody,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"data"}),(0,d.jsx)(t.td,{children:"Data"}),(0,d.jsx)(t.td,{children:"A list of data objects to be merged."})]})})]}),"\n",(0,d.jsx)(t.h3,{id:"outputs-3",children:"Outputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsx)(t.tbody,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"merged_data"}),(0,d.jsx)(t.td,{children:"Merged Data"}),(0,d.jsxs)(t.td,{children:["A single ",(0,d.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," object containing the combined information from all input data objects."]})]})})]}),"\n",(0,d.jsx)(t.h2,{id:"dataframe-operations",children:"DataFrame operations"}),"\n",(0,d.jsxs)(t.p,{children:["This component performs the following operations on Pandas ",(0,d.jsx)(t.a,{href:"https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html",children:"DataFrame"}),":"]}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Operation"}),(0,d.jsx)(t.th,{children:"Description"}),(0,d.jsx)(t.th,{children:"Required Inputs"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"Add Column"}),(0,d.jsx)(t.td,{children:"Adds a new column with a constant value"}),(0,d.jsx)(t.td,{children:"new_column_name, new_column_value"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"Drop Column"}),(0,d.jsx)(t.td,{children:"Removes a specified column"}),(0,d.jsx)(t.td,{children:"column_name"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"Filter"}),(0,d.jsx)(t.td,{children:"Filters rows based on column value"}),(0,d.jsx)(t.td,{children:"column_name, filter_value"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"Head"}),(0,d.jsx)(t.td,{children:"Returns first n rows"}),(0,d.jsx)(t.td,{children:"num_rows"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"Rename Column"}),(0,d.jsx)(t.td,{children:"Renames an existing column"}),(0,d.jsx)(t.td,{children:"column_name, new_column_name"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"Replace Value"}),(0,d.jsx)(t.td,{children:"Replaces values in a column"}),(0,d.jsx)(t.td,{children:"column_name, replace_value, replacement_value"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"Select Columns"}),(0,d.jsx)(t.td,{children:"Selects specific columns"}),(0,d.jsx)(t.td,{children:"columns_to_select"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"Sort"}),(0,d.jsx)(t.td,{children:"Sorts DataFrame by column"}),(0,d.jsx)(t.td,{children:"column_name, ascending"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"Tail"}),(0,d.jsx)(t.td,{children:"Returns last n rows"}),(0,d.jsx)(t.td,{children:"num_rows"})]})]})]}),"\n",(0,d.jsx)(t.h3,{id:"inputs-4",children:"Inputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"df"}),(0,d.jsx)(t.td,{children:"DataFrame"}),(0,d.jsx)(t.td,{children:"The input DataFrame to operate on."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"operation"}),(0,d.jsx)(t.td,{children:"Operation"}),(0,d.jsx)(t.td,{children:"Select the DataFrame operation to perform. Options: Add Column, Drop Column, Filter, Head, Rename Column, Replace Value, Select Columns, Sort, Tail"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"column_name"}),(0,d.jsx)(t.td,{children:"Column Name"}),(0,d.jsx)(t.td,{children:"The column name to use for the operation."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"filter_value"}),(0,d.jsx)(t.td,{children:"Filter Value"}),(0,d.jsx)(t.td,{children:"The value to filter rows by."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"ascending"}),(0,d.jsx)(t.td,{children:"Sort Ascending"}),(0,d.jsx)(t.td,{children:"Whether to sort in ascending order."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"new_column_name"}),(0,d.jsx)(t.td,{children:"New Column Name"}),(0,d.jsx)(t.td,{children:"The new column name when renaming or adding a column."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"new_column_value"}),(0,d.jsx)(t.td,{children:"New Column Value"}),(0,d.jsx)(t.td,{children:"The value to populate the new column with."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"columns_to_select"}),(0,d.jsx)(t.td,{children:"Columns to Select"}),(0,d.jsx)(t.td,{children:"List of column names to select."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"num_rows"}),(0,d.jsx)(t.td,{children:"Number of Rows"}),(0,d.jsx)(t.td,{children:"Number of rows to return (for head/tail). Default: 5"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"replace_value"}),(0,d.jsx)(t.td,{children:"Value to Replace"}),(0,d.jsx)(t.td,{children:"The value to replace in the column."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"replacement_value"}),(0,d.jsx)(t.td,{children:"Replacement Value"}),(0,d.jsx)(t.td,{children:"The value to replace with."})]})]})]}),"\n",(0,d.jsx)(t.h3,{id:"outputs-4",children:"Outputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsx)(t.tbody,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"output"}),(0,d.jsx)(t.td,{children:"DataFrame"}),(0,d.jsx)(t.td,{children:"The resulting DataFrame after the operation."})]})})]}),"\n",(0,d.jsx)(t.h2,{id:"data-to-message",children:"Data to message"}),"\n",(0,d.jsx)(t.admonition,{type:"important",children:(0,d.jsxs)(t.p,{children:["This component is in ",(0,d.jsx)(t.strong,{children:"Legacy"}),", which means it is no longer in active development as of Langflow version 1.3.\nInstead, use the ",(0,d.jsx)(t.a,{href:"#parser",children:"Parser"})," component."]})}),"\n",(0,d.jsx)(t.admonition,{type:"important",children:(0,d.jsxs)(t.p,{children:["Prior to Langflow version 1.1.3, this component was named ",(0,d.jsx)(t.strong,{children:"Parse Data"}),"."]})}),"\n",(0,d.jsx)(t.p,{children:"The ParseData component converts data objects into plain text using a specified template.\nThis component transforms structured data into human-readable text formats, allowing for customizable output through the use of templates."}),"\n",(0,d.jsx)(t.h3,{id:"inputs-5",children:"Inputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"data"}),(0,d.jsx)(t.td,{children:"Data"}),(0,d.jsx)(t.td,{children:"The data to convert to text."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"template"}),(0,d.jsx)(t.td,{children:"Template"}),(0,d.jsxs)(t.td,{children:["The template to use for formatting the data. It can contain the keys ",(0,d.jsx)(t.code,{children:"{text}"}),", ",(0,d.jsx)(t.code,{children:"{data}"}),", or any other key in the data."]})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"sep"}),(0,d.jsx)(t.td,{children:"Separator"}),(0,d.jsx)(t.td,{children:"The separator to use between multiple data items."})]})]})]}),"\n",(0,d.jsx)(t.h3,{id:"outputs-5",children:"Outputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsx)(t.tbody,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"text"}),(0,d.jsx)(t.td,{children:"Text"}),(0,d.jsxs)(t.td,{children:["The resulting formatted text string as a ",(0,d.jsx)(t.a,{href:"/concepts-objects#message-object",children:"Message"})," object."]})]})})]}),"\n",(0,d.jsx)(t.h2,{id:"filter-data",children:"Filter data"}),"\n",(0,d.jsx)(t.admonition,{type:"important",children:(0,d.jsxs)(t.p,{children:["This component is in ",(0,d.jsx)(t.strong,{children:"Beta"})," as of Langflow version 1.1.3, and is not yet fully supported."]})}),"\n",(0,d.jsxs)(t.p,{children:["This component filters a ",(0,d.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," object based on a list of keys."]}),"\n",(0,d.jsx)(t.h3,{id:"inputs-6",children:"Inputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"data"}),(0,d.jsx)(t.td,{children:"Data"}),(0,d.jsx)(t.td,{children:"Data object to filter."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"filter_criteria"}),(0,d.jsx)(t.td,{children:"Filter Criteria"}),(0,d.jsx)(t.td,{children:"List of keys to filter by."})]})]})]}),"\n",(0,d.jsx)(t.h3,{id:"outputs-6",children:"Outputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsx)(t.tbody,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"filtered_data"}),(0,d.jsx)(t.td,{children:"Filtered Data"}),(0,d.jsxs)(t.td,{children:["A new ",(0,d.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," object containing only the key-value pairs that match the filter criteria."]})]})})]}),"\n",(0,d.jsx)(t.h2,{id:"filter-values",children:"Filter values"}),"\n",(0,d.jsx)(t.admonition,{type:"important",children:(0,d.jsxs)(t.p,{children:["This component is in ",(0,d.jsx)(t.strong,{children:"Beta"})," as of Langflow version 1.1.3, and is not yet fully supported."]})}),"\n",(0,d.jsx)(t.p,{children:"The Filter values component filters a list of data items based on a specified key, filter value, and comparison operator."}),"\n",(0,d.jsx)(t.h3,{id:"inputs-7",children:"Inputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"input_data"}),(0,d.jsx)(t.td,{children:"Input data"}),(0,d.jsx)(t.td,{children:"The list of data items to filter."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"filter_key"}),(0,d.jsx)(t.td,{children:"Filter Key"}),(0,d.jsx)(t.td,{children:"The key to filter on, for example, 'route'."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"filter_value"}),(0,d.jsx)(t.td,{children:"Filter Value"}),(0,d.jsx)(t.td,{children:"The value to filter by, for example, 'CMIP'."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"operator"}),(0,d.jsx)(t.td,{children:"Comparison Operator"}),(0,d.jsx)(t.td,{children:"The operator to apply for comparing the values."})]})]})]}),"\n",(0,d.jsx)(t.h3,{id:"outputs-7",children:"Outputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsx)(t.tbody,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"filtered_data"}),(0,d.jsx)(t.td,{children:"Filtered data"}),(0,d.jsx)(t.td,{children:"The resulting list of filtered data items."})]})})]}),"\n",(0,d.jsx)(t.h2,{id:"json-cleaner",children:"JSON cleaner"}),"\n",(0,d.jsx)(t.p,{children:"The JSON cleaner component cleans JSON strings to ensure they are fully compliant with the JSON specification."}),"\n",(0,d.jsx)(t.h3,{id:"inputs-8",children:"Inputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"json_str"}),(0,d.jsx)(t.td,{children:"JSON String"}),(0,d.jsx)(t.td,{children:"The JSON string to be cleaned. This can be a raw, potentially malformed JSON string produced by language models or other sources that may not fully comply with JSON specifications."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"remove_control_chars"}),(0,d.jsx)(t.td,{children:"Remove Control Characters"}),(0,d.jsx)(t.td,{children:"If set to True, this option removes control characters (ASCII characters 0-31 and 127) from the JSON string. This can help eliminate invisible characters that might cause parsing issues or make the JSON invalid."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"normalize_unicode"}),(0,d.jsx)(t.td,{children:"Normalize Unicode"}),(0,d.jsx)(t.td,{children:"When enabled, this option normalizes Unicode characters in the JSON string to their canonical composition form (NFC). This ensures consistent representation of Unicode characters across different systems and prevents potential issues with character encoding."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"validate_json"}),(0,d.jsx)(t.td,{children:"Validate JSON"}),(0,d.jsx)(t.td,{children:"If set to True, this option attempts to parse the JSON string to ensure it is well-formed before applying the final repair operation. It raises a ValueError if the JSON is invalid, allowing for early detection of major structural issues in the JSON."})]})]})]}),"\n",(0,d.jsx)(t.h3,{id:"outputs-8",children:"Outputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsx)(t.tbody,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"output"}),(0,d.jsx)(t.td,{children:"Cleaned JSON String"}),(0,d.jsx)(t.td,{children:"The resulting cleaned, repaired, and validated JSON string that fully complies with the JSON specification."})]})})]}),"\n",(0,d.jsx)(t.h2,{id:"lambda-filter",children:"Lambda filter"}),"\n",(0,d.jsx)(t.p,{children:"This component uses an LLM to generate a Lambda function for filtering or transforming structured data."}),"\n",(0,d.jsxs)(t.p,{children:["To use the ",(0,d.jsx)(t.strong,{children:"Lambda filter"})," component, you must connect it to a ",(0,d.jsx)(t.a,{href:"/components-models#language-model",children:"Language Model"})," component, which the component uses to generate a function based on the natural language instructions in the ",(0,d.jsx)(t.strong,{children:"Instructions"})," field."]}),"\n",(0,d.jsxs)(t.p,{children:["This example gets JSON data from the ",(0,d.jsx)(t.code,{children:"https://jsonplaceholder.typicode.com/users"})," API endpoint.\nThe ",(0,d.jsx)(t.strong,{children:"Instructions"})," field in the ",(0,d.jsx)(t.strong,{children:"Lambda filter"})," component specifies the task ",(0,d.jsx)(t.code,{children:"extract emails"}),".\nThe connected LLM creates a filter based on the instructions, and successfully extracts a list of email addresses from the JSON data."]}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.img,{src:n(66539).A+"",width:"1742",height:"1622"})}),"\n",(0,d.jsx)(t.h3,{id:"inputs-9",children:"Inputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"data"}),(0,d.jsx)(t.td,{children:"Data"}),(0,d.jsx)(t.td,{children:"The structured data to filter or transform using a Lambda function."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"llm"}),(0,d.jsx)(t.td,{children:"Language Model"}),(0,d.jsxs)(t.td,{children:["The connection port for a ",(0,d.jsx)(t.a,{href:"/components-models",children:"Model"})," component."]})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"filter_instruction"}),(0,d.jsx)(t.td,{children:"Instructions"}),(0,d.jsxs)(t.td,{children:["Natural language instructions for how to filter or transform the data using a Lambda function, such as ",(0,d.jsx)(t.code,{children:"Filter the data to only include items where the 'status' is 'active'."})]})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"sample_size"}),(0,d.jsx)(t.td,{children:"Sample Size"}),(0,d.jsx)(t.td,{children:"For large datasets, the number of characters to sample from the dataset head and tail."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"max_size"}),(0,d.jsx)(t.td,{children:"Max Size"}),(0,d.jsxs)(t.td,{children:['The number of characters for the data to be considered "large", which triggers sampling by the ',(0,d.jsx)(t.code,{children:"sample_size"})," value."]})]})]})]}),"\n",(0,d.jsx)(t.h3,{id:"outputs-9",children:"Outputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"filtered_data"}),(0,d.jsx)(t.td,{children:"Filtered Data"}),(0,d.jsxs)(t.td,{children:["The filtered or transformed ",(0,d.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data object"}),"."]})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"dataframe"}),(0,d.jsx)(t.td,{children:"DataFrame"}),(0,d.jsxs)(t.td,{children:["The filtered data as a ",(0,d.jsx)(t.a,{href:"/concepts-objects#dataframe-object",children:"DataFrame"}),"."]})]})]})]}),"\n",(0,d.jsx)(t.h2,{id:"llm-router",children:"LLM router"}),"\n",(0,d.jsx)(t.p,{children:"This component routes requests to the most appropriate LLM based on OpenRouter model specifications."}),"\n",(0,d.jsx)(t.h3,{id:"inputs-10",children:"Inputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"models"}),(0,d.jsx)(t.td,{children:"Language Models"}),(0,d.jsx)(t.td,{children:"List of LLMs to route between"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"input_value"}),(0,d.jsx)(t.td,{children:"Input"}),(0,d.jsx)(t.td,{children:"The input message to be routed"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"judge_llm"}),(0,d.jsx)(t.td,{children:"Judge LLM"}),(0,d.jsx)(t.td,{children:"LLM that will evaluate and select the most appropriate model"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"optimization"}),(0,d.jsx)(t.td,{children:"Optimization"}),(0,d.jsx)(t.td,{children:"Optimization preference (quality/speed/cost/balanced)"})]})]})]}),"\n",(0,d.jsx)(t.h3,{id:"outputs-10",children:"Outputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"output"}),(0,d.jsx)(t.td,{children:"Output"}),(0,d.jsx)(t.td,{children:"The response from the selected model"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"selected_model"}),(0,d.jsx)(t.td,{children:"Selected Model"}),(0,d.jsx)(t.td,{children:"Name of the chosen model"})]})]})]}),"\n",(0,d.jsx)(t.h2,{id:"message-to-data",children:"Message to data"}),"\n",(0,d.jsxs)(t.p,{children:["This component converts ",(0,d.jsx)(t.a,{href:"/concepts-objects#message-object",children:"Message"})," objects to ",(0,d.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," objects."]}),"\n",(0,d.jsx)(t.h3,{id:"inputs-11",children:"Inputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsx)(t.tbody,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"message"}),(0,d.jsx)(t.td,{children:"Message"}),(0,d.jsxs)(t.td,{children:["The ",(0,d.jsx)(t.a,{href:"/concepts-objects#message-object",children:"Message"})," object to convert to a ",(0,d.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," object."]})]})})]}),"\n",(0,d.jsx)(t.h3,{id:"outputs-11",children:"Outputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsx)(t.tbody,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"data"}),(0,d.jsx)(t.td,{children:"Data"}),(0,d.jsxs)(t.td,{children:["The converted ",(0,d.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," object."]})]})})]}),"\n",(0,d.jsx)(t.h2,{id:"parser",children:"Parser"}),"\n",(0,d.jsxs)(t.p,{children:["This component formats ",(0,d.jsx)(t.code,{children:"DataFrame"})," or ",(0,d.jsx)(t.code,{children:"Data"})," objects into text using templates, with an option to convert inputs directly to strings using ",(0,d.jsx)(t.code,{children:"stringify"}),"."]}),"\n",(0,d.jsxs)(t.p,{children:["To use this component, create variables for values in the ",(0,d.jsx)(t.code,{children:"template"})," the same way you would in a ",(0,d.jsx)(t.a,{href:"/components-prompts",children:"Prompt"})," component. For ",(0,d.jsx)(t.code,{children:"DataFrames"}),", use column names, for example ",(0,d.jsx)(t.code,{children:"Name: {Name}"}),". For ",(0,d.jsx)(t.code,{children:"Data"})," objects, use ",(0,d.jsx)(t.code,{children:"{text}"}),"."]}),"\n",(0,d.jsxs)(t.p,{children:["To use the ",(0,d.jsx)(t.strong,{children:"Parser"})," component with a ",(0,d.jsx)(t.strong,{children:"Structured Output"})," component, do the following:"]}),"\n",(0,d.jsxs)(t.ol,{children:["\n",(0,d.jsxs)(t.li,{children:["Connect a ",(0,d.jsx)(t.strong,{children:"Structured Output"})," component's ",(0,d.jsx)(t.strong,{children:"DataFrame"})," output to the ",(0,d.jsx)(t.strong,{children:"Parser"})," component's ",(0,d.jsx)(t.strong,{children:"DataFrame"})," input."]}),"\n",(0,d.jsxs)(t.li,{children:["Connect the ",(0,d.jsx)(t.strong,{children:"File"})," component to the ",(0,d.jsx)(t.strong,{children:"Structured Output"})," component's ",(0,d.jsx)(t.strong,{children:"Message"})," input."]}),"\n",(0,d.jsxs)(t.li,{children:["Connect the ",(0,d.jsx)(t.strong,{children:"OpenAI"})," model component's ",(0,d.jsx)(t.strong,{children:"Language Model"})," output to the ",(0,d.jsx)(t.strong,{children:"Structured Output"})," component's ",(0,d.jsx)(t.strong,{children:"Language Model"})," input."]}),"\n"]}),"\n",(0,d.jsx)(t.p,{children:"The flow looks like this:"}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.img,{alt:"A parser component connected to OpenAI and structured output",src:n(96218).A+"",width:"2300",height:"1436"})}),"\n",(0,d.jsxs)(t.ol,{start:"4",children:["\n",(0,d.jsxs)(t.li,{children:["In the ",(0,d.jsx)(t.strong,{children:"Structured Output"})," component, click ",(0,d.jsx)(t.strong,{children:"Open Table"}),".\nThis opens a pane for structuring your table.\nThe table contains the rows ",(0,d.jsx)(t.strong,{children:"Name"}),", ",(0,d.jsx)(t.strong,{children:"Description"}),", ",(0,d.jsx)(t.strong,{children:"Type"}),", and ",(0,d.jsx)(t.strong,{children:"Multiple"}),"."]}),"\n",(0,d.jsxs)(t.li,{children:["Create a table that maps to the data you're loading from the ",(0,d.jsx)(t.strong,{children:"File"})," loader.\nFor example, to create a table for employees, you might have the rows ",(0,d.jsx)(t.code,{children:"id"}),", ",(0,d.jsx)(t.code,{children:"name"}),", and ",(0,d.jsx)(t.code,{children:"email"}),", all of type ",(0,d.jsx)(t.code,{children:"string"}),"."]}),"\n",(0,d.jsxs)(t.li,{children:["In the ",(0,d.jsx)(t.strong,{children:"Template"})," field of the ",(0,d.jsx)(t.strong,{children:"Parser"})," component, enter a template for parsing the ",(0,d.jsx)(t.strong,{children:"Structured Output"})," component's DataFrame output into structured text.\nCreate variables for values in the ",(0,d.jsx)(t.code,{children:"template"})," the same way you would in a ",(0,d.jsx)(t.a,{href:"/components-prompts",children:"Prompt"})," component.\nFor example, to present a table of employees in Markdown:"]}),"\n"]}),"\n",(0,d.jsx)(o.Code,{codeConfig:j,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"# Employee Profile",props:{}}]},{tokens:[{content:"## Personal Information",props:{}}]},{tokens:[{content:"- **Name:** {name}",props:{}}]},{tokens:[{content:"- **ID:** {id}",props:{}}]},{tokens:[{content:"- **Email:** {email}",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,d.jsxs)(t.ol,{start:"7",children:["\n",(0,d.jsxs)(t.li,{children:["To run the flow, in the ",(0,d.jsx)(t.strong,{children:"Parser"})," component, click ",(0,d.jsx)(l.A,{name:"Play","aria-label":"Play icon"}),"."]}),"\n",(0,d.jsxs)(t.li,{children:["To view your parsed text, in the ",(0,d.jsx)(t.strong,{children:"Parser"})," component, click ",(0,d.jsx)(l.A,{name:"TextSearch","aria-label":"Inspect icon"}),"."]}),"\n",(0,d.jsxs)(t.li,{children:["Optionally, connect a ",(0,d.jsx)(t.strong,{children:"Chat Output"})," component, and open the ",(0,d.jsx)(t.strong,{children:"Playground"})," to see the output."]}),"\n"]}),"\n",(0,d.jsxs)(t.p,{children:["For an additional example of using the ",(0,d.jsx)(t.strong,{children:"Parser"})," component to format a DataFrame from a ",(0,d.jsx)(t.strong,{children:"Structured Output"})," component, see the ",(0,d.jsx)(t.strong,{children:"Market Research"})," template flow."]}),"\n",(0,d.jsx)(t.h3,{id:"inputs-12",children:"Inputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"mode"}),(0,d.jsx)(t.td,{children:"Mode"}),(0,d.jsx)(t.td,{children:'Tab selection between "Parser" and "Stringify" modes. "Stringify" converts input to a string instead of using a template.'})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"pattern"}),(0,d.jsx)(t.td,{children:"Template"}),(0,d.jsxs)(t.td,{children:["Template for formatting using variables in curly brackets. For DataFrames, use column names, such as ",(0,d.jsx)(t.code,{children:"Name: {Name}"}),". For Data objects, use ",(0,d.jsx)(t.code,{children:"{text}"}),"."]})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"input_data"}),(0,d.jsx)(t.td,{children:"Data or DataFrame"}),(0,d.jsx)(t.td,{children:"The input to parse - accepts either a DataFrame or Data object."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"sep"}),(0,d.jsx)(t.td,{children:"Separator"}),(0,d.jsx)(t.td,{children:"String used to separate rows/items. Default: newline."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"clean_data"}),(0,d.jsx)(t.td,{children:"Clean Data"}),(0,d.jsx)(t.td,{children:"When stringify is enabled, cleans data by removing empty rows and lines."})]})]})]}),"\n",(0,d.jsx)(t.h3,{id:"outputs-12",children:"Outputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsx)(t.tbody,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"parsed_text"}),(0,d.jsx)(t.td,{children:"Parsed Text"}),(0,d.jsxs)(t.td,{children:["The resulting formatted text as a ",(0,d.jsx)(t.a,{href:"/concepts-objects#message-object",children:"Message"})," object."]})]})})]}),"\n",(0,d.jsx)(t.h2,{id:"parse-dataframe",children:"Parse DataFrame"}),"\n",(0,d.jsx)(t.admonition,{type:"important",children:(0,d.jsxs)(t.p,{children:["This component is in ",(0,d.jsx)(t.strong,{children:"Legacy"}),", which means it is no longer in active development as of Langflow version 1.3.\nInstead, use the ",(0,d.jsx)(t.a,{href:"#parser",children:"Parser"})," component."]})}),"\n",(0,d.jsx)(t.p,{children:"This component converts DataFrames into plain text using templates."}),"\n",(0,d.jsx)(t.h3,{id:"inputs-13",children:"Inputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"df"}),(0,d.jsx)(t.td,{children:"DataFrame"}),(0,d.jsx)(t.td,{children:"The DataFrame to convert to text rows."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"template"}),(0,d.jsx)(t.td,{children:"Template"}),(0,d.jsxs)(t.td,{children:["Template for formatting (use ",(0,d.jsx)(t.code,{children:"{column_name}"})," placeholders)."]})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"sep"}),(0,d.jsx)(t.td,{children:"Separator"}),(0,d.jsx)(t.td,{children:"String to join rows in output."})]})]})]}),"\n",(0,d.jsx)(t.h3,{id:"outputs-13",children:"Outputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsx)(t.tbody,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"text"}),(0,d.jsx)(t.td,{children:"Text"}),(0,d.jsx)(t.td,{children:"All rows combined into single text."})]})})]}),"\n",(0,d.jsx)(t.h2,{id:"parse-json",children:"Parse JSON"}),"\n",(0,d.jsx)(t.admonition,{type:"important",children:(0,d.jsxs)(t.p,{children:["This component is in ",(0,d.jsx)(t.strong,{children:"Legacy"}),", which means it is no longer in active development as of Langflow version 1.1.3."]})}),"\n",(0,d.jsx)(t.p,{children:"This component converts and extracts JSON fields using JQ queries."}),"\n",(0,d.jsx)(t.h3,{id:"inputs-14",children:"Inputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"input_value"}),(0,d.jsx)(t.td,{children:"Input"}),(0,d.jsxs)(t.td,{children:["Data object to filter (",(0,d.jsx)(t.a,{href:"/concepts-objects#message-object",children:"Message"})," or ",(0,d.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"}),")."]})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"query"}),(0,d.jsx)(t.td,{children:"JQ Query"}),(0,d.jsx)(t.td,{children:"JQ Query to filter the data"})]})]})]}),"\n",(0,d.jsx)(t.h3,{id:"outputs-14",children:"Outputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsx)(t.tbody,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"filtered_data"}),(0,d.jsx)(t.td,{children:"Filtered Data"}),(0,d.jsxs)(t.td,{children:["Filtered data as list of ",(0,d.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," objects."]})]})})]}),"\n",(0,d.jsx)(t.h2,{id:"save-to-file",children:"Save to File"}),"\n",(0,d.jsxs)(t.p,{children:["This component saves ",(0,d.jsx)(t.a,{href:"/concepts-objects",children:"DataFrames, Data, or Messages"})," to various file formats."]}),"\n",(0,d.jsxs)(t.ol,{children:["\n",(0,d.jsxs)(t.li,{children:["To use this component in a flow, connect a component that outputs ",(0,d.jsx)(t.a,{href:"/concepts-objects",children:"DataFrames, Data, or Messages"})," to the ",(0,d.jsx)(t.strong,{children:"Save to File"})," component's input.\nThe following example connects a ",(0,d.jsx)(t.strong,{children:"Webhook"})," component to two ",(0,d.jsx)(t.strong,{children:"Save to File"})," components to demonstrate the different outputs."]}),"\n"]}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.img,{alt:"Two Save-to File components connected to a webhook",src:n(35073).A+"",width:"1458",height:"1732"})}),"\n",(0,d.jsxs)(t.ol,{start:"2",children:["\n",(0,d.jsxs)(t.li,{children:["In the ",(0,d.jsx)(t.strong,{children:"Save to File"})," component's ",(0,d.jsx)(t.strong,{children:"Input Type"})," field, select the expected input type.\nThis example expects ",(0,d.jsx)(t.strong,{children:"Data"})," from the ",(0,d.jsx)(t.strong,{children:"Webhook"}),"."]}),"\n",(0,d.jsxs)(t.li,{children:["In the ",(0,d.jsx)(t.strong,{children:"File Format"})," field, select the file type for your saved file.\nThis example uses ",(0,d.jsx)(t.code,{children:".md"})," in one ",(0,d.jsx)(t.strong,{children:"Save to File"})," component, and ",(0,d.jsx)(t.code,{children:".xlsx"})," in another."]}),"\n",(0,d.jsxs)(t.li,{children:["In the ",(0,d.jsx)(t.strong,{children:"File Path"})," field, enter the path for your saved file.\nThis example uses ",(0,d.jsx)(t.code,{children:"./output/employees.xlsx"})," and ",(0,d.jsx)(t.code,{children:"./output/employees.md"})," to save the files in a directory relative to where Langflow is running.\nThe component accepts both relative and absolute paths, and creates any necessary directories if they don't exist."]}),"\n"]}),"\n",(0,d.jsx)(t.admonition,{type:"tip",children:(0,d.jsxs)(t.p,{children:["If you enter a format in the ",(0,d.jsx)(t.code,{children:"file_path"})," that is not accepted, the component appends the proper format to the file.\nFor example, if the selected ",(0,d.jsx)(t.code,{children:"file_format"})," is ",(0,d.jsx)(t.code,{children:"csv"}),", and you enter ",(0,d.jsx)(t.code,{children:"file_path"})," as ",(0,d.jsx)(t.code,{children:"./output/test.txt"}),", the file will be saved as ",(0,d.jsx)(t.code,{children:"./output/test.txt.csv"})," so the file is not corrupted."]})}),"\n",(0,d.jsxs)(t.ol,{start:"5",children:["\n",(0,d.jsxs)(t.li,{children:["Send a POST request to the ",(0,d.jsx)(t.strong,{children:"Webhook"})," containing your JSON data.\nReplace ",(0,d.jsx)(t.code,{children:"YOUR_FLOW_ID"})," with your flow ID.\nThis example uses the default Langflow server address."]}),"\n"]}),"\n",(0,d.jsx)(o.Code,{codeConfig:j,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:'curl -X POST "http://127.0.0.1:7860/api/v1/webhook/YOUR_FLOW_ID" \\',props:{}}]},{tokens:[{content:"-H 'Content-Type: application/json' \\",props:{}}]},{tokens:[{content:"-d '{",props:{}}]},{tokens:[{content:' "Name": ["Alex Cruz", "Kalani Smith", "Noam Johnson"],',props:{}}]},{tokens:[{content:' "Role": ["Developer", "Designer", "Manager"],',props:{}}]},{tokens:[{content:' "Department": ["Engineering", "Design", "Management"]',props:{}}]},{tokens:[{content:"}'",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,d.jsxs)(t.ol,{start:"6",children:["\n",(0,d.jsxs)(t.li,{children:["In your local filesystem, open the ",(0,d.jsx)(t.code,{children:"outputs"})," directory.\nYou should see two files created from the data you've sent: one in ",(0,d.jsx)(t.code,{children:".xlsx"})," for structured spreadsheets, and one in Markdown."]}),"\n"]}),"\n",(0,d.jsx)(o.Code,{codeConfig:j,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"| Name | Role | Department |",props:{}}]},{tokens:[{content:"|:-------------|:----------|:-------------|",props:{}}]},{tokens:[{content:"| Alex Cruz | Developer | Engineering |",props:{}}]},{tokens:[{content:"| Kalani Smith | Designer | Design |",props:{}}]},{tokens:[{content:"| Noam Johnson | Manager | Management |",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,d.jsx)(t.h3,{id:"file-input-format-options",children:"File input format options"}),"\n",(0,d.jsxs)(t.p,{children:["For ",(0,d.jsx)(t.code,{children:"DataFrame"})," and ",(0,d.jsx)(t.code,{children:"Data"})," inputs, the component can create:"]}),"\n",(0,d.jsxs)(t.ul,{children:["\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.code,{children:"csv"})}),"\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.code,{children:"excel"})}),"\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.code,{children:"json"})}),"\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.code,{children:"markdown"})}),"\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.code,{children:"pdf"})}),"\n"]}),"\n",(0,d.jsxs)(t.p,{children:["For ",(0,d.jsx)(t.code,{children:"Message"})," inputs, the component can create:"]}),"\n",(0,d.jsxs)(t.ul,{children:["\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.code,{children:"txt"})}),"\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.code,{children:"json"})}),"\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.code,{children:"markdown"})}),"\n",(0,d.jsx)(t.li,{children:(0,d.jsx)(t.code,{children:"pdf"})}),"\n"]}),"\n",(0,d.jsx)(t.h3,{id:"inputs-15",children:"Inputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"input_type"}),(0,d.jsx)(t.td,{children:"Input Type"}),(0,d.jsx)(t.td,{children:"Select the type of input to save."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"df"}),(0,d.jsx)(t.td,{children:"DataFrame"}),(0,d.jsx)(t.td,{children:"The DataFrame to save."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"data"}),(0,d.jsx)(t.td,{children:"Data"}),(0,d.jsx)(t.td,{children:"The Data object to save."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"message"}),(0,d.jsx)(t.td,{children:"Message"}),(0,d.jsx)(t.td,{children:"The Message to save."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"file_format"}),(0,d.jsx)(t.td,{children:"File Format"}),(0,d.jsx)(t.td,{children:"Select the file format to save the input."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"file_path"}),(0,d.jsx)(t.td,{children:"File Path"}),(0,d.jsx)(t.td,{children:"The full file path including filename and extension."})]})]})]}),"\n",(0,d.jsx)(t.h3,{id:"outputs-15",children:"Outputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsx)(t.tbody,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"confirmation"}),(0,d.jsx)(t.td,{children:"Confirmation"}),(0,d.jsx)(t.td,{children:"Confirmation message after saving the file."})]})})]}),"\n",(0,d.jsx)(t.h2,{id:"select-data",children:"Select data"}),"\n",(0,d.jsx)(t.admonition,{type:"important",children:(0,d.jsxs)(t.p,{children:["This component is in ",(0,d.jsx)(t.strong,{children:"Legacy"}),", which means it is no longer in active development as of Langflow version 1.1.3."]})}),"\n",(0,d.jsxs)(t.p,{children:["This component selects a single ",(0,d.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," item from a list."]}),"\n",(0,d.jsx)(t.h3,{id:"inputs-16",children:"Inputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"data_list"}),(0,d.jsx)(t.td,{children:"Data List"}),(0,d.jsx)(t.td,{children:"List of data to select from"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"data_index"}),(0,d.jsx)(t.td,{children:"Data Index"}),(0,d.jsx)(t.td,{children:"Index of the data to select"})]})]})]}),"\n",(0,d.jsx)(t.h3,{id:"outputs-16",children:"Outputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsx)(t.tbody,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"selected_data"}),(0,d.jsx)(t.td,{children:"Selected Data"}),(0,d.jsxs)(t.td,{children:["The selected ",(0,d.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," object."]})]})})]}),"\n",(0,d.jsx)(t.h2,{id:"split-text",children:"Split text"}),"\n",(0,d.jsx)(t.p,{children:"This component splits text into chunks based on specified criteria."}),"\n",(0,d.jsx)(t.h3,{id:"inputs-17",children:"Inputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"data_inputs"}),(0,d.jsx)(t.td,{children:"Input Documents"}),(0,d.jsxs)(t.td,{children:["The data to split.The component accepts ",(0,d.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," or ",(0,d.jsx)(t.a,{href:"/concepts-objects#dataframe-object",children:"DataFrame"})," objects."]})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"chunk_overlap"}),(0,d.jsx)(t.td,{children:"Chunk Overlap"}),(0,d.jsxs)(t.td,{children:["The number of characters to overlap between chunks. Default: ",(0,d.jsx)(t.code,{children:"200"}),"."]})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"chunk_size"}),(0,d.jsx)(t.td,{children:"Chunk Size"}),(0,d.jsxs)(t.td,{children:["The maximum number of characters in each chunk. Default: ",(0,d.jsx)(t.code,{children:"1000"}),"."]})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"separator"}),(0,d.jsx)(t.td,{children:"Separator"}),(0,d.jsxs)(t.td,{children:["The character to split on. Default: ",(0,d.jsx)(t.code,{children:"newline"}),"."]})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"text_key"}),(0,d.jsx)(t.td,{children:"Text Key"}),(0,d.jsxs)(t.td,{children:["The key to use for the text column (advanced). Default: ",(0,d.jsx)(t.code,{children:"text"}),"."]})]})]})]}),"\n",(0,d.jsx)(t.h3,{id:"outputs-17",children:"Outputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"chunks"}),(0,d.jsx)(t.td,{children:"Chunks"}),(0,d.jsxs)(t.td,{children:["List of split text chunks as ",(0,d.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," objects."]})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"dataframe"}),(0,d.jsx)(t.td,{children:"DataFrame"}),(0,d.jsxs)(t.td,{children:["List of split text chunks as ",(0,d.jsx)(t.a,{href:"/concepts-objects#dataframe-object",children:"DataFrame"})," objects."]})]})]})]}),"\n",(0,d.jsx)(t.h2,{id:"update-data",children:"Update data"}),"\n",(0,d.jsx)(t.p,{children:"This component dynamically updates or appends data with specified fields."}),"\n",(0,d.jsx)(t.h3,{id:"inputs-18",children:"Inputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"old_data"}),(0,d.jsx)(t.td,{children:"Data"}),(0,d.jsx)(t.td,{children:"The records to update"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"number_of_fields"}),(0,d.jsx)(t.td,{children:"Number of Fields"}),(0,d.jsx)(t.td,{children:"Number of fields to add (max 15)"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"text_key"}),(0,d.jsx)(t.td,{children:"Text Key"}),(0,d.jsx)(t.td,{children:"Key for text content"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"text_key_validator"}),(0,d.jsx)(t.td,{children:"Text Key Validator"}),(0,d.jsx)(t.td,{children:"Validates text key presence"})]})]})]}),"\n",(0,d.jsx)(t.h3,{id:"outputs-18",children:"Outputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsx)(t.tbody,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"data"}),(0,d.jsx)(t.td,{children:"Data"}),(0,d.jsxs)(t.td,{children:["Updated ",(0,d.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," objects."]})]})})]})]})}function u(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,d.jsx)(t,{...e,children:(0,d.jsx)(p,{...e})}):p(e)}function m(e,t){throw new Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},66539:(e,t,n)=>{n.d(t,{A:()=>s});const s=n.p+"assets/images/component-lambda-filter-c409acffcea6f80062295f4d8de4e881.png"},84443:(e,t,n)=>{n.d(t,{A:()=>r});n(96540);var s=n(64058),d=n(74848);function r(e){let{name:t,...n}=e;const r=s[t];return r?(0,d.jsx)(r,{...n}):null}},96218:(e,t,n)=>{n.d(t,{A:()=>s});const s=n.p+"assets/images/component-parser-5f97943bbc863cee6b02c74d325a062f.png"}}]); \ No newline at end of file diff --git a/assets/js/6e1a9721.bc87c671.js b/assets/js/6e1a9721.bc87c671.js deleted file mode 100644 index 687271d32f..0000000000 --- a/assets/js/6e1a9721.bc87c671.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[321],{7685:(e,t,s)=>{s.d(t,{A:()=>n});const n=s.p+"assets/images/vector-store-document-ingestion-fce32e9be440846a2545397e3a18b7bf.png"},59748:(e,t,s)=>{s.r(t),s.d(t,{CH:()=>o,assets:()=>h,chCodeConfig:()=>j,contentTitle:()=>a,default:()=>p,frontMatter:()=>c,metadata:()=>n,toc:()=>x});const n=JSON.parse('{"id":"Components/components-processing","title":"Processing","description":"Processing components process and transform data within a flow.","source":"@site/docs/Components/components-processing.md","sourceDirName":"Components","slug":"/components-processing","permalink":"/components-processing","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{"title":"Processing","slug":"/components-processing"},"sidebar":"docs","previous":{"title":"Models","permalink":"/components-models"},"next":{"title":"Prompts","permalink":"/components-prompts"}}');var d=s(74848),r=s(28453),i=s(24754),l=s(84443);const c={title:"Processing",slug:"/components-processing"},a=void 0,h={},o={annotations:i.hk,Code:i.Cy},j={staticMediaQuery:"not screen, (max-width: 768px)",lineNumbers:!0,showCopyButton:!0,themeName:"github-dark"},x=[{value:"Use a processing component in a flow",id:"use-a-processing-component-in-a-flow",level:2},{value:"Alter metadata",id:"alter-metadata",level:2},{value:"Inputs",id:"inputs",level:3},{value:"Outputs",id:"outputs",level:3},{value:"Combine text",id:"combine-text",level:2},{value:"Inputs",id:"inputs-1",level:3},{value:"Outputs",id:"outputs-1",level:3},{value:"Create data",id:"create-data",level:2},{value:"Inputs",id:"inputs-2",level:3},{value:"Outputs",id:"outputs-2",level:3},{value:"Data combiner",id:"data-combiner",level:2},{value:"Inputs",id:"inputs-3",level:3},{value:"Outputs",id:"outputs-3",level:3},{value:"DataFrame operations",id:"dataframe-operations",level:2},{value:"Inputs",id:"inputs-4",level:3},{value:"Outputs",id:"outputs-4",level:3},{value:"Data to message",id:"data-to-message",level:2},{value:"Inputs",id:"inputs-5",level:3},{value:"Outputs",id:"outputs-5",level:3},{value:"Filter data",id:"filter-data",level:2},{value:"Inputs",id:"inputs-6",level:3},{value:"Outputs",id:"outputs-6",level:3},{value:"Filter values",id:"filter-values",level:2},{value:"Inputs",id:"inputs-7",level:3},{value:"Outputs",id:"outputs-7",level:3},{value:"JSON cleaner",id:"json-cleaner",level:2},{value:"Inputs",id:"inputs-8",level:3},{value:"Outputs",id:"outputs-8",level:3},{value:"Lambda filter",id:"lambda-filter",level:2},{value:"Inputs",id:"inputs-9",level:3},{value:"Outputs",id:"outputs-9",level:3},{value:"LLM router",id:"llm-router",level:2},{value:"Inputs",id:"inputs-10",level:3},{value:"Outputs",id:"outputs-10",level:3},{value:"Message to data",id:"message-to-data",level:2},{value:"Inputs",id:"inputs-11",level:3},{value:"Outputs",id:"outputs-11",level:3},{value:"Parser",id:"parser",level:2},{value:"Inputs",id:"inputs-12",level:3},{value:"Outputs",id:"outputs-12",level:3},{value:"Parse DataFrame",id:"parse-dataframe",level:2},{value:"Inputs",id:"inputs-13",level:3},{value:"Outputs",id:"outputs-13",level:3},{value:"Parse JSON",id:"parse-json",level:2},{value:"Inputs",id:"inputs-14",level:3},{value:"Outputs",id:"outputs-14",level:3},{value:"Select data",id:"select-data",level:2},{value:"Inputs",id:"inputs-15",level:3},{value:"Outputs",id:"outputs-15",level:3},{value:"Split text",id:"split-text",level:2},{value:"Inputs",id:"inputs-16",level:3},{value:"Outputs",id:"outputs-16",level:3},{value:"Update data",id:"update-data",level:2},{value:"Inputs",id:"inputs-17",level:3},{value:"Outputs",id:"outputs-17",level:3}];function u(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.R)(),...e.components};return o||m("CH",!1),o.Code||m("CH.Code",!0),(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("style",{dangerouslySetInnerHTML:{__html:'[data-ch-theme="github-dark"] { --ch-t-colorScheme: dark;--ch-t-foreground: #c9d1d9;--ch-t-background: #0d1117;--ch-t-lighter-inlineBackground: #0d1117e6;--ch-t-editor-background: #0d1117;--ch-t-editor-foreground: #c9d1d9;--ch-t-editor-lineHighlightBackground: #6e76811a;--ch-t-editor-rangeHighlightBackground: #ffffff0b;--ch-t-editor-infoForeground: #3794FF;--ch-t-editor-selectionBackground: #264F78;--ch-t-focusBorder: #1f6feb;--ch-t-tab-activeBackground: #0d1117;--ch-t-tab-activeForeground: #c9d1d9;--ch-t-tab-inactiveBackground: #010409;--ch-t-tab-inactiveForeground: #8b949e;--ch-t-tab-border: #30363d;--ch-t-tab-activeBorder: #0d1117;--ch-t-editorGroup-border: #30363d;--ch-t-editorGroupHeader-tabsBackground: #010409;--ch-t-editorLineNumber-foreground: #6e7681;--ch-t-input-background: #0d1117;--ch-t-input-foreground: #c9d1d9;--ch-t-input-border: #30363d;--ch-t-icon-foreground: #8b949e;--ch-t-sideBar-background: #010409;--ch-t-sideBar-foreground: #c9d1d9;--ch-t-sideBar-border: #30363d;--ch-t-list-activeSelectionBackground: #6e768166;--ch-t-list-activeSelectionForeground: #c9d1d9;--ch-t-list-hoverBackground: #6e76811a;--ch-t-list-hoverForeground: #c9d1d9; }'}}),"\n","\n",(0,d.jsx)(t.p,{children:"Processing components process and transform data within a flow."}),"\n",(0,d.jsx)(t.h2,{id:"use-a-processing-component-in-a-flow",children:"Use a processing component in a flow"}),"\n",(0,d.jsxs)(t.p,{children:["The ",(0,d.jsx)(t.strong,{children:"Split Text"})," processing component in this flow splits the incoming ",(0,d.jsx)(t.a,{href:"/concepts-objects",children:"Data"})," into chunks to be embedded into the vector store component."]}),"\n",(0,d.jsx)(t.p,{children:"The component offers control over chunk size, overlap, and separator, which affect context and granularity in vector store retrieval results."}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.img,{src:s(7685).A+"",width:"1804",height:"1546"})}),"\n",(0,d.jsx)(t.h2,{id:"alter-metadata",children:"Alter metadata"}),"\n",(0,d.jsxs)(t.p,{children:["This component modifies metadata of input objects. It can add new metadata, update existing metadata, and remove specified metadata fields. The component works with both ",(0,d.jsx)(t.a,{href:"/concepts-objects#message-object",children:"Message"})," and ",(0,d.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," objects, and can also create a new Data object from user-provided text."]}),"\n",(0,d.jsx)(t.h3,{id:"inputs",children:"Inputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"input_value"}),(0,d.jsx)(t.td,{children:"Input"}),(0,d.jsx)(t.td,{children:"Objects to which Metadata should be added"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"text_in"}),(0,d.jsx)(t.td,{children:"User Text"}),(0,d.jsxs)(t.td,{children:["Text input; the value will be in the 'text' attribute of the ",(0,d.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," object. Empty text entries are ignored."]})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"metadata"}),(0,d.jsx)(t.td,{children:"Metadata"}),(0,d.jsx)(t.td,{children:"Metadata to add to each object"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"remove_fields"}),(0,d.jsx)(t.td,{children:"Fields to Remove"}),(0,d.jsx)(t.td,{children:"Metadata Fields to Remove"})]})]})]}),"\n",(0,d.jsx)(t.h3,{id:"outputs",children:"Outputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsx)(t.tbody,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"data"}),(0,d.jsx)(t.td,{children:"Data"}),(0,d.jsx)(t.td,{children:"List of Input objects, each with added metadata"})]})})]}),"\n",(0,d.jsx)(t.h2,{id:"combine-text",children:"Combine text"}),"\n",(0,d.jsx)(t.p,{children:"This component concatenates two text sources into a single text chunk using a specified delimiter."}),"\n",(0,d.jsx)(t.h3,{id:"inputs-1",children:"Inputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"first_text"}),(0,d.jsx)(t.td,{children:"First Text"}),(0,d.jsx)(t.td,{children:"The first text input to concatenate."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"second_text"}),(0,d.jsx)(t.td,{children:"Second Text"}),(0,d.jsx)(t.td,{children:"The second text input to concatenate."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"delimiter"}),(0,d.jsx)(t.td,{children:"Delimiter"}),(0,d.jsx)(t.td,{children:"A string used to separate the two text inputs. Defaults to a space."})]})]})]}),"\n",(0,d.jsx)(t.h3,{id:"outputs-1",children:"Outputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsx)(t.tbody,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"message"}),(0,d.jsx)(t.td,{children:"Message"}),(0,d.jsxs)(t.td,{children:["A ",(0,d.jsx)(t.a,{href:"/concepts-objects#message-object",children:"Message"})," object containing the combined text."]})]})})]}),"\n",(0,d.jsx)(t.h2,{id:"create-data",children:"Create data"}),"\n",(0,d.jsx)(t.admonition,{type:"important",children:(0,d.jsxs)(t.p,{children:["This component is in ",(0,d.jsx)(t.strong,{children:"Legacy"}),", which means it is no longer in active development as of Langflow version 1.1.3."]})}),"\n",(0,d.jsxs)(t.p,{children:["This component dynamically creates a ",(0,d.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," object with a specified number of fields."]}),"\n",(0,d.jsx)(t.h3,{id:"inputs-2",children:"Inputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"number_of_fields"}),(0,d.jsx)(t.td,{children:"Number of Fields"}),(0,d.jsx)(t.td,{children:"The number of fields to be added to the record."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"text_key"}),(0,d.jsx)(t.td,{children:"Text Key"}),(0,d.jsx)(t.td,{children:"Key that identifies the field to be used as the text content."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"text_key_validator"}),(0,d.jsx)(t.td,{children:"Text Key Validator"}),(0,d.jsxs)(t.td,{children:["If enabled, checks if the given ",(0,d.jsx)(t.code,{children:"Text Key"})," is present in the given ",(0,d.jsx)(t.code,{children:"Data"}),"."]})]})]})]}),"\n",(0,d.jsx)(t.h3,{id:"outputs-2",children:"Outputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsx)(t.tbody,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"data"}),(0,d.jsx)(t.td,{children:"Data"}),(0,d.jsxs)(t.td,{children:["A ",(0,d.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," object created with the specified fields and text key."]})]})})]}),"\n",(0,d.jsx)(t.h2,{id:"data-combiner",children:"Data combiner"}),"\n",(0,d.jsx)(t.admonition,{type:"important",children:(0,d.jsxs)(t.p,{children:["Prior to Langflow version 1.1.3, this component was named ",(0,d.jsx)(t.strong,{children:"Merge Data"}),"."]})}),"\n",(0,d.jsxs)(t.p,{children:["This component combines multiple data sources into a single unified ",(0,d.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," object."]}),"\n",(0,d.jsx)(t.p,{children:"The component iterates through the input list of data objects, merging them into a single data object. If the input list is empty, it returns an empty data object. If there's only one input data object, it returns that object unchanged. The merging process uses the addition operator to combine data objects."}),"\n",(0,d.jsx)(t.h3,{id:"inputs-3",children:"Inputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsx)(t.tbody,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"data"}),(0,d.jsx)(t.td,{children:"Data"}),(0,d.jsx)(t.td,{children:"A list of data objects to be merged."})]})})]}),"\n",(0,d.jsx)(t.h3,{id:"outputs-3",children:"Outputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsx)(t.tbody,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"merged_data"}),(0,d.jsx)(t.td,{children:"Merged Data"}),(0,d.jsxs)(t.td,{children:["A single ",(0,d.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," object containing the combined information from all input data objects."]})]})})]}),"\n",(0,d.jsx)(t.h2,{id:"dataframe-operations",children:"DataFrame operations"}),"\n",(0,d.jsxs)(t.p,{children:["This component performs the following operations on Pandas ",(0,d.jsx)(t.a,{href:"https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html",children:"DataFrame"}),":"]}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Operation"}),(0,d.jsx)(t.th,{children:"Description"}),(0,d.jsx)(t.th,{children:"Required Inputs"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"Add Column"}),(0,d.jsx)(t.td,{children:"Adds a new column with a constant value"}),(0,d.jsx)(t.td,{children:"new_column_name, new_column_value"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"Drop Column"}),(0,d.jsx)(t.td,{children:"Removes a specified column"}),(0,d.jsx)(t.td,{children:"column_name"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"Filter"}),(0,d.jsx)(t.td,{children:"Filters rows based on column value"}),(0,d.jsx)(t.td,{children:"column_name, filter_value"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"Head"}),(0,d.jsx)(t.td,{children:"Returns first n rows"}),(0,d.jsx)(t.td,{children:"num_rows"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"Rename Column"}),(0,d.jsx)(t.td,{children:"Renames an existing column"}),(0,d.jsx)(t.td,{children:"column_name, new_column_name"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"Replace Value"}),(0,d.jsx)(t.td,{children:"Replaces values in a column"}),(0,d.jsx)(t.td,{children:"column_name, replace_value, replacement_value"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"Select Columns"}),(0,d.jsx)(t.td,{children:"Selects specific columns"}),(0,d.jsx)(t.td,{children:"columns_to_select"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"Sort"}),(0,d.jsx)(t.td,{children:"Sorts DataFrame by column"}),(0,d.jsx)(t.td,{children:"column_name, ascending"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"Tail"}),(0,d.jsx)(t.td,{children:"Returns last n rows"}),(0,d.jsx)(t.td,{children:"num_rows"})]})]})]}),"\n",(0,d.jsx)(t.h3,{id:"inputs-4",children:"Inputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"df"}),(0,d.jsx)(t.td,{children:"DataFrame"}),(0,d.jsx)(t.td,{children:"The input DataFrame to operate on."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"operation"}),(0,d.jsx)(t.td,{children:"Operation"}),(0,d.jsx)(t.td,{children:"Select the DataFrame operation to perform. Options: Add Column, Drop Column, Filter, Head, Rename Column, Replace Value, Select Columns, Sort, Tail"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"column_name"}),(0,d.jsx)(t.td,{children:"Column Name"}),(0,d.jsx)(t.td,{children:"The column name to use for the operation."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"filter_value"}),(0,d.jsx)(t.td,{children:"Filter Value"}),(0,d.jsx)(t.td,{children:"The value to filter rows by."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"ascending"}),(0,d.jsx)(t.td,{children:"Sort Ascending"}),(0,d.jsx)(t.td,{children:"Whether to sort in ascending order."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"new_column_name"}),(0,d.jsx)(t.td,{children:"New Column Name"}),(0,d.jsx)(t.td,{children:"The new column name when renaming or adding a column."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"new_column_value"}),(0,d.jsx)(t.td,{children:"New Column Value"}),(0,d.jsx)(t.td,{children:"The value to populate the new column with."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"columns_to_select"}),(0,d.jsx)(t.td,{children:"Columns to Select"}),(0,d.jsx)(t.td,{children:"List of column names to select."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"num_rows"}),(0,d.jsx)(t.td,{children:"Number of Rows"}),(0,d.jsx)(t.td,{children:"Number of rows to return (for head/tail). Default: 5"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"replace_value"}),(0,d.jsx)(t.td,{children:"Value to Replace"}),(0,d.jsx)(t.td,{children:"The value to replace in the column."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"replacement_value"}),(0,d.jsx)(t.td,{children:"Replacement Value"}),(0,d.jsx)(t.td,{children:"The value to replace with."})]})]})]}),"\n",(0,d.jsx)(t.h3,{id:"outputs-4",children:"Outputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsx)(t.tbody,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"output"}),(0,d.jsx)(t.td,{children:"DataFrame"}),(0,d.jsx)(t.td,{children:"The resulting DataFrame after the operation."})]})})]}),"\n",(0,d.jsx)(t.h2,{id:"data-to-message",children:"Data to message"}),"\n",(0,d.jsx)(t.admonition,{type:"important",children:(0,d.jsxs)(t.p,{children:["This component is in ",(0,d.jsx)(t.strong,{children:"Legacy"}),", which means it is no longer in active development as of Langflow version 1.3.\nInstead, use the ",(0,d.jsx)(t.a,{href:"#parser",children:"Parser"})," component."]})}),"\n",(0,d.jsx)(t.admonition,{type:"important",children:(0,d.jsxs)(t.p,{children:["Prior to Langflow version 1.1.3, this component was named ",(0,d.jsx)(t.strong,{children:"Parse Data"}),"."]})}),"\n",(0,d.jsx)(t.p,{children:"The ParseData component converts data objects into plain text using a specified template.\nThis component transforms structured data into human-readable text formats, allowing for customizable output through the use of templates."}),"\n",(0,d.jsx)(t.h3,{id:"inputs-5",children:"Inputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"data"}),(0,d.jsx)(t.td,{children:"Data"}),(0,d.jsx)(t.td,{children:"The data to convert to text."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"template"}),(0,d.jsx)(t.td,{children:"Template"}),(0,d.jsxs)(t.td,{children:["The template to use for formatting the data. It can contain the keys ",(0,d.jsx)(t.code,{children:"{text}"}),", ",(0,d.jsx)(t.code,{children:"{data}"}),", or any other key in the data."]})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"sep"}),(0,d.jsx)(t.td,{children:"Separator"}),(0,d.jsx)(t.td,{children:"The separator to use between multiple data items."})]})]})]}),"\n",(0,d.jsx)(t.h3,{id:"outputs-5",children:"Outputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsx)(t.tbody,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"text"}),(0,d.jsx)(t.td,{children:"Text"}),(0,d.jsxs)(t.td,{children:["The resulting formatted text string as a ",(0,d.jsx)(t.a,{href:"/concepts-objects#message-object",children:"Message"})," object."]})]})})]}),"\n",(0,d.jsx)(t.h2,{id:"filter-data",children:"Filter data"}),"\n",(0,d.jsx)(t.admonition,{type:"important",children:(0,d.jsxs)(t.p,{children:["This component is in ",(0,d.jsx)(t.strong,{children:"Beta"})," as of Langflow version 1.1.3, and is not yet fully supported."]})}),"\n",(0,d.jsxs)(t.p,{children:["This component filters a ",(0,d.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," object based on a list of keys."]}),"\n",(0,d.jsx)(t.h3,{id:"inputs-6",children:"Inputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"data"}),(0,d.jsx)(t.td,{children:"Data"}),(0,d.jsx)(t.td,{children:"Data object to filter."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"filter_criteria"}),(0,d.jsx)(t.td,{children:"Filter Criteria"}),(0,d.jsx)(t.td,{children:"List of keys to filter by."})]})]})]}),"\n",(0,d.jsx)(t.h3,{id:"outputs-6",children:"Outputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsx)(t.tbody,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"filtered_data"}),(0,d.jsx)(t.td,{children:"Filtered Data"}),(0,d.jsxs)(t.td,{children:["A new ",(0,d.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," object containing only the key-value pairs that match the filter criteria."]})]})})]}),"\n",(0,d.jsx)(t.h2,{id:"filter-values",children:"Filter values"}),"\n",(0,d.jsx)(t.admonition,{type:"important",children:(0,d.jsxs)(t.p,{children:["This component is in ",(0,d.jsx)(t.strong,{children:"Beta"})," as of Langflow version 1.1.3, and is not yet fully supported."]})}),"\n",(0,d.jsx)(t.p,{children:"The Filter values component filters a list of data items based on a specified key, filter value, and comparison operator."}),"\n",(0,d.jsx)(t.h3,{id:"inputs-7",children:"Inputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"input_data"}),(0,d.jsx)(t.td,{children:"Input data"}),(0,d.jsx)(t.td,{children:"The list of data items to filter."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"filter_key"}),(0,d.jsx)(t.td,{children:"Filter Key"}),(0,d.jsx)(t.td,{children:"The key to filter on, for example, 'route'."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"filter_value"}),(0,d.jsx)(t.td,{children:"Filter Value"}),(0,d.jsx)(t.td,{children:"The value to filter by, for example, 'CMIP'."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"operator"}),(0,d.jsx)(t.td,{children:"Comparison Operator"}),(0,d.jsx)(t.td,{children:"The operator to apply for comparing the values."})]})]})]}),"\n",(0,d.jsx)(t.h3,{id:"outputs-7",children:"Outputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsx)(t.tbody,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"filtered_data"}),(0,d.jsx)(t.td,{children:"Filtered data"}),(0,d.jsx)(t.td,{children:"The resulting list of filtered data items."})]})})]}),"\n",(0,d.jsx)(t.h2,{id:"json-cleaner",children:"JSON cleaner"}),"\n",(0,d.jsx)(t.p,{children:"The JSON cleaner component cleans JSON strings to ensure they are fully compliant with the JSON specification."}),"\n",(0,d.jsx)(t.h3,{id:"inputs-8",children:"Inputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"json_str"}),(0,d.jsx)(t.td,{children:"JSON String"}),(0,d.jsx)(t.td,{children:"The JSON string to be cleaned. This can be a raw, potentially malformed JSON string produced by language models or other sources that may not fully comply with JSON specifications."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"remove_control_chars"}),(0,d.jsx)(t.td,{children:"Remove Control Characters"}),(0,d.jsx)(t.td,{children:"If set to True, this option removes control characters (ASCII characters 0-31 and 127) from the JSON string. This can help eliminate invisible characters that might cause parsing issues or make the JSON invalid."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"normalize_unicode"}),(0,d.jsx)(t.td,{children:"Normalize Unicode"}),(0,d.jsx)(t.td,{children:"When enabled, this option normalizes Unicode characters in the JSON string to their canonical composition form (NFC). This ensures consistent representation of Unicode characters across different systems and prevents potential issues with character encoding."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"validate_json"}),(0,d.jsx)(t.td,{children:"Validate JSON"}),(0,d.jsx)(t.td,{children:"If set to True, this option attempts to parse the JSON string to ensure it is well-formed before applying the final repair operation. It raises a ValueError if the JSON is invalid, allowing for early detection of major structural issues in the JSON."})]})]})]}),"\n",(0,d.jsx)(t.h3,{id:"outputs-8",children:"Outputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsx)(t.tbody,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"output"}),(0,d.jsx)(t.td,{children:"Cleaned JSON String"}),(0,d.jsx)(t.td,{children:"The resulting cleaned, repaired, and validated JSON string that fully complies with the JSON specification."})]})})]}),"\n",(0,d.jsx)(t.h2,{id:"lambda-filter",children:"Lambda filter"}),"\n",(0,d.jsx)(t.p,{children:"This component uses an LLM to generate a Lambda function for filtering or transforming structured data."}),"\n",(0,d.jsxs)(t.p,{children:["To use the ",(0,d.jsx)(t.strong,{children:"Lambda filter"})," component, you must connect it to a ",(0,d.jsx)(t.a,{href:"/components-models#language-model",children:"Language Model"})," component, which the component uses to generate a function based on the natural language instructions in the ",(0,d.jsx)(t.strong,{children:"Instructions"})," field."]}),"\n",(0,d.jsxs)(t.p,{children:["This example gets JSON data from the ",(0,d.jsx)(t.code,{children:"https://jsonplaceholder.typicode.com/users"})," API endpoint.\nThe ",(0,d.jsx)(t.strong,{children:"Instructions"})," field in the ",(0,d.jsx)(t.strong,{children:"Lambda filter"})," component specifies the task ",(0,d.jsx)(t.code,{children:"extract emails"}),".\nThe connected LLM creates a filter based on the instructions, and successfully extracts a list of email addresses from the JSON data."]}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.img,{src:s(66539).A+"",width:"1742",height:"1622"})}),"\n",(0,d.jsx)(t.h3,{id:"inputs-9",children:"Inputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"data"}),(0,d.jsx)(t.td,{children:"Data"}),(0,d.jsx)(t.td,{children:"The structured data to filter or transform using a Lambda function."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"llm"}),(0,d.jsx)(t.td,{children:"Language Model"}),(0,d.jsxs)(t.td,{children:["The connection port for a ",(0,d.jsx)(t.a,{href:"/components-models",children:"Model"})," component."]})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"filter_instruction"}),(0,d.jsx)(t.td,{children:"Instructions"}),(0,d.jsxs)(t.td,{children:["Natural language instructions for how to filter or transform the data using a Lambda function, such as ",(0,d.jsx)(t.code,{children:"Filter the data to only include items where the 'status' is 'active'."})]})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"sample_size"}),(0,d.jsx)(t.td,{children:"Sample Size"}),(0,d.jsx)(t.td,{children:"For large datasets, the number of characters to sample from the dataset head and tail."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"max_size"}),(0,d.jsx)(t.td,{children:"Max Size"}),(0,d.jsxs)(t.td,{children:['The number of characters for the data to be considered "large", which triggers sampling by the ',(0,d.jsx)(t.code,{children:"sample_size"})," value."]})]})]})]}),"\n",(0,d.jsx)(t.h3,{id:"outputs-9",children:"Outputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"filtered_data"}),(0,d.jsx)(t.td,{children:"Filtered Data"}),(0,d.jsxs)(t.td,{children:["The filtered or transformed ",(0,d.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data object"}),"."]})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"dataframe"}),(0,d.jsx)(t.td,{children:"DataFrame"}),(0,d.jsxs)(t.td,{children:["The filtered data as a ",(0,d.jsx)(t.a,{href:"/concepts-objects#dataframe-object",children:"DataFrame"}),"."]})]})]})]}),"\n",(0,d.jsx)(t.h2,{id:"llm-router",children:"LLM router"}),"\n",(0,d.jsx)(t.p,{children:"This component routes requests to the most appropriate LLM based on OpenRouter model specifications."}),"\n",(0,d.jsx)(t.h3,{id:"inputs-10",children:"Inputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"models"}),(0,d.jsx)(t.td,{children:"Language Models"}),(0,d.jsx)(t.td,{children:"List of LLMs to route between"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"input_value"}),(0,d.jsx)(t.td,{children:"Input"}),(0,d.jsx)(t.td,{children:"The input message to be routed"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"judge_llm"}),(0,d.jsx)(t.td,{children:"Judge LLM"}),(0,d.jsx)(t.td,{children:"LLM that will evaluate and select the most appropriate model"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"optimization"}),(0,d.jsx)(t.td,{children:"Optimization"}),(0,d.jsx)(t.td,{children:"Optimization preference (quality/speed/cost/balanced)"})]})]})]}),"\n",(0,d.jsx)(t.h3,{id:"outputs-10",children:"Outputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"output"}),(0,d.jsx)(t.td,{children:"Output"}),(0,d.jsx)(t.td,{children:"The response from the selected model"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"selected_model"}),(0,d.jsx)(t.td,{children:"Selected Model"}),(0,d.jsx)(t.td,{children:"Name of the chosen model"})]})]})]}),"\n",(0,d.jsx)(t.h2,{id:"message-to-data",children:"Message to data"}),"\n",(0,d.jsxs)(t.p,{children:["This component converts ",(0,d.jsx)(t.a,{href:"/concepts-objects#message-object",children:"Message"})," objects to ",(0,d.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," objects."]}),"\n",(0,d.jsx)(t.h3,{id:"inputs-11",children:"Inputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsx)(t.tbody,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"message"}),(0,d.jsx)(t.td,{children:"Message"}),(0,d.jsxs)(t.td,{children:["The ",(0,d.jsx)(t.a,{href:"/concepts-objects#message-object",children:"Message"})," object to convert to a ",(0,d.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," object."]})]})})]}),"\n",(0,d.jsx)(t.h3,{id:"outputs-11",children:"Outputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsx)(t.tbody,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"data"}),(0,d.jsx)(t.td,{children:"Data"}),(0,d.jsxs)(t.td,{children:["The converted ",(0,d.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," object."]})]})})]}),"\n",(0,d.jsx)(t.h2,{id:"parser",children:"Parser"}),"\n",(0,d.jsxs)(t.p,{children:["This component formats ",(0,d.jsx)(t.code,{children:"DataFrame"})," or ",(0,d.jsx)(t.code,{children:"Data"})," objects into text using templates, with an option to convert inputs directly to strings using ",(0,d.jsx)(t.code,{children:"stringify"}),"."]}),"\n",(0,d.jsxs)(t.p,{children:["To use this component, create variables for values in the ",(0,d.jsx)(t.code,{children:"template"})," the same way you would in a ",(0,d.jsx)(t.a,{href:"/components-prompts",children:"Prompt"})," component. For ",(0,d.jsx)(t.code,{children:"DataFrames"}),", use column names, for example ",(0,d.jsx)(t.code,{children:"Name: {Name}"}),". For ",(0,d.jsx)(t.code,{children:"Data"})," objects, use ",(0,d.jsx)(t.code,{children:"{text}"}),"."]}),"\n",(0,d.jsxs)(t.p,{children:["To use the ",(0,d.jsx)(t.strong,{children:"Parser"})," component with a ",(0,d.jsx)(t.strong,{children:"Structured Output"})," component, do the following:"]}),"\n",(0,d.jsxs)(t.ol,{children:["\n",(0,d.jsxs)(t.li,{children:["Connect a ",(0,d.jsx)(t.strong,{children:"Structured Output"})," component's ",(0,d.jsx)(t.strong,{children:"DataFrame"})," output to the ",(0,d.jsx)(t.strong,{children:"Parser"})," component's ",(0,d.jsx)(t.strong,{children:"DataFrame"})," input."]}),"\n",(0,d.jsxs)(t.li,{children:["Connect the ",(0,d.jsx)(t.strong,{children:"File"})," component to the ",(0,d.jsx)(t.strong,{children:"Structured Output"})," component's ",(0,d.jsx)(t.strong,{children:"Message"})," input."]}),"\n",(0,d.jsxs)(t.li,{children:["Connect the ",(0,d.jsx)(t.strong,{children:"OpenAI"})," model component's ",(0,d.jsx)(t.strong,{children:"Language Model"})," output to the ",(0,d.jsx)(t.strong,{children:"Structured Output"})," component's ",(0,d.jsx)(t.strong,{children:"Language Model"})," input."]}),"\n"]}),"\n",(0,d.jsx)(t.p,{children:"The flow looks like this:"}),"\n",(0,d.jsx)(t.p,{children:(0,d.jsx)(t.img,{alt:"A parser component connected to OpenAI and structured output",src:s(96218).A+"",width:"2300",height:"1436"})}),"\n",(0,d.jsxs)(t.ol,{start:"4",children:["\n",(0,d.jsxs)(t.li,{children:["In the ",(0,d.jsx)(t.strong,{children:"Structured Output"})," component, click ",(0,d.jsx)(t.strong,{children:"Open Table"}),".\nThis opens a pane for structuring your table.\nThe table contains the rows ",(0,d.jsx)(t.strong,{children:"Name"}),", ",(0,d.jsx)(t.strong,{children:"Description"}),", ",(0,d.jsx)(t.strong,{children:"Type"}),", and ",(0,d.jsx)(t.strong,{children:"Multiple"}),"."]}),"\n",(0,d.jsxs)(t.li,{children:["Create a table that maps to the data you're loading from the ",(0,d.jsx)(t.strong,{children:"File"})," loader.\nFor example, to create a table for employees, you might have the rows ",(0,d.jsx)(t.code,{children:"id"}),", ",(0,d.jsx)(t.code,{children:"name"}),", and ",(0,d.jsx)(t.code,{children:"email"}),", all of type ",(0,d.jsx)(t.code,{children:"string"}),"."]}),"\n",(0,d.jsxs)(t.li,{children:["In the ",(0,d.jsx)(t.strong,{children:"Template"})," field of the ",(0,d.jsx)(t.strong,{children:"Parser"})," component, enter a template for parsing the ",(0,d.jsx)(t.strong,{children:"Structured Output"})," component's DataFrame output into structured text.\nCreate variables for values in the ",(0,d.jsx)(t.code,{children:"template"})," the same way you would in a ",(0,d.jsx)(t.a,{href:"/components-prompts",children:"Prompt"})," component.\nFor example, to present a table of employees in Markdown:"]}),"\n"]}),"\n",(0,d.jsx)(o.Code,{codeConfig:j,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"# Employee Profile",props:{}}]},{tokens:[{content:"## Personal Information",props:{}}]},{tokens:[{content:"- **Name:** {name}",props:{}}]},{tokens:[{content:"- **ID:** {id}",props:{}}]},{tokens:[{content:"- **Email:** {email}",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,d.jsxs)(t.ol,{start:"7",children:["\n",(0,d.jsxs)(t.li,{children:["To run the flow, in the ",(0,d.jsx)(t.strong,{children:"Parser"})," component, click ",(0,d.jsx)(l.A,{name:"Play","aria-label":"Play icon"}),"."]}),"\n",(0,d.jsxs)(t.li,{children:["To view your parsed text, in the ",(0,d.jsx)(t.strong,{children:"Parser"})," component, click ",(0,d.jsx)(l.A,{name:"TextSearch","aria-label":"Inspect icon"}),"."]}),"\n",(0,d.jsxs)(t.li,{children:["Optionally, connect a ",(0,d.jsx)(t.strong,{children:"Chat Output"})," component, and open the ",(0,d.jsx)(t.strong,{children:"Playground"})," to see the output."]}),"\n"]}),"\n",(0,d.jsxs)(t.p,{children:["For an additional example of using the ",(0,d.jsx)(t.strong,{children:"Parser"})," component to format a DataFrame from a ",(0,d.jsx)(t.strong,{children:"Structured Output"})," component, see the ",(0,d.jsx)(t.strong,{children:"Market Research"})," template flow."]}),"\n",(0,d.jsx)(t.h3,{id:"inputs-12",children:"Inputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"mode"}),(0,d.jsx)(t.td,{children:"Mode"}),(0,d.jsx)(t.td,{children:'Tab selection between "Parser" and "Stringify" modes. "Stringify" converts input to a string instead of using a template.'})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"pattern"}),(0,d.jsx)(t.td,{children:"Template"}),(0,d.jsxs)(t.td,{children:["Template for formatting using variables in curly brackets. For DataFrames, use column names, such as ",(0,d.jsx)(t.code,{children:"Name: {Name}"}),". For Data objects, use ",(0,d.jsx)(t.code,{children:"{text}"}),"."]})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"input_data"}),(0,d.jsx)(t.td,{children:"Data or DataFrame"}),(0,d.jsx)(t.td,{children:"The input to parse - accepts either a DataFrame or Data object."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"sep"}),(0,d.jsx)(t.td,{children:"Separator"}),(0,d.jsx)(t.td,{children:"String used to separate rows/items. Default: newline."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"clean_data"}),(0,d.jsx)(t.td,{children:"Clean Data"}),(0,d.jsx)(t.td,{children:"When stringify is enabled, cleans data by removing empty rows and lines."})]})]})]}),"\n",(0,d.jsx)(t.h3,{id:"outputs-12",children:"Outputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsx)(t.tbody,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"parsed_text"}),(0,d.jsx)(t.td,{children:"Parsed Text"}),(0,d.jsxs)(t.td,{children:["The resulting formatted text as a ",(0,d.jsx)(t.a,{href:"/concepts-objects#message-object",children:"Message"})," object."]})]})})]}),"\n",(0,d.jsx)(t.h2,{id:"parse-dataframe",children:"Parse DataFrame"}),"\n",(0,d.jsx)(t.admonition,{type:"important",children:(0,d.jsxs)(t.p,{children:["This component is in ",(0,d.jsx)(t.strong,{children:"Legacy"}),", which means it is no longer in active development as of Langflow version 1.3.\nInstead, use the ",(0,d.jsx)(t.a,{href:"#parser",children:"Parser"})," component."]})}),"\n",(0,d.jsx)(t.p,{children:"This component converts DataFrames into plain text using templates."}),"\n",(0,d.jsx)(t.h3,{id:"inputs-13",children:"Inputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"df"}),(0,d.jsx)(t.td,{children:"DataFrame"}),(0,d.jsx)(t.td,{children:"The DataFrame to convert to text rows."})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"template"}),(0,d.jsx)(t.td,{children:"Template"}),(0,d.jsxs)(t.td,{children:["Template for formatting (use ",(0,d.jsx)(t.code,{children:"{column_name}"})," placeholders)."]})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"sep"}),(0,d.jsx)(t.td,{children:"Separator"}),(0,d.jsx)(t.td,{children:"String to join rows in output."})]})]})]}),"\n",(0,d.jsx)(t.h3,{id:"outputs-13",children:"Outputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsx)(t.tbody,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"text"}),(0,d.jsx)(t.td,{children:"Text"}),(0,d.jsx)(t.td,{children:"All rows combined into single text."})]})})]}),"\n",(0,d.jsx)(t.h2,{id:"parse-json",children:"Parse JSON"}),"\n",(0,d.jsx)(t.admonition,{type:"important",children:(0,d.jsxs)(t.p,{children:["This component is in ",(0,d.jsx)(t.strong,{children:"Legacy"}),", which means it is no longer in active development as of Langflow version 1.1.3."]})}),"\n",(0,d.jsx)(t.p,{children:"This component converts and extracts JSON fields using JQ queries."}),"\n",(0,d.jsx)(t.h3,{id:"inputs-14",children:"Inputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"input_value"}),(0,d.jsx)(t.td,{children:"Input"}),(0,d.jsxs)(t.td,{children:["Data object to filter (",(0,d.jsx)(t.a,{href:"/concepts-objects#message-object",children:"Message"})," or ",(0,d.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"}),")."]})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"query"}),(0,d.jsx)(t.td,{children:"JQ Query"}),(0,d.jsx)(t.td,{children:"JQ Query to filter the data"})]})]})]}),"\n",(0,d.jsx)(t.h3,{id:"outputs-14",children:"Outputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsx)(t.tbody,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"filtered_data"}),(0,d.jsx)(t.td,{children:"Filtered Data"}),(0,d.jsxs)(t.td,{children:["Filtered data as list of ",(0,d.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," objects."]})]})})]}),"\n",(0,d.jsx)(t.h2,{id:"select-data",children:"Select data"}),"\n",(0,d.jsx)(t.admonition,{type:"important",children:(0,d.jsxs)(t.p,{children:["This component is in ",(0,d.jsx)(t.strong,{children:"Legacy"}),", which means it is no longer in active development as of Langflow version 1.1.3."]})}),"\n",(0,d.jsxs)(t.p,{children:["This component selects a single ",(0,d.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," item from a list."]}),"\n",(0,d.jsx)(t.h3,{id:"inputs-15",children:"Inputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"data_list"}),(0,d.jsx)(t.td,{children:"Data List"}),(0,d.jsx)(t.td,{children:"List of data to select from"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"data_index"}),(0,d.jsx)(t.td,{children:"Data Index"}),(0,d.jsx)(t.td,{children:"Index of the data to select"})]})]})]}),"\n",(0,d.jsx)(t.h3,{id:"outputs-15",children:"Outputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsx)(t.tbody,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"selected_data"}),(0,d.jsx)(t.td,{children:"Selected Data"}),(0,d.jsxs)(t.td,{children:["The selected ",(0,d.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," object."]})]})})]}),"\n",(0,d.jsx)(t.h2,{id:"split-text",children:"Split text"}),"\n",(0,d.jsx)(t.p,{children:"This component splits text into chunks based on specified criteria."}),"\n",(0,d.jsx)(t.h3,{id:"inputs-16",children:"Inputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"data_inputs"}),(0,d.jsx)(t.td,{children:"Input Documents"}),(0,d.jsxs)(t.td,{children:["The data to split.The component accepts ",(0,d.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," or ",(0,d.jsx)(t.a,{href:"/concepts-objects#dataframe-object",children:"DataFrame"})," objects."]})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"chunk_overlap"}),(0,d.jsx)(t.td,{children:"Chunk Overlap"}),(0,d.jsxs)(t.td,{children:["The number of characters to overlap between chunks. Default: ",(0,d.jsx)(t.code,{children:"200"}),"."]})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"chunk_size"}),(0,d.jsx)(t.td,{children:"Chunk Size"}),(0,d.jsxs)(t.td,{children:["The maximum number of characters in each chunk. Default: ",(0,d.jsx)(t.code,{children:"1000"}),"."]})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"separator"}),(0,d.jsx)(t.td,{children:"Separator"}),(0,d.jsxs)(t.td,{children:["The character to split on. Default: ",(0,d.jsx)(t.code,{children:"newline"}),"."]})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"text_key"}),(0,d.jsx)(t.td,{children:"Text Key"}),(0,d.jsxs)(t.td,{children:["The key to use for the text column (advanced). Default: ",(0,d.jsx)(t.code,{children:"text"}),"."]})]})]})]}),"\n",(0,d.jsx)(t.h3,{id:"outputs-16",children:"Outputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"chunks"}),(0,d.jsx)(t.td,{children:"Chunks"}),(0,d.jsxs)(t.td,{children:["List of split text chunks as ",(0,d.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," objects."]})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"dataframe"}),(0,d.jsx)(t.td,{children:"DataFrame"}),(0,d.jsxs)(t.td,{children:["List of split text chunks as ",(0,d.jsx)(t.a,{href:"/concepts-objects#dataframe-object",children:"DataFrame"})," objects."]})]})]})]}),"\n",(0,d.jsx)(t.h2,{id:"update-data",children:"Update data"}),"\n",(0,d.jsx)(t.p,{children:"This component dynamically updates or appends data with specified fields."}),"\n",(0,d.jsx)(t.h3,{id:"inputs-17",children:"Inputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"old_data"}),(0,d.jsx)(t.td,{children:"Data"}),(0,d.jsx)(t.td,{children:"The records to update"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"number_of_fields"}),(0,d.jsx)(t.td,{children:"Number of Fields"}),(0,d.jsx)(t.td,{children:"Number of fields to add (max 15)"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"text_key"}),(0,d.jsx)(t.td,{children:"Text Key"}),(0,d.jsx)(t.td,{children:"Key for text content"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"text_key_validator"}),(0,d.jsx)(t.td,{children:"Text Key Validator"}),(0,d.jsx)(t.td,{children:"Validates text key presence"})]})]})]}),"\n",(0,d.jsx)(t.h3,{id:"outputs-17",children:"Outputs"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"Name"}),(0,d.jsx)(t.th,{children:"Display Name"}),(0,d.jsx)(t.th,{children:"Info"})]})}),(0,d.jsx)(t.tbody,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:"data"}),(0,d.jsx)(t.td,{children:"Data"}),(0,d.jsxs)(t.td,{children:["Updated ",(0,d.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," objects."]})]})})]})]})}function p(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,d.jsx)(t,{...e,children:(0,d.jsx)(u,{...e})}):u(e)}function m(e,t){throw new Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},66539:(e,t,s)=>{s.d(t,{A:()=>n});const n=s.p+"assets/images/component-lambda-filter-c409acffcea6f80062295f4d8de4e881.png"},84443:(e,t,s)=>{s.d(t,{A:()=>r});s(96540);var n=s(64058),d=s(74848);function r(e){let{name:t,...s}=e;const r=n[t];return r?(0,d.jsx)(r,{...s}):null}},96218:(e,t,s)=>{s.d(t,{A:()=>n});const n=s.p+"assets/images/component-parser-5f97943bbc863cee6b02c74d325a062f.png"}}]); \ No newline at end of file diff --git a/assets/js/e6c6a4d2.964336ad.js b/assets/js/e6c6a4d2.963fa205.js similarity index 55% rename from assets/js/e6c6a4d2.964336ad.js rename to assets/js/e6c6a4d2.963fa205.js index 7469fd3e20..facd7c1d0a 100644 --- a/assets/js/e6c6a4d2.964336ad.js +++ b/assets/js/e6c6a4d2.963fa205.js @@ -1 +1 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[8504],{28453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>l});var s=n(96540);const i={},o=s.createContext(i);function a(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(o.Provider,{value:t},e.children)}},94910:(e,t,n)=>{n.r(t),n.d(t,{contentTitle:()=>l,default:()=>d,frontMatter:()=>a,metadata:()=>s,toc:()=>r});const s=JSON.parse('{"type":"api","id":"experimental-run-flow","title":"Experimental Run Flow","description":"","slug":"/experimental-run-flow","frontMatter":{},"api":{"tags":["Base"],"description":"Executes a specified flow by ID with optional input values, output selection, tweaks, and streaming capability.\\n\\nThis endpoint supports running flows with caching to enhance performance and efficiency.\\n\\n### Parameters:\\n- `flow_id` (str): The unique identifier of the flow to be executed.\\n- `inputs` (List[InputValueRequest], optional): A list of inputs specifying the input values and components\\n for the flow. Each input can target specific components and provide custom values.\\n- `outputs` (List[str], optional): A list of output names to retrieve from the executed flow.\\n If not provided, all outputs are returned.\\n- `tweaks` (Optional[Tweaks], optional): A dictionary of tweaks to customize the flow execution.\\n The tweaks can be used to modify the flow\'s parameters and components.\\n Tweaks can be overridden by the input values.\\n- `stream` (bool, optional): Specifies whether the results should be streamed. Defaults to False.\\n- `session_id` (Union[None, str], optional): An optional session ID to utilize existing session data for the flow\\n execution.\\n- `api_key_user` (User): The user associated with the current API key. Automatically resolved from the API key.\\n\\n### Returns:\\nA `RunResponse` object containing the selected outputs (or all if not specified) of the executed flow\\nand the session ID.\\nThe structure of the response accommodates multiple inputs, providing a nested list of outputs for each input.\\n\\n### Raises:\\nHTTPException: Indicates issues with finding the specified flow, invalid input formats, or internal errors during\\nflow execution.\\n\\n### Example usage:\\n```json\\nPOST /run/flow_id\\nx-api-key: YOUR_API_KEY\\nPayload:\\n{\\n \\"inputs\\": [\\n {\\"components\\": [\\"component1\\"], \\"input_value\\": \\"value1\\"},\\n {\\"components\\": [\\"component3\\"], \\"input_value\\": \\"value2\\"}\\n ],\\n \\"outputs\\": [\\"Component Name\\", \\"component_id\\"],\\n \\"tweaks\\": {\\"parameter_name\\": \\"value\\", \\"Component Name\\": {\\"parameter_name\\": \\"value\\"}, \\"component_id\\": {\\"parameter_name\\": \\"value\\"}}\\n \\"stream\\": false\\n}\\n```\\n\\nThis endpoint facilitates complex flow executions with customized inputs, outputs, and configurations,\\ncatering to diverse application requirements.","operationId":"experimental_run_flow_api_v1_run_advanced__flow_id__post","security":[{"API key query":[]},{"API key header":[]}],"parameters":[{"name":"flow_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Flow Id"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"inputs":{"anyOf":[{"items":{"properties":{"components":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Components","default":[]},"input_value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input Value"},"session":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session"},"type":{"anyOf":[{"type":"string","enum":["chat","text","any"]},{"type":"null"}],"title":"Type","description":"Defines on which components the input value should be applied. \'any\' applies to all input components.","default":"any"}},"additionalProperties":false,"type":"object","title":"InputValueRequest","examples":[{"components":["components_id","Component Name"],"input_value":"input_value","session":"session_id"},{"components":["Component Name"],"input_value":"input_value"},{"input_value":"input_value"},{"components":["Component Name"],"input_value":"input_value","session":"session_id"},{"input_value":"input_value","session":"session_id"},{"input_value":"input_value","type":"chat"},{"input_value":"{\\"key\\": \\"value\\"}","type":"json"}]},"type":"array"},{"type":"null"}],"title":"Inputs"},"outputs":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Outputs"},"tweaks":{"anyOf":[{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"object"}]},"type":"object","title":"Tweaks","description":"A dictionary of tweaks to adjust the flow\'s execution. Allows customizing flow behavior dynamically. All tweaks are overridden by the input values.","examples":[{"Component Name":{"parameter_name":"value"},"component_id":{"parameter_name":"value"},"parameter_name":"value"}]},{"type":"null"}]},"stream":{"type":"boolean","title":"Stream","default":false},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id"}},"type":"object","title":"Body_experimental_run_flow_api_v1_run_advanced__flow_id__post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"properties":{"outputs":{"anyOf":[{"items":{"properties":{"inputs":{"type":"object","title":"Inputs"},"outputs":{"items":{"anyOf":[{"properties":{"results":{"anyOf":[{},{"type":"null"}],"title":"Results"},"artifacts":{"anyOf":[{},{"type":"null"}],"title":"Artifacts"},"outputs":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Outputs"},"logs":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Logs"},"messages":{"anyOf":[{"items":{"properties":{"message":{"anyOf":[{"type":"string"},{"items":{"anyOf":[{"type":"string"},{"type":"object"}]},"type":"array"}],"title":"Message"},"sender":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sender","default":"Machine"},"sender_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sender Name","default":"AI"},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id"},"stream_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stream Url"},"component_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Id"},"files":{"items":{"properties":{"path":{"type":"string","title":"Path"},"name":{"type":"string","title":"Name"},"type":{"type":"string","title":"Type"}},"type":"object","required":["path","name","type"],"title":"File","description":"File schema."},"type":"array","title":"Files","default":[]},"type":{"type":"string","title":"Type"}},"type":"object","required":["message","type"],"title":"ChatOutputResponse","description":"Chat output response schema."},"type":"array"},{"type":"null"}],"title":"Messages"},"timedelta":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Timedelta"},"duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Duration"},"component_display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Display Name"},"component_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Id"},"used_frozen_result":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Used Frozen Result","default":false}},"type":"object","title":"ResultData"},{"type":"null"}]},"type":"array","title":"Outputs"}},"type":"object","title":"RunOutputs"},"type":"array"},{"type":"null"}],"title":"Outputs","default":[]},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id"}},"type":"object","title":"RunResponse","description":"Run response schema."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"}}}}},"method":"post","path":"/api/v1/run/advanced/{flow_id}","securitySchemes":{"OAuth2PasswordBearer":{"type":"oauth2","flows":{"password":{"scopes":{},"tokenUrl":"api/v1/login"}}},"API key query":{"type":"apiKey","in":"query","name":"x-api-key"},"API key header":{"type":"apiKey","in":"header","name":"x-api-key"}},"jsonRequestBodyExample":{"stream":false},"info":{"title":"Langflow","version":"1.3.2"},"postman":{"name":"Experimental Run Flow","description":{"content":"Executes a specified flow by ID with optional input values, output selection, tweaks, and streaming capability.\\n\\nThis endpoint supports running flows with caching to enhance performance and efficiency.\\n\\n### Parameters:\\n- `flow_id` (str): The unique identifier of the flow to be executed.\\n- `inputs` (List[InputValueRequest], optional): A list of inputs specifying the input values and components\\n for the flow. Each input can target specific components and provide custom values.\\n- `outputs` (List[str], optional): A list of output names to retrieve from the executed flow.\\n If not provided, all outputs are returned.\\n- `tweaks` (Optional[Tweaks], optional): A dictionary of tweaks to customize the flow execution.\\n The tweaks can be used to modify the flow\'s parameters and components.\\n Tweaks can be overridden by the input values.\\n- `stream` (bool, optional): Specifies whether the results should be streamed. Defaults to False.\\n- `session_id` (Union[None, str], optional): An optional session ID to utilize existing session data for the flow\\n execution.\\n- `api_key_user` (User): The user associated with the current API key. Automatically resolved from the API key.\\n\\n### Returns:\\nA `RunResponse` object containing the selected outputs (or all if not specified) of the executed flow\\nand the session ID.\\nThe structure of the response accommodates multiple inputs, providing a nested list of outputs for each input.\\n\\n### Raises:\\nHTTPException: Indicates issues with finding the specified flow, invalid input formats, or internal errors during\\nflow execution.\\n\\n### Example usage:\\n```json\\nPOST /run/flow_id\\nx-api-key: YOUR_API_KEY\\nPayload:\\n{\\n \\"inputs\\": [\\n {\\"components\\": [\\"component1\\"], \\"input_value\\": \\"value1\\"},\\n {\\"components\\": [\\"component3\\"], \\"input_value\\": \\"value2\\"}\\n ],\\n \\"outputs\\": [\\"Component Name\\", \\"component_id\\"],\\n \\"tweaks\\": {\\"parameter_name\\": \\"value\\", \\"Component Name\\": {\\"parameter_name\\": \\"value\\"}, \\"component_id\\": {\\"parameter_name\\": \\"value\\"}}\\n \\"stream\\": false\\n}\\n```\\n\\nThis endpoint facilitates complex flow executions with customized inputs, outputs, and configurations,\\ncatering to diverse application requirements.","type":"text/plain"},"url":{"path":["api","v1","run","advanced",":flow_id"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"flow_id"}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"{\\n \\"inputs\\": [\\n {\\n \\"components\\": [\\n \\"\\",\\n \\"\\"\\n ],\\n \\"input_value\\": \\"\\",\\n \\"session\\": \\"\\",\\n \\"type\\": \\"\\"\\n },\\n {\\n \\"components\\": [\\n \\"\\",\\n \\"\\"\\n ],\\n \\"input_value\\": \\"\\",\\n \\"session\\": \\"\\",\\n \\"type\\": \\"\\"\\n }\\n ],\\n \\"outputs\\": [\\n \\"\\",\\n \\"\\"\\n ],\\n \\"tweaks\\": {\\n \\"ad8_\\": \\"\\",\\n \\"deserunt9b0\\": \\"\\"\\n },\\n \\"stream\\": false,\\n \\"session_id\\": \\"\\"\\n}","options":{"raw":{"language":"json"}}},"auth":{"type":"apikey","apikey":[{"type":"any","value":"x-api-key","key":"key"},{"type":"any","value":"{{apiKey}}","key":"value"},{"type":"any","value":"query","key":"in"}]}}},"source":"@site/openapi.json","sourceDirName":".","permalink":"/api/experimental-run-flow","previous":{"title":"Webhook Run Flow","permalink":"/api/webhook-run-flow"},"next":{"title":"Process","permalink":"/api/process"}}');var i=n(74848),o=n(28453);const a={},l="Experimental Run Flow",r=[{value:"Parameters:",id:"parameters",level:3},{value:"Returns:",id:"returns",level:3},{value:"Raises:",id:"raises",level:3},{value:"Example usage:",id:"example-usage",level:3}];function p(e){const t={code:"code",h1:"h1",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.header,{children:(0,i.jsx)(t.h1,{id:"experimental-run-flow",children:"Experimental Run Flow"})}),"\n",(0,i.jsx)(t.p,{children:"Executes a specified flow by ID with optional input values, output selection, tweaks, and streaming capability."}),"\n",(0,i.jsx)(t.p,{children:"This endpoint supports running flows with caching to enhance performance and efficiency."}),"\n",(0,i.jsx)(t.h3,{id:"parameters",children:"Parameters:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"flow_id"})," (str): The unique identifier of the flow to be executed."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"inputs"})," (List[InputValueRequest], optional): A list of inputs specifying the input values and components\nfor the flow. Each input can target specific components and provide custom values."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"outputs"})," (List[str], optional): A list of output names to retrieve from the executed flow.\nIf not provided, all outputs are returned."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"tweaks"})," (Optional[Tweaks], optional): A dictionary of tweaks to customize the flow execution.\nThe tweaks can be used to modify the flow's parameters and components.\nTweaks can be overridden by the input values."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"stream"})," (bool, optional): Specifies whether the results should be streamed. Defaults to False."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"session_id"})," (Union[None, str], optional): An optional session ID to utilize existing session data for the flow\nexecution."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"api_key_user"})," (User): The user associated with the current API key. Automatically resolved from the API key."]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"returns",children:"Returns:"}),"\n",(0,i.jsxs)(t.p,{children:["A ",(0,i.jsx)(t.code,{children:"RunResponse"})," object containing the selected outputs (or all if not specified) of the executed flow\nand the session ID.\nThe structure of the response accommodates multiple inputs, providing a nested list of outputs for each input."]}),"\n",(0,i.jsx)(t.h3,{id:"raises",children:"Raises:"}),"\n",(0,i.jsx)(t.p,{children:"HTTPException: Indicates issues with finding the specified flow, invalid input formats, or internal errors during\nflow execution."}),"\n",(0,i.jsx)(t.h3,{id:"example-usage",children:"Example usage:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-json",children:'POST /run/flow_id\nx-api-key: YOUR_API_KEY\nPayload:\n{\n "inputs": [\n {"components": ["component1"], "input_value": "value1"},\n {"components": ["component3"], "input_value": "value2"}\n ],\n "outputs": ["Component Name", "component_id"],\n "tweaks": {"parameter_name": "value", "Component Name": {"parameter_name": "value"}, "component_id": {"parameter_name": "value"}}\n "stream": false\n}\n'})}),"\n",(0,i.jsx)(t.p,{children:"This endpoint facilitates complex flow executions with customized inputs, outputs, and configurations,\ncatering to diverse application requirements."}),"\n",(0,i.jsxs)("table",{style:{display:"table",width:"100%"},children:[(0,i.jsx)("thead",{children:(0,i.jsx)("tr",{children:(0,i.jsx)("th",{style:{textAlign:"left"},children:"Path Parameters"})})}),(0,i.jsx)("tbody",{children:(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"flow_id"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" uuid"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,i.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-required)"},children:" REQUIRED"})]})})})]}),"\n",(0,i.jsxs)("table",{style:{display:"table",width:"100%"},children:[(0,i.jsx)("thead",{children:(0,i.jsx)("tr",{children:(0,i.jsxs)("th",{style:{textAlign:"left"},children:[(0,i.jsx)("span",{children:"Request Body "}),(0,i.jsx)("div",{})]})})}),(0,i.jsxs)("tbody",{children:[(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"inputs"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Inputs"})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"outputs"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Outputs"})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"tweaks"}),(0,i.jsx)("span",{style:{opacity:"0.6"}})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"stream"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Stream"})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"session_id"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Session Id"})]})})]})]}),"\n",(0,i.jsxs)("table",{style:{display:"table",width:"100%"},children:[(0,i.jsx)("thead",{children:(0,i.jsx)("tr",{children:(0,i.jsx)("th",{style:{textAlign:"left"},children:"Responses"})})}),(0,i.jsxs)("tbody",{children:[(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsxs)("div",{style:{display:"flex"},children:[(0,i.jsx)("div",{style:{marginRight:"var(--ifm-table-cell-padding)"},children:(0,i.jsx)("code",{children:"200"})}),(0,i.jsx)("div",{children:(0,i.jsx)(t.p,{children:"Successful Response"})})]}),(0,i.jsx)("div",{children:(0,i.jsxs)("table",{style:{display:"table",width:"100%",marginTop:"var(--ifm-table-cell-padding)",marginBottom:"0px"},children:[(0,i.jsx)("thead",{children:(0,i.jsx)("tr",{children:(0,i.jsxs)("th",{style:{textAlign:"left"},children:[(0,i.jsx)("span",{children:"Schema "}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,i.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"}),(0,i.jsx)("div",{})]})})}),(0,i.jsxs)("tbody",{children:[(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"outputs"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Outputs"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,i.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"session_id"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Session Id"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,i.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"})]})})]})]})})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsxs)("div",{style:{display:"flex"},children:[(0,i.jsx)("div",{style:{marginRight:"var(--ifm-table-cell-padding)"},children:(0,i.jsx)("code",{children:"422"})}),(0,i.jsx)("div",{children:(0,i.jsx)(t.p,{children:"Validation Error"})})]}),(0,i.jsx)("div",{children:(0,i.jsxs)("table",{style:{display:"table",width:"100%",marginTop:"var(--ifm-table-cell-padding)",marginBottom:"0px"},children:[(0,i.jsx)("thead",{children:(0,i.jsx)("tr",{children:(0,i.jsxs)("th",{style:{textAlign:"left"},children:[(0,i.jsx)("span",{children:"Schema "}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,i.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"}),(0,i.jsx)("div",{})]})})}),(0,i.jsx)("tbody",{children:(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"detail"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" object[]"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,i.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"}),(0,i.jsx)("table",{style:{display:"table",width:"100%",marginTop:"var(--ifm-table-cell-padding)",marginBottom:"0px"},children:(0,i.jsxs)("tbody",{children:[(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"loc"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" undefined[]"})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"msg"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Message"})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"type"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Error Type"})]})})]})})]})})})]})})]})})]})]})]})}function d(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}}}]); \ No newline at end of file +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[8504],{28453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>l});var s=n(96540);const i={},o=s.createContext(i);function a(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(o.Provider,{value:t},e.children)}},94910:(e,t,n)=>{n.r(t),n.d(t,{contentTitle:()=>l,default:()=>d,frontMatter:()=>a,metadata:()=>s,toc:()=>r});const s=JSON.parse('{"type":"api","id":"experimental-run-flow","title":"Experimental Run Flow","description":"","slug":"/experimental-run-flow","frontMatter":{},"api":{"tags":["Base"],"description":"Executes a specified flow by ID with optional input values, output selection, tweaks, and streaming capability.\\n\\nThis endpoint supports running flows with caching to enhance performance and efficiency.\\n\\n### Parameters:\\n- `flow_id` (str): The unique identifier of the flow to be executed.\\n- `inputs` (List[InputValueRequest], optional): A list of inputs specifying the input values and components\\n for the flow. Each input can target specific components and provide custom values.\\n- `outputs` (List[str], optional): A list of output names to retrieve from the executed flow.\\n If not provided, all outputs are returned.\\n- `tweaks` (Optional[Tweaks], optional): A dictionary of tweaks to customize the flow execution.\\n The tweaks can be used to modify the flow\'s parameters and components.\\n Tweaks can be overridden by the input values.\\n- `stream` (bool, optional): Specifies whether the results should be streamed. Defaults to False.\\n- `session_id` (Union[None, str], optional): An optional session ID to utilize existing session data for the flow\\n execution.\\n- `api_key_user` (User): The user associated with the current API key. Automatically resolved from the API key.\\n\\n### Returns:\\nA `RunResponse` object containing the selected outputs (or all if not specified) of the executed flow\\nand the session ID.\\nThe structure of the response accommodates multiple inputs, providing a nested list of outputs for each input.\\n\\n### Raises:\\nHTTPException: Indicates issues with finding the specified flow, invalid input formats, or internal errors during\\nflow execution.\\n\\n### Example usage:\\n```json\\nPOST /run/flow_id\\nx-api-key: YOUR_API_KEY\\nPayload:\\n{\\n \\"inputs\\": [\\n {\\"components\\": [\\"component1\\"], \\"input_value\\": \\"value1\\"},\\n {\\"components\\": [\\"component3\\"], \\"input_value\\": \\"value2\\"}\\n ],\\n \\"outputs\\": [\\"Component Name\\", \\"component_id\\"],\\n \\"tweaks\\": {\\"parameter_name\\": \\"value\\", \\"Component Name\\": {\\"parameter_name\\": \\"value\\"}, \\"component_id\\": {\\"parameter_name\\": \\"value\\"}}\\n \\"stream\\": false\\n}\\n```\\n\\nThis endpoint facilitates complex flow executions with customized inputs, outputs, and configurations,\\ncatering to diverse application requirements.","operationId":"experimental_run_flow_api_v1_run_advanced__flow_id__post","security":[{"API key query":[]},{"API key header":[]}],"parameters":[{"name":"flow_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Flow Id"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"inputs":{"anyOf":[{"items":{"properties":{"components":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Components","default":[]},"input_value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input Value"},"session":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session"},"type":{"anyOf":[{"type":"string","enum":["chat","text","any"]},{"type":"null"}],"title":"Type","description":"Defines on which components the input value should be applied. \'any\' applies to all input components.","default":"any"}},"additionalProperties":false,"type":"object","title":"InputValueRequest","examples":[{"components":["components_id","Component Name"],"input_value":"input_value","session":"session_id"},{"components":["Component Name"],"input_value":"input_value"},{"input_value":"input_value"},{"components":["Component Name"],"input_value":"input_value","session":"session_id"},{"input_value":"input_value","session":"session_id"},{"input_value":"input_value","type":"chat"},{"input_value":"{\\"key\\": \\"value\\"}","type":"json"}]},"type":"array"},{"type":"null"}],"title":"Inputs"},"outputs":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Outputs"},"tweaks":{"anyOf":[{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"object"}]},"type":"object","title":"Tweaks","description":"A dictionary of tweaks to adjust the flow\'s execution. Allows customizing flow behavior dynamically. All tweaks are overridden by the input values.","examples":[{"Component Name":{"parameter_name":"value"},"component_id":{"parameter_name":"value"},"parameter_name":"value"}]},{"type":"null"}]},"stream":{"type":"boolean","title":"Stream","default":false},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id"}},"type":"object","title":"Body_experimental_run_flow_api_v1_run_advanced__flow_id__post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"properties":{"outputs":{"anyOf":[{"items":{"properties":{"inputs":{"type":"object","title":"Inputs"},"outputs":{"items":{"anyOf":[{"properties":{"results":{"anyOf":[{},{"type":"null"}],"title":"Results"},"artifacts":{"anyOf":[{},{"type":"null"}],"title":"Artifacts"},"outputs":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Outputs"},"logs":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Logs"},"messages":{"anyOf":[{"items":{"properties":{"message":{"anyOf":[{"type":"string"},{"items":{"anyOf":[{"type":"string"},{"type":"object"}]},"type":"array"}],"title":"Message"},"sender":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sender","default":"Machine"},"sender_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sender Name","default":"AI"},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id"},"stream_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stream Url"},"component_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Id"},"files":{"items":{"properties":{"path":{"type":"string","title":"Path"},"name":{"type":"string","title":"Name"},"type":{"type":"string","title":"Type"}},"type":"object","required":["path","name","type"],"title":"File","description":"File schema."},"type":"array","title":"Files","default":[]},"type":{"type":"string","title":"Type"}},"type":"object","required":["message","type"],"title":"ChatOutputResponse","description":"Chat output response schema."},"type":"array"},{"type":"null"}],"title":"Messages"},"timedelta":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Timedelta"},"duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Duration"},"component_display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Display Name"},"component_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Id"},"used_frozen_result":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Used Frozen Result","default":false}},"type":"object","title":"ResultData"},{"type":"null"}]},"type":"array","title":"Outputs"}},"type":"object","title":"RunOutputs"},"type":"array"},{"type":"null"}],"title":"Outputs","default":[]},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id"}},"type":"object","title":"RunResponse","description":"Run response schema."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"}}}}},"method":"post","path":"/api/v1/run/advanced/{flow_id}","securitySchemes":{"OAuth2PasswordBearer":{"type":"oauth2","flows":{"password":{"scopes":{},"tokenUrl":"api/v1/login"}}},"API key query":{"type":"apiKey","in":"query","name":"x-api-key"},"API key header":{"type":"apiKey","in":"header","name":"x-api-key"}},"jsonRequestBodyExample":{"stream":false},"info":{"title":"Langflow","version":"1.3.2"},"postman":{"name":"Experimental Run Flow","description":{"content":"Executes a specified flow by ID with optional input values, output selection, tweaks, and streaming capability.\\n\\nThis endpoint supports running flows with caching to enhance performance and efficiency.\\n\\n### Parameters:\\n- `flow_id` (str): The unique identifier of the flow to be executed.\\n- `inputs` (List[InputValueRequest], optional): A list of inputs specifying the input values and components\\n for the flow. Each input can target specific components and provide custom values.\\n- `outputs` (List[str], optional): A list of output names to retrieve from the executed flow.\\n If not provided, all outputs are returned.\\n- `tweaks` (Optional[Tweaks], optional): A dictionary of tweaks to customize the flow execution.\\n The tweaks can be used to modify the flow\'s parameters and components.\\n Tweaks can be overridden by the input values.\\n- `stream` (bool, optional): Specifies whether the results should be streamed. Defaults to False.\\n- `session_id` (Union[None, str], optional): An optional session ID to utilize existing session data for the flow\\n execution.\\n- `api_key_user` (User): The user associated with the current API key. Automatically resolved from the API key.\\n\\n### Returns:\\nA `RunResponse` object containing the selected outputs (or all if not specified) of the executed flow\\nand the session ID.\\nThe structure of the response accommodates multiple inputs, providing a nested list of outputs for each input.\\n\\n### Raises:\\nHTTPException: Indicates issues with finding the specified flow, invalid input formats, or internal errors during\\nflow execution.\\n\\n### Example usage:\\n```json\\nPOST /run/flow_id\\nx-api-key: YOUR_API_KEY\\nPayload:\\n{\\n \\"inputs\\": [\\n {\\"components\\": [\\"component1\\"], \\"input_value\\": \\"value1\\"},\\n {\\"components\\": [\\"component3\\"], \\"input_value\\": \\"value2\\"}\\n ],\\n \\"outputs\\": [\\"Component Name\\", \\"component_id\\"],\\n \\"tweaks\\": {\\"parameter_name\\": \\"value\\", \\"Component Name\\": {\\"parameter_name\\": \\"value\\"}, \\"component_id\\": {\\"parameter_name\\": \\"value\\"}}\\n \\"stream\\": false\\n}\\n```\\n\\nThis endpoint facilitates complex flow executions with customized inputs, outputs, and configurations,\\ncatering to diverse application requirements.","type":"text/plain"},"url":{"path":["api","v1","run","advanced",":flow_id"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"flow_id"}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"{\\n \\"inputs\\": [\\n {\\n \\"components\\": [\\n \\"\\",\\n \\"\\"\\n ],\\n \\"input_value\\": \\"\\",\\n \\"session\\": \\"\\",\\n \\"type\\": \\"\\"\\n },\\n {\\n \\"components\\": [\\n \\"\\",\\n \\"\\"\\n ],\\n \\"input_value\\": \\"\\",\\n \\"session\\": \\"\\",\\n \\"type\\": \\"\\"\\n }\\n ],\\n \\"outputs\\": [\\n \\"\\",\\n \\"\\"\\n ],\\n \\"tweaks\\": {\\n \\"aute_9\\": \\"\\",\\n \\"qui_56b\\": \\"\\"\\n },\\n \\"stream\\": false,\\n \\"session_id\\": \\"\\"\\n}","options":{"raw":{"language":"json"}}},"auth":{"type":"apikey","apikey":[{"type":"any","value":"x-api-key","key":"key"},{"type":"any","value":"{{apiKey}}","key":"value"},{"type":"any","value":"query","key":"in"}]}}},"source":"@site/openapi.json","sourceDirName":".","permalink":"/api/experimental-run-flow","previous":{"title":"Webhook Run Flow","permalink":"/api/webhook-run-flow"},"next":{"title":"Process","permalink":"/api/process"}}');var i=n(74848),o=n(28453);const a={},l="Experimental Run Flow",r=[{value:"Parameters:",id:"parameters",level:3},{value:"Returns:",id:"returns",level:3},{value:"Raises:",id:"raises",level:3},{value:"Example usage:",id:"example-usage",level:3}];function p(e){const t={code:"code",h1:"h1",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.header,{children:(0,i.jsx)(t.h1,{id:"experimental-run-flow",children:"Experimental Run Flow"})}),"\n",(0,i.jsx)(t.p,{children:"Executes a specified flow by ID with optional input values, output selection, tweaks, and streaming capability."}),"\n",(0,i.jsx)(t.p,{children:"This endpoint supports running flows with caching to enhance performance and efficiency."}),"\n",(0,i.jsx)(t.h3,{id:"parameters",children:"Parameters:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"flow_id"})," (str): The unique identifier of the flow to be executed."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"inputs"})," (List[InputValueRequest], optional): A list of inputs specifying the input values and components\nfor the flow. Each input can target specific components and provide custom values."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"outputs"})," (List[str], optional): A list of output names to retrieve from the executed flow.\nIf not provided, all outputs are returned."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"tweaks"})," (Optional[Tweaks], optional): A dictionary of tweaks to customize the flow execution.\nThe tweaks can be used to modify the flow's parameters and components.\nTweaks can be overridden by the input values."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"stream"})," (bool, optional): Specifies whether the results should be streamed. Defaults to False."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"session_id"})," (Union[None, str], optional): An optional session ID to utilize existing session data for the flow\nexecution."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"api_key_user"})," (User): The user associated with the current API key. Automatically resolved from the API key."]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"returns",children:"Returns:"}),"\n",(0,i.jsxs)(t.p,{children:["A ",(0,i.jsx)(t.code,{children:"RunResponse"})," object containing the selected outputs (or all if not specified) of the executed flow\nand the session ID.\nThe structure of the response accommodates multiple inputs, providing a nested list of outputs for each input."]}),"\n",(0,i.jsx)(t.h3,{id:"raises",children:"Raises:"}),"\n",(0,i.jsx)(t.p,{children:"HTTPException: Indicates issues with finding the specified flow, invalid input formats, or internal errors during\nflow execution."}),"\n",(0,i.jsx)(t.h3,{id:"example-usage",children:"Example usage:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-json",children:'POST /run/flow_id\nx-api-key: YOUR_API_KEY\nPayload:\n{\n "inputs": [\n {"components": ["component1"], "input_value": "value1"},\n {"components": ["component3"], "input_value": "value2"}\n ],\n "outputs": ["Component Name", "component_id"],\n "tweaks": {"parameter_name": "value", "Component Name": {"parameter_name": "value"}, "component_id": {"parameter_name": "value"}}\n "stream": false\n}\n'})}),"\n",(0,i.jsx)(t.p,{children:"This endpoint facilitates complex flow executions with customized inputs, outputs, and configurations,\ncatering to diverse application requirements."}),"\n",(0,i.jsxs)("table",{style:{display:"table",width:"100%"},children:[(0,i.jsx)("thead",{children:(0,i.jsx)("tr",{children:(0,i.jsx)("th",{style:{textAlign:"left"},children:"Path Parameters"})})}),(0,i.jsx)("tbody",{children:(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"flow_id"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" uuid"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,i.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-required)"},children:" REQUIRED"})]})})})]}),"\n",(0,i.jsxs)("table",{style:{display:"table",width:"100%"},children:[(0,i.jsx)("thead",{children:(0,i.jsx)("tr",{children:(0,i.jsxs)("th",{style:{textAlign:"left"},children:[(0,i.jsx)("span",{children:"Request Body "}),(0,i.jsx)("div",{})]})})}),(0,i.jsxs)("tbody",{children:[(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"inputs"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Inputs"})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"outputs"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Outputs"})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"tweaks"}),(0,i.jsx)("span",{style:{opacity:"0.6"}})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"stream"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Stream"})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"session_id"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Session Id"})]})})]})]}),"\n",(0,i.jsxs)("table",{style:{display:"table",width:"100%"},children:[(0,i.jsx)("thead",{children:(0,i.jsx)("tr",{children:(0,i.jsx)("th",{style:{textAlign:"left"},children:"Responses"})})}),(0,i.jsxs)("tbody",{children:[(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsxs)("div",{style:{display:"flex"},children:[(0,i.jsx)("div",{style:{marginRight:"var(--ifm-table-cell-padding)"},children:(0,i.jsx)("code",{children:"200"})}),(0,i.jsx)("div",{children:(0,i.jsx)(t.p,{children:"Successful Response"})})]}),(0,i.jsx)("div",{children:(0,i.jsxs)("table",{style:{display:"table",width:"100%",marginTop:"var(--ifm-table-cell-padding)",marginBottom:"0px"},children:[(0,i.jsx)("thead",{children:(0,i.jsx)("tr",{children:(0,i.jsxs)("th",{style:{textAlign:"left"},children:[(0,i.jsx)("span",{children:"Schema "}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,i.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"}),(0,i.jsx)("div",{})]})})}),(0,i.jsxs)("tbody",{children:[(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"outputs"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Outputs"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,i.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"session_id"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Session Id"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,i.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"})]})})]})]})})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsxs)("div",{style:{display:"flex"},children:[(0,i.jsx)("div",{style:{marginRight:"var(--ifm-table-cell-padding)"},children:(0,i.jsx)("code",{children:"422"})}),(0,i.jsx)("div",{children:(0,i.jsx)(t.p,{children:"Validation Error"})})]}),(0,i.jsx)("div",{children:(0,i.jsxs)("table",{style:{display:"table",width:"100%",marginTop:"var(--ifm-table-cell-padding)",marginBottom:"0px"},children:[(0,i.jsx)("thead",{children:(0,i.jsx)("tr",{children:(0,i.jsxs)("th",{style:{textAlign:"left"},children:[(0,i.jsx)("span",{children:"Schema "}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,i.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"}),(0,i.jsx)("div",{})]})})}),(0,i.jsx)("tbody",{children:(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"detail"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" object[]"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,i.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"}),(0,i.jsx)("table",{style:{display:"table",width:"100%",marginTop:"var(--ifm-table-cell-padding)",marginBottom:"0px"},children:(0,i.jsxs)("tbody",{children:[(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"loc"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" undefined[]"})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"msg"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Message"})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"type"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Error Type"})]})})]})})]})})})]})})]})})]})]})]})}function d(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.3fd877df.js b/assets/js/runtime~main.e179608d.js similarity index 98% rename from assets/js/runtime~main.3fd877df.js rename to assets/js/runtime~main.e179608d.js index fe1eb9cd02..82987e2966 100644 --- a/assets/js/runtime~main.3fd877df.js +++ b/assets/js/runtime~main.e179608d.js @@ -1 +1 @@ -(()=>{"use strict";var e,a,f,c,d,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var f=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(f.exports,f,f.exports,r),f.loaded=!0,f.exports}r.m=b,r.c=t,e=[],r.O=(a,f,c,d)=>{if(!f){var b=1/0;for(i=0;i=d)&&Object.keys(r.O).every((e=>r.O[e](f[o])))?f.splice(o--,1):(t=!1,d0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[f,c,d]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},f=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,c){if(1&c&&(e=this(e)),8&c)return e;if("object"==typeof e&&e){if(4&c&&e.__esModule)return e;if(16&c&&"function"==typeof e.then)return e}var d=Object.create(null);r.r(d);var b={};a=a||[null,f({}),f([]),f(f)];for(var t=2&c&&e;"object"==typeof t&&!~a.indexOf(t);t=f(t))Object.getOwnPropertyNames(t).forEach((a=>b[a]=()=>e[a]));return b.default=()=>e,r.d(d,b),d},r.d=(e,a)=>{for(var f in a)r.o(a,f)&&!r.o(e,f)&&Object.defineProperty(e,f,{enumerable:!0,get:a[f]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,f)=>(r.f[f](e,a),a)),[])),r.u=e=>"assets/js/"+({51:"b7251463",145:"0be1d5fe",191:"c643a6d5",230:"bc63ae25",265:"d3ca7a96",321:"6e1a9721",417:"93e16042",444:"14f42f9e",730:"86b18dd0",762:"4af57a32",768:"6d684b63",787:"672a0eba",800:"a4c0ff01",868:"dc7b1ef3",944:"d3600190",957:"c141421f",964:"05d835b4",982:"021496c4",1022:"8a61012d",1035:"24d32e91",1067:"4b04f5bc",1079:"f5818e36",1185:"c2de64b8",1227:"647965d5",1394:"8054effa",1488:"ac3cc3f5",1500:"1e9025f7",1556:"264ffc80",1563:"3ef76b56",1567:"22dd74f7",1625:"92852ade",1690:"41a97a99",1841:"de94873f",1845:"2ab0d4f5",1956:"fe6f9601",2008:"7ad92a12",2073:"7b7db446",2097:"338a6f8e",2138:"1a4e3797",2273:"e756fa26",2288:"faf7ef88",2551:"394022bb",2624:"8ff68e6f",2657:"a3ab51d1",2777:"b3ba68b4",2818:"a9b73094",3040:"2148ae42",3110:"6a2beaac",3247:"bd7ab245",3327:"6aa941bb",3347:"b5257597",3391:"f66238ae",3576:"64045095",3694:"c2b1730c",3740:"f113d167",3758:"a963b3cb",3859:"7679ca6e",3917:"c8dad5f1",3964:"829ff4d2",3968:"0e5205b8",4028:"c2ebd62a",4046:"9ac856ad",4133:"5cf11f26",4526:"8311683c",4615:"6801371f",4633:"c563aec0",4645:"fef056e9",4778:"e189eece",4784:"438e4337",4806:"fba42286",4841:"8298c1cb",4891:"ca67d85f",4930:"d2ad385b",4931:"a9b4f8aa",4954:"a71efd4a",4973:"2d2c4fcb",5107:"10156854",5109:"3542ed72",5138:"309383dc",5179:"41e3c105",5195:"b1ab2a41",5281:"a0511a5b",5284:"64ca91f1",5304:"7dbff1af",5339:"9447891f",5395:"98058046",5425:"ee32130c",5467:"40d13080",5474:"d175aa8b",5475:"18f3809a",5513:"20d49d07",5514:"02955c09",5562:"20e9af62",5572:"873ebc27",5628:"a83bc7c0",5634:"9822a706",5647:"885eb549",5673:"73af8c33",5716:"946d1cee",5718:"5ccf4833",5742:"aba21aa0",5772:"4e7126f8",5865:"e1766139",5866:"3b577cbb",5883:"61cfab8e",5894:"f178e9b3",5979:"a3a1efc2",6003:"4d983c8e",6008:"445668ec",6053:"dfc50084",6066:"3f19c00a",6080:"4d15791b",6147:"ab17fe15",6201:"9ab37888",6214:"b1220dbd",6281:"c96ce3ed",6332:"873508e7",6350:"188ee668",6419:"96eb0e67",6445:"9fb9a766",6473:"4c5e977b",6511:"320c2db0",6550:"05fbee1a",6559:"6f13807a",6682:"5a6d6120",6890:"8b85e1d0",6920:"c817e236",6949:"b36bb719",7088:"91282a5c",7098:"a7bd4aaa",7108:"688feaef",7118:"4ce9199e",7142:"d0c1f670",7159:"aecfdd3d",7165:"547df4a1",7211:"cacdc615",7338:"c39b795e",7339:"7a774ddf",7408:"3ae94ad4",7453:"fdefa9a8",7462:"921b5fc1",7472:"744aaf8b",7507:"be76515e",7713:"3a82b27e",7894:"0f44198a",8031:"25bf2d67",8054:"85112c90",8064:"274fd934",8085:"cc44357e",8102:"019dbd1f",8184:"222029a9",8188:"ecd67556",8196:"75a9e1e0",8208:"216e3ed7",8245:"5e834a3c",8298:"153f2b62",8304:"73d1a090",8356:"c6a5eaec",8401:"17896441",8504:"e6c6a4d2",8598:"44dfcf75",8661:"8f774222",8679:"3705a9c0",8921:"45476a69",8927:"ae68aa8b",8929:"172b3cfb",8953:"adef6868",8977:"e5eb12ce",9036:"850d3674",9048:"a94703ab",9099:"b1bc5ffe",9126:"169603ea",9141:"19136925",9306:"667d0790",9371:"991799c5",9431:"cd8dccb5",9453:"913561e8",9455:"54175a6c",9476:"57c9a2b8",9479:"4e038a6a",9483:"7823fa72",9555:"dedd5914",9619:"29b8e27a",9642:"eae80ce0",9647:"5e95c892",9681:"5ff9f4db",9705:"ee3b5967",9751:"25255263",9789:"537e1953",9836:"b3c57e4b",9905:"43df3697"}[e]||e)+"."+{51:"41498688",145:"6d71cecb",191:"a08bfa01",230:"618133d8",265:"9eebedef",321:"bc87c671",417:"5cf29549",444:"66891820",730:"e24ec551",756:"240f2e9c",762:"f26eeca8",768:"91efce6f",787:"08ca0fba",800:"15dc0b4e",868:"047712b5",900:"f83a9a5d",944:"ad8345f5",957:"da9e1d2b",964:"143e1806",982:"9853829e",1022:"f9bfa397",1035:"fad9d746",1067:"1fc10d8a",1079:"812abec2",1185:"e5af6fb6",1227:"efa89a5e",1394:"c6bf3115",1488:"0fd73816",1500:"5f3a86c0",1556:"7436a87a",1563:"892a275e",1567:"dc682ff7",1625:"14cdddbe",1690:"5b40fedc",1809:"2ba71c72",1841:"2b011ec8",1845:"bcbaf5b9",1956:"6e125142",2008:"7ff881a6",2073:"5e92d106",2097:"e2eb4320",2138:"02023697",2273:"fc3be664",2288:"c860cf3b",2551:"0813cead",2624:"be6ae30b",2657:"e301f410",2777:"637f7970",2818:"5350eff1",3040:"5d7a37e8",3042:"f1fb0b14",3110:"0cb7cba6",3247:"833af9d5",3327:"adbee5b9",3347:"387fa1fc",3391:"4d9b6bc5",3576:"40d2c1c6",3694:"5982d997",3740:"dcdb4594",3758:"2c11871c",3859:"acb07400",3917:"5b041d0c",3964:"33002324",3968:"6d49ed88",3997:"ff54fe17",4028:"6050659f",4046:"f7eca8e9",4058:"44d6af12",4133:"56fe7f12",4526:"46dbc5ed",4615:"82ac6ca0",4633:"2670172c",4645:"84194b9e",4778:"1fa775b4",4784:"71d387c2",4806:"0f85ccb8",4841:"51cb3f60",4891:"0ef69a4f",4930:"dfda092c",4931:"1f0853a9",4954:"fd1a8596",4973:"76d07199",5107:"58f6e79c",5109:"534de25b",5138:"49cc192b",5179:"4f8b011f",5195:"bebcd954",5281:"9ddc9e59",5284:"d0977c2c",5304:"11ff4120",5339:"dac8b1d8",5395:"155b5cc5",5425:"7f5d538f",5467:"f6ad2d17",5474:"96903b46",5475:"d430c771",5513:"660ad024",5514:"fc300b5a",5562:"10eed1f2",5572:"f7be1bf9",5628:"42006513",5634:"f0694192",5647:"1223eeb9",5673:"b35cb4ee",5716:"ba9361e3",5718:"31276840",5742:"60b1d5b2",5772:"163a4f9c",5865:"a4ef00d2",5866:"6a945ff6",5883:"ef8a3be4",5894:"ac90a84f",5979:"e466f08f",6003:"77fae6eb",6008:"5253986f",6053:"cc7c3771",6066:"076e5cc7",6080:"7e45c875",6147:"0bd0c5ae",6201:"01e4e67e",6214:"b3a5b04f",6281:"8dfd970e",6332:"c7e90294",6350:"1d344846",6419:"d0f0fba0",6445:"8573a1d8",6473:"b5e32ff9",6511:"ba1e7472",6550:"5ba8d59c",6559:"74aa28ab",6682:"ef396306",6890:"af012556",6920:"34191f6c",6949:"ffd67006",7088:"1f49a1ed",7098:"d9bb61a0",7108:"6c6d838d",7118:"67e70c99",7142:"1d67c07a",7159:"c7233aca",7165:"c8204949",7211:"2931db6c",7338:"02a99984",7339:"76155fed",7408:"fe273d8c",7453:"bacf1bcd",7462:"ce0affd3",7472:"534a72f5",7507:"049e4cb9",7713:"e1701edb",7894:"dccf5bfa",8031:"d39ee16a",8054:"b01ef0b9",8064:"72f6ed59",8085:"5f2b7600",8102:"415d8aa0",8158:"20de8b80",8184:"136844f0",8188:"4091a08c",8196:"cc4d06ae",8208:"4eba57d0",8245:"d723ee5e",8298:"985267e8",8304:"2790419b",8356:"ff51d102",8401:"bf953603",8504:"964336ad",8598:"70cf61ed",8661:"cf70ad92",8679:"5cab7dcc",8913:"47209f3b",8921:"0aaacb65",8927:"9d9ff467",8929:"99703724",8953:"f5324ebd",8977:"637025ee",9036:"d3b02d7f",9048:"810f8ad8",9099:"032f6f65",9126:"81c883fb",9141:"d3838c09",9306:"8ecb1a62",9371:"f59bb3b9",9431:"d336aa34",9453:"087d9888",9455:"d3aec949",9476:"8043725a",9479:"be5b109a",9483:"b762982f",9555:"5e96820a",9619:"c627a58b",9642:"167c6e45",9647:"e6d9c2b6",9681:"1f0feb15",9705:"53ff8b44",9729:"2f32331e",9751:"3ce911cc",9789:"02bccaec",9836:"69fcbaa3",9905:"2bba93b4"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),c={},d="langflow-docs:",r.l=(e,a,f,b)=>{if(c[e])c[e].push(a);else{var t,o;if(void 0!==f)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var d=c[e];if(delete c[e],t.parentNode&&t.parentNode.removeChild(t),d&&d.forEach((e=>e(f))),a)return a(f)},s=setTimeout(u.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=u.bind(null,t.onerror),t.onload=u.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),r.p="/",r.gca=function(e){return e={10156854:"5107",17896441:"8401",19136925:"9141",25255263:"9751",64045095:"3576",98058046:"5395",b7251463:"51","0be1d5fe":"145",c643a6d5:"191",bc63ae25:"230",d3ca7a96:"265","6e1a9721":"321","93e16042":"417","14f42f9e":"444","86b18dd0":"730","4af57a32":"762","6d684b63":"768","672a0eba":"787",a4c0ff01:"800",dc7b1ef3:"868",d3600190:"944",c141421f:"957","05d835b4":"964","021496c4":"982","8a61012d":"1022","24d32e91":"1035","4b04f5bc":"1067",f5818e36:"1079",c2de64b8:"1185","647965d5":"1227","8054effa":"1394",ac3cc3f5:"1488","1e9025f7":"1500","264ffc80":"1556","3ef76b56":"1563","22dd74f7":"1567","92852ade":"1625","41a97a99":"1690",de94873f:"1841","2ab0d4f5":"1845",fe6f9601:"1956","7ad92a12":"2008","7b7db446":"2073","338a6f8e":"2097","1a4e3797":"2138",e756fa26:"2273",faf7ef88:"2288","394022bb":"2551","8ff68e6f":"2624",a3ab51d1:"2657",b3ba68b4:"2777",a9b73094:"2818","2148ae42":"3040","6a2beaac":"3110",bd7ab245:"3247","6aa941bb":"3327",b5257597:"3347",f66238ae:"3391",c2b1730c:"3694",f113d167:"3740",a963b3cb:"3758","7679ca6e":"3859",c8dad5f1:"3917","829ff4d2":"3964","0e5205b8":"3968",c2ebd62a:"4028","9ac856ad":"4046","5cf11f26":"4133","8311683c":"4526","6801371f":"4615",c563aec0:"4633",fef056e9:"4645",e189eece:"4778","438e4337":"4784",fba42286:"4806","8298c1cb":"4841",ca67d85f:"4891",d2ad385b:"4930",a9b4f8aa:"4931",a71efd4a:"4954","2d2c4fcb":"4973","3542ed72":"5109","309383dc":"5138","41e3c105":"5179",b1ab2a41:"5195",a0511a5b:"5281","64ca91f1":"5284","7dbff1af":"5304","9447891f":"5339",ee32130c:"5425","40d13080":"5467",d175aa8b:"5474","18f3809a":"5475","20d49d07":"5513","02955c09":"5514","20e9af62":"5562","873ebc27":"5572",a83bc7c0:"5628","9822a706":"5634","885eb549":"5647","73af8c33":"5673","946d1cee":"5716","5ccf4833":"5718",aba21aa0:"5742","4e7126f8":"5772",e1766139:"5865","3b577cbb":"5866","61cfab8e":"5883",f178e9b3:"5894",a3a1efc2:"5979","4d983c8e":"6003","445668ec":"6008",dfc50084:"6053","3f19c00a":"6066","4d15791b":"6080",ab17fe15:"6147","9ab37888":"6201",b1220dbd:"6214",c96ce3ed:"6281","873508e7":"6332","188ee668":"6350","96eb0e67":"6419","9fb9a766":"6445","4c5e977b":"6473","320c2db0":"6511","05fbee1a":"6550","6f13807a":"6559","5a6d6120":"6682","8b85e1d0":"6890",c817e236:"6920",b36bb719:"6949","91282a5c":"7088",a7bd4aaa:"7098","688feaef":"7108","4ce9199e":"7118",d0c1f670:"7142",aecfdd3d:"7159","547df4a1":"7165",cacdc615:"7211",c39b795e:"7338","7a774ddf":"7339","3ae94ad4":"7408",fdefa9a8:"7453","921b5fc1":"7462","744aaf8b":"7472",be76515e:"7507","3a82b27e":"7713","0f44198a":"7894","25bf2d67":"8031","85112c90":"8054","274fd934":"8064",cc44357e:"8085","019dbd1f":"8102","222029a9":"8184",ecd67556:"8188","75a9e1e0":"8196","216e3ed7":"8208","5e834a3c":"8245","153f2b62":"8298","73d1a090":"8304",c6a5eaec:"8356",e6c6a4d2:"8504","44dfcf75":"8598","8f774222":"8661","3705a9c0":"8679","45476a69":"8921",ae68aa8b:"8927","172b3cfb":"8929",adef6868:"8953",e5eb12ce:"8977","850d3674":"9036",a94703ab:"9048",b1bc5ffe:"9099","169603ea":"9126","667d0790":"9306","991799c5":"9371",cd8dccb5:"9431","913561e8":"9453","54175a6c":"9455","57c9a2b8":"9476","4e038a6a":"9479","7823fa72":"9483",dedd5914:"9555","29b8e27a":"9619",eae80ce0:"9642","5e95c892":"9647","5ff9f4db":"9681",ee3b5967:"9705","537e1953":"9789",b3c57e4b:"9836","43df3697":"9905"}[e]||e,r.p+r.u(e)},(()=>{var e={5354:0,1869:0};r.f.j=(a,f)=>{var c=r.o(e,a)?e[a]:void 0;if(0!==c)if(c)f.push(c[2]);else if(/^(1869|5354)$/.test(a))e[a]=0;else{var d=new Promise(((f,d)=>c=e[a]=[f,d]));f.push(c[2]=d);var b=r.p+r.u(a),t=new Error;r.l(b,(f=>{if(r.o(e,a)&&(0!==(c=e[a])&&(e[a]=void 0),c)){var d=f&&("load"===f.type?"missing":f.type),b=f&&f.target&&f.target.src;t.message="Loading chunk "+a+" failed.\n("+d+": "+b+")",t.name="ChunkLoadError",t.type=d,t.request=b,c[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,f)=>{var c,d,b=f[0],t=f[1],o=f[2],n=0;if(b.some((a=>0!==e[a]))){for(c in t)r.o(t,c)&&(r.m[c]=t[c]);if(o)var i=o(r)}for(a&&a(f);n{"use strict";var e,a,f,c,d,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var f=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(f.exports,f,f.exports,r),f.loaded=!0,f.exports}r.m=b,r.c=t,e=[],r.O=(a,f,c,d)=>{if(!f){var b=1/0;for(i=0;i=d)&&Object.keys(r.O).every((e=>r.O[e](f[o])))?f.splice(o--,1):(t=!1,d0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[f,c,d]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},f=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,c){if(1&c&&(e=this(e)),8&c)return e;if("object"==typeof e&&e){if(4&c&&e.__esModule)return e;if(16&c&&"function"==typeof e.then)return e}var d=Object.create(null);r.r(d);var b={};a=a||[null,f({}),f([]),f(f)];for(var t=2&c&&e;"object"==typeof t&&!~a.indexOf(t);t=f(t))Object.getOwnPropertyNames(t).forEach((a=>b[a]=()=>e[a]));return b.default=()=>e,r.d(d,b),d},r.d=(e,a)=>{for(var f in a)r.o(a,f)&&!r.o(e,f)&&Object.defineProperty(e,f,{enumerable:!0,get:a[f]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,f)=>(r.f[f](e,a),a)),[])),r.u=e=>"assets/js/"+({51:"b7251463",145:"0be1d5fe",191:"c643a6d5",230:"bc63ae25",265:"d3ca7a96",321:"6e1a9721",417:"93e16042",444:"14f42f9e",730:"86b18dd0",762:"4af57a32",768:"6d684b63",787:"672a0eba",800:"a4c0ff01",868:"dc7b1ef3",944:"d3600190",957:"c141421f",964:"05d835b4",982:"021496c4",1022:"8a61012d",1035:"24d32e91",1067:"4b04f5bc",1079:"f5818e36",1185:"c2de64b8",1227:"647965d5",1394:"8054effa",1488:"ac3cc3f5",1500:"1e9025f7",1556:"264ffc80",1563:"3ef76b56",1567:"22dd74f7",1625:"92852ade",1690:"41a97a99",1841:"de94873f",1845:"2ab0d4f5",1956:"fe6f9601",2008:"7ad92a12",2073:"7b7db446",2097:"338a6f8e",2138:"1a4e3797",2273:"e756fa26",2288:"faf7ef88",2551:"394022bb",2624:"8ff68e6f",2657:"a3ab51d1",2777:"b3ba68b4",2818:"a9b73094",3040:"2148ae42",3110:"6a2beaac",3247:"bd7ab245",3327:"6aa941bb",3347:"b5257597",3391:"f66238ae",3576:"64045095",3694:"c2b1730c",3740:"f113d167",3758:"a963b3cb",3859:"7679ca6e",3917:"c8dad5f1",3964:"829ff4d2",3968:"0e5205b8",4028:"c2ebd62a",4046:"9ac856ad",4133:"5cf11f26",4526:"8311683c",4615:"6801371f",4633:"c563aec0",4645:"fef056e9",4778:"e189eece",4784:"438e4337",4806:"fba42286",4841:"8298c1cb",4891:"ca67d85f",4930:"d2ad385b",4931:"a9b4f8aa",4954:"a71efd4a",4973:"2d2c4fcb",5107:"10156854",5109:"3542ed72",5138:"309383dc",5179:"41e3c105",5195:"b1ab2a41",5281:"a0511a5b",5284:"64ca91f1",5304:"7dbff1af",5339:"9447891f",5395:"98058046",5425:"ee32130c",5467:"40d13080",5474:"d175aa8b",5475:"18f3809a",5513:"20d49d07",5514:"02955c09",5562:"20e9af62",5572:"873ebc27",5628:"a83bc7c0",5634:"9822a706",5647:"885eb549",5673:"73af8c33",5716:"946d1cee",5718:"5ccf4833",5742:"aba21aa0",5772:"4e7126f8",5865:"e1766139",5866:"3b577cbb",5883:"61cfab8e",5894:"f178e9b3",5979:"a3a1efc2",6003:"4d983c8e",6008:"445668ec",6053:"dfc50084",6066:"3f19c00a",6080:"4d15791b",6147:"ab17fe15",6201:"9ab37888",6214:"b1220dbd",6281:"c96ce3ed",6332:"873508e7",6350:"188ee668",6419:"96eb0e67",6445:"9fb9a766",6473:"4c5e977b",6511:"320c2db0",6550:"05fbee1a",6559:"6f13807a",6682:"5a6d6120",6890:"8b85e1d0",6920:"c817e236",6949:"b36bb719",7088:"91282a5c",7098:"a7bd4aaa",7108:"688feaef",7118:"4ce9199e",7142:"d0c1f670",7159:"aecfdd3d",7165:"547df4a1",7211:"cacdc615",7338:"c39b795e",7339:"7a774ddf",7408:"3ae94ad4",7453:"fdefa9a8",7462:"921b5fc1",7472:"744aaf8b",7507:"be76515e",7713:"3a82b27e",7894:"0f44198a",8031:"25bf2d67",8054:"85112c90",8064:"274fd934",8085:"cc44357e",8102:"019dbd1f",8184:"222029a9",8188:"ecd67556",8196:"75a9e1e0",8208:"216e3ed7",8245:"5e834a3c",8298:"153f2b62",8304:"73d1a090",8356:"c6a5eaec",8401:"17896441",8504:"e6c6a4d2",8598:"44dfcf75",8661:"8f774222",8679:"3705a9c0",8921:"45476a69",8927:"ae68aa8b",8929:"172b3cfb",8953:"adef6868",8977:"e5eb12ce",9036:"850d3674",9048:"a94703ab",9099:"b1bc5ffe",9126:"169603ea",9141:"19136925",9306:"667d0790",9371:"991799c5",9431:"cd8dccb5",9453:"913561e8",9455:"54175a6c",9476:"57c9a2b8",9479:"4e038a6a",9483:"7823fa72",9555:"dedd5914",9619:"29b8e27a",9642:"eae80ce0",9647:"5e95c892",9681:"5ff9f4db",9705:"ee3b5967",9751:"25255263",9789:"537e1953",9836:"b3c57e4b",9905:"43df3697"}[e]||e)+"."+{51:"41498688",145:"6d71cecb",191:"a08bfa01",230:"618133d8",265:"9eebedef",321:"7d676d9a",417:"5cf29549",444:"66891820",730:"e24ec551",756:"240f2e9c",762:"f26eeca8",768:"91efce6f",787:"08ca0fba",800:"15dc0b4e",868:"047712b5",900:"f83a9a5d",944:"ad8345f5",957:"da9e1d2b",964:"143e1806",982:"9853829e",1022:"f9bfa397",1035:"fad9d746",1067:"1fc10d8a",1079:"812abec2",1185:"e5af6fb6",1227:"efa89a5e",1394:"c6bf3115",1488:"0fd73816",1500:"5f3a86c0",1556:"7436a87a",1563:"892a275e",1567:"dc682ff7",1625:"14cdddbe",1690:"5b40fedc",1809:"2ba71c72",1841:"2b011ec8",1845:"a0e17025",1956:"6e125142",2008:"7ff881a6",2073:"5e92d106",2097:"e2eb4320",2138:"02023697",2273:"fc3be664",2288:"c860cf3b",2551:"0813cead",2624:"be6ae30b",2657:"e301f410",2777:"637f7970",2818:"5350eff1",3040:"5d7a37e8",3042:"f1fb0b14",3110:"0cb7cba6",3247:"833af9d5",3327:"adbee5b9",3347:"387fa1fc",3391:"4d9b6bc5",3576:"40d2c1c6",3694:"5982d997",3740:"dcdb4594",3758:"2c11871c",3859:"acb07400",3917:"5b041d0c",3964:"33002324",3968:"6d49ed88",3997:"ff54fe17",4028:"6050659f",4046:"f7eca8e9",4058:"44d6af12",4133:"56fe7f12",4526:"46dbc5ed",4615:"82ac6ca0",4633:"2670172c",4645:"84194b9e",4778:"1fa775b4",4784:"71d387c2",4806:"0f85ccb8",4841:"51cb3f60",4891:"0ef69a4f",4930:"dfda092c",4931:"1f0853a9",4954:"fd1a8596",4973:"76d07199",5107:"58f6e79c",5109:"534de25b",5138:"49cc192b",5179:"4f8b011f",5195:"bebcd954",5281:"9ddc9e59",5284:"d0977c2c",5304:"11ff4120",5339:"dac8b1d8",5395:"155b5cc5",5425:"7f5d538f",5467:"f6ad2d17",5474:"96903b46",5475:"d430c771",5513:"660ad024",5514:"fc300b5a",5562:"10eed1f2",5572:"f7be1bf9",5628:"42006513",5634:"f0694192",5647:"1223eeb9",5673:"b35cb4ee",5716:"ba9361e3",5718:"31276840",5742:"60b1d5b2",5772:"163a4f9c",5865:"a4ef00d2",5866:"6a945ff6",5883:"ef8a3be4",5894:"ac90a84f",5979:"e466f08f",6003:"77fae6eb",6008:"5253986f",6053:"cc7c3771",6066:"076e5cc7",6080:"7e45c875",6147:"0bd0c5ae",6201:"01e4e67e",6214:"b3a5b04f",6281:"8dfd970e",6332:"c7e90294",6350:"1d344846",6419:"d0f0fba0",6445:"8573a1d8",6473:"b5e32ff9",6511:"ba1e7472",6550:"5ba8d59c",6559:"74aa28ab",6682:"ef396306",6890:"af012556",6920:"34191f6c",6949:"ffd67006",7088:"1f49a1ed",7098:"d9bb61a0",7108:"6c6d838d",7118:"67e70c99",7142:"1d67c07a",7159:"c7233aca",7165:"c8204949",7211:"2931db6c",7338:"02a99984",7339:"76155fed",7408:"fe273d8c",7453:"bacf1bcd",7462:"ce0affd3",7472:"534a72f5",7507:"049e4cb9",7713:"e1701edb",7894:"dccf5bfa",8031:"d39ee16a",8054:"b01ef0b9",8064:"72f6ed59",8085:"5f2b7600",8102:"415d8aa0",8158:"20de8b80",8184:"136844f0",8188:"4091a08c",8196:"cc4d06ae",8208:"4eba57d0",8245:"d723ee5e",8298:"985267e8",8304:"2790419b",8356:"ff51d102",8401:"bf953603",8504:"963fa205",8598:"70cf61ed",8661:"cf70ad92",8679:"5cab7dcc",8913:"47209f3b",8921:"0aaacb65",8927:"9d9ff467",8929:"99703724",8953:"f5324ebd",8977:"637025ee",9036:"d3b02d7f",9048:"810f8ad8",9099:"032f6f65",9126:"81c883fb",9141:"d3838c09",9306:"8ecb1a62",9371:"f59bb3b9",9431:"d336aa34",9453:"087d9888",9455:"d3aec949",9476:"8043725a",9479:"be5b109a",9483:"b762982f",9555:"5e96820a",9619:"c627a58b",9642:"167c6e45",9647:"e6d9c2b6",9681:"1f0feb15",9705:"53ff8b44",9729:"2f32331e",9751:"3ce911cc",9789:"02bccaec",9836:"69fcbaa3",9905:"2bba93b4"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),c={},d="langflow-docs:",r.l=(e,a,f,b)=>{if(c[e])c[e].push(a);else{var t,o;if(void 0!==f)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var d=c[e];if(delete c[e],t.parentNode&&t.parentNode.removeChild(t),d&&d.forEach((e=>e(f))),a)return a(f)},s=setTimeout(u.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=u.bind(null,t.onerror),t.onload=u.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),r.p="/",r.gca=function(e){return e={10156854:"5107",17896441:"8401",19136925:"9141",25255263:"9751",64045095:"3576",98058046:"5395",b7251463:"51","0be1d5fe":"145",c643a6d5:"191",bc63ae25:"230",d3ca7a96:"265","6e1a9721":"321","93e16042":"417","14f42f9e":"444","86b18dd0":"730","4af57a32":"762","6d684b63":"768","672a0eba":"787",a4c0ff01:"800",dc7b1ef3:"868",d3600190:"944",c141421f:"957","05d835b4":"964","021496c4":"982","8a61012d":"1022","24d32e91":"1035","4b04f5bc":"1067",f5818e36:"1079",c2de64b8:"1185","647965d5":"1227","8054effa":"1394",ac3cc3f5:"1488","1e9025f7":"1500","264ffc80":"1556","3ef76b56":"1563","22dd74f7":"1567","92852ade":"1625","41a97a99":"1690",de94873f:"1841","2ab0d4f5":"1845",fe6f9601:"1956","7ad92a12":"2008","7b7db446":"2073","338a6f8e":"2097","1a4e3797":"2138",e756fa26:"2273",faf7ef88:"2288","394022bb":"2551","8ff68e6f":"2624",a3ab51d1:"2657",b3ba68b4:"2777",a9b73094:"2818","2148ae42":"3040","6a2beaac":"3110",bd7ab245:"3247","6aa941bb":"3327",b5257597:"3347",f66238ae:"3391",c2b1730c:"3694",f113d167:"3740",a963b3cb:"3758","7679ca6e":"3859",c8dad5f1:"3917","829ff4d2":"3964","0e5205b8":"3968",c2ebd62a:"4028","9ac856ad":"4046","5cf11f26":"4133","8311683c":"4526","6801371f":"4615",c563aec0:"4633",fef056e9:"4645",e189eece:"4778","438e4337":"4784",fba42286:"4806","8298c1cb":"4841",ca67d85f:"4891",d2ad385b:"4930",a9b4f8aa:"4931",a71efd4a:"4954","2d2c4fcb":"4973","3542ed72":"5109","309383dc":"5138","41e3c105":"5179",b1ab2a41:"5195",a0511a5b:"5281","64ca91f1":"5284","7dbff1af":"5304","9447891f":"5339",ee32130c:"5425","40d13080":"5467",d175aa8b:"5474","18f3809a":"5475","20d49d07":"5513","02955c09":"5514","20e9af62":"5562","873ebc27":"5572",a83bc7c0:"5628","9822a706":"5634","885eb549":"5647","73af8c33":"5673","946d1cee":"5716","5ccf4833":"5718",aba21aa0:"5742","4e7126f8":"5772",e1766139:"5865","3b577cbb":"5866","61cfab8e":"5883",f178e9b3:"5894",a3a1efc2:"5979","4d983c8e":"6003","445668ec":"6008",dfc50084:"6053","3f19c00a":"6066","4d15791b":"6080",ab17fe15:"6147","9ab37888":"6201",b1220dbd:"6214",c96ce3ed:"6281","873508e7":"6332","188ee668":"6350","96eb0e67":"6419","9fb9a766":"6445","4c5e977b":"6473","320c2db0":"6511","05fbee1a":"6550","6f13807a":"6559","5a6d6120":"6682","8b85e1d0":"6890",c817e236:"6920",b36bb719:"6949","91282a5c":"7088",a7bd4aaa:"7098","688feaef":"7108","4ce9199e":"7118",d0c1f670:"7142",aecfdd3d:"7159","547df4a1":"7165",cacdc615:"7211",c39b795e:"7338","7a774ddf":"7339","3ae94ad4":"7408",fdefa9a8:"7453","921b5fc1":"7462","744aaf8b":"7472",be76515e:"7507","3a82b27e":"7713","0f44198a":"7894","25bf2d67":"8031","85112c90":"8054","274fd934":"8064",cc44357e:"8085","019dbd1f":"8102","222029a9":"8184",ecd67556:"8188","75a9e1e0":"8196","216e3ed7":"8208","5e834a3c":"8245","153f2b62":"8298","73d1a090":"8304",c6a5eaec:"8356",e6c6a4d2:"8504","44dfcf75":"8598","8f774222":"8661","3705a9c0":"8679","45476a69":"8921",ae68aa8b:"8927","172b3cfb":"8929",adef6868:"8953",e5eb12ce:"8977","850d3674":"9036",a94703ab:"9048",b1bc5ffe:"9099","169603ea":"9126","667d0790":"9306","991799c5":"9371",cd8dccb5:"9431","913561e8":"9453","54175a6c":"9455","57c9a2b8":"9476","4e038a6a":"9479","7823fa72":"9483",dedd5914:"9555","29b8e27a":"9619",eae80ce0:"9642","5e95c892":"9647","5ff9f4db":"9681",ee3b5967:"9705","537e1953":"9789",b3c57e4b:"9836","43df3697":"9905"}[e]||e,r.p+r.u(e)},(()=>{var e={5354:0,1869:0};r.f.j=(a,f)=>{var c=r.o(e,a)?e[a]:void 0;if(0!==c)if(c)f.push(c[2]);else if(/^(1869|5354)$/.test(a))e[a]=0;else{var d=new Promise(((f,d)=>c=e[a]=[f,d]));f.push(c[2]=d);var b=r.p+r.u(a),t=new Error;r.l(b,(f=>{if(r.o(e,a)&&(0!==(c=e[a])&&(e[a]=void 0),c)){var d=f&&("load"===f.type?"missing":f.type),b=f&&f.target&&f.target.src;t.message="Loading chunk "+a+" failed.\n("+d+": "+b+")",t.name="ChunkLoadError",t.type=d,t.request=b,c[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,f)=>{var c,d,b=f[0],t=f[1],o=f[2],n=0;if(b.some((a=>0!==e[a]))){for(c in t)r.o(t,c)&&(r.m[c]=t[c]);if(o)var i=o(r)}for(a&&a(f);n - + diff --git a/components-agents.html b/components-agents.html index a0c5003be2..566896413a 100644 --- a/components-agents.html +++ b/components-agents.html @@ -21,7 +21,7 @@ - + diff --git a/components-bundle-components.html b/components-bundle-components.html index c08b87998f..711b08379d 100644 --- a/components-bundle-components.html +++ b/components-bundle-components.html @@ -21,7 +21,7 @@ - + diff --git a/components-custom-components.html b/components-custom-components.html index eca0898dcd..0802c3afb0 100644 --- a/components-custom-components.html +++ b/components-custom-components.html @@ -21,7 +21,7 @@ - + diff --git a/components-data.html b/components-data.html index 3d882649ca..349da027e0 100644 --- a/components-data.html +++ b/components-data.html @@ -21,7 +21,7 @@ - + diff --git a/components-embedding-models.html b/components-embedding-models.html index e10c7c858f..959a09e980 100644 --- a/components-embedding-models.html +++ b/components-embedding-models.html @@ -21,7 +21,7 @@ - + diff --git a/components-helpers.html b/components-helpers.html index 9717a8e4d0..c8ce06cb5b 100644 --- a/components-helpers.html +++ b/components-helpers.html @@ -21,7 +21,7 @@ - + diff --git a/components-io.html b/components-io.html index 756bd9dcd9..ffd9a2b937 100644 --- a/components-io.html +++ b/components-io.html @@ -21,7 +21,7 @@ - + diff --git a/components-loaders.html b/components-loaders.html index 5c052cd2c2..be55a204ee 100644 --- a/components-loaders.html +++ b/components-loaders.html @@ -21,7 +21,7 @@ - + diff --git a/components-logic.html b/components-logic.html index 7b32ad9b44..7806ef0630 100644 --- a/components-logic.html +++ b/components-logic.html @@ -21,7 +21,7 @@ - + diff --git a/components-memories.html b/components-memories.html index 9df50e58b1..85e3648130 100644 --- a/components-memories.html +++ b/components-memories.html @@ -21,7 +21,7 @@ - + diff --git a/components-models.html b/components-models.html index a710078914..ac7211c497 100644 --- a/components-models.html +++ b/components-models.html @@ -21,7 +21,7 @@ - + diff --git a/components-processing.html b/components-processing.html index 086fd8f1e7..8f4a7486bd 100644 --- a/components-processing.html +++ b/components-processing.html @@ -21,7 +21,7 @@ - + @@ -174,25 +174,74 @@ Instead, use the Parser component.

NameDisplay NameInfo
input_valueInputData object to filter (Message or Data).
queryJQ QueryJQ Query to filter the data

Outputs​

NameDisplay NameInfo
filtered_dataFiltered DataFiltered data as list of Data objects.
+

Save to File​

+

This component saves DataFrames, Data, or Messages to various file formats.

+
    +
  1. To use this component in a flow, connect a component that outputs DataFrames, Data, or Messages to the Save to File component's input. +The following example connects a Webhook component to two Save to File components to demonstrate the different outputs.
  2. +
+

Two Save-to File components connected to a webhook

+
    +
  1. In the Save to File component's Input Type field, select the expected input type. +This example expects Data from the Webhook.
  2. +
  3. In the File Format field, select the file type for your saved file. +This example uses .md in one Save to File component, and .xlsx in another.
  4. +
  5. In the File Path field, enter the path for your saved file. +This example uses ./output/employees.xlsx and ./output/employees.md to save the files in a directory relative to where Langflow is running. +The component accepts both relative and absolute paths, and creates any necessary directories if they don't exist.
  6. +
+
tip

If you enter a format in the file_path that is not accepted, the component appends the proper format to the file. +For example, if the selected file_format is csv, and you enter file_path as ./output/test.txt, the file will be saved as ./output/test.txt.csv so the file is not corrupted.

+
    +
  1. Send a POST request to the Webhook containing your JSON data. +Replace YOUR_FLOW_ID with your flow ID. +This example uses the default Langflow server address.
  2. +
+

_10
curl -X POST "http://127.0.0.1:7860/api/v1/webhook/YOUR_FLOW_ID" \
_10
-H 'Content-Type: application/json' \
_10
-d '{
_10
"Name": ["Alex Cruz", "Kalani Smith", "Noam Johnson"],
_10
"Role": ["Developer", "Designer", "Manager"],
_10
"Department": ["Engineering", "Design", "Management"]
_10
}'

+
    +
  1. In your local filesystem, open the outputs directory. +You should see two files created from the data you've sent: one in .xlsx for structured spreadsheets, and one in Markdown.
  2. +
+

_10
| Name | Role | Department |
_10
|:-------------|:----------|:-------------|
_10
| Alex Cruz | Developer | Engineering |
_10
| Kalani Smith | Designer | Design |
_10
| Noam Johnson | Manager | Management |

+

File input format options​

+

For DataFrame and Data inputs, the component can create:

+
    +
  • csv
  • +
  • excel
  • +
  • json
  • +
  • markdown
  • +
  • pdf
  • +
+

For Message inputs, the component can create:

+
    +
  • txt
  • +
  • json
  • +
  • markdown
  • +
  • pdf
  • +
+

Inputs​

+
NameDisplay NameInfo
input_typeInput TypeSelect the type of input to save.
dfDataFrameThe DataFrame to save.
dataDataThe Data object to save.
messageMessageThe Message to save.
file_formatFile FormatSelect the file format to save the input.
file_pathFile PathThe full file path including filename and extension.
+

Outputs​

+
NameDisplay NameInfo
confirmationConfirmationConfirmation message after saving the file.

Select data​

important

This component is in Legacy, which means it is no longer in active development as of Langflow version 1.1.3.

This component selects a single Data item from a list.

-

Inputs​

+

Inputs​

NameDisplay NameInfo
data_listData ListList of data to select from
data_indexData IndexIndex of the data to select
-

Outputs​

+

Outputs​

NameDisplay NameInfo
selected_dataSelected DataThe selected Data object.

Split text​

This component splits text into chunks based on specified criteria.

-

Inputs​

+

Inputs​

NameDisplay NameInfo
data_inputsInput DocumentsThe data to split.The component accepts Data or DataFrame objects.
chunk_overlapChunk OverlapThe number of characters to overlap between chunks. Default: 200.
chunk_sizeChunk SizeThe maximum number of characters in each chunk. Default: 1000.
separatorSeparatorThe character to split on. Default: newline.
text_keyText KeyThe key to use for the text column (advanced). Default: text.
-

Outputs​

+

Outputs​

NameDisplay NameInfo
chunksChunksList of split text chunks as Data objects.
dataframeDataFrameList of split text chunks as DataFrame objects.

Update data​

This component dynamically updates or appends data with specified fields.

-

Inputs​

+

Inputs​

NameDisplay NameInfo
old_dataDataThe records to update
number_of_fieldsNumber of FieldsNumber of fields to add (max 15)
text_keyText KeyKey for text content
text_key_validatorText Key ValidatorValidates text key presence
-

Outputs​

-
NameDisplay NameInfo
dataDataUpdated Data objects.