From d48770d4f9595c99ea429954254e789366b46de1 Mon Sep 17 00:00:00 2001 From: "github-merge-queue[bot]" Date: Tue, 20 May 2025 15:03:53 +0000 Subject: [PATCH] deploy: dd0d8de205e3921c63d1bf2eac177be97af18aae --- 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-redirect.html | 2 +- api/create-project.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-1.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-redirect.html | 2 +- api/delete-messages-session.html | 2 +- api/delete-messages.html | 2 +- api/delete-multiple-flows.html | 2 +- api/delete-project.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-redirect.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-project-messages-with-slash.html | 2 +- api/handle-project-messages.html | 2 +- api/handle-project-sse.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-2.html | 2 +- api/list-files.html | 2 +- api/list-profile-pictures.html | 2 +- api/list-project-tools.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-redirect.html | 2 +- api/read-folders-redirect.html | 2 +- api/read-project.html | 2 +- api/read-projects.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-redirect.html | 2 +- api/update-message.html | 2 +- api/update-project-mcp-settings.html | 2 +- api/update-project.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-redirect.html | 2 +- api/upload-file.html | 2 +- api/upload-user-file-1.html | 2 +- api/upload-user-file.html | 2 +- api/webhook-run-flow.html | 2 +- ...0d4f5.07877d19.js => 2ab0d4f5.24c732be.js} | 2 +- assets/js/6e1a9721.06783720.js | 1 + assets/js/6e1a9721.b2f38580.js | 1 - ...6a4d2.5d14690f.js => e6c6a4d2.a6a55a65.js} | 2 +- ...n.8258f9a0.js => runtime~main.bdb3f75f.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-logic.html | 2 +- components-memories.html | 2 +- components-models.html | 2 +- components-processing.html | 42 ++++++++++--------- 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-dev.html | 2 +- deployment-kubernetes-prod.html | 2 +- deployment-overview.html | 2 +- deployment-prod-best-practices.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 +- 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-google-big-query.html | 2 +- integrations-langfuse.html | 2 +- integrations-langsmith.html | 2 +- integrations-langwatch.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 +- mcp-server.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 +- 205 files changed, 225 insertions(+), 223 deletions(-) rename assets/js/{2ab0d4f5.07877d19.js => 2ab0d4f5.24c732be.js} (50%) create mode 100644 assets/js/6e1a9721.06783720.js delete mode 100644 assets/js/6e1a9721.b2f38580.js rename assets/js/{e6c6a4d2.5d14690f.js => e6c6a4d2.a6a55a65.js} (56%) rename assets/js/{runtime~main.8258f9a0.js => runtime~main.bdb3f75f.js} (98%) diff --git a/404.html b/404.html index 7f5ad6ce5a..2b420c672b 100644 --- a/404.html +++ b/404.html @@ -21,7 +21,7 @@ - + diff --git a/agents-overview.html b/agents-overview.html index 5dec86ce76..8ab6ac7380 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 6dcc2a567a..587539de17 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 e694da1ec2..aad3a1d8fe 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 b992a45ceb..2142312543 100644 --- a/api.html +++ b/api.html @@ -21,7 +21,7 @@ - + diff --git a/api/add-user.html b/api/add-user.html index c345bbff72..5b4c9a484f 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 44f9dce110..d00d0fcb22 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 fa52061163..9eb3905982 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 58c6722569..56859a47e1 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 59496d4d8c..80d5558200 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 af3b1001c1..926880095c 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 4fd6c86679..7dd433f602 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 4e059b7dc2..bc9f3d9f78 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 84e26a4707..2d4f5d7725 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 7ee8e3b2c6..d0fcab888a 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 7d12619ccf..1af6617a52 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 52aa6c4db8..3317376bb5 100644 --- a/api/create-flows.html +++ b/api/create-flows.html @@ -21,7 +21,7 @@ - + diff --git a/api/create-folder-redirect.html b/api/create-folder-redirect.html index 29020f7984..ff3b8ab511 100644 --- a/api/create-folder-redirect.html +++ b/api/create-folder-redirect.html @@ -21,7 +21,7 @@ - + diff --git a/api/create-project.html b/api/create-project.html index d72d1d44b7..fd60e68836 100644 --- a/api/create-project.html +++ b/api/create-project.html @@ -21,7 +21,7 @@ - + diff --git a/api/create-upload-file.html b/api/create-upload-file.html index 887145a85a..b330627aec 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 0212c618c4..d79560c028 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 92318997c1..b86ce1bda2 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 31612b209d..383b4b5c62 100644 --- a/api/custom-component.html +++ b/api/custom-component.html @@ -21,7 +21,7 @@ - + diff --git a/api/delete-all-files-1.html b/api/delete-all-files-1.html index b0a4724305..0ac73b7c80 100644 --- a/api/delete-all-files-1.html +++ b/api/delete-all-files-1.html @@ -21,7 +21,7 @@ - + diff --git a/api/delete-all-files.html b/api/delete-all-files.html index e4d37e42bb..9994331bc1 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 bc18280443..4f92c923c5 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 e99ac10e6c..d6b6d172a0 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 98f2e6af69..c7e57298c7 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 26136ea237..53873fa60f 100644 --- a/api/delete-flow.html +++ b/api/delete-flow.html @@ -21,7 +21,7 @@ - + diff --git a/api/delete-folder-redirect.html b/api/delete-folder-redirect.html index 7466f00811..c0bd5e6a0b 100644 --- a/api/delete-folder-redirect.html +++ b/api/delete-folder-redirect.html @@ -21,7 +21,7 @@ - + diff --git a/api/delete-messages-session.html b/api/delete-messages-session.html index 616110a416..f97daf508e 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 05ce167d54..c91aa8aec4 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 87cc5c687f..2c5ff9b00d 100644 --- a/api/delete-multiple-flows.html +++ b/api/delete-multiple-flows.html @@ -21,7 +21,7 @@ - + diff --git a/api/delete-project.html b/api/delete-project.html index 4575936b00..656079f446 100644 --- a/api/delete-project.html +++ b/api/delete-project.html @@ -21,7 +21,7 @@ - + diff --git a/api/delete-user.html b/api/delete-user.html index a00b7a0ce5..ea9fc1d51e 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 eae13b4285..7c16164908 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 3ef230b71a..71fcf72395 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 51893b54e4..8216844fe8 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 0e02079e10..36b8f78aa4 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 5062eba571..eaf187a57f 100644 --- a/api/download-file-2.html +++ b/api/download-file-2.html @@ -21,7 +21,7 @@ - + diff --git a/api/download-file-redirect.html b/api/download-file-redirect.html index a462359a13..bbaf1c5f12 100644 --- a/api/download-file-redirect.html +++ b/api/download-file-redirect.html @@ -21,7 +21,7 @@ - + diff --git a/api/download-file.html b/api/download-file.html index 94bec47745..ef00403479 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 c4903057a6..d8370db12f 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 fdc51ce627..9189035f30 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 5f928e29e2..5ca30689ac 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 458a7d5996..f0f90beb0d 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 1ac08de0b2..f95314f487 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 672c192d00..c6ed695bcc 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 d49e3fcbb7..0e2e120454 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 3f27b11a2e..1d7a3a3492 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 930ef9bc6f..ae7b22f1ad 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 9159cfbbde..a7b216644b 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 6ff234bdaf..fd97457df9 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 8e60c93f69..310fa791d3 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 6b5a2c8d9d..fe8ee7409f 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 9f0eb9479b..d459c06d8b 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 21016cab70..0b9217614a 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 060f994515..9966a634da 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 af17a67258..b109d517b3 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 84f1549180..e1c3502916 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 fd28b2bdb0..c38b519f49 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 b07e23bd01..0c759791dc 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 7824d57fb4..d34fe22cae 100644 --- a/api/handle-messages.html +++ b/api/handle-messages.html @@ -21,7 +21,7 @@ - + diff --git a/api/handle-project-messages-with-slash.html b/api/handle-project-messages-with-slash.html index c5b2b33f96..3450f268ef 100644 --- a/api/handle-project-messages-with-slash.html +++ b/api/handle-project-messages-with-slash.html @@ -21,7 +21,7 @@ - + diff --git a/api/handle-project-messages.html b/api/handle-project-messages.html index 731c41cac2..28bb27366c 100644 --- a/api/handle-project-messages.html +++ b/api/handle-project-messages.html @@ -21,7 +21,7 @@ - + diff --git a/api/handle-project-sse.html b/api/handle-project-sse.html index d55e04d989..4ffdbdfcb3 100644 --- a/api/handle-project-sse.html +++ b/api/handle-project-sse.html @@ -21,7 +21,7 @@ - + diff --git a/api/handle-sse-1.html b/api/handle-sse-1.html index f6bdf506b1..1558992741 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 2c4da4677c..8954bed542 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 9623fd2abb..222ef7e3de 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 0a509942e4..e3c778752f 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 f1df969592..962d09b272 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 84dffcfffa..f3d26f9bce 100644 --- a/api/list-files-1.html +++ b/api/list-files-1.html @@ -21,7 +21,7 @@ - + diff --git a/api/list-files-2.html b/api/list-files-2.html index 2bc16f788b..cf471b5482 100644 --- a/api/list-files-2.html +++ b/api/list-files-2.html @@ -21,7 +21,7 @@ - + diff --git a/api/list-files.html b/api/list-files.html index 2fe77bf04e..a72cbea803 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 d5b6235e9f..dcdfea46ad 100644 --- a/api/list-profile-pictures.html +++ b/api/list-profile-pictures.html @@ -21,7 +21,7 @@ - + diff --git a/api/list-project-tools.html b/api/list-project-tools.html index 2fb8451720..230cc3b4ec 100644 --- a/api/list-project-tools.html +++ b/api/list-project-tools.html @@ -21,7 +21,7 @@ - + diff --git a/api/login-to-get-access-token.html b/api/login-to-get-access-token.html index d3e1254351..2df447c86e 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 91b494a187..f6aed0ac48 100644 --- a/api/logout.html +++ b/api/logout.html @@ -21,7 +21,7 @@ - + diff --git a/api/logs.html b/api/logs.html index f82b5c0867..1414e234fe 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 05f5e13618..6ca23f3aa4 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 408a358a41..314ae79b2b 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 042002f25e..8e336aca5d 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 67655905b3..7bc0afb71d 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 56f49a0c22..87edf51760 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 70a18c99bd..2d54df6dee 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 a3752dfac4..95f300fa23 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 b11999666b..e42c626070 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 54235ec9d7..213c118ca0 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 c35beac44a..1e90ed0710 100644 --- a/api/read-flows.html +++ b/api/read-flows.html @@ -21,7 +21,7 @@ - + diff --git a/api/read-folder-redirect.html b/api/read-folder-redirect.html index e1de5c61aa..742cd7384d 100644 --- a/api/read-folder-redirect.html +++ b/api/read-folder-redirect.html @@ -21,7 +21,7 @@ - + diff --git a/api/read-folders-redirect.html b/api/read-folders-redirect.html index 3322ac85ba..91647b3ed7 100644 --- a/api/read-folders-redirect.html +++ b/api/read-folders-redirect.html @@ -21,7 +21,7 @@ - + diff --git a/api/read-project.html b/api/read-project.html index bdcb5cd00e..8de8155504 100644 --- a/api/read-project.html +++ b/api/read-project.html @@ -21,7 +21,7 @@ - + diff --git a/api/read-projects.html b/api/read-projects.html index 7d7b874e3e..9930e43fab 100644 --- a/api/read-projects.html +++ b/api/read-projects.html @@ -21,7 +21,7 @@ - + diff --git a/api/read-public-flow.html b/api/read-public-flow.html index e59f64cf44..866fbd81f3 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 498a2be185..af7f8e9745 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 7918a5a883..fe378d4890 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 a0b93c01ad..bf3e7c29c6 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 fc7a5c787b..dabd5c00f1 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 d6d6680800..377c9bd922 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 17c3cf8243..77b18abb80 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 49565b9ca4..0ba8243150 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 477260996c..8a816ad671 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 d321dff3ee..44df499704 100644 --- a/api/update-flow.html +++ b/api/update-flow.html @@ -21,7 +21,7 @@ - + diff --git a/api/update-folder-redirect.html b/api/update-folder-redirect.html index 25344f0c72..d0cc97faa2 100644 --- a/api/update-folder-redirect.html +++ b/api/update-folder-redirect.html @@ -21,7 +21,7 @@ - + diff --git a/api/update-message.html b/api/update-message.html index 72210c5155..56994bbe95 100644 --- a/api/update-message.html +++ b/api/update-message.html @@ -21,7 +21,7 @@ - + diff --git a/api/update-project-mcp-settings.html b/api/update-project-mcp-settings.html index 88b9a41f86..83c8dd1816 100644 --- a/api/update-project-mcp-settings.html +++ b/api/update-project-mcp-settings.html @@ -21,7 +21,7 @@ - + diff --git a/api/update-project.html b/api/update-project.html index 37c6a74c15..06d97ffeb6 100644 --- a/api/update-project.html +++ b/api/update-project.html @@ -21,7 +21,7 @@ - + diff --git a/api/update-session-id.html b/api/update-session-id.html index 03c2f728e9..033bd139f8 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 c7ddd324c0..9f3779fe45 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 9ea8d4f2d0..a94fba09b5 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 1cb04d6814..6595486c01 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 f637a62968..cb992990db 100644 --- a/api/upload-file-2.html +++ b/api/upload-file-2.html @@ -21,7 +21,7 @@ - + diff --git a/api/upload-file-redirect.html b/api/upload-file-redirect.html index a21f62a528..8f0d57e67b 100644 --- a/api/upload-file-redirect.html +++ b/api/upload-file-redirect.html @@ -21,7 +21,7 @@ - + diff --git a/api/upload-file.html b/api/upload-file.html index a9e5d15901..8ffb13e52e 100644 --- a/api/upload-file.html +++ b/api/upload-file.html @@ -21,7 +21,7 @@ - + diff --git a/api/upload-user-file-1.html b/api/upload-user-file-1.html index 7e8a11ac9f..86d2d41229 100644 --- a/api/upload-user-file-1.html +++ b/api/upload-user-file-1.html @@ -21,7 +21,7 @@ - + diff --git a/api/upload-user-file.html b/api/upload-user-file.html index 7b72a72670..1b77009638 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 f8592ffe1c..8bc5b28877 100644 --- a/api/webhook-run-flow.html +++ b/api/webhook-run-flow.html @@ -21,7 +21,7 @@ - + diff --git a/assets/js/2ab0d4f5.07877d19.js b/assets/js/2ab0d4f5.24c732be.js similarity index 50% rename from assets/js/2ab0d4f5.07877d19.js rename to assets/js/2ab0d4f5.24c732be.js index 741fb311bd..fd918f3fa0 100644 --- a/assets/js/2ab0d4f5.07877d19.js +++ b/assets/js/2ab0d4f5.24c732be.js @@ -1 +1 @@ -"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.4.1"},"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 \\"id25e\\": \\"\\",\\n \\"Ut_9b\\": \\"\\"\\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.4.1"},"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 \\"dolor5\\": \\"\\",\\n \\"consecteturb\\": \\"\\",\\n \\"pariatur_7ca\\": \\"\\",\\n \\"adc97\\": \\"\\"\\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.06783720.js b/assets/js/6e1a9721.06783720.js new file mode 100644 index 0000000000..b9722daa9d --- /dev/null +++ b/assets/js/6e1a9721.06783720.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"},8886:(e,t,n)=>{n.d(t,{A:()=>s});const s=n.p+"assets/images/component-url-regex-8cae4a8d6491d360115ad552f0c467d3.png"},13533:(e,t,n)=>{n.d(t,{A:()=>s});const s=n.p+"assets/images/component-dataframe-operations-86f6e1111b6f414989aca7b5fe625830.png"},35073:(e,t,n)=>{n.d(t,{A:()=>s});const s=n.p+"assets/images/component-save-to-file-67ebbb733732670897bedd9fd1b87583.png"},41502:(e,t,n)=>{n.d(t,{A:()=>s});const s=n.p+"assets/images/component-combine-text-a73b71c22cc8099bf2a9ba22170ea701.png"},45709:(e,t,n)=>{n.d(t,{A:()=>s});const s=n.p+"assets/images/component-data-to-dataframe-3e921379e4e86fedf0e34e3ffae46b51.png"},49823:(e,t,n)=>{n.d(t,{A:()=>s});const s=n.p+"assets/images/component-split-text-741a1ac37f9a2d6591ead075acc66b65.png"},59748:(e,t,n)=>{n.r(t),n.d(t,{CH:()=>h,assets:()=>l,chCodeConfig:()=>x,contentTitle:()=>a,default:()=>m,frontMatter:()=>c,metadata:()=>s,toc:()=>j});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 r=n(74848),i=n(28453),d=n(24754),o=n(84443);const c={title:"Processing",slug:"/components-processing"},a=void 0,l={},h={annotations:d.hk,Code:d.Cy},x={staticMediaQuery:"not screen, (max-width: 768px)",lineNumbers:!0,showCopyButton:!0,themeName:"github-dark"},j=[{value:"Use a processing component in a flow",id:"use-a-processing-component-in-a-flow",level:2},{value:"Combine data",id:"combine-data",level:2},{value:"DataFrame operations",id:"dataframe-operations",level:2},{value:"Operations",id:"operations",level:3},{value:"Data to DataFrame",id:"data-to-dataframe",level:2},{value:"Filter data",id:"filter-data",level:2},{value:"Filter values",id:"filter-values",level:2},{value:"Lambda filter",id:"lambda-filter",level:2},{value:"LLM router",id:"llm-router",level:2},{value:"Message to data",id:"message-to-data",level:2},{value:"Parser",id:"parser",level:2},{value:"Regex extractor",id:"regex-extractor",level:2},{value:"Save to File",id:"save-to-file",level:2},{value:"File input format options",id:"file-input-format-options",level:3},{value:"Split text",id:"split-text",level:2},{value:"Update data",id:"update-data",level:2},{value:"Legacy components",id:"legacy-components",level:2},{value:"Alter metadata",id:"alter-metadata",level:3},{value:"Combine text",id:"combine-text",level:3},{value:"Create data",id:"create-data",level:3},{value:"JSON cleaner",id:"json-cleaner",level:3},{value:"Parse DataFrame",id:"parse-dataframe",level:3},{value:"Parse JSON",id:"parse-json",level:3},{value:"Select data",id:"select-data",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,i.R)(),...e.components},{Details:s}=t;return h||u("CH",!1),h.Code||u("CH.Code",!0),s||u("Details",!0),(0,r.jsxs)(r.Fragment,{children:[(0,r.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,r.jsx)(t.p,{children:"Processing components process and transform data within a flow."}),"\n",(0,r.jsx)(t.h2,{id:"use-a-processing-component-in-a-flow",children:"Use a processing component in a flow"}),"\n",(0,r.jsxs)(t.p,{children:["The ",(0,r.jsx)(t.strong,{children:"Split Text"})," processing component in this flow splits the incoming ",(0,r.jsx)(t.a,{href:"/concepts-objects",children:"Data"})," into chunks to be embedded into the vector store component."]}),"\n",(0,r.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,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{src:n(7685).A+"",width:"1804",height:"1546"})}),"\n",(0,r.jsx)(t.h2,{id:"combine-data",children:"Combine data"}),"\n",(0,r.jsx)(t.admonition,{type:"important",children:(0,r.jsxs)(t.p,{children:["Prior to Langflow version 1.1.3, this component was named ",(0,r.jsx)(t.strong,{children:"Merge Data"}),"."]})}),"\n",(0,r.jsxs)(t.p,{children:["This component combines multiple data sources into a single unified ",(0,r.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," object."]}),"\n",(0,r.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,r.jsxs)(s,{children:[(0,r.jsx)("summary",{children:"Parameters"}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Inputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"data"}),(0,r.jsx)(t.td,{children:"Data"}),(0,r.jsx)(t.td,{children:"A list of data objects to be merged."})]})})]}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Outputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"merged_data"}),(0,r.jsx)(t.td,{children:"Merged Data"}),(0,r.jsxs)(t.td,{children:["A single ",(0,r.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," object containing the combined information from all input data objects."]})]})})]})]}),"\n",(0,r.jsx)(t.h2,{id:"dataframe-operations",children:"DataFrame operations"}),"\n",(0,r.jsxs)(t.p,{children:["This component performs operations on ",(0,r.jsx)(t.a,{href:"https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html",children:"DataFrame"})," rows and columns."]}),"\n",(0,r.jsxs)(t.p,{children:["To use this component in a flow, connect a component that outputs ",(0,r.jsx)(t.a,{href:"/concepts-objects#dataframe-object",children:"DataFrame"})," to the ",(0,r.jsx)(t.strong,{children:"DataFrame Operations"})," component."]}),"\n",(0,r.jsxs)(t.p,{children:["This example fetches JSON data from an API. The ",(0,r.jsx)(t.strong,{children:"Lambda filter"})," component extracts and flattens the results into a tabular DataFrame. The ",(0,r.jsx)(t.strong,{children:"DataFrame Operations"})," component can then work with the retrieved data."]}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"Dataframe operations with flattened dataframe",src:n(13533).A+"",width:"983",height:"696"})}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsxs)(t.li,{children:["The ",(0,r.jsx)(t.strong,{children:"API Request"})," component retrieves data with only ",(0,r.jsx)(t.code,{children:"source"})," and ",(0,r.jsx)(t.code,{children:"result"})," fields.\nFor this example, the desired data is nested within the ",(0,r.jsx)(t.code,{children:"result"})," field."]}),"\n",(0,r.jsxs)(t.li,{children:["Connect a ",(0,r.jsx)(t.strong,{children:"Lambda Filter"})," to the API request component, and a ",(0,r.jsx)(t.strong,{children:"Language model"})," to the ",(0,r.jsx)(t.strong,{children:"Lambda Filter"}),". This example connects a ",(0,r.jsx)(t.strong,{children:"Groq"})," model component."]}),"\n",(0,r.jsxs)(t.li,{children:["In the ",(0,r.jsx)(t.strong,{children:"Groq"})," model component, add your ",(0,r.jsx)(t.strong,{children:"Groq"})," API key."]}),"\n",(0,r.jsxs)(t.li,{children:["To filter the data, in the ",(0,r.jsx)(t.strong,{children:"Lambda filter"})," component, in the ",(0,r.jsx)(t.strong,{children:"Instructions"})," field, use natural language to describe how the data should be filtered.\nFor this example, enter:"]}),"\n"]}),"\n",(0,r.jsx)(h.Code,{codeConfig:x,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"I want to explode the result column out into a Data object",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsxs)(t.p,{children:["Avoid punctuation in the ",(0,r.jsx)(t.strong,{children:"Instructions"})," field, as it can cause errors."]})}),"\n",(0,r.jsxs)(t.ol,{start:"5",children:["\n",(0,r.jsxs)(t.li,{children:["To run the flow, in the ",(0,r.jsx)(t.strong,{children:"Lambda Filter"})," component, click ",(0,r.jsx)(o.A,{name:"Play","aria-label":"Play icon"}),"."]}),"\n",(0,r.jsxs)(t.li,{children:["To inspect the filtered data, in the ",(0,r.jsx)(t.strong,{children:"Lambda Filter"})," component, click ",(0,r.jsx)(o.A,{name:"TextSearch","aria-label":"Inspect icon"}),".\nThe result is a structured DataFrame."]}),"\n"]}),"\n",(0,r.jsx)(h.Code,{codeConfig:x,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"id | name | company | username | email | address | zip",props:{}}]},{tokens:[{content:"---|------------------|----------------------|-----------------|------------------------------------|-------------------|-------",props:{}}]},{tokens:[{content:"1 | Emily Johnson | ABC Corporation | emily_johnson | emily.johnson@abccorporation.com | 123 Main St | 12345",props:{}}]},{tokens:[{content:"2 | Michael Williams | XYZ Corp | michael_williams| michael.williams@xyzcorp.com | 456 Elm Ave | 67890",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,r.jsxs)(t.ol,{start:"7",children:["\n",(0,r.jsxs)(t.li,{children:["Add the ",(0,r.jsx)(t.strong,{children:"DataFrame Operations"})," component, and a ",(0,r.jsx)(t.strong,{children:"Chat Output"})," component to the flow."]}),"\n",(0,r.jsxs)(t.li,{children:["In the ",(0,r.jsx)(t.strong,{children:"DataFrame Operations"})," component, in the ",(0,r.jsx)(t.strong,{children:"Operation"})," field, select ",(0,r.jsx)(t.strong,{children:"Filter"}),"."]}),"\n",(0,r.jsxs)(t.li,{children:["To apply a filter, in the ",(0,r.jsx)(t.strong,{children:"Column Name"})," field, enter a column to filter on. This example filters by ",(0,r.jsx)(t.code,{children:"name"}),"."]}),"\n",(0,r.jsxs)(t.li,{children:["Click ",(0,r.jsx)(t.strong,{children:"Playground"}),", and then click ",(0,r.jsx)(t.strong,{children:"Run Flow"}),".\nThe flow extracts the values from the ",(0,r.jsx)(t.code,{children:"name"})," column."]}),"\n"]}),"\n",(0,r.jsx)(h.Code,{codeConfig:x,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"name",props:{}}]},{tokens:[{content:"Emily Johnson",props:{}}]},{tokens:[{content:"Michael Williams",props:{}}]},{tokens:[{content:"John Smith",props:{}}]},{tokens:[{content:"...",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,r.jsx)(t.h3,{id:"operations",children:"Operations"}),"\n",(0,r.jsxs)(t.p,{children:["This component can perform the following operations on Pandas ",(0,r.jsx)(t.a,{href:"https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html",children:"DataFrame"}),"."]}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Operation"}),(0,r.jsx)(t.th,{children:"Description"}),(0,r.jsx)(t.th,{children:"Required Inputs"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Add Column"}),(0,r.jsx)(t.td,{children:"Adds a new column with a constant value"}),(0,r.jsx)(t.td,{children:"new_column_name, new_column_value"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Drop Column"}),(0,r.jsx)(t.td,{children:"Removes a specified column"}),(0,r.jsx)(t.td,{children:"column_name"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Filter"}),(0,r.jsx)(t.td,{children:"Filters rows based on column value"}),(0,r.jsx)(t.td,{children:"column_name, filter_value"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Head"}),(0,r.jsx)(t.td,{children:"Returns first n rows"}),(0,r.jsx)(t.td,{children:"num_rows"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Rename Column"}),(0,r.jsx)(t.td,{children:"Renames an existing column"}),(0,r.jsx)(t.td,{children:"column_name, new_column_name"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Replace Value"}),(0,r.jsx)(t.td,{children:"Replaces values in a column"}),(0,r.jsx)(t.td,{children:"column_name, replace_value, replacement_value"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Select Columns"}),(0,r.jsx)(t.td,{children:"Selects specific columns"}),(0,r.jsx)(t.td,{children:"columns_to_select"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Sort"}),(0,r.jsx)(t.td,{children:"Sorts DataFrame by column"}),(0,r.jsx)(t.td,{children:"column_name, ascending"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Tail"}),(0,r.jsx)(t.td,{children:"Returns last n rows"}),(0,r.jsx)(t.td,{children:"num_rows"})]})]})]}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsx)("summary",{children:"Parameters"}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Inputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"df"}),(0,r.jsx)(t.td,{children:"DataFrame"}),(0,r.jsx)(t.td,{children:"The input DataFrame to operate on."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"operation"}),(0,r.jsx)(t.td,{children:"Operation"}),(0,r.jsx)(t.td,{children:"The DataFrame operation to perform. Options include Add Column, Drop Column, Filter, Head, Rename Column, Replace Value, Select Columns, Sort, and Tail."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"column_name"}),(0,r.jsx)(t.td,{children:"Column Name"}),(0,r.jsx)(t.td,{children:"The column name to use for the operation."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"filter_value"}),(0,r.jsx)(t.td,{children:"Filter Value"}),(0,r.jsx)(t.td,{children:"The value to filter rows by."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"ascending"}),(0,r.jsx)(t.td,{children:"Sort Ascending"}),(0,r.jsx)(t.td,{children:"Whether to sort in ascending order."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"new_column_name"}),(0,r.jsx)(t.td,{children:"New Column Name"}),(0,r.jsx)(t.td,{children:"The new column name when renaming or adding a column."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"new_column_value"}),(0,r.jsx)(t.td,{children:"New Column Value"}),(0,r.jsx)(t.td,{children:"The value to populate the new column with."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"columns_to_select"}),(0,r.jsx)(t.td,{children:"Columns to Select"}),(0,r.jsx)(t.td,{children:"A list of column names to select."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"num_rows"}),(0,r.jsx)(t.td,{children:"Number of Rows"}),(0,r.jsx)(t.td,{children:"The number of rows to return for head/tail operations. The default is 5."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"replace_value"}),(0,r.jsx)(t.td,{children:"Value to Replace"}),(0,r.jsx)(t.td,{children:"The value to replace in the column."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"replacement_value"}),(0,r.jsx)(t.td,{children:"Replacement Value"}),(0,r.jsx)(t.td,{children:"The value to replace with."})]})]})]}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Outputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"output"}),(0,r.jsx)(t.td,{children:"DataFrame"}),(0,r.jsx)(t.td,{children:"The resulting DataFrame after the operation."})]})})]})]}),"\n",(0,r.jsx)(t.h2,{id:"data-to-dataframe",children:"Data to DataFrame"}),"\n",(0,r.jsxs)(t.p,{children:["This component converts one or multiple ",(0,r.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," objects into a ",(0,r.jsx)(t.a,{href:"/concepts-objects#dataframe-object",children:"DataFrame"}),". Each Data object corresponds to one row in the resulting DataFrame. Fields from the ",(0,r.jsx)(t.code,{children:".data"})," attribute become columns, and the ",(0,r.jsx)(t.code,{children:".text"})," field (if present) is placed in a 'text' column."]}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsxs)(t.li,{children:["To use this component in a flow, connect a component that outputs ",(0,r.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," to the ",(0,r.jsx)(t.strong,{children:"Data to Dataframe"})," component's input.\nThis example connects a ",(0,r.jsx)(t.strong,{children:"Webhook"})," component to convert ",(0,r.jsx)(t.code,{children:"text"})," and ",(0,r.jsx)(t.code,{children:"data"})," into a DataFrame."]}),"\n",(0,r.jsxs)(t.li,{children:["To view the flow's output, connect a ",(0,r.jsx)(t.strong,{children:"Chat Output"})," component to the ",(0,r.jsx)(t.strong,{children:"Data to Dataframe"})," component."]}),"\n"]}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"A webhook and data to dataframe",src:n(45709).A+"",width:"1221",height:"468"})}),"\n",(0,r.jsxs)(t.ol,{start:"3",children:["\n",(0,r.jsxs)(t.li,{children:["Send a POST request to the ",(0,r.jsx)(t.strong,{children:"Webhook"})," containing your JSON data.\nReplace ",(0,r.jsx)(t.code,{children:"YOUR_FLOW_ID"})," with your flow ID.\nThis example uses the default Langflow server address."]}),"\n"]}),"\n",(0,r.jsx)(h.Code,{codeConfig:x,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:' "text": "Alex Cruz - Employee Profile",',props:{}}]},{tokens:[{content:' "data": {',props:{}}]},{tokens:[{content:' "Name": "Alex Cruz",',props:{}}]},{tokens:[{content:' "Role": "Developer",',props:{}}]},{tokens:[{content:' "Department": "Engineering"',props:{}}]},{tokens:[{content:" }",props:{}}]},{tokens:[{content:"}'",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,r.jsxs)(t.ol,{start:"4",children:["\n",(0,r.jsxs)(t.li,{children:["In the ",(0,r.jsx)(t.strong,{children:"Playground"}),", view the output of your flow.\nThe ",(0,r.jsx)(t.strong,{children:"Data to DataFrame"})," component converts the webhook request into a ",(0,r.jsx)(t.code,{children:"DataFrame"}),", with ",(0,r.jsx)(t.code,{children:"text"})," and ",(0,r.jsx)(t.code,{children:"data"})," fields as columns."]}),"\n"]}),"\n",(0,r.jsx)(h.Code,{codeConfig:x,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"| text | data |",props:{}}]},{tokens:[{content:"|:-----------------------------|:------------------------------------------------------------------------|",props:{}}]},{tokens:[{content:"| Alex Cruz - Employee Profile | {'Name': 'Alex Cruz', 'Role': 'Developer', 'Department': 'Engineering'} |",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,r.jsxs)(t.ol,{start:"5",children:["\n",(0,r.jsx)(t.li,{children:"Send another employee data object."}),"\n"]}),"\n",(0,r.jsx)(h.Code,{codeConfig:x,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:' "text": "Kalani Smith - Employee Profile",',props:{}}]},{tokens:[{content:' "data": {',props:{}}]},{tokens:[{content:' "Name": "Kalani Smith",',props:{}}]},{tokens:[{content:' "Role": "Designer",',props:{}}]},{tokens:[{content:' "Department": "Design"',props:{}}]},{tokens:[{content:" }",props:{}}]},{tokens:[{content:"}'",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,r.jsxs)(t.ol,{start:"6",children:["\n",(0,r.jsxs)(t.li,{children:["In the ",(0,r.jsx)(t.strong,{children:"Playground"}),", this request is also converted to ",(0,r.jsx)(t.code,{children:"DataFrame"}),"."]}),"\n"]}),"\n",(0,r.jsx)(h.Code,{codeConfig:x,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"| text | data |",props:{}}]},{tokens:[{content:"|:--------------------------------|:---------------------------------------------------------------------|",props:{}}]},{tokens:[{content:"| Kalani Smith - Employee Profile | {'Name': 'Kalani Smith', 'Role': 'Designer', 'Department': 'Design'} |",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsx)("summary",{children:"Parameters"}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Inputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"data_list"}),(0,r.jsx)(t.td,{children:"Data or Data List"}),(0,r.jsx)(t.td,{children:"One or multiple Data objects to transform into a DataFrame."})]})})]}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Outputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"dataframe"}),(0,r.jsx)(t.td,{children:"DataFrame"}),(0,r.jsx)(t.td,{children:"A DataFrame built from each Data object's fields plus a text column."})]})})]})]}),"\n",(0,r.jsx)(t.h2,{id:"filter-data",children:"Filter data"}),"\n",(0,r.jsx)(t.admonition,{type:"important",children:(0,r.jsxs)(t.p,{children:["This component is in ",(0,r.jsx)(t.strong,{children:"Beta"})," as of Langflow version 1.1.3, and is not yet fully supported."]})}),"\n",(0,r.jsxs)(t.p,{children:["This component filters a ",(0,r.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," object based on a list of keys."]}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsx)("summary",{children:"Parameters"}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Inputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"data"}),(0,r.jsx)(t.td,{children:"Data"}),(0,r.jsx)(t.td,{children:"The Data object to filter."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"filter_criteria"}),(0,r.jsx)(t.td,{children:"Filter Criteria"}),(0,r.jsx)(t.td,{children:"A list of keys to filter by."})]})]})]}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Outputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"filtered_data"}),(0,r.jsx)(t.td,{children:"Filtered Data"}),(0,r.jsx)(t.td,{children:"A new Data object containing only the key-value pairs that match the filter criteria."})]})})]})]}),"\n",(0,r.jsx)(t.h2,{id:"filter-values",children:"Filter values"}),"\n",(0,r.jsx)(t.admonition,{type:"important",children:(0,r.jsxs)(t.p,{children:["This component is in ",(0,r.jsx)(t.strong,{children:"Beta"})," as of Langflow version 1.1.3, and is not yet fully supported."]})}),"\n",(0,r.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,r.jsxs)(s,{children:[(0,r.jsx)("summary",{children:"Parameters"}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Inputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"input_data"}),(0,r.jsx)(t.td,{children:"Input data"}),(0,r.jsx)(t.td,{children:"The list of data items to filter."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"filter_key"}),(0,r.jsx)(t.td,{children:"Filter Key"}),(0,r.jsx)(t.td,{children:"The key to filter on."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"filter_value"}),(0,r.jsx)(t.td,{children:"Filter Value"}),(0,r.jsx)(t.td,{children:"The value to filter by."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"operator"}),(0,r.jsx)(t.td,{children:"Comparison Operator"}),(0,r.jsx)(t.td,{children:"The operator to apply for comparing the values."})]})]})]}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Outputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"filtered_data"}),(0,r.jsx)(t.td,{children:"Filtered data"}),(0,r.jsx)(t.td,{children:"The resulting list of filtered data items."})]})})]})]}),"\n",(0,r.jsx)(t.h2,{id:"lambda-filter",children:"Lambda filter"}),"\n",(0,r.jsx)(t.p,{children:"This component uses an LLM to generate a Lambda function for filtering or transforming structured data."}),"\n",(0,r.jsxs)(t.p,{children:["To use the ",(0,r.jsx)(t.strong,{children:"Lambda filter"})," component, you must connect it to a ",(0,r.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,r.jsx)(t.strong,{children:"Instructions"})," field."]}),"\n",(0,r.jsxs)(t.p,{children:["This example gets JSON data from the ",(0,r.jsx)(t.code,{children:"https://jsonplaceholder.typicode.com/users"})," API endpoint.\nThe ",(0,r.jsx)(t.strong,{children:"Instructions"})," field in the ",(0,r.jsx)(t.strong,{children:"Lambda filter"})," component specifies the task ",(0,r.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,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{src:n(66539).A+"",width:"1742",height:"1622"})}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsx)("summary",{children:"Parameters"}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Inputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"data"}),(0,r.jsx)(t.td,{children:"Data"}),(0,r.jsx)(t.td,{children:"The structured data to filter or transform using a Lambda function."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"llm"}),(0,r.jsx)(t.td,{children:"Language Model"}),(0,r.jsxs)(t.td,{children:["The connection port for a ",(0,r.jsx)(t.a,{href:"/components-models",children:"Model"})," component."]})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"filter_instruction"}),(0,r.jsx)(t.td,{children:"Instructions"}),(0,r.jsxs)(t.td,{children:["The natural language instructions for how to filter or transform the data using a Lambda function, such as ",(0,r.jsx)(t.code,{children:"Filter the data to only include items where the 'status' is 'active'"}),"."]})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"sample_size"}),(0,r.jsx)(t.td,{children:"Sample Size"}),(0,r.jsx)(t.td,{children:"For large datasets, the number of characters to sample from the dataset head and tail."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"max_size"}),(0,r.jsx)(t.td,{children:"Max Size"}),(0,r.jsxs)(t.td,{children:['The number of characters for the data to be considered "large", which triggers sampling by the ',(0,r.jsx)(t.code,{children:"sample_size"})," value."]})]})]})]}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Outputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"filtered_data"}),(0,r.jsx)(t.td,{children:"Filtered Data"}),(0,r.jsxs)(t.td,{children:["The filtered or transformed ",(0,r.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data object"}),"."]})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"dataframe"}),(0,r.jsx)(t.td,{children:"DataFrame"}),(0,r.jsxs)(t.td,{children:["The filtered data as a ",(0,r.jsx)(t.a,{href:"/concepts-objects#dataframe-object",children:"DataFrame"}),"."]})]})]})]})]}),"\n",(0,r.jsx)(t.h2,{id:"llm-router",children:"LLM router"}),"\n",(0,r.jsx)(t.p,{children:"This component routes requests to the most appropriate LLM based on OpenRouter model specifications."}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsx)("summary",{children:"Parameters"}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Inputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"models"}),(0,r.jsx)(t.td,{children:"Language Models"}),(0,r.jsx)(t.td,{children:"A list of LLMs to route between."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"input_value"}),(0,r.jsx)(t.td,{children:"Input"}),(0,r.jsx)(t.td,{children:"The input message to be routed."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"judge_llm"}),(0,r.jsx)(t.td,{children:"Judge LLM"}),(0,r.jsx)(t.td,{children:"The LLM that evaluates and selects the most appropriate model."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"optimization"}),(0,r.jsx)(t.td,{children:"Optimization"}),(0,r.jsx)(t.td,{children:"The optimization preference between quality, speed, cost, or balanced."})]})]})]}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Outputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"output"}),(0,r.jsx)(t.td,{children:"Output"}),(0,r.jsx)(t.td,{children:"The response from the selected model."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"selected_model"}),(0,r.jsx)(t.td,{children:"Selected Model"}),(0,r.jsx)(t.td,{children:"The name of the chosen model."})]})]})]})]}),"\n",(0,r.jsx)(t.h2,{id:"message-to-data",children:"Message to data"}),"\n",(0,r.jsxs)(t.p,{children:["This component converts ",(0,r.jsx)(t.a,{href:"/concepts-objects#message-object",children:"Message"})," objects to ",(0,r.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," objects."]}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsx)("summary",{children:"Parameters"}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Inputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"message"}),(0,r.jsx)(t.td,{children:"Message"}),(0,r.jsx)(t.td,{children:"The Message object to convert to a Data object."})]})})]}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Outputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"data"}),(0,r.jsx)(t.td,{children:"Data"}),(0,r.jsx)(t.td,{children:"The converted Data object."})]})})]})]}),"\n",(0,r.jsx)(t.h2,{id:"parser",children:"Parser"}),"\n",(0,r.jsxs)(t.p,{children:["This component formats ",(0,r.jsx)(t.code,{children:"DataFrame"})," or ",(0,r.jsx)(t.code,{children:"Data"})," objects into text using templates, with an option to convert inputs directly to strings using ",(0,r.jsx)(t.code,{children:"stringify"}),"."]}),"\n",(0,r.jsxs)(t.p,{children:["To use this component, create variables for values in the ",(0,r.jsx)(t.code,{children:"template"})," the same way you would in a ",(0,r.jsx)(t.a,{href:"/components-prompts",children:"Prompt"})," component. For ",(0,r.jsx)(t.code,{children:"DataFrames"}),", use column names, for example ",(0,r.jsx)(t.code,{children:"Name: {Name}"}),". For ",(0,r.jsx)(t.code,{children:"Data"})," objects, use ",(0,r.jsx)(t.code,{children:"{text}"}),"."]}),"\n",(0,r.jsxs)(t.p,{children:["To use the ",(0,r.jsx)(t.strong,{children:"Parser"})," component with a ",(0,r.jsx)(t.strong,{children:"Structured Output"})," component, do the following:"]}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsxs)(t.li,{children:["Connect a ",(0,r.jsx)(t.strong,{children:"Structured Output"})," component's ",(0,r.jsx)(t.strong,{children:"DataFrame"})," output to the ",(0,r.jsx)(t.strong,{children:"Parser"})," component's ",(0,r.jsx)(t.strong,{children:"DataFrame"})," input."]}),"\n",(0,r.jsxs)(t.li,{children:["Connect the ",(0,r.jsx)(t.strong,{children:"File"})," component to the ",(0,r.jsx)(t.strong,{children:"Structured Output"})," component's ",(0,r.jsx)(t.strong,{children:"Message"})," input."]}),"\n",(0,r.jsxs)(t.li,{children:["Connect the ",(0,r.jsx)(t.strong,{children:"OpenAI"})," model component's ",(0,r.jsx)(t.strong,{children:"Language Model"})," output to the ",(0,r.jsx)(t.strong,{children:"Structured Output"})," component's ",(0,r.jsx)(t.strong,{children:"Language Model"})," input."]}),"\n"]}),"\n",(0,r.jsx)(t.p,{children:"The flow looks like this:"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"A parser component connected to OpenAI and structured output",src:n(96218).A+"",width:"2300",height:"1436"})}),"\n",(0,r.jsxs)(t.ol,{start:"4",children:["\n",(0,r.jsxs)(t.li,{children:["In the ",(0,r.jsx)(t.strong,{children:"Structured Output"})," component, click ",(0,r.jsx)(t.strong,{children:"Open Table"}),".\nThis opens a pane for structuring your table.\nThe table contains the rows ",(0,r.jsx)(t.strong,{children:"Name"}),", ",(0,r.jsx)(t.strong,{children:"Description"}),", ",(0,r.jsx)(t.strong,{children:"Type"}),", and ",(0,r.jsx)(t.strong,{children:"Multiple"}),"."]}),"\n",(0,r.jsxs)(t.li,{children:["Create a table that maps to the data you're loading from the ",(0,r.jsx)(t.strong,{children:"File"})," loader.\nFor example, to create a table for employees, you might have the rows ",(0,r.jsx)(t.code,{children:"id"}),", ",(0,r.jsx)(t.code,{children:"name"}),", and ",(0,r.jsx)(t.code,{children:"email"}),", all of type ",(0,r.jsx)(t.code,{children:"string"}),"."]}),"\n",(0,r.jsxs)(t.li,{children:["In the ",(0,r.jsx)(t.strong,{children:"Template"})," field of the ",(0,r.jsx)(t.strong,{children:"Parser"})," component, enter a template for parsing the ",(0,r.jsx)(t.strong,{children:"Structured Output"})," component's DataFrame output into structured text.\nCreate variables for values in the ",(0,r.jsx)(t.code,{children:"template"})," the same way you would in a ",(0,r.jsx)(t.a,{href:"/components-prompts",children:"Prompt"})," component.\nFor example, to present a table of employees in Markdown:"]}),"\n"]}),"\n",(0,r.jsx)(h.Code,{codeConfig:x,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,r.jsxs)(t.ol,{start:"7",children:["\n",(0,r.jsxs)(t.li,{children:["To run the flow, in the ",(0,r.jsx)(t.strong,{children:"Parser"})," component, click ",(0,r.jsx)(o.A,{name:"Play","aria-label":"Play icon"}),"."]}),"\n",(0,r.jsxs)(t.li,{children:["To view your parsed text, in the ",(0,r.jsx)(t.strong,{children:"Parser"})," component, click ",(0,r.jsx)(o.A,{name:"TextSearch","aria-label":"Inspect icon"}),"."]}),"\n",(0,r.jsxs)(t.li,{children:["Optionally, connect a ",(0,r.jsx)(t.strong,{children:"Chat Output"})," component, and open the ",(0,r.jsx)(t.strong,{children:"Playground"})," to see the output."]}),"\n"]}),"\n",(0,r.jsxs)(t.p,{children:["For an additional example of using the ",(0,r.jsx)(t.strong,{children:"Parser"})," component to format a DataFrame from a ",(0,r.jsx)(t.strong,{children:"Structured Output"})," component, see the ",(0,r.jsx)(t.strong,{children:"Market Research"})," template flow."]}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsx)("summary",{children:"Parameters"}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Inputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"mode"}),(0,r.jsx)(t.td,{children:"Mode"}),(0,r.jsx)(t.td,{children:'The tab selection between "Parser" and "Stringify" modes. "Stringify" converts input to a string instead of using a template.'})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"pattern"}),(0,r.jsx)(t.td,{children:"Template"}),(0,r.jsxs)(t.td,{children:["The template for formatting using variables in curly brackets. For DataFrames, use column names, such as ",(0,r.jsx)(t.code,{children:"Name: {Name}"}),". For Data objects, use ",(0,r.jsx)(t.code,{children:"{text}"}),"."]})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"input_data"}),(0,r.jsx)(t.td,{children:"Data or DataFrame"}),(0,r.jsx)(t.td,{children:"The input to parse. Accepts either a DataFrame or Data object."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"sep"}),(0,r.jsx)(t.td,{children:"Separator"}),(0,r.jsx)(t.td,{children:"The string used to separate rows or items. The default is a newline."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"clean_data"}),(0,r.jsx)(t.td,{children:"Clean Data"}),(0,r.jsx)(t.td,{children:"When stringify is enabled, this option cleans data by removing empty rows and lines."})]})]})]}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Outputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"parsed_text"}),(0,r.jsx)(t.td,{children:"Parsed Text"}),(0,r.jsxs)(t.td,{children:["The resulting formatted text as a ",(0,r.jsx)(t.a,{href:"/concepts-objects#message-object",children:"Message"})," object."]})]})})]})]}),"\n",(0,r.jsx)(t.h2,{id:"regex-extractor",children:"Regex extractor"}),"\n",(0,r.jsx)(t.p,{children:"This component extracts patterns from text using regular expressions. It can be used to find and extract specific patterns or information from text data."}),"\n",(0,r.jsx)(t.p,{children:"To use this component in a flow:"}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsxs)(t.li,{children:["Connect the ",(0,r.jsx)(t.strong,{children:"Regex Extractor"})," to a ",(0,r.jsx)(t.strong,{children:"URL"})," component and a ",(0,r.jsx)(t.strong,{children:"Chat Output"})," component."]}),"\n"]}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"Regex extractor connected to url component",src:n(8886).A+"",width:"1606",height:"848"})}),"\n",(0,r.jsxs)(t.ol,{start:"2",children:["\n",(0,r.jsxs)(t.li,{children:["In the ",(0,r.jsx)(t.strong,{children:"Regex Extractor"})," tool, enter a pattern to extract text from the ",(0,r.jsx)(t.strong,{children:"URL"}),' component\'s raw output.\nThis example extracts the first paragraph from the "In the News" section of ',(0,r.jsx)(t.code,{children:"https://en.wikipedia.org/wiki/Main_Page"}),":"]}),"\n"]}),"\n",(0,r.jsx)(h.Code,{codeConfig:x,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"In the news\\s*\\n(.*?)(?=\\n\\n)",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,r.jsx)(t.p,{children:"Result:"}),"\n",(0,r.jsx)(h.Code,{codeConfig:x,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"Peruvian writer and Nobel Prize in Literature laureate Mario Vargas Llosa (pictured) dies at the age of 89.",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,r.jsx)(t.h2,{id:"save-to-file",children:"Save to File"}),"\n",(0,r.jsxs)(t.p,{children:["This component saves ",(0,r.jsx)(t.a,{href:"/concepts-objects",children:"DataFrames, Data, or Messages"})," to various file formats."]}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsxs)(t.li,{children:["To use this component in a flow, connect a component that outputs ",(0,r.jsx)(t.a,{href:"/concepts-objects",children:"DataFrames, Data, or Messages"})," to the ",(0,r.jsx)(t.strong,{children:"Save to File"})," component's input.\nThe following example connects a ",(0,r.jsx)(t.strong,{children:"Webhook"})," component to two ",(0,r.jsx)(t.strong,{children:"Save to File"})," components to demonstrate the different outputs."]}),"\n"]}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"Two Save-to File components connected to a webhook",src:n(35073).A+"",width:"1458",height:"1732"})}),"\n",(0,r.jsxs)(t.ol,{start:"2",children:["\n",(0,r.jsxs)(t.li,{children:["In the ",(0,r.jsx)(t.strong,{children:"Save to File"})," component's ",(0,r.jsx)(t.strong,{children:"Input Type"})," field, select the expected input type.\nThis example expects ",(0,r.jsx)(t.strong,{children:"Data"})," from the ",(0,r.jsx)(t.strong,{children:"Webhook"}),"."]}),"\n",(0,r.jsxs)(t.li,{children:["In the ",(0,r.jsx)(t.strong,{children:"File Format"})," field, select the file type for your saved file.\nThis example uses ",(0,r.jsx)(t.code,{children:".md"})," in one ",(0,r.jsx)(t.strong,{children:"Save to File"})," component, and ",(0,r.jsx)(t.code,{children:".xlsx"})," in another."]}),"\n",(0,r.jsxs)(t.li,{children:["In the ",(0,r.jsx)(t.strong,{children:"File Path"})," field, enter the path for your saved file.\nThis example uses ",(0,r.jsx)(t.code,{children:"./output/employees.xlsx"})," and ",(0,r.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,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsxs)(t.p,{children:["If you enter a format in the ",(0,r.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,r.jsx)(t.code,{children:"file_format"})," is ",(0,r.jsx)(t.code,{children:"csv"}),", and you enter ",(0,r.jsx)(t.code,{children:"file_path"})," as ",(0,r.jsx)(t.code,{children:"./output/test.txt"}),", the file is saved as ",(0,r.jsx)(t.code,{children:"./output/test.txt.csv"})," so the file is not corrupted."]})}),"\n",(0,r.jsxs)(t.ol,{start:"5",children:["\n",(0,r.jsxs)(t.li,{children:["Send a POST request to the ",(0,r.jsx)(t.strong,{children:"Webhook"})," containing your JSON data.\nReplace ",(0,r.jsx)(t.code,{children:"YOUR_FLOW_ID"})," with your flow ID.\nThis example uses the default Langflow server address."]}),"\n"]}),"\n",(0,r.jsx)(h.Code,{codeConfig:x,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,r.jsxs)(t.ol,{start:"6",children:["\n",(0,r.jsxs)(t.li,{children:["In your local filesystem, open the ",(0,r.jsx)(t.code,{children:"outputs"})," directory.\nYou should see two files created from the data you've sent: one in ",(0,r.jsx)(t.code,{children:".xlsx"})," for structured spreadsheets, and one in Markdown."]}),"\n"]}),"\n",(0,r.jsx)(h.Code,{codeConfig:x,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,r.jsx)(t.h3,{id:"file-input-format-options",children:"File input format options"}),"\n",(0,r.jsxs)(t.p,{children:["For ",(0,r.jsx)(t.code,{children:"DataFrame"})," and ",(0,r.jsx)(t.code,{children:"Data"})," inputs, the component can create:"]}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.code,{children:"csv"})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.code,{children:"excel"})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.code,{children:"json"})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.code,{children:"markdown"})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.code,{children:"pdf"})}),"\n"]}),"\n",(0,r.jsxs)(t.p,{children:["For ",(0,r.jsx)(t.code,{children:"Message"})," inputs, the component can create:"]}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.code,{children:"txt"})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.code,{children:"json"})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.code,{children:"markdown"})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.code,{children:"pdf"})}),"\n"]}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsx)("summary",{children:"Parameters"}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Inputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"input_text"}),(0,r.jsx)(t.td,{children:"Input Text"}),(0,r.jsx)(t.td,{children:"The text to analyze and extract patterns from."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"pattern"}),(0,r.jsx)(t.td,{children:"Regex Pattern"}),(0,r.jsx)(t.td,{children:"The regular expression pattern to match in the text."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"input_type"}),(0,r.jsx)(t.td,{children:"Input Type"}),(0,r.jsx)(t.td,{children:"The type of input to save."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"df"}),(0,r.jsx)(t.td,{children:"DataFrame"}),(0,r.jsx)(t.td,{children:"The DataFrame to save."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"data"}),(0,r.jsx)(t.td,{children:"Data"}),(0,r.jsx)(t.td,{children:"The Data object to save."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"message"}),(0,r.jsx)(t.td,{children:"Message"}),(0,r.jsx)(t.td,{children:"The Message to save."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"file_format"}),(0,r.jsx)(t.td,{children:"File Format"}),(0,r.jsx)(t.td,{children:"The file format to save the input in."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"file_path"}),(0,r.jsx)(t.td,{children:"File Path"}),(0,r.jsx)(t.td,{children:"The full file path including filename and extension."})]})]})]}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Outputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"data"}),(0,r.jsx)(t.td,{children:"Data"}),(0,r.jsx)(t.td,{children:"A list of extracted matches as Data objects."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"text"}),(0,r.jsx)(t.td,{children:"Message"}),(0,r.jsx)(t.td,{children:"The extracted matches formatted as a Message object."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"confirmation"}),(0,r.jsx)(t.td,{children:"Confirmation"}),(0,r.jsx)(t.td,{children:"The confirmation message after saving the file."})]})]})]})]}),"\n",(0,r.jsx)(t.h2,{id:"split-text",children:"Split text"}),"\n",(0,r.jsx)(t.p,{children:"This component splits text into chunks based on specified criteria. It's ideal for chunking data to be tokenized and embedded into vector databases."}),"\n",(0,r.jsxs)(t.p,{children:["The ",(0,r.jsx)(t.strong,{children:"Split Text"})," component outputs ",(0,r.jsx)(t.strong,{children:"Chunks"})," or ",(0,r.jsx)(t.strong,{children:"DataFrame"}),".\nThe ",(0,r.jsx)(t.strong,{children:"Chunks"})," output returns a list of individual text chunks.\nThe ",(0,r.jsx)(t.strong,{children:"DataFrame"})," output returns a structured data format, with additional ",(0,r.jsx)(t.code,{children:"text"})," and ",(0,r.jsx)(t.code,{children:"metadata"})," columns applied."]}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsxs)(t.li,{children:["To use this component in a flow, connect a component that outputs ",(0,r.jsx)(t.a,{href:"/concepts-objects",children:"Data or DataFrame"})," to the ",(0,r.jsx)(t.strong,{children:"Split Text"})," component's ",(0,r.jsx)(t.strong,{children:"Data"})," port.\nThis example uses the ",(0,r.jsx)(t.strong,{children:"URL"})," component, which is fetching JSON placeholder data."]}),"\n"]}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"Split text component and chroma-db",src:n(49823).A+"",width:"2198",height:"1626"})}),"\n",(0,r.jsxs)(t.ol,{start:"2",children:["\n",(0,r.jsxs)(t.li,{children:["In the ",(0,r.jsx)(t.strong,{children:"Split Text"})," component, define your data splitting parameters."]}),"\n"]}),"\n",(0,r.jsxs)(t.p,{children:["This example splits incoming JSON data at the separator ",(0,r.jsx)(t.code,{children:"},"}),", so each chunk contains one JSON object."]}),"\n",(0,r.jsxs)(t.p,{children:["The order of precedence is ",(0,r.jsx)(t.strong,{children:"Separator"}),", then ",(0,r.jsx)(t.strong,{children:"Chunk Size"}),", and then ",(0,r.jsx)(t.strong,{children:"Chunk Overlap"}),".\nIf any segment after separator splitting is longer than ",(0,r.jsx)(t.code,{children:"chunk_size"}),", it is split again to fit within ",(0,r.jsx)(t.code,{children:"chunk_size"}),"."]}),"\n",(0,r.jsxs)(t.p,{children:["After ",(0,r.jsx)(t.code,{children:"chunk_size"}),", ",(0,r.jsx)(t.strong,{children:"Chunk Overlap"})," is applied between chunks to maintain context."]}),"\n",(0,r.jsxs)(t.ol,{start:"3",children:["\n",(0,r.jsxs)(t.li,{children:["Connect a ",(0,r.jsx)(t.strong,{children:"Chat Output"})," component to the ",(0,r.jsx)(t.strong,{children:"Split Text"})," component's ",(0,r.jsx)(t.strong,{children:"DataFrame"})," output to view its output."]}),"\n",(0,r.jsxs)(t.li,{children:["Click ",(0,r.jsx)(t.strong,{children:"Playground"}),", and then click ",(0,r.jsx)(t.strong,{children:"Run Flow"}),".\nThe output contains a table of JSON objects split at ",(0,r.jsx)(t.code,{children:"},"}),"."]}),"\n"]}),"\n",(0,r.jsx)(h.Code,{codeConfig:x,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"{",props:{}}]},{tokens:[{content:'"userId": 1,',props:{}}]},{tokens:[{content:'"id": 1,',props:{}}]},{tokens:[{content:'"title": "Introduction to Artificial Intelligence",',props:{}}]},{tokens:[{content:'"body": "Learn the basics of Artificial Intelligence and its applications in various industries.",',props:{}}]},{tokens:[{content:'"link": "https://example.com/article1",',props:{}}]},{tokens:[{content:'"comment_count": 8',props:{}}]},{tokens:[{content:"},",props:{}}]},{tokens:[{content:"{",props:{}}]},{tokens:[{content:'"userId": 2,',props:{}}]},{tokens:[{content:'"id": 2,',props:{}}]},{tokens:[{content:'"title": "Web Development with React",',props:{}}]},{tokens:[{content:'"body": "Build modern web applications using React.js and explore its powerful features.",',props:{}}]},{tokens:[{content:'"link": "https://example.com/article2",',props:{}}]},{tokens:[{content:'"comment_count": 12',props:{}}]},{tokens:[{content:"},",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,r.jsxs)(t.ol,{start:"5",children:["\n",(0,r.jsxs)(t.li,{children:["Clear the ",(0,r.jsx)(t.strong,{children:"Separator"})," field, and then run the flow again.\nInstead of JSON objects, the output contains 50-character lines of text with 10 characters of overlap."]}),"\n"]}),"\n",(0,r.jsx)(h.Code,{codeConfig:x,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:'First chunk: "title": "Introduction to Artificial Intelligence""',props:{}}]},{tokens:[{content:'Second chunk: "elligence", "body": "Learn the basics of Artif"',props:{}}]},{tokens:[{content:'Third chunk: "s of Artificial Intelligence and its applications"',props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsx)("summary",{children:"Parameters"}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Inputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"data_inputs"}),(0,r.jsx)(t.td,{children:"Input Documents"}),(0,r.jsxs)(t.td,{children:["The data to split. The component accepts ",(0,r.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," or ",(0,r.jsx)(t.a,{href:"/concepts-objects#dataframe-object",children:"DataFrame"})," objects."]})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"chunk_overlap"}),(0,r.jsx)(t.td,{children:"Chunk Overlap"}),(0,r.jsxs)(t.td,{children:["The number of characters to overlap between chunks. Default: ",(0,r.jsx)(t.code,{children:"200"}),"."]})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"chunk_size"}),(0,r.jsx)(t.td,{children:"Chunk Size"}),(0,r.jsxs)(t.td,{children:["The maximum number of characters in each chunk. Default: ",(0,r.jsx)(t.code,{children:"1000"}),"."]})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"separator"}),(0,r.jsx)(t.td,{children:"Separator"}),(0,r.jsxs)(t.td,{children:["The character to split on. Default: ",(0,r.jsx)(t.code,{children:"newline"}),"."]})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"text_key"}),(0,r.jsx)(t.td,{children:"Text Key"}),(0,r.jsxs)(t.td,{children:["The key to use for the text column. Default: ",(0,r.jsx)(t.code,{children:"text"}),"."]})]})]})]}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Outputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"chunks"}),(0,r.jsx)(t.td,{children:"Chunks"}),(0,r.jsxs)(t.td,{children:["A list of split text chunks as ",(0,r.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," objects."]})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"dataframe"}),(0,r.jsx)(t.td,{children:"DataFrame"}),(0,r.jsxs)(t.td,{children:["A list of split text chunks as ",(0,r.jsx)(t.a,{href:"/concepts-objects#dataframe-object",children:"DataFrame"})," objects."]})]})]})]})]}),"\n",(0,r.jsx)(t.h2,{id:"update-data",children:"Update data"}),"\n",(0,r.jsx)(t.p,{children:"This component dynamically updates or appends data with specified fields."}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsx)("summary",{children:"Parameters"}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Inputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"old_data"}),(0,r.jsx)(t.td,{children:"Data"}),(0,r.jsx)(t.td,{children:"The records to update."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"number_of_fields"}),(0,r.jsx)(t.td,{children:"Number of Fields"}),(0,r.jsx)(t.td,{children:"The number of fields to add. The maximum is 15."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"text_key"}),(0,r.jsx)(t.td,{children:"Text Key"}),(0,r.jsx)(t.td,{children:"The key for text content."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"text_key_validator"}),(0,r.jsx)(t.td,{children:"Text Key Validator"}),(0,r.jsx)(t.td,{children:"Validates the text key presence."})]})]})]}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Outputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"data"}),(0,r.jsx)(t.td,{children:"Data"}),(0,r.jsx)(t.td,{children:"The updated Data objects."})]})})]})]}),"\n",(0,r.jsx)(t.h2,{id:"legacy-components",children:"Legacy components"}),"\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"Legacy"})," components are available for use but are no longer supported."]}),"\n",(0,r.jsx)(t.h3,{id:"alter-metadata",children:"Alter metadata"}),"\n",(0,r.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,r.jsx)(t.a,{href:"/concepts-objects#message-object",children:"Message"})," and ",(0,r.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,r.jsxs)(s,{children:[(0,r.jsx)("summary",{children:"Parameters"}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Inputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"input_value"}),(0,r.jsx)(t.td,{children:"Input"}),(0,r.jsx)(t.td,{children:"Objects to which Metadata should be added"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"text_in"}),(0,r.jsx)(t.td,{children:"User Text"}),(0,r.jsxs)(t.td,{children:["Text input; the value is contained in the 'text' attribute of the ",(0,r.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," object. Empty text entries are ignored."]})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"metadata"}),(0,r.jsx)(t.td,{children:"Metadata"}),(0,r.jsx)(t.td,{children:"Metadata to add to each object"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"remove_fields"}),(0,r.jsx)(t.td,{children:"Fields to Remove"}),(0,r.jsx)(t.td,{children:"Metadata fields to remove"})]})]})]}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Outputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"data"}),(0,r.jsx)(t.td,{children:"Data"}),(0,r.jsx)(t.td,{children:"List of Input objects, each with added metadata"})]})})]})]}),"\n",(0,r.jsx)(t.h3,{id:"combine-text",children:"Combine text"}),"\n",(0,r.jsx)(t.admonition,{type:"important",children:(0,r.jsxs)(t.p,{children:["This component is in ",(0,r.jsx)(t.strong,{children:"Legacy"}),", which means it is no longer in active development.\nInstead, use the ",(0,r.jsx)(t.a,{href:"#combine-data",children:"Combine data"})," component."]})}),"\n",(0,r.jsx)(t.p,{children:"This component concatenates two text sources into a single text chunk using a specified delimiter."}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsxs)(t.li,{children:["To use this component in a flow, connect two components that output ",(0,r.jsx)(t.a,{href:"/concepts-objects#message-object",children:"Messages"})," to the ",(0,r.jsx)(t.strong,{children:"Combine Text"})," component's ",(0,r.jsx)(t.strong,{children:"First Text"})," and ",(0,r.jsx)(t.strong,{children:"Second Text"})," inputs.\nThis example uses two ",(0,r.jsx)(t.strong,{children:"Text Input"})," components."]}),"\n"]}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"Combine text component",src:n(41502).A+"",width:"1148",height:"675"})}),"\n",(0,r.jsxs)(t.ol,{start:"2",children:["\n",(0,r.jsxs)(t.li,{children:["In the ",(0,r.jsx)(t.strong,{children:"Combine Text"})," component, in the ",(0,r.jsx)(t.strong,{children:"Text"})," fields of both ",(0,r.jsx)(t.strong,{children:"Text Input"})," components, enter some text to combine."]}),"\n",(0,r.jsxs)(t.li,{children:["In the ",(0,r.jsx)(t.strong,{children:"Combine Text"})," component, enter an optional ",(0,r.jsx)(t.strong,{children:"Delimiter"})," value.\nThe delimiter character separates the combined texts.\nThis example uses ",(0,r.jsx)(t.code,{children:"\\n\\n **end first text** \\n\\n **start second text** \\n\\n"})," to label the texts and create newlines between them."]}),"\n",(0,r.jsxs)(t.li,{children:["Connect a ",(0,r.jsx)(t.strong,{children:"Chat Output"})," component to view the text combination."]}),"\n",(0,r.jsxs)(t.li,{children:["Click ",(0,r.jsx)(t.strong,{children:"Playground"}),", and then click ",(0,r.jsx)(t.strong,{children:"Run Flow"}),".\nThe combined text appears in the ",(0,r.jsx)(t.strong,{children:"Playground"}),"."]}),"\n"]}),"\n",(0,r.jsx)(h.Code,{codeConfig:x,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"This is the first text. Let's combine text!",props:{}}]},{tokens:[{content:"end first text",props:{}}]},{tokens:[{content:"start second text",props:{}}]},{tokens:[{content:"Here's the second part. We'll see how combining text works.",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsx)("summary",{children:"Parameters"}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Inputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"first_text"}),(0,r.jsx)(t.td,{children:"First Text"}),(0,r.jsx)(t.td,{children:"The first text input to concatenate."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"second_text"}),(0,r.jsx)(t.td,{children:"Second Text"}),(0,r.jsx)(t.td,{children:"The second text input to concatenate."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"delimiter"}),(0,r.jsx)(t.td,{children:"Delimiter"}),(0,r.jsx)(t.td,{children:"A string used to separate the two text inputs. The default is a space."})]})]})]}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Outputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"message"}),(0,r.jsx)(t.td,{children:"Message"}),(0,r.jsx)(t.td,{children:"A Message object containing the combined text."})]})})]})]}),"\n",(0,r.jsx)(t.h3,{id:"create-data",children:"Create data"}),"\n",(0,r.jsx)(t.admonition,{type:"important",children:(0,r.jsxs)(t.p,{children:["This component is in ",(0,r.jsx)(t.strong,{children:"Legacy"}),", which means it is no longer in active development as of Langflow version 1.1.3."]})}),"\n",(0,r.jsxs)(t.p,{children:["This component dynamically creates a ",(0,r.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," object with a specified number of fields."]}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsx)("summary",{children:"Parameters"}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Inputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"number_of_fields"}),(0,r.jsx)(t.td,{children:"Number of Fields"}),(0,r.jsx)(t.td,{children:"The number of fields to be added to the record."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"text_key"}),(0,r.jsx)(t.td,{children:"Text Key"}),(0,r.jsx)(t.td,{children:"Key that identifies the field to be used as the text content."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"text_key_validator"}),(0,r.jsx)(t.td,{children:"Text Key Validator"}),(0,r.jsxs)(t.td,{children:["If enabled, checks if the given ",(0,r.jsx)(t.code,{children:"Text Key"})," is present in the given ",(0,r.jsx)(t.code,{children:"Data"}),"."]})]})]})]}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Outputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"data"}),(0,r.jsx)(t.td,{children:"Data"}),(0,r.jsxs)(t.td,{children:["A ",(0,r.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," object created with the specified fields and text key."]})]})})]})]}),"\n",(0,r.jsx)(t.h3,{id:"json-cleaner",children:"JSON cleaner"}),"\n",(0,r.jsx)(t.p,{children:"The JSON cleaner component cleans JSON strings to ensure they are fully compliant with the JSON specification."}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsx)("summary",{children:"Parameters"}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Inputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"json_str"}),(0,r.jsx)(t.td,{children:"JSON String"}),(0,r.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,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"remove_control_chars"}),(0,r.jsx)(t.td,{children:"Remove Control Characters"}),(0,r.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,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"normalize_unicode"}),(0,r.jsx)(t.td,{children:"Normalize Unicode"}),(0,r.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,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"validate_json"}),(0,r.jsx)(t.td,{children:"Validate JSON"}),(0,r.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."})]})]})]}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Outputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"output"}),(0,r.jsx)(t.td,{children:"Cleaned JSON String"}),(0,r.jsx)(t.td,{children:"The resulting cleaned, repaired, and validated JSON string that fully complies with the JSON specification."})]})})]})]}),"\n",(0,r.jsx)(t.h3,{id:"parse-dataframe",children:"Parse DataFrame"}),"\n",(0,r.jsx)(t.admonition,{type:"important",children:(0,r.jsxs)(t.p,{children:["This component is in ",(0,r.jsx)(t.strong,{children:"Legacy"}),", which means it is no longer in active development as of Langflow version 1.3.\nInstead, use the ",(0,r.jsx)(t.a,{href:"#parser",children:"Parser"})," component."]})}),"\n",(0,r.jsx)(t.p,{children:"This component converts DataFrames into plain text using templates."}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsx)("summary",{children:"Parameters"}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Inputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"df"}),(0,r.jsx)(t.td,{children:"DataFrame"}),(0,r.jsx)(t.td,{children:"The DataFrame to convert to text rows."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"template"}),(0,r.jsx)(t.td,{children:"Template"}),(0,r.jsxs)(t.td,{children:["Template for formatting (use ",(0,r.jsx)(t.code,{children:"{column_name}"})," placeholders)."]})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"sep"}),(0,r.jsx)(t.td,{children:"Separator"}),(0,r.jsx)(t.td,{children:"String to join rows in output."})]})]})]}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Outputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"text"}),(0,r.jsx)(t.td,{children:"Text"}),(0,r.jsx)(t.td,{children:"All rows combined into single text."})]})})]})]}),"\n",(0,r.jsx)(t.h3,{id:"parse-json",children:"Parse JSON"}),"\n",(0,r.jsx)(t.admonition,{type:"important",children:(0,r.jsxs)(t.p,{children:["This component is in ",(0,r.jsx)(t.strong,{children:"Legacy"}),", which means it is no longer in active development as of Langflow version 1.1.3."]})}),"\n",(0,r.jsx)(t.p,{children:"This component converts and extracts JSON fields using JQ queries."}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsx)("summary",{children:"Parameters"}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Inputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"input_value"}),(0,r.jsx)(t.td,{children:"Input"}),(0,r.jsxs)(t.td,{children:["Data object to filter (",(0,r.jsx)(t.a,{href:"/concepts-objects#message-object",children:"Message"})," or ",(0,r.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"}),")."]})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"query"}),(0,r.jsx)(t.td,{children:"JQ Query"}),(0,r.jsx)(t.td,{children:"JQ Query to filter the data"})]})]})]}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Outputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"filtered_data"}),(0,r.jsx)(t.td,{children:"Filtered Data"}),(0,r.jsxs)(t.td,{children:["Filtered data as list of ",(0,r.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," objects."]})]})})]})]}),"\n",(0,r.jsx)(t.h3,{id:"select-data",children:"Select data"}),"\n",(0,r.jsx)(t.admonition,{type:"important",children:(0,r.jsxs)(t.p,{children:["This component is in ",(0,r.jsx)(t.strong,{children:"Legacy"}),", which means it is no longer in active development as of Langflow version 1.1.3."]})}),"\n",(0,r.jsxs)(t.p,{children:["This component selects a single ",(0,r.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," item from a list."]}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsx)("summary",{children:"Parameters"}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Inputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"data_list"}),(0,r.jsx)(t.td,{children:"Data List"}),(0,r.jsx)(t.td,{children:"List of data to select from"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"data_index"}),(0,r.jsx)(t.td,{children:"Data Index"}),(0,r.jsx)(t.td,{children:"Index of the data to select"})]})]})]}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Outputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"selected_data"}),(0,r.jsx)(t.td,{children:"Selected Data"}),(0,r.jsxs)(t.td,{children:["The selected ",(0,r.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," object."]})]})})]})]})]})}function m(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(p,{...e})}):p(e)}function u(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:()=>i});n(96540);var s=n(64058),r=n(74848);function i(e){let{name:t,...n}=e;const i=s[t];return i?(0,r.jsx)(i,{...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.b2f38580.js b/assets/js/6e1a9721.b2f38580.js deleted file mode 100644 index 58ea89acaf..0000000000 --- a/assets/js/6e1a9721.b2f38580.js +++ /dev/null @@ -1 +0,0 @@ -"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"},8886:(e,t,n)=>{n.d(t,{A:()=>s});const s=n.p+"assets/images/component-url-regex-8cae4a8d6491d360115ad552f0c467d3.png"},13533:(e,t,n)=>{n.d(t,{A:()=>s});const s=n.p+"assets/images/component-dataframe-operations-86f6e1111b6f414989aca7b5fe625830.png"},35073:(e,t,n)=>{n.d(t,{A:()=>s});const s=n.p+"assets/images/component-save-to-file-67ebbb733732670897bedd9fd1b87583.png"},41502:(e,t,n)=>{n.d(t,{A:()=>s});const s=n.p+"assets/images/component-combine-text-a73b71c22cc8099bf2a9ba22170ea701.png"},45709:(e,t,n)=>{n.d(t,{A:()=>s});const s=n.p+"assets/images/component-data-to-dataframe-3e921379e4e86fedf0e34e3ffae46b51.png"},49823:(e,t,n)=>{n.d(t,{A:()=>s});const s=n.p+"assets/images/component-split-text-741a1ac37f9a2d6591ead075acc66b65.png"},59748:(e,t,n)=>{n.r(t),n.d(t,{CH:()=>h,assets:()=>l,chCodeConfig:()=>x,contentTitle:()=>a,default:()=>m,frontMatter:()=>c,metadata:()=>s,toc:()=>j});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 r=n(74848),i=n(28453),d=n(24754),o=n(84443);const c={title:"Processing",slug:"/components-processing"},a=void 0,l={},h={annotations:d.hk,Code:d.Cy},x={staticMediaQuery:"not screen, (max-width: 768px)",lineNumbers:!0,showCopyButton:!0,themeName:"github-dark"},j=[{value:"Use a processing component in a flow",id:"use-a-processing-component-in-a-flow",level:2},{value:"Combine data",id:"combine-data",level:2},{value:"Combine text",id:"combine-text",level:2},{value:"DataFrame operations",id:"dataframe-operations",level:2},{value:"Operations",id:"operations",level:3},{value:"Data to DataFrame",id:"data-to-dataframe",level:2},{value:"Filter data",id:"filter-data",level:2},{value:"Filter values",id:"filter-values",level:2},{value:"Lambda filter",id:"lambda-filter",level:2},{value:"LLM router",id:"llm-router",level:2},{value:"Message to data",id:"message-to-data",level:2},{value:"Parser",id:"parser",level:2},{value:"Regex extractor",id:"regex-extractor",level:2},{value:"Save to File",id:"save-to-file",level:2},{value:"File input format options",id:"file-input-format-options",level:3},{value:"Split text",id:"split-text",level:2},{value:"Update data",id:"update-data",level:2},{value:"Legacy components",id:"legacy-components",level:2},{value:"Alter metadata",id:"alter-metadata",level:3},{value:"Create data",id:"create-data",level:3},{value:"JSON cleaner",id:"json-cleaner",level:3},{value:"Parse DataFrame",id:"parse-dataframe",level:3},{value:"Parse JSON",id:"parse-json",level:3},{value:"Select data",id:"select-data",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,i.R)(),...e.components},{Details:s}=t;return h||u("CH",!1),h.Code||u("CH.Code",!0),s||u("Details",!0),(0,r.jsxs)(r.Fragment,{children:[(0,r.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,r.jsx)(t.p,{children:"Processing components process and transform data within a flow."}),"\n",(0,r.jsx)(t.h2,{id:"use-a-processing-component-in-a-flow",children:"Use a processing component in a flow"}),"\n",(0,r.jsxs)(t.p,{children:["The ",(0,r.jsx)(t.strong,{children:"Split Text"})," processing component in this flow splits the incoming ",(0,r.jsx)(t.a,{href:"/concepts-objects",children:"Data"})," into chunks to be embedded into the vector store component."]}),"\n",(0,r.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,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{src:n(7685).A+"",width:"1804",height:"1546"})}),"\n",(0,r.jsx)(t.h2,{id:"combine-data",children:"Combine data"}),"\n",(0,r.jsx)(t.admonition,{type:"important",children:(0,r.jsxs)(t.p,{children:["Prior to Langflow version 1.1.3, this component was named ",(0,r.jsx)(t.strong,{children:"Merge Data"}),"."]})}),"\n",(0,r.jsxs)(t.p,{children:["This component combines multiple data sources into a single unified ",(0,r.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," object."]}),"\n",(0,r.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,r.jsxs)(s,{children:[(0,r.jsx)("summary",{children:"Parameters"}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Inputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"data"}),(0,r.jsx)(t.td,{children:"Data"}),(0,r.jsx)(t.td,{children:"A list of data objects to be merged."})]})})]}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Outputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"merged_data"}),(0,r.jsx)(t.td,{children:"Merged Data"}),(0,r.jsxs)(t.td,{children:["A single ",(0,r.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," object containing the combined information from all input data objects."]})]})})]})]}),"\n",(0,r.jsx)(t.h2,{id:"combine-text",children:"Combine text"}),"\n",(0,r.jsx)(t.p,{children:"This component concatenates two text sources into a single text chunk using a specified delimiter."}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsxs)(t.li,{children:["To use this component in a flow, connect two components that output ",(0,r.jsx)(t.a,{href:"/concepts-objects#message-object",children:"Messages"})," to the ",(0,r.jsx)(t.strong,{children:"Combine Text"})," component's ",(0,r.jsx)(t.strong,{children:"First Text"})," and ",(0,r.jsx)(t.strong,{children:"Second Text"})," inputs.\nThis example uses two ",(0,r.jsx)(t.strong,{children:"Text Input"})," components."]}),"\n"]}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"Combine text component",src:n(41502).A+"",width:"1148",height:"675"})}),"\n",(0,r.jsxs)(t.ol,{start:"2",children:["\n",(0,r.jsxs)(t.li,{children:["In the ",(0,r.jsx)(t.strong,{children:"Combine Text"})," component, in the ",(0,r.jsx)(t.strong,{children:"Text"})," fields of both ",(0,r.jsx)(t.strong,{children:"Text Input"})," components, enter some text to combine."]}),"\n",(0,r.jsxs)(t.li,{children:["In the ",(0,r.jsx)(t.strong,{children:"Combine Text"})," component, enter an optional ",(0,r.jsx)(t.strong,{children:"Delimiter"})," value.\nThe delimiter character separates the combined texts.\nThis example uses ",(0,r.jsx)(t.code,{children:"\\n\\n **end first text** \\n\\n **start second text** \\n\\n"})," to label the texts and create newlines between them."]}),"\n",(0,r.jsxs)(t.li,{children:["Connect a ",(0,r.jsx)(t.strong,{children:"Chat Output"})," component to view the text combination."]}),"\n",(0,r.jsxs)(t.li,{children:["Click ",(0,r.jsx)(t.strong,{children:"Playground"}),", and then click ",(0,r.jsx)(t.strong,{children:"Run Flow"}),".\nThe combined text appears in the ",(0,r.jsx)(t.strong,{children:"Playground"}),"."]}),"\n"]}),"\n",(0,r.jsx)(h.Code,{codeConfig:x,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"This is the first text. Let's combine text!",props:{}}]},{tokens:[{content:"end first text",props:{}}]},{tokens:[{content:"start second text",props:{}}]},{tokens:[{content:"Here's the second part. We'll see how combining text works.",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsx)("summary",{children:"Parameters"}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Inputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"first_text"}),(0,r.jsx)(t.td,{children:"First Text"}),(0,r.jsx)(t.td,{children:"The first text input to concatenate."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"second_text"}),(0,r.jsx)(t.td,{children:"Second Text"}),(0,r.jsx)(t.td,{children:"The second text input to concatenate."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"delimiter"}),(0,r.jsx)(t.td,{children:"Delimiter"}),(0,r.jsx)(t.td,{children:"A string used to separate the two text inputs. The default is a space."})]})]})]}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Outputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"message"}),(0,r.jsx)(t.td,{children:"Message"}),(0,r.jsx)(t.td,{children:"A Message object containing the combined text."})]})})]})]}),"\n",(0,r.jsx)(t.h2,{id:"dataframe-operations",children:"DataFrame operations"}),"\n",(0,r.jsxs)(t.p,{children:["This component performs operations on ",(0,r.jsx)(t.a,{href:"https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html",children:"DataFrame"})," rows and columns."]}),"\n",(0,r.jsxs)(t.p,{children:["To use this component in a flow, connect a component that outputs ",(0,r.jsx)(t.a,{href:"/concepts-objects#dataframe-object",children:"DataFrame"})," to the ",(0,r.jsx)(t.strong,{children:"DataFrame Operations"})," component."]}),"\n",(0,r.jsxs)(t.p,{children:["This example fetches JSON data from an API. The ",(0,r.jsx)(t.strong,{children:"Lambda filter"})," component extracts and flattens the results into a tabular DataFrame. The ",(0,r.jsx)(t.strong,{children:"DataFrame Operations"})," component can then work with the retrieved data."]}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"Dataframe operations with flattened dataframe",src:n(13533).A+"",width:"983",height:"696"})}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsxs)(t.li,{children:["The ",(0,r.jsx)(t.strong,{children:"API Request"})," component retrieves data with only ",(0,r.jsx)(t.code,{children:"source"})," and ",(0,r.jsx)(t.code,{children:"result"})," fields.\nFor this example, the desired data is nested within the ",(0,r.jsx)(t.code,{children:"result"})," field."]}),"\n",(0,r.jsxs)(t.li,{children:["Connect a ",(0,r.jsx)(t.strong,{children:"Lambda Filter"})," to the API request component, and a ",(0,r.jsx)(t.strong,{children:"Language model"})," to the ",(0,r.jsx)(t.strong,{children:"Lambda Filter"}),". This example connects a ",(0,r.jsx)(t.strong,{children:"Groq"})," model component."]}),"\n",(0,r.jsxs)(t.li,{children:["In the ",(0,r.jsx)(t.strong,{children:"Groq"})," model component, add your ",(0,r.jsx)(t.strong,{children:"Groq"})," API key."]}),"\n",(0,r.jsxs)(t.li,{children:["To filter the data, in the ",(0,r.jsx)(t.strong,{children:"Lambda filter"})," component, in the ",(0,r.jsx)(t.strong,{children:"Instructions"})," field, use natural language to describe how the data should be filtered.\nFor this example, enter:"]}),"\n"]}),"\n",(0,r.jsx)(h.Code,{codeConfig:x,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"I want to explode the result column out into a Data object",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsxs)(t.p,{children:["Avoid punctuation in the ",(0,r.jsx)(t.strong,{children:"Instructions"})," field, as it can cause errors."]})}),"\n",(0,r.jsxs)(t.ol,{start:"5",children:["\n",(0,r.jsxs)(t.li,{children:["To run the flow, in the ",(0,r.jsx)(t.strong,{children:"Lambda Filter"})," component, click ",(0,r.jsx)(o.A,{name:"Play","aria-label":"Play icon"}),"."]}),"\n",(0,r.jsxs)(t.li,{children:["To inspect the filtered data, in the ",(0,r.jsx)(t.strong,{children:"Lambda Filter"})," component, click ",(0,r.jsx)(o.A,{name:"TextSearch","aria-label":"Inspect icon"}),".\nThe result is a structured DataFrame."]}),"\n"]}),"\n",(0,r.jsx)(h.Code,{codeConfig:x,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"id | name | company | username | email | address | zip",props:{}}]},{tokens:[{content:"---|------------------|----------------------|-----------------|------------------------------------|-------------------|-------",props:{}}]},{tokens:[{content:"1 | Emily Johnson | ABC Corporation | emily_johnson | emily.johnson@abccorporation.com | 123 Main St | 12345",props:{}}]},{tokens:[{content:"2 | Michael Williams | XYZ Corp | michael_williams| michael.williams@xyzcorp.com | 456 Elm Ave | 67890",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,r.jsxs)(t.ol,{start:"7",children:["\n",(0,r.jsxs)(t.li,{children:["Add the ",(0,r.jsx)(t.strong,{children:"DataFrame Operations"})," component, and a ",(0,r.jsx)(t.strong,{children:"Chat Output"})," component to the flow."]}),"\n",(0,r.jsxs)(t.li,{children:["In the ",(0,r.jsx)(t.strong,{children:"DataFrame Operations"})," component, in the ",(0,r.jsx)(t.strong,{children:"Operation"})," field, select ",(0,r.jsx)(t.strong,{children:"Filter"}),"."]}),"\n",(0,r.jsxs)(t.li,{children:["To apply a filter, in the ",(0,r.jsx)(t.strong,{children:"Column Name"})," field, enter a column to filter on. This example filters by ",(0,r.jsx)(t.code,{children:"name"}),"."]}),"\n",(0,r.jsxs)(t.li,{children:["Click ",(0,r.jsx)(t.strong,{children:"Playground"}),", and then click ",(0,r.jsx)(t.strong,{children:"Run Flow"}),".\nThe flow extracts the values from the ",(0,r.jsx)(t.code,{children:"name"})," column."]}),"\n"]}),"\n",(0,r.jsx)(h.Code,{codeConfig:x,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"name",props:{}}]},{tokens:[{content:"Emily Johnson",props:{}}]},{tokens:[{content:"Michael Williams",props:{}}]},{tokens:[{content:"John Smith",props:{}}]},{tokens:[{content:"...",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,r.jsx)(t.h3,{id:"operations",children:"Operations"}),"\n",(0,r.jsxs)(t.p,{children:["This component can perform the following operations on Pandas ",(0,r.jsx)(t.a,{href:"https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html",children:"DataFrame"}),"."]}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Operation"}),(0,r.jsx)(t.th,{children:"Description"}),(0,r.jsx)(t.th,{children:"Required Inputs"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Add Column"}),(0,r.jsx)(t.td,{children:"Adds a new column with a constant value"}),(0,r.jsx)(t.td,{children:"new_column_name, new_column_value"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Drop Column"}),(0,r.jsx)(t.td,{children:"Removes a specified column"}),(0,r.jsx)(t.td,{children:"column_name"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Filter"}),(0,r.jsx)(t.td,{children:"Filters rows based on column value"}),(0,r.jsx)(t.td,{children:"column_name, filter_value"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Head"}),(0,r.jsx)(t.td,{children:"Returns first n rows"}),(0,r.jsx)(t.td,{children:"num_rows"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Rename Column"}),(0,r.jsx)(t.td,{children:"Renames an existing column"}),(0,r.jsx)(t.td,{children:"column_name, new_column_name"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Replace Value"}),(0,r.jsx)(t.td,{children:"Replaces values in a column"}),(0,r.jsx)(t.td,{children:"column_name, replace_value, replacement_value"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Select Columns"}),(0,r.jsx)(t.td,{children:"Selects specific columns"}),(0,r.jsx)(t.td,{children:"columns_to_select"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Sort"}),(0,r.jsx)(t.td,{children:"Sorts DataFrame by column"}),(0,r.jsx)(t.td,{children:"column_name, ascending"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Tail"}),(0,r.jsx)(t.td,{children:"Returns last n rows"}),(0,r.jsx)(t.td,{children:"num_rows"})]})]})]}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsx)("summary",{children:"Parameters"}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Inputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"df"}),(0,r.jsx)(t.td,{children:"DataFrame"}),(0,r.jsx)(t.td,{children:"The input DataFrame to operate on."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"operation"}),(0,r.jsx)(t.td,{children:"Operation"}),(0,r.jsx)(t.td,{children:"The DataFrame operation to perform. Options include Add Column, Drop Column, Filter, Head, Rename Column, Replace Value, Select Columns, Sort, and Tail."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"column_name"}),(0,r.jsx)(t.td,{children:"Column Name"}),(0,r.jsx)(t.td,{children:"The column name to use for the operation."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"filter_value"}),(0,r.jsx)(t.td,{children:"Filter Value"}),(0,r.jsx)(t.td,{children:"The value to filter rows by."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"ascending"}),(0,r.jsx)(t.td,{children:"Sort Ascending"}),(0,r.jsx)(t.td,{children:"Whether to sort in ascending order."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"new_column_name"}),(0,r.jsx)(t.td,{children:"New Column Name"}),(0,r.jsx)(t.td,{children:"The new column name when renaming or adding a column."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"new_column_value"}),(0,r.jsx)(t.td,{children:"New Column Value"}),(0,r.jsx)(t.td,{children:"The value to populate the new column with."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"columns_to_select"}),(0,r.jsx)(t.td,{children:"Columns to Select"}),(0,r.jsx)(t.td,{children:"A list of column names to select."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"num_rows"}),(0,r.jsx)(t.td,{children:"Number of Rows"}),(0,r.jsx)(t.td,{children:"The number of rows to return for head/tail operations. The default is 5."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"replace_value"}),(0,r.jsx)(t.td,{children:"Value to Replace"}),(0,r.jsx)(t.td,{children:"The value to replace in the column."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"replacement_value"}),(0,r.jsx)(t.td,{children:"Replacement Value"}),(0,r.jsx)(t.td,{children:"The value to replace with."})]})]})]}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Outputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"output"}),(0,r.jsx)(t.td,{children:"DataFrame"}),(0,r.jsx)(t.td,{children:"The resulting DataFrame after the operation."})]})})]})]}),"\n",(0,r.jsx)(t.h2,{id:"data-to-dataframe",children:"Data to DataFrame"}),"\n",(0,r.jsxs)(t.p,{children:["This component converts one or multiple ",(0,r.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," objects into a ",(0,r.jsx)(t.a,{href:"/concepts-objects#dataframe-object",children:"DataFrame"}),". Each Data object corresponds to one row in the resulting DataFrame. Fields from the ",(0,r.jsx)(t.code,{children:".data"})," attribute become columns, and the ",(0,r.jsx)(t.code,{children:".text"})," field (if present) is placed in a 'text' column."]}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsxs)(t.li,{children:["To use this component in a flow, connect a component that outputs ",(0,r.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," to the ",(0,r.jsx)(t.strong,{children:"Data to Dataframe"})," component's input.\nThis example connects a ",(0,r.jsx)(t.strong,{children:"Webhook"})," component to convert ",(0,r.jsx)(t.code,{children:"text"})," and ",(0,r.jsx)(t.code,{children:"data"})," into a DataFrame."]}),"\n",(0,r.jsxs)(t.li,{children:["To view the flow's output, connect a ",(0,r.jsx)(t.strong,{children:"Chat Output"})," component to the ",(0,r.jsx)(t.strong,{children:"Data to Dataframe"})," component."]}),"\n"]}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"A webhook and data to dataframe",src:n(45709).A+"",width:"1221",height:"468"})}),"\n",(0,r.jsxs)(t.ol,{start:"3",children:["\n",(0,r.jsxs)(t.li,{children:["Send a POST request to the ",(0,r.jsx)(t.strong,{children:"Webhook"})," containing your JSON data.\nReplace ",(0,r.jsx)(t.code,{children:"YOUR_FLOW_ID"})," with your flow ID.\nThis example uses the default Langflow server address."]}),"\n"]}),"\n",(0,r.jsx)(h.Code,{codeConfig:x,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:' "text": "Alex Cruz - Employee Profile",',props:{}}]},{tokens:[{content:' "data": {',props:{}}]},{tokens:[{content:' "Name": "Alex Cruz",',props:{}}]},{tokens:[{content:' "Role": "Developer",',props:{}}]},{tokens:[{content:' "Department": "Engineering"',props:{}}]},{tokens:[{content:" }",props:{}}]},{tokens:[{content:"}'",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,r.jsxs)(t.ol,{start:"4",children:["\n",(0,r.jsxs)(t.li,{children:["In the ",(0,r.jsx)(t.strong,{children:"Playground"}),", view the output of your flow.\nThe ",(0,r.jsx)(t.strong,{children:"Data to DataFrame"})," component converts the webhook request into a ",(0,r.jsx)(t.code,{children:"DataFrame"}),", with ",(0,r.jsx)(t.code,{children:"text"})," and ",(0,r.jsx)(t.code,{children:"data"})," fields as columns."]}),"\n"]}),"\n",(0,r.jsx)(h.Code,{codeConfig:x,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"| text | data |",props:{}}]},{tokens:[{content:"|:-----------------------------|:------------------------------------------------------------------------|",props:{}}]},{tokens:[{content:"| Alex Cruz - Employee Profile | {'Name': 'Alex Cruz', 'Role': 'Developer', 'Department': 'Engineering'} |",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,r.jsxs)(t.ol,{start:"5",children:["\n",(0,r.jsx)(t.li,{children:"Send another employee data object."}),"\n"]}),"\n",(0,r.jsx)(h.Code,{codeConfig:x,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:' "text": "Kalani Smith - Employee Profile",',props:{}}]},{tokens:[{content:' "data": {',props:{}}]},{tokens:[{content:' "Name": "Kalani Smith",',props:{}}]},{tokens:[{content:' "Role": "Designer",',props:{}}]},{tokens:[{content:' "Department": "Design"',props:{}}]},{tokens:[{content:" }",props:{}}]},{tokens:[{content:"}'",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,r.jsxs)(t.ol,{start:"6",children:["\n",(0,r.jsxs)(t.li,{children:["In the ",(0,r.jsx)(t.strong,{children:"Playground"}),", this request is also converted to ",(0,r.jsx)(t.code,{children:"DataFrame"}),"."]}),"\n"]}),"\n",(0,r.jsx)(h.Code,{codeConfig:x,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"| text | data |",props:{}}]},{tokens:[{content:"|:--------------------------------|:---------------------------------------------------------------------|",props:{}}]},{tokens:[{content:"| Kalani Smith - Employee Profile | {'Name': 'Kalani Smith', 'Role': 'Designer', 'Department': 'Design'} |",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsx)("summary",{children:"Parameters"}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Inputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"data_list"}),(0,r.jsx)(t.td,{children:"Data or Data List"}),(0,r.jsx)(t.td,{children:"One or multiple Data objects to transform into a DataFrame."})]})})]}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Outputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"dataframe"}),(0,r.jsx)(t.td,{children:"DataFrame"}),(0,r.jsx)(t.td,{children:"A DataFrame built from each Data object's fields plus a text column."})]})})]})]}),"\n",(0,r.jsx)(t.h2,{id:"filter-data",children:"Filter data"}),"\n",(0,r.jsx)(t.admonition,{type:"important",children:(0,r.jsxs)(t.p,{children:["This component is in ",(0,r.jsx)(t.strong,{children:"Beta"})," as of Langflow version 1.1.3, and is not yet fully supported."]})}),"\n",(0,r.jsxs)(t.p,{children:["This component filters a ",(0,r.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," object based on a list of keys."]}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsx)("summary",{children:"Parameters"}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Inputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"data"}),(0,r.jsx)(t.td,{children:"Data"}),(0,r.jsx)(t.td,{children:"The Data object to filter."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"filter_criteria"}),(0,r.jsx)(t.td,{children:"Filter Criteria"}),(0,r.jsx)(t.td,{children:"A list of keys to filter by."})]})]})]}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Outputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"filtered_data"}),(0,r.jsx)(t.td,{children:"Filtered Data"}),(0,r.jsx)(t.td,{children:"A new Data object containing only the key-value pairs that match the filter criteria."})]})})]})]}),"\n",(0,r.jsx)(t.h2,{id:"filter-values",children:"Filter values"}),"\n",(0,r.jsx)(t.admonition,{type:"important",children:(0,r.jsxs)(t.p,{children:["This component is in ",(0,r.jsx)(t.strong,{children:"Beta"})," as of Langflow version 1.1.3, and is not yet fully supported."]})}),"\n",(0,r.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,r.jsxs)(s,{children:[(0,r.jsx)("summary",{children:"Parameters"}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Inputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"input_data"}),(0,r.jsx)(t.td,{children:"Input data"}),(0,r.jsx)(t.td,{children:"The list of data items to filter."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"filter_key"}),(0,r.jsx)(t.td,{children:"Filter Key"}),(0,r.jsx)(t.td,{children:"The key to filter on."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"filter_value"}),(0,r.jsx)(t.td,{children:"Filter Value"}),(0,r.jsx)(t.td,{children:"The value to filter by."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"operator"}),(0,r.jsx)(t.td,{children:"Comparison Operator"}),(0,r.jsx)(t.td,{children:"The operator to apply for comparing the values."})]})]})]}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Outputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"filtered_data"}),(0,r.jsx)(t.td,{children:"Filtered data"}),(0,r.jsx)(t.td,{children:"The resulting list of filtered data items."})]})})]})]}),"\n",(0,r.jsx)(t.h2,{id:"lambda-filter",children:"Lambda filter"}),"\n",(0,r.jsx)(t.p,{children:"This component uses an LLM to generate a Lambda function for filtering or transforming structured data."}),"\n",(0,r.jsxs)(t.p,{children:["To use the ",(0,r.jsx)(t.strong,{children:"Lambda filter"})," component, you must connect it to a ",(0,r.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,r.jsx)(t.strong,{children:"Instructions"})," field."]}),"\n",(0,r.jsxs)(t.p,{children:["This example gets JSON data from the ",(0,r.jsx)(t.code,{children:"https://jsonplaceholder.typicode.com/users"})," API endpoint.\nThe ",(0,r.jsx)(t.strong,{children:"Instructions"})," field in the ",(0,r.jsx)(t.strong,{children:"Lambda filter"})," component specifies the task ",(0,r.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,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{src:n(66539).A+"",width:"1742",height:"1622"})}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsx)("summary",{children:"Parameters"}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Inputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"data"}),(0,r.jsx)(t.td,{children:"Data"}),(0,r.jsx)(t.td,{children:"The structured data to filter or transform using a Lambda function."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"llm"}),(0,r.jsx)(t.td,{children:"Language Model"}),(0,r.jsxs)(t.td,{children:["The connection port for a ",(0,r.jsx)(t.a,{href:"/components-models",children:"Model"})," component."]})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"filter_instruction"}),(0,r.jsx)(t.td,{children:"Instructions"}),(0,r.jsxs)(t.td,{children:["The natural language instructions for how to filter or transform the data using a Lambda function, such as ",(0,r.jsx)(t.code,{children:"Filter the data to only include items where the 'status' is 'active'"}),"."]})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"sample_size"}),(0,r.jsx)(t.td,{children:"Sample Size"}),(0,r.jsx)(t.td,{children:"For large datasets, the number of characters to sample from the dataset head and tail."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"max_size"}),(0,r.jsx)(t.td,{children:"Max Size"}),(0,r.jsxs)(t.td,{children:['The number of characters for the data to be considered "large", which triggers sampling by the ',(0,r.jsx)(t.code,{children:"sample_size"})," value."]})]})]})]}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Outputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"filtered_data"}),(0,r.jsx)(t.td,{children:"Filtered Data"}),(0,r.jsxs)(t.td,{children:["The filtered or transformed ",(0,r.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data object"}),"."]})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"dataframe"}),(0,r.jsx)(t.td,{children:"DataFrame"}),(0,r.jsxs)(t.td,{children:["The filtered data as a ",(0,r.jsx)(t.a,{href:"/concepts-objects#dataframe-object",children:"DataFrame"}),"."]})]})]})]})]}),"\n",(0,r.jsx)(t.h2,{id:"llm-router",children:"LLM router"}),"\n",(0,r.jsx)(t.p,{children:"This component routes requests to the most appropriate LLM based on OpenRouter model specifications."}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsx)("summary",{children:"Parameters"}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Inputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"models"}),(0,r.jsx)(t.td,{children:"Language Models"}),(0,r.jsx)(t.td,{children:"A list of LLMs to route between."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"input_value"}),(0,r.jsx)(t.td,{children:"Input"}),(0,r.jsx)(t.td,{children:"The input message to be routed."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"judge_llm"}),(0,r.jsx)(t.td,{children:"Judge LLM"}),(0,r.jsx)(t.td,{children:"The LLM that evaluates and selects the most appropriate model."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"optimization"}),(0,r.jsx)(t.td,{children:"Optimization"}),(0,r.jsx)(t.td,{children:"The optimization preference between quality, speed, cost, or balanced."})]})]})]}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Outputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"output"}),(0,r.jsx)(t.td,{children:"Output"}),(0,r.jsx)(t.td,{children:"The response from the selected model."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"selected_model"}),(0,r.jsx)(t.td,{children:"Selected Model"}),(0,r.jsx)(t.td,{children:"The name of the chosen model."})]})]})]})]}),"\n",(0,r.jsx)(t.h2,{id:"message-to-data",children:"Message to data"}),"\n",(0,r.jsxs)(t.p,{children:["This component converts ",(0,r.jsx)(t.a,{href:"/concepts-objects#message-object",children:"Message"})," objects to ",(0,r.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," objects."]}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsx)("summary",{children:"Parameters"}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Inputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"message"}),(0,r.jsx)(t.td,{children:"Message"}),(0,r.jsx)(t.td,{children:"The Message object to convert to a Data object."})]})})]}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Outputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"data"}),(0,r.jsx)(t.td,{children:"Data"}),(0,r.jsx)(t.td,{children:"The converted Data object."})]})})]})]}),"\n",(0,r.jsx)(t.h2,{id:"parser",children:"Parser"}),"\n",(0,r.jsxs)(t.p,{children:["This component formats ",(0,r.jsx)(t.code,{children:"DataFrame"})," or ",(0,r.jsx)(t.code,{children:"Data"})," objects into text using templates, with an option to convert inputs directly to strings using ",(0,r.jsx)(t.code,{children:"stringify"}),"."]}),"\n",(0,r.jsxs)(t.p,{children:["To use this component, create variables for values in the ",(0,r.jsx)(t.code,{children:"template"})," the same way you would in a ",(0,r.jsx)(t.a,{href:"/components-prompts",children:"Prompt"})," component. For ",(0,r.jsx)(t.code,{children:"DataFrames"}),", use column names, for example ",(0,r.jsx)(t.code,{children:"Name: {Name}"}),". For ",(0,r.jsx)(t.code,{children:"Data"})," objects, use ",(0,r.jsx)(t.code,{children:"{text}"}),"."]}),"\n",(0,r.jsxs)(t.p,{children:["To use the ",(0,r.jsx)(t.strong,{children:"Parser"})," component with a ",(0,r.jsx)(t.strong,{children:"Structured Output"})," component, do the following:"]}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsxs)(t.li,{children:["Connect a ",(0,r.jsx)(t.strong,{children:"Structured Output"})," component's ",(0,r.jsx)(t.strong,{children:"DataFrame"})," output to the ",(0,r.jsx)(t.strong,{children:"Parser"})," component's ",(0,r.jsx)(t.strong,{children:"DataFrame"})," input."]}),"\n",(0,r.jsxs)(t.li,{children:["Connect the ",(0,r.jsx)(t.strong,{children:"File"})," component to the ",(0,r.jsx)(t.strong,{children:"Structured Output"})," component's ",(0,r.jsx)(t.strong,{children:"Message"})," input."]}),"\n",(0,r.jsxs)(t.li,{children:["Connect the ",(0,r.jsx)(t.strong,{children:"OpenAI"})," model component's ",(0,r.jsx)(t.strong,{children:"Language Model"})," output to the ",(0,r.jsx)(t.strong,{children:"Structured Output"})," component's ",(0,r.jsx)(t.strong,{children:"Language Model"})," input."]}),"\n"]}),"\n",(0,r.jsx)(t.p,{children:"The flow looks like this:"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"A parser component connected to OpenAI and structured output",src:n(96218).A+"",width:"2300",height:"1436"})}),"\n",(0,r.jsxs)(t.ol,{start:"4",children:["\n",(0,r.jsxs)(t.li,{children:["In the ",(0,r.jsx)(t.strong,{children:"Structured Output"})," component, click ",(0,r.jsx)(t.strong,{children:"Open Table"}),".\nThis opens a pane for structuring your table.\nThe table contains the rows ",(0,r.jsx)(t.strong,{children:"Name"}),", ",(0,r.jsx)(t.strong,{children:"Description"}),", ",(0,r.jsx)(t.strong,{children:"Type"}),", and ",(0,r.jsx)(t.strong,{children:"Multiple"}),"."]}),"\n",(0,r.jsxs)(t.li,{children:["Create a table that maps to the data you're loading from the ",(0,r.jsx)(t.strong,{children:"File"})," loader.\nFor example, to create a table for employees, you might have the rows ",(0,r.jsx)(t.code,{children:"id"}),", ",(0,r.jsx)(t.code,{children:"name"}),", and ",(0,r.jsx)(t.code,{children:"email"}),", all of type ",(0,r.jsx)(t.code,{children:"string"}),"."]}),"\n",(0,r.jsxs)(t.li,{children:["In the ",(0,r.jsx)(t.strong,{children:"Template"})," field of the ",(0,r.jsx)(t.strong,{children:"Parser"})," component, enter a template for parsing the ",(0,r.jsx)(t.strong,{children:"Structured Output"})," component's DataFrame output into structured text.\nCreate variables for values in the ",(0,r.jsx)(t.code,{children:"template"})," the same way you would in a ",(0,r.jsx)(t.a,{href:"/components-prompts",children:"Prompt"})," component.\nFor example, to present a table of employees in Markdown:"]}),"\n"]}),"\n",(0,r.jsx)(h.Code,{codeConfig:x,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,r.jsxs)(t.ol,{start:"7",children:["\n",(0,r.jsxs)(t.li,{children:["To run the flow, in the ",(0,r.jsx)(t.strong,{children:"Parser"})," component, click ",(0,r.jsx)(o.A,{name:"Play","aria-label":"Play icon"}),"."]}),"\n",(0,r.jsxs)(t.li,{children:["To view your parsed text, in the ",(0,r.jsx)(t.strong,{children:"Parser"})," component, click ",(0,r.jsx)(o.A,{name:"TextSearch","aria-label":"Inspect icon"}),"."]}),"\n",(0,r.jsxs)(t.li,{children:["Optionally, connect a ",(0,r.jsx)(t.strong,{children:"Chat Output"})," component, and open the ",(0,r.jsx)(t.strong,{children:"Playground"})," to see the output."]}),"\n"]}),"\n",(0,r.jsxs)(t.p,{children:["For an additional example of using the ",(0,r.jsx)(t.strong,{children:"Parser"})," component to format a DataFrame from a ",(0,r.jsx)(t.strong,{children:"Structured Output"})," component, see the ",(0,r.jsx)(t.strong,{children:"Market Research"})," template flow."]}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsx)("summary",{children:"Parameters"}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Inputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"mode"}),(0,r.jsx)(t.td,{children:"Mode"}),(0,r.jsx)(t.td,{children:'The tab selection between "Parser" and "Stringify" modes. "Stringify" converts input to a string instead of using a template.'})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"pattern"}),(0,r.jsx)(t.td,{children:"Template"}),(0,r.jsxs)(t.td,{children:["The template for formatting using variables in curly brackets. For DataFrames, use column names, such as ",(0,r.jsx)(t.code,{children:"Name: {Name}"}),". For Data objects, use ",(0,r.jsx)(t.code,{children:"{text}"}),"."]})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"input_data"}),(0,r.jsx)(t.td,{children:"Data or DataFrame"}),(0,r.jsx)(t.td,{children:"The input to parse. Accepts either a DataFrame or Data object."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"sep"}),(0,r.jsx)(t.td,{children:"Separator"}),(0,r.jsx)(t.td,{children:"The string used to separate rows or items. The default is a newline."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"clean_data"}),(0,r.jsx)(t.td,{children:"Clean Data"}),(0,r.jsx)(t.td,{children:"When stringify is enabled, this option cleans data by removing empty rows and lines."})]})]})]}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Outputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"parsed_text"}),(0,r.jsx)(t.td,{children:"Parsed Text"}),(0,r.jsxs)(t.td,{children:["The resulting formatted text as a ",(0,r.jsx)(t.a,{href:"/concepts-objects#message-object",children:"Message"})," object."]})]})})]})]}),"\n",(0,r.jsx)(t.h2,{id:"regex-extractor",children:"Regex extractor"}),"\n",(0,r.jsx)(t.p,{children:"This component extracts patterns from text using regular expressions. It can be used to find and extract specific patterns or information from text data."}),"\n",(0,r.jsx)(t.p,{children:"To use this component in a flow:"}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsxs)(t.li,{children:["Connect the ",(0,r.jsx)(t.strong,{children:"Regex Extractor"})," to a ",(0,r.jsx)(t.strong,{children:"URL"})," component and a ",(0,r.jsx)(t.strong,{children:"Chat Output"})," component."]}),"\n"]}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"Regex extractor connected to url component",src:n(8886).A+"",width:"1606",height:"848"})}),"\n",(0,r.jsxs)(t.ol,{start:"2",children:["\n",(0,r.jsxs)(t.li,{children:["In the ",(0,r.jsx)(t.strong,{children:"Regex Extractor"})," tool, enter a pattern to extract text from the ",(0,r.jsx)(t.strong,{children:"URL"}),' component\'s raw output.\nThis example extracts the first paragraph from the "In the News" section of ',(0,r.jsx)(t.code,{children:"https://en.wikipedia.org/wiki/Main_Page"}),":"]}),"\n"]}),"\n",(0,r.jsx)(h.Code,{codeConfig:x,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"In the news\\s*\\n(.*?)(?=\\n\\n)",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,r.jsx)(t.p,{children:"Result:"}),"\n",(0,r.jsx)(h.Code,{codeConfig:x,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"Peruvian writer and Nobel Prize in Literature laureate Mario Vargas Llosa (pictured) dies at the age of 89.",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,r.jsx)(t.h2,{id:"save-to-file",children:"Save to File"}),"\n",(0,r.jsxs)(t.p,{children:["This component saves ",(0,r.jsx)(t.a,{href:"/concepts-objects",children:"DataFrames, Data, or Messages"})," to various file formats."]}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsxs)(t.li,{children:["To use this component in a flow, connect a component that outputs ",(0,r.jsx)(t.a,{href:"/concepts-objects",children:"DataFrames, Data, or Messages"})," to the ",(0,r.jsx)(t.strong,{children:"Save to File"})," component's input.\nThe following example connects a ",(0,r.jsx)(t.strong,{children:"Webhook"})," component to two ",(0,r.jsx)(t.strong,{children:"Save to File"})," components to demonstrate the different outputs."]}),"\n"]}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"Two Save-to File components connected to a webhook",src:n(35073).A+"",width:"1458",height:"1732"})}),"\n",(0,r.jsxs)(t.ol,{start:"2",children:["\n",(0,r.jsxs)(t.li,{children:["In the ",(0,r.jsx)(t.strong,{children:"Save to File"})," component's ",(0,r.jsx)(t.strong,{children:"Input Type"})," field, select the expected input type.\nThis example expects ",(0,r.jsx)(t.strong,{children:"Data"})," from the ",(0,r.jsx)(t.strong,{children:"Webhook"}),"."]}),"\n",(0,r.jsxs)(t.li,{children:["In the ",(0,r.jsx)(t.strong,{children:"File Format"})," field, select the file type for your saved file.\nThis example uses ",(0,r.jsx)(t.code,{children:".md"})," in one ",(0,r.jsx)(t.strong,{children:"Save to File"})," component, and ",(0,r.jsx)(t.code,{children:".xlsx"})," in another."]}),"\n",(0,r.jsxs)(t.li,{children:["In the ",(0,r.jsx)(t.strong,{children:"File Path"})," field, enter the path for your saved file.\nThis example uses ",(0,r.jsx)(t.code,{children:"./output/employees.xlsx"})," and ",(0,r.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,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsxs)(t.p,{children:["If you enter a format in the ",(0,r.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,r.jsx)(t.code,{children:"file_format"})," is ",(0,r.jsx)(t.code,{children:"csv"}),", and you enter ",(0,r.jsx)(t.code,{children:"file_path"})," as ",(0,r.jsx)(t.code,{children:"./output/test.txt"}),", the file is saved as ",(0,r.jsx)(t.code,{children:"./output/test.txt.csv"})," so the file is not corrupted."]})}),"\n",(0,r.jsxs)(t.ol,{start:"5",children:["\n",(0,r.jsxs)(t.li,{children:["Send a POST request to the ",(0,r.jsx)(t.strong,{children:"Webhook"})," containing your JSON data.\nReplace ",(0,r.jsx)(t.code,{children:"YOUR_FLOW_ID"})," with your flow ID.\nThis example uses the default Langflow server address."]}),"\n"]}),"\n",(0,r.jsx)(h.Code,{codeConfig:x,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,r.jsxs)(t.ol,{start:"6",children:["\n",(0,r.jsxs)(t.li,{children:["In your local filesystem, open the ",(0,r.jsx)(t.code,{children:"outputs"})," directory.\nYou should see two files created from the data you've sent: one in ",(0,r.jsx)(t.code,{children:".xlsx"})," for structured spreadsheets, and one in Markdown."]}),"\n"]}),"\n",(0,r.jsx)(h.Code,{codeConfig:x,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,r.jsx)(t.h3,{id:"file-input-format-options",children:"File input format options"}),"\n",(0,r.jsxs)(t.p,{children:["For ",(0,r.jsx)(t.code,{children:"DataFrame"})," and ",(0,r.jsx)(t.code,{children:"Data"})," inputs, the component can create:"]}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.code,{children:"csv"})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.code,{children:"excel"})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.code,{children:"json"})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.code,{children:"markdown"})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.code,{children:"pdf"})}),"\n"]}),"\n",(0,r.jsxs)(t.p,{children:["For ",(0,r.jsx)(t.code,{children:"Message"})," inputs, the component can create:"]}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.code,{children:"txt"})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.code,{children:"json"})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.code,{children:"markdown"})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.code,{children:"pdf"})}),"\n"]}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsx)("summary",{children:"Parameters"}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Inputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"input_text"}),(0,r.jsx)(t.td,{children:"Input Text"}),(0,r.jsx)(t.td,{children:"The text to analyze and extract patterns from."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"pattern"}),(0,r.jsx)(t.td,{children:"Regex Pattern"}),(0,r.jsx)(t.td,{children:"The regular expression pattern to match in the text."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"input_type"}),(0,r.jsx)(t.td,{children:"Input Type"}),(0,r.jsx)(t.td,{children:"The type of input to save."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"df"}),(0,r.jsx)(t.td,{children:"DataFrame"}),(0,r.jsx)(t.td,{children:"The DataFrame to save."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"data"}),(0,r.jsx)(t.td,{children:"Data"}),(0,r.jsx)(t.td,{children:"The Data object to save."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"message"}),(0,r.jsx)(t.td,{children:"Message"}),(0,r.jsx)(t.td,{children:"The Message to save."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"file_format"}),(0,r.jsx)(t.td,{children:"File Format"}),(0,r.jsx)(t.td,{children:"The file format to save the input in."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"file_path"}),(0,r.jsx)(t.td,{children:"File Path"}),(0,r.jsx)(t.td,{children:"The full file path including filename and extension."})]})]})]}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Outputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"data"}),(0,r.jsx)(t.td,{children:"Data"}),(0,r.jsx)(t.td,{children:"A list of extracted matches as Data objects."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"text"}),(0,r.jsx)(t.td,{children:"Message"}),(0,r.jsx)(t.td,{children:"The extracted matches formatted as a Message object."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"confirmation"}),(0,r.jsx)(t.td,{children:"Confirmation"}),(0,r.jsx)(t.td,{children:"The confirmation message after saving the file."})]})]})]})]}),"\n",(0,r.jsx)(t.h2,{id:"split-text",children:"Split text"}),"\n",(0,r.jsx)(t.p,{children:"This component splits text into chunks based on specified criteria. It's ideal for chunking data to be tokenized and embedded into vector databases."}),"\n",(0,r.jsxs)(t.p,{children:["The ",(0,r.jsx)(t.strong,{children:"Split Text"})," component outputs ",(0,r.jsx)(t.strong,{children:"Chunks"})," or ",(0,r.jsx)(t.strong,{children:"DataFrame"}),".\nThe ",(0,r.jsx)(t.strong,{children:"Chunks"})," output returns a list of individual text chunks.\nThe ",(0,r.jsx)(t.strong,{children:"DataFrame"})," output returns a structured data format, with additional ",(0,r.jsx)(t.code,{children:"text"})," and ",(0,r.jsx)(t.code,{children:"metadata"})," columns applied."]}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsxs)(t.li,{children:["To use this component in a flow, connect a component that outputs ",(0,r.jsx)(t.a,{href:"/concepts-objects",children:"Data or DataFrame"})," to the ",(0,r.jsx)(t.strong,{children:"Split Text"})," component's ",(0,r.jsx)(t.strong,{children:"Data"})," port.\nThis example uses the ",(0,r.jsx)(t.strong,{children:"URL"})," component, which is fetching JSON placeholder data."]}),"\n"]}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"Split text component and chroma-db",src:n(49823).A+"",width:"2198",height:"1626"})}),"\n",(0,r.jsxs)(t.ol,{start:"2",children:["\n",(0,r.jsxs)(t.li,{children:["In the ",(0,r.jsx)(t.strong,{children:"Split Text"})," component, define your data splitting parameters."]}),"\n"]}),"\n",(0,r.jsxs)(t.p,{children:["This example splits incoming JSON data at the separator ",(0,r.jsx)(t.code,{children:"},"}),", so each chunk contains one JSON object."]}),"\n",(0,r.jsxs)(t.p,{children:["The order of precedence is ",(0,r.jsx)(t.strong,{children:"Separator"}),", then ",(0,r.jsx)(t.strong,{children:"Chunk Size"}),", and then ",(0,r.jsx)(t.strong,{children:"Chunk Overlap"}),".\nIf any segment after separator splitting is longer than ",(0,r.jsx)(t.code,{children:"chunk_size"}),", it is split again to fit within ",(0,r.jsx)(t.code,{children:"chunk_size"}),"."]}),"\n",(0,r.jsxs)(t.p,{children:["After ",(0,r.jsx)(t.code,{children:"chunk_size"}),", ",(0,r.jsx)(t.strong,{children:"Chunk Overlap"})," is applied between chunks to maintain context."]}),"\n",(0,r.jsxs)(t.ol,{start:"3",children:["\n",(0,r.jsxs)(t.li,{children:["Connect a ",(0,r.jsx)(t.strong,{children:"Chat Output"})," component to the ",(0,r.jsx)(t.strong,{children:"Split Text"})," component's ",(0,r.jsx)(t.strong,{children:"DataFrame"})," output to view its output."]}),"\n",(0,r.jsxs)(t.li,{children:["Click ",(0,r.jsx)(t.strong,{children:"Playground"}),", and then click ",(0,r.jsx)(t.strong,{children:"Run Flow"}),".\nThe output contains a table of JSON objects split at ",(0,r.jsx)(t.code,{children:"},"}),"."]}),"\n"]}),"\n",(0,r.jsx)(h.Code,{codeConfig:x,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"{",props:{}}]},{tokens:[{content:'"userId": 1,',props:{}}]},{tokens:[{content:'"id": 1,',props:{}}]},{tokens:[{content:'"title": "Introduction to Artificial Intelligence",',props:{}}]},{tokens:[{content:'"body": "Learn the basics of Artificial Intelligence and its applications in various industries.",',props:{}}]},{tokens:[{content:'"link": "https://example.com/article1",',props:{}}]},{tokens:[{content:'"comment_count": 8',props:{}}]},{tokens:[{content:"},",props:{}}]},{tokens:[{content:"{",props:{}}]},{tokens:[{content:'"userId": 2,',props:{}}]},{tokens:[{content:'"id": 2,',props:{}}]},{tokens:[{content:'"title": "Web Development with React",',props:{}}]},{tokens:[{content:'"body": "Build modern web applications using React.js and explore its powerful features.",',props:{}}]},{tokens:[{content:'"link": "https://example.com/article2",',props:{}}]},{tokens:[{content:'"comment_count": 12',props:{}}]},{tokens:[{content:"},",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,r.jsxs)(t.ol,{start:"5",children:["\n",(0,r.jsxs)(t.li,{children:["Clear the ",(0,r.jsx)(t.strong,{children:"Separator"})," field, and then run the flow again.\nInstead of JSON objects, the output contains 50-character lines of text with 10 characters of overlap."]}),"\n"]}),"\n",(0,r.jsx)(h.Code,{codeConfig:x,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:'First chunk: "title": "Introduction to Artificial Intelligence""',props:{}}]},{tokens:[{content:'Second chunk: "elligence", "body": "Learn the basics of Artif"',props:{}}]},{tokens:[{content:'Third chunk: "s of Artificial Intelligence and its applications"',props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsx)("summary",{children:"Parameters"}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Inputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"data_inputs"}),(0,r.jsx)(t.td,{children:"Input Documents"}),(0,r.jsxs)(t.td,{children:["The data to split. The component accepts ",(0,r.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," or ",(0,r.jsx)(t.a,{href:"/concepts-objects#dataframe-object",children:"DataFrame"})," objects."]})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"chunk_overlap"}),(0,r.jsx)(t.td,{children:"Chunk Overlap"}),(0,r.jsxs)(t.td,{children:["The number of characters to overlap between chunks. Default: ",(0,r.jsx)(t.code,{children:"200"}),"."]})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"chunk_size"}),(0,r.jsx)(t.td,{children:"Chunk Size"}),(0,r.jsxs)(t.td,{children:["The maximum number of characters in each chunk. Default: ",(0,r.jsx)(t.code,{children:"1000"}),"."]})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"separator"}),(0,r.jsx)(t.td,{children:"Separator"}),(0,r.jsxs)(t.td,{children:["The character to split on. Default: ",(0,r.jsx)(t.code,{children:"newline"}),"."]})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"text_key"}),(0,r.jsx)(t.td,{children:"Text Key"}),(0,r.jsxs)(t.td,{children:["The key to use for the text column. Default: ",(0,r.jsx)(t.code,{children:"text"}),"."]})]})]})]}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Outputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"chunks"}),(0,r.jsx)(t.td,{children:"Chunks"}),(0,r.jsxs)(t.td,{children:["A list of split text chunks as ",(0,r.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," objects."]})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"dataframe"}),(0,r.jsx)(t.td,{children:"DataFrame"}),(0,r.jsxs)(t.td,{children:["A list of split text chunks as ",(0,r.jsx)(t.a,{href:"/concepts-objects#dataframe-object",children:"DataFrame"})," objects."]})]})]})]})]}),"\n",(0,r.jsx)(t.h2,{id:"update-data",children:"Update data"}),"\n",(0,r.jsx)(t.p,{children:"This component dynamically updates or appends data with specified fields."}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsx)("summary",{children:"Parameters"}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Inputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"old_data"}),(0,r.jsx)(t.td,{children:"Data"}),(0,r.jsx)(t.td,{children:"The records to update."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"number_of_fields"}),(0,r.jsx)(t.td,{children:"Number of Fields"}),(0,r.jsx)(t.td,{children:"The number of fields to add. The maximum is 15."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"text_key"}),(0,r.jsx)(t.td,{children:"Text Key"}),(0,r.jsx)(t.td,{children:"The key for text content."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"text_key_validator"}),(0,r.jsx)(t.td,{children:"Text Key Validator"}),(0,r.jsx)(t.td,{children:"Validates the text key presence."})]})]})]}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Outputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"data"}),(0,r.jsx)(t.td,{children:"Data"}),(0,r.jsx)(t.td,{children:"The updated Data objects."})]})})]})]}),"\n",(0,r.jsx)(t.h2,{id:"legacy-components",children:"Legacy components"}),"\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"Legacy"})," components are available for use but are no longer supported."]}),"\n",(0,r.jsx)(t.h3,{id:"alter-metadata",children:"Alter metadata"}),"\n",(0,r.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,r.jsx)(t.a,{href:"/concepts-objects#message-object",children:"Message"})," and ",(0,r.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,r.jsxs)(s,{children:[(0,r.jsx)("summary",{children:"Parameters"}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Inputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"input_value"}),(0,r.jsx)(t.td,{children:"Input"}),(0,r.jsx)(t.td,{children:"Objects to which Metadata should be added"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"text_in"}),(0,r.jsx)(t.td,{children:"User Text"}),(0,r.jsxs)(t.td,{children:["Text input; the value is contained in the 'text' attribute of the ",(0,r.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," object. Empty text entries are ignored."]})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"metadata"}),(0,r.jsx)(t.td,{children:"Metadata"}),(0,r.jsx)(t.td,{children:"Metadata to add to each object"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"remove_fields"}),(0,r.jsx)(t.td,{children:"Fields to Remove"}),(0,r.jsx)(t.td,{children:"Metadata fields to remove"})]})]})]}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Outputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"data"}),(0,r.jsx)(t.td,{children:"Data"}),(0,r.jsx)(t.td,{children:"List of Input objects, each with added metadata"})]})})]})]}),"\n",(0,r.jsx)(t.h3,{id:"create-data",children:"Create data"}),"\n",(0,r.jsx)(t.admonition,{type:"important",children:(0,r.jsxs)(t.p,{children:["This component is in ",(0,r.jsx)(t.strong,{children:"Legacy"}),", which means it is no longer in active development as of Langflow version 1.1.3."]})}),"\n",(0,r.jsxs)(t.p,{children:["This component dynamically creates a ",(0,r.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," object with a specified number of fields."]}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsx)("summary",{children:"Parameters"}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Inputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"number_of_fields"}),(0,r.jsx)(t.td,{children:"Number of Fields"}),(0,r.jsx)(t.td,{children:"The number of fields to be added to the record."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"text_key"}),(0,r.jsx)(t.td,{children:"Text Key"}),(0,r.jsx)(t.td,{children:"Key that identifies the field to be used as the text content."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"text_key_validator"}),(0,r.jsx)(t.td,{children:"Text Key Validator"}),(0,r.jsxs)(t.td,{children:["If enabled, checks if the given ",(0,r.jsx)(t.code,{children:"Text Key"})," is present in the given ",(0,r.jsx)(t.code,{children:"Data"}),"."]})]})]})]}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Outputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"data"}),(0,r.jsx)(t.td,{children:"Data"}),(0,r.jsxs)(t.td,{children:["A ",(0,r.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," object created with the specified fields and text key."]})]})})]})]}),"\n",(0,r.jsx)(t.h3,{id:"json-cleaner",children:"JSON cleaner"}),"\n",(0,r.jsx)(t.p,{children:"The JSON cleaner component cleans JSON strings to ensure they are fully compliant with the JSON specification."}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsx)("summary",{children:"Parameters"}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Inputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"json_str"}),(0,r.jsx)(t.td,{children:"JSON String"}),(0,r.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,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"remove_control_chars"}),(0,r.jsx)(t.td,{children:"Remove Control Characters"}),(0,r.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,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"normalize_unicode"}),(0,r.jsx)(t.td,{children:"Normalize Unicode"}),(0,r.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,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"validate_json"}),(0,r.jsx)(t.td,{children:"Validate JSON"}),(0,r.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."})]})]})]}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Outputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"output"}),(0,r.jsx)(t.td,{children:"Cleaned JSON String"}),(0,r.jsx)(t.td,{children:"The resulting cleaned, repaired, and validated JSON string that fully complies with the JSON specification."})]})})]})]}),"\n",(0,r.jsx)(t.h3,{id:"parse-dataframe",children:"Parse DataFrame"}),"\n",(0,r.jsx)(t.admonition,{type:"important",children:(0,r.jsxs)(t.p,{children:["This component is in ",(0,r.jsx)(t.strong,{children:"Legacy"}),", which means it is no longer in active development as of Langflow version 1.3.\nInstead, use the ",(0,r.jsx)(t.a,{href:"#parser",children:"Parser"})," component."]})}),"\n",(0,r.jsx)(t.p,{children:"This component converts DataFrames into plain text using templates."}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsx)("summary",{children:"Parameters"}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Inputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"df"}),(0,r.jsx)(t.td,{children:"DataFrame"}),(0,r.jsx)(t.td,{children:"The DataFrame to convert to text rows."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"template"}),(0,r.jsx)(t.td,{children:"Template"}),(0,r.jsxs)(t.td,{children:["Template for formatting (use ",(0,r.jsx)(t.code,{children:"{column_name}"})," placeholders)."]})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"sep"}),(0,r.jsx)(t.td,{children:"Separator"}),(0,r.jsx)(t.td,{children:"String to join rows in output."})]})]})]}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Outputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"text"}),(0,r.jsx)(t.td,{children:"Text"}),(0,r.jsx)(t.td,{children:"All rows combined into single text."})]})})]})]}),"\n",(0,r.jsx)(t.h3,{id:"parse-json",children:"Parse JSON"}),"\n",(0,r.jsx)(t.admonition,{type:"important",children:(0,r.jsxs)(t.p,{children:["This component is in ",(0,r.jsx)(t.strong,{children:"Legacy"}),", which means it is no longer in active development as of Langflow version 1.1.3."]})}),"\n",(0,r.jsx)(t.p,{children:"This component converts and extracts JSON fields using JQ queries."}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsx)("summary",{children:"Parameters"}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Inputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"input_value"}),(0,r.jsx)(t.td,{children:"Input"}),(0,r.jsxs)(t.td,{children:["Data object to filter (",(0,r.jsx)(t.a,{href:"/concepts-objects#message-object",children:"Message"})," or ",(0,r.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"}),")."]})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"query"}),(0,r.jsx)(t.td,{children:"JQ Query"}),(0,r.jsx)(t.td,{children:"JQ Query to filter the data"})]})]})]}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Outputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"filtered_data"}),(0,r.jsx)(t.td,{children:"Filtered Data"}),(0,r.jsxs)(t.td,{children:["Filtered data as list of ",(0,r.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," objects."]})]})})]})]}),"\n",(0,r.jsx)(t.h3,{id:"select-data",children:"Select data"}),"\n",(0,r.jsx)(t.admonition,{type:"important",children:(0,r.jsxs)(t.p,{children:["This component is in ",(0,r.jsx)(t.strong,{children:"Legacy"}),", which means it is no longer in active development as of Langflow version 1.1.3."]})}),"\n",(0,r.jsxs)(t.p,{children:["This component selects a single ",(0,r.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," item from a list."]}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsx)("summary",{children:"Parameters"}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Inputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"data_list"}),(0,r.jsx)(t.td,{children:"Data List"}),(0,r.jsx)(t.td,{children:"List of data to select from"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"data_index"}),(0,r.jsx)(t.td,{children:"Data Index"}),(0,r.jsx)(t.td,{children:"Index of the data to select"})]})]})]}),(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Outputs"})}),(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Display Name"}),(0,r.jsx)(t.th,{children:"Info"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"selected_data"}),(0,r.jsx)(t.td,{children:"Selected Data"}),(0,r.jsxs)(t.td,{children:["The selected ",(0,r.jsx)(t.a,{href:"/concepts-objects#data-object",children:"Data"})," object."]})]})})]})]})]})}function m(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(p,{...e})}):p(e)}function u(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:()=>i});n(96540);var s=n(64058),r=n(74848);function i(e){let{name:t,...n}=e;const i=s[t];return i?(0,r.jsx)(i,{...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/e6c6a4d2.5d14690f.js b/assets/js/e6c6a4d2.a6a55a65.js similarity index 56% rename from assets/js/e6c6a4d2.5d14690f.js rename to assets/js/e6c6a4d2.a6a55a65.js index 68ddb7a6fa..7782658490 100644 --- a/assets/js/e6c6a4d2.5d14690f.js +++ b/assets/js/e6c6a4d2.a6a55a65.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.4.1"},"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 \\"auteed_\\": \\"\\",\\n \\"commodo77\\": \\"\\"\\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.4.1"},"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 \\"magna_2a\\": \\"\\",\\n \\"fugiatea_\\": \\"\\",\\n \\"laborum0d\\": \\"\\"\\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.8258f9a0.js b/assets/js/runtime~main.bdb3f75f.js similarity index 98% rename from assets/js/runtime~main.8258f9a0.js rename to assets/js/runtime~main.bdb3f75f.js index 1f7407bbb1..94a20ce48a 100644 --- a/assets/js/runtime~main.8258f9a0.js +++ b/assets/js/runtime~main.bdb3f75f.js @@ -1 +1 @@ -(()=>{"use strict";var e,a,c,f,b,d={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var c=t[e]={id:e,loaded:!1,exports:{}};return d[e].call(c.exports,c,c.exports,r),c.loaded=!0,c.exports}r.m=d,r.c=t,e=[],r.O=(a,c,f,b)=>{if(!c){var d=1/0;for(i=0;i=b)&&Object.keys(r.O).every((e=>r.O[e](c[o])))?c.splice(o--,1):(t=!1,b0&&e[i-1][2]>b;i--)e[i]=e[i-1];e[i]=[c,f,b]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,f){if(1&f&&(e=this(e)),8&f)return e;if("object"==typeof e&&e){if(4&f&&e.__esModule)return e;if(16&f&&"function"==typeof e.then)return e}var b=Object.create(null);r.r(b);var d={};a=a||[null,c({}),c([]),c(c)];for(var t=2&f&&e;"object"==typeof t&&!~a.indexOf(t);t=c(t))Object.getOwnPropertyNames(t).forEach((a=>d[a]=()=>e[a]));return d.default=()=>e,r.d(b,d),b},r.d=(e,a)=>{for(var c in a)r.o(a,c)&&!r.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,c)=>(r.f[c](e,a),a)),[])),r.u=e=>"assets/js/"+({11:"d2df9b4e",31:"03e862ce",51:"b7251463",145:"0be1d5fe",191:"c643a6d5",202:"32c42bbe",230:"bc63ae25",265:"d3ca7a96",266:"eca2a4e0",299:"9b5a408c",321:"6e1a9721",368:"07c30ae4",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",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",2341:"0123c128",2551:"394022bb",2624:"8ff68e6f",2657:"a3ab51d1",2777:"b3ba68b4",2818:"a9b73094",3110:"6a2beaac",3225:"99a4401d",3247:"bd7ab245",3327:"6aa941bb",3347:"b5257597",3391:"f66238ae",3576:"64045095",3694:"c2b1730c",3740:"f113d167",3795:"c85076de",3832:"c3d82421",3859:"7679ca6e",3917:"c8dad5f1",3964:"829ff4d2",3968:"0e5205b8",4046:"9ac856ad",4133:"5cf11f26",4242:"31ead0b1",4526:"8311683c",4615:"6801371f",4633:"c563aec0",4645:"fef056e9",4778:"e189eece",4784:"438e4337",4806:"fba42286",4841:"8298c1cb",4867:"d73246f8",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",5448:"5c480e8b",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",5799:"364e949f",5824:"214b2cc2",5865:"e1766139",5866:"3b577cbb",5883:"61cfab8e",5894:"f178e9b3",6003:"4d983c8e",6008:"445668ec",6010:"60c70af6",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",6559:"6f13807a",6649:"02e43f39",6682:"5a6d6120",6688:"388c3769",6753:"ff349d2f",6757:"86bd0a2e",6890:"8b85e1d0",6920:"c817e236",6934:"d745f4e6",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:"651ef245",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",8374:"261f8123",8401:"17896441",8504:"e6c6a4d2",8598:"44dfcf75",8661:"8f774222",8679:"3705a9c0",8927:"ae68aa8b",8929:"172b3cfb",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",9509:"49311ca0",9555:"dedd5914",9619:"29b8e27a",9642:"eae80ce0",9647:"5e95c892",9681:"5ff9f4db",9705:"ee3b5967",9731:"52edee88",9751:"25255263",9752:"72d61395",9789:"537e1953",9836:"b3c57e4b",9888:"be76515e",9905:"43df3697"}[e]||e)+"."+{11:"291912d6",31:"edeac6ed",51:"41498688",145:"ba3f69e7",191:"fb2617b8",202:"69f8fc12",230:"9badc0da",265:"b8b17601",266:"9a2d139a",299:"f81650ff",321:"b2f38580",368:"813f45ab",417:"29639159",444:"279f2edb",730:"03766140",756:"240f2e9c",762:"f26eeca8",768:"29af28fc",787:"ed1898db",800:"71e9de94",868:"662fdcf9",900:"f83a9a5d",944:"ad8345f5",957:"da9e1d2b",964:"0f7b35be",982:"bd4bbe43",1022:"18c23904",1035:"6c05ac92",1079:"812abec2",1185:"a4df630a",1227:"9389c053",1394:"c471511b",1488:"0fd73816",1500:"a1bc68b6",1556:"394979e3",1563:"892a275e",1567:"da35b518",1625:"14cdddbe",1690:"483dfe80",1809:"2ba71c72",1841:"97513d1a",1845:"07877d19",1956:"6176b179",2008:"7ff881a6",2073:"dec55db6",2097:"e2eb4320",2138:"02023697",2273:"530220b2",2288:"c860cf3b",2341:"f63e464d",2551:"7e76bd49",2624:"14f967ab",2657:"e301f410",2777:"3cf0db64",2818:"38a9f39c",3042:"f1fb0b14",3110:"0cb7cba6",3225:"50a6f253",3247:"46945ad4",3327:"0a5ce9dd",3347:"ed4c3a68",3391:"bba50808",3576:"3253e605",3694:"0358eb34",3740:"3b4b7014",3795:"ef8df8ab",3832:"23a29212",3859:"6dcc5f4b",3917:"5b041d0c",3964:"33002324",3968:"da2769ba",3997:"ff54fe17",4046:"f7eca8e9",4058:"44d6af12",4133:"56fe7f12",4242:"c259ca94",4526:"4959fa4b",4615:"82ac6ca0",4633:"2670172c",4645:"ca22e5ec",4778:"ceabc80f",4784:"41bd991b",4806:"0f85ccb8",4841:"5c584d83",4867:"6c99a3b9",4891:"b1f40796",4930:"a71f0f7b",4931:"9722ebd2",4954:"1211634f",4973:"c4fea60c",5107:"fe2b2f2e",5109:"534de25b",5138:"44f70d79",5179:"93ceb9af",5195:"bebcd954",5281:"6d69fb0d",5284:"fb347283",5304:"11ff4120",5339:"b37c6550",5395:"299e8e2d",5448:"34a5f81a",5467:"e3cff7ba",5474:"992b6c8b",5475:"d430c771",5513:"7f771ce0",5514:"5b6e5bd4",5562:"10eed1f2",5572:"ddc13f75",5628:"42006513",5634:"f0694192",5647:"3090d1c0",5673:"9df82e95",5716:"88aaae90",5718:"31276840",5742:"60b1d5b2",5772:"8a59fe7f",5799:"aab7778a",5824:"df4edbad",5865:"384332b8",5866:"1fa99744",5883:"946cbb5f",5894:"1560cf8e",6003:"8f2bfdbd",6008:"5253986f",6010:"33b037bd",6053:"1beffe74",6066:"076e5cc7",6080:"6c6a310f",6147:"78c5f4e3",6201:"01e4e67e",6214:"bb2e0737",6281:"1f5f352c",6332:"a93e24c4",6350:"31239cd8",6419:"0513a392",6445:"c90dbcef",6473:"b5e32ff9",6511:"a6a857c0",6559:"5bc5d180",6649:"a8f5c259",6682:"4e9ba2a9",6688:"dddf88d2",6753:"9fd1d250",6757:"073d8a90",6890:"c089fc79",6920:"ae3a4d9c",6934:"d1c300dd",6949:"e600a74f",7088:"1f49a1ed",7098:"d9bb61a0",7108:"c00df647",7118:"67e70c99",7142:"335a1695",7159:"dceac5e8",7165:"d5d29f9e",7211:"2931db6c",7338:"0cb0d21c",7339:"b5cbf4ad",7408:"86a89076",7453:"392bba14",7462:"4fa35110",7472:"28a6548a",7507:"babc3f96",7713:"c88c03df",7894:"18a6c3b8",8031:"d39ee16a",8054:"b01ef0b9",8064:"b41b1c7e",8085:"e305664d",8102:"2f175d3a",8158:"20de8b80",8184:"e9cd96f8",8188:"107e2897",8196:"19832f3c",8208:"604b656c",8245:"d723ee5e",8298:"348284b6",8304:"28f877c3",8356:"637b85df",8374:"eee390ad",8401:"bf953603",8504:"5d14690f",8598:"70cf61ed",8661:"bd59cb88",8679:"6385813c",8913:"47209f3b",8927:"4c824b91",8929:"99703724",8977:"637025ee",9036:"ad23ca68",9048:"810f8ad8",9099:"6e656d25",9126:"5f495a18",9141:"d3838c09",9306:"8ecb1a62",9371:"66b6e7d9",9431:"2e1cc94e",9453:"ff972203",9455:"7fe77314",9476:"64b7d201",9479:"81387aea",9483:"17888b17",9509:"90d1b9f9",9555:"f15486c6",9619:"d342ecef",9642:"450b576a",9647:"e6d9c2b6",9681:"47d8123a",9705:"e705094b",9729:"b22b7ae1",9731:"2ba6d4ea",9751:"c6a8c198",9752:"0836c06f",9789:"a25e6068",9836:"69fcbaa3",9888:"f0e6d466",9905:"d27ae110"}[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),f={},b="langflow-docs:",r.l=(e,a,c,d)=>{if(f[e])f[e].push(a);else{var t,o;if(void 0!==c)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var b=f[e];if(delete f[e],t.parentNode&&t.parentNode.removeChild(t),b&&b.forEach((e=>e(c))),a)return a(c)},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",d2df9b4e:"11","03e862ce":"31",b7251463:"51","0be1d5fe":"145",c643a6d5:"191","32c42bbe":"202",bc63ae25:"230",d3ca7a96:"265",eca2a4e0:"266","9b5a408c":"299","6e1a9721":"321","07c30ae4":"368","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",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","0123c128":"2341","394022bb":"2551","8ff68e6f":"2624",a3ab51d1:"2657",b3ba68b4:"2777",a9b73094:"2818","6a2beaac":"3110","99a4401d":"3225",bd7ab245:"3247","6aa941bb":"3327",b5257597:"3347",f66238ae:"3391",c2b1730c:"3694",f113d167:"3740",c85076de:"3795",c3d82421:"3832","7679ca6e":"3859",c8dad5f1:"3917","829ff4d2":"3964","0e5205b8":"3968","9ac856ad":"4046","5cf11f26":"4133","31ead0b1":"4242","8311683c":"4526","6801371f":"4615",c563aec0:"4633",fef056e9:"4645",e189eece:"4778","438e4337":"4784",fba42286:"4806","8298c1cb":"4841",d73246f8:"4867",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","5c480e8b":"5448","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","364e949f":"5799","214b2cc2":"5824",e1766139:"5865","3b577cbb":"5866","61cfab8e":"5883",f178e9b3:"5894","4d983c8e":"6003","445668ec":"6008","60c70af6":"6010",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","6f13807a":"6559","02e43f39":"6649","5a6d6120":"6682","388c3769":"6688",ff349d2f:"6753","86bd0a2e":"6757","8b85e1d0":"6890",c817e236:"6920",d745f4e6:"6934",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","651ef245":"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","261f8123":"8374",e6c6a4d2:"8504","44dfcf75":"8598","8f774222":"8661","3705a9c0":"8679",ae68aa8b:"8927","172b3cfb":"8929",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","49311ca0":"9509",dedd5914:"9555","29b8e27a":"9619",eae80ce0:"9642","5e95c892":"9647","5ff9f4db":"9681",ee3b5967:"9705","52edee88":"9731","72d61395":"9752","537e1953":"9789",b3c57e4b:"9836",be76515e:"9888","43df3697":"9905"}[e]||e,r.p+r.u(e)},(()=>{var e={5354:0,1869:0};r.f.j=(a,c)=>{var f=r.o(e,a)?e[a]:void 0;if(0!==f)if(f)c.push(f[2]);else if(/^(1869|5354)$/.test(a))e[a]=0;else{var b=new Promise(((c,b)=>f=e[a]=[c,b]));c.push(f[2]=b);var d=r.p+r.u(a),t=new Error;r.l(d,(c=>{if(r.o(e,a)&&(0!==(f=e[a])&&(e[a]=void 0),f)){var b=c&&("load"===c.type?"missing":c.type),d=c&&c.target&&c.target.src;t.message="Loading chunk "+a+" failed.\n("+b+": "+d+")",t.name="ChunkLoadError",t.type=b,t.request=d,f[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,c)=>{var f,b,d=c[0],t=c[1],o=c[2],n=0;if(d.some((a=>0!==e[a]))){for(f in t)r.o(t,f)&&(r.m[f]=t[f]);if(o)var i=o(r)}for(a&&a(c);n{"use strict";var e,a,c,f,b,d={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var c=t[e]={id:e,loaded:!1,exports:{}};return d[e].call(c.exports,c,c.exports,r),c.loaded=!0,c.exports}r.m=d,r.c=t,e=[],r.O=(a,c,f,b)=>{if(!c){var d=1/0;for(i=0;i=b)&&Object.keys(r.O).every((e=>r.O[e](c[o])))?c.splice(o--,1):(t=!1,b0&&e[i-1][2]>b;i--)e[i]=e[i-1];e[i]=[c,f,b]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,f){if(1&f&&(e=this(e)),8&f)return e;if("object"==typeof e&&e){if(4&f&&e.__esModule)return e;if(16&f&&"function"==typeof e.then)return e}var b=Object.create(null);r.r(b);var d={};a=a||[null,c({}),c([]),c(c)];for(var t=2&f&&e;"object"==typeof t&&!~a.indexOf(t);t=c(t))Object.getOwnPropertyNames(t).forEach((a=>d[a]=()=>e[a]));return d.default=()=>e,r.d(b,d),b},r.d=(e,a)=>{for(var c in a)r.o(a,c)&&!r.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,c)=>(r.f[c](e,a),a)),[])),r.u=e=>"assets/js/"+({11:"d2df9b4e",31:"03e862ce",51:"b7251463",145:"0be1d5fe",191:"c643a6d5",202:"32c42bbe",230:"bc63ae25",265:"d3ca7a96",266:"eca2a4e0",299:"9b5a408c",321:"6e1a9721",368:"07c30ae4",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",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",2341:"0123c128",2551:"394022bb",2624:"8ff68e6f",2657:"a3ab51d1",2777:"b3ba68b4",2818:"a9b73094",3110:"6a2beaac",3225:"99a4401d",3247:"bd7ab245",3327:"6aa941bb",3347:"b5257597",3391:"f66238ae",3576:"64045095",3694:"c2b1730c",3740:"f113d167",3795:"c85076de",3832:"c3d82421",3859:"7679ca6e",3917:"c8dad5f1",3964:"829ff4d2",3968:"0e5205b8",4046:"9ac856ad",4133:"5cf11f26",4242:"31ead0b1",4526:"8311683c",4615:"6801371f",4633:"c563aec0",4645:"fef056e9",4778:"e189eece",4784:"438e4337",4806:"fba42286",4841:"8298c1cb",4867:"d73246f8",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",5448:"5c480e8b",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",5799:"364e949f",5824:"214b2cc2",5865:"e1766139",5866:"3b577cbb",5883:"61cfab8e",5894:"f178e9b3",6003:"4d983c8e",6008:"445668ec",6010:"60c70af6",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",6559:"6f13807a",6649:"02e43f39",6682:"5a6d6120",6688:"388c3769",6753:"ff349d2f",6757:"86bd0a2e",6890:"8b85e1d0",6920:"c817e236",6934:"d745f4e6",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:"651ef245",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",8374:"261f8123",8401:"17896441",8504:"e6c6a4d2",8598:"44dfcf75",8661:"8f774222",8679:"3705a9c0",8927:"ae68aa8b",8929:"172b3cfb",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",9509:"49311ca0",9555:"dedd5914",9619:"29b8e27a",9642:"eae80ce0",9647:"5e95c892",9681:"5ff9f4db",9705:"ee3b5967",9731:"52edee88",9751:"25255263",9752:"72d61395",9789:"537e1953",9836:"b3c57e4b",9888:"be76515e",9905:"43df3697"}[e]||e)+"."+{11:"291912d6",31:"edeac6ed",51:"41498688",145:"ba3f69e7",191:"fb2617b8",202:"69f8fc12",230:"9badc0da",265:"b8b17601",266:"9a2d139a",299:"f81650ff",321:"06783720",368:"813f45ab",417:"29639159",444:"279f2edb",730:"03766140",756:"240f2e9c",762:"f26eeca8",768:"29af28fc",787:"ed1898db",800:"71e9de94",868:"662fdcf9",900:"f83a9a5d",944:"ad8345f5",957:"da9e1d2b",964:"0f7b35be",982:"bd4bbe43",1022:"18c23904",1035:"6c05ac92",1079:"812abec2",1185:"a4df630a",1227:"9389c053",1394:"c471511b",1488:"0fd73816",1500:"a1bc68b6",1556:"394979e3",1563:"892a275e",1567:"da35b518",1625:"14cdddbe",1690:"483dfe80",1809:"2ba71c72",1841:"97513d1a",1845:"24c732be",1956:"6176b179",2008:"7ff881a6",2073:"dec55db6",2097:"e2eb4320",2138:"02023697",2273:"530220b2",2288:"c860cf3b",2341:"f63e464d",2551:"7e76bd49",2624:"14f967ab",2657:"e301f410",2777:"3cf0db64",2818:"38a9f39c",3042:"f1fb0b14",3110:"0cb7cba6",3225:"50a6f253",3247:"46945ad4",3327:"0a5ce9dd",3347:"ed4c3a68",3391:"bba50808",3576:"3253e605",3694:"0358eb34",3740:"3b4b7014",3795:"ef8df8ab",3832:"23a29212",3859:"6dcc5f4b",3917:"5b041d0c",3964:"33002324",3968:"da2769ba",3997:"ff54fe17",4046:"f7eca8e9",4058:"44d6af12",4133:"56fe7f12",4242:"c259ca94",4526:"4959fa4b",4615:"82ac6ca0",4633:"2670172c",4645:"ca22e5ec",4778:"ceabc80f",4784:"41bd991b",4806:"0f85ccb8",4841:"5c584d83",4867:"6c99a3b9",4891:"b1f40796",4930:"a71f0f7b",4931:"9722ebd2",4954:"1211634f",4973:"c4fea60c",5107:"fe2b2f2e",5109:"534de25b",5138:"44f70d79",5179:"93ceb9af",5195:"bebcd954",5281:"6d69fb0d",5284:"fb347283",5304:"11ff4120",5339:"b37c6550",5395:"299e8e2d",5448:"34a5f81a",5467:"e3cff7ba",5474:"992b6c8b",5475:"d430c771",5513:"7f771ce0",5514:"5b6e5bd4",5562:"10eed1f2",5572:"ddc13f75",5628:"42006513",5634:"f0694192",5647:"3090d1c0",5673:"9df82e95",5716:"88aaae90",5718:"31276840",5742:"60b1d5b2",5772:"8a59fe7f",5799:"aab7778a",5824:"df4edbad",5865:"384332b8",5866:"1fa99744",5883:"946cbb5f",5894:"1560cf8e",6003:"8f2bfdbd",6008:"5253986f",6010:"33b037bd",6053:"1beffe74",6066:"076e5cc7",6080:"6c6a310f",6147:"78c5f4e3",6201:"01e4e67e",6214:"bb2e0737",6281:"1f5f352c",6332:"a93e24c4",6350:"31239cd8",6419:"0513a392",6445:"c90dbcef",6473:"b5e32ff9",6511:"a6a857c0",6559:"5bc5d180",6649:"a8f5c259",6682:"4e9ba2a9",6688:"dddf88d2",6753:"9fd1d250",6757:"073d8a90",6890:"c089fc79",6920:"ae3a4d9c",6934:"d1c300dd",6949:"e600a74f",7088:"1f49a1ed",7098:"d9bb61a0",7108:"c00df647",7118:"67e70c99",7142:"335a1695",7159:"dceac5e8",7165:"d5d29f9e",7211:"2931db6c",7338:"0cb0d21c",7339:"b5cbf4ad",7408:"86a89076",7453:"392bba14",7462:"4fa35110",7472:"28a6548a",7507:"babc3f96",7713:"c88c03df",7894:"18a6c3b8",8031:"d39ee16a",8054:"b01ef0b9",8064:"b41b1c7e",8085:"e305664d",8102:"2f175d3a",8158:"20de8b80",8184:"e9cd96f8",8188:"107e2897",8196:"19832f3c",8208:"604b656c",8245:"d723ee5e",8298:"348284b6",8304:"28f877c3",8356:"637b85df",8374:"eee390ad",8401:"bf953603",8504:"a6a55a65",8598:"70cf61ed",8661:"bd59cb88",8679:"6385813c",8913:"47209f3b",8927:"4c824b91",8929:"99703724",8977:"637025ee",9036:"ad23ca68",9048:"810f8ad8",9099:"6e656d25",9126:"5f495a18",9141:"d3838c09",9306:"8ecb1a62",9371:"66b6e7d9",9431:"2e1cc94e",9453:"ff972203",9455:"7fe77314",9476:"64b7d201",9479:"81387aea",9483:"17888b17",9509:"90d1b9f9",9555:"f15486c6",9619:"d342ecef",9642:"450b576a",9647:"e6d9c2b6",9681:"47d8123a",9705:"e705094b",9729:"b22b7ae1",9731:"2ba6d4ea",9751:"c6a8c198",9752:"0836c06f",9789:"a25e6068",9836:"69fcbaa3",9888:"f0e6d466",9905:"d27ae110"}[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),f={},b="langflow-docs:",r.l=(e,a,c,d)=>{if(f[e])f[e].push(a);else{var t,o;if(void 0!==c)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var b=f[e];if(delete f[e],t.parentNode&&t.parentNode.removeChild(t),b&&b.forEach((e=>e(c))),a)return a(c)},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",d2df9b4e:"11","03e862ce":"31",b7251463:"51","0be1d5fe":"145",c643a6d5:"191","32c42bbe":"202",bc63ae25:"230",d3ca7a96:"265",eca2a4e0:"266","9b5a408c":"299","6e1a9721":"321","07c30ae4":"368","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",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","0123c128":"2341","394022bb":"2551","8ff68e6f":"2624",a3ab51d1:"2657",b3ba68b4:"2777",a9b73094:"2818","6a2beaac":"3110","99a4401d":"3225",bd7ab245:"3247","6aa941bb":"3327",b5257597:"3347",f66238ae:"3391",c2b1730c:"3694",f113d167:"3740",c85076de:"3795",c3d82421:"3832","7679ca6e":"3859",c8dad5f1:"3917","829ff4d2":"3964","0e5205b8":"3968","9ac856ad":"4046","5cf11f26":"4133","31ead0b1":"4242","8311683c":"4526","6801371f":"4615",c563aec0:"4633",fef056e9:"4645",e189eece:"4778","438e4337":"4784",fba42286:"4806","8298c1cb":"4841",d73246f8:"4867",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","5c480e8b":"5448","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","364e949f":"5799","214b2cc2":"5824",e1766139:"5865","3b577cbb":"5866","61cfab8e":"5883",f178e9b3:"5894","4d983c8e":"6003","445668ec":"6008","60c70af6":"6010",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","6f13807a":"6559","02e43f39":"6649","5a6d6120":"6682","388c3769":"6688",ff349d2f:"6753","86bd0a2e":"6757","8b85e1d0":"6890",c817e236:"6920",d745f4e6:"6934",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","651ef245":"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","261f8123":"8374",e6c6a4d2:"8504","44dfcf75":"8598","8f774222":"8661","3705a9c0":"8679",ae68aa8b:"8927","172b3cfb":"8929",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","49311ca0":"9509",dedd5914:"9555","29b8e27a":"9619",eae80ce0:"9642","5e95c892":"9647","5ff9f4db":"9681",ee3b5967:"9705","52edee88":"9731","72d61395":"9752","537e1953":"9789",b3c57e4b:"9836",be76515e:"9888","43df3697":"9905"}[e]||e,r.p+r.u(e)},(()=>{var e={5354:0,1869:0};r.f.j=(a,c)=>{var f=r.o(e,a)?e[a]:void 0;if(0!==f)if(f)c.push(f[2]);else if(/^(1869|5354)$/.test(a))e[a]=0;else{var b=new Promise(((c,b)=>f=e[a]=[c,b]));c.push(f[2]=b);var d=r.p+r.u(a),t=new Error;r.l(d,(c=>{if(r.o(e,a)&&(0!==(f=e[a])&&(e[a]=void 0),f)){var b=c&&("load"===c.type?"missing":c.type),d=c&&c.target&&c.target.src;t.message="Loading chunk "+a+" failed.\n("+b+": "+d+")",t.name="ChunkLoadError",t.type=b,t.request=d,f[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,c)=>{var f,b,d=c[0],t=c[1],o=c[2],n=0;if(d.some((a=>0!==e[a]))){for(f in t)r.o(t,f)&&(r.m[f]=t[f]);if(o)var i=o(r)}for(a&&a(c);n - + diff --git a/components-agents.html b/components-agents.html index 5d2f720507..9009617b85 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 cf9d57612f..7bb69b4b8d 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 9444725f05..b5f95f2067 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 f67a4f2981..75b3d37228 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 219fe9be65..9781b015c5 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 4ca130e9dc..ed1ddb870a 100644 --- a/components-helpers.html +++ b/components-helpers.html @@ -21,7 +21,7 @@ - + diff --git a/components-io.html b/components-io.html index 121839e398..8026c396a6 100644 --- a/components-io.html +++ b/components-io.html @@ -21,7 +21,7 @@ - + diff --git a/components-logic.html b/components-logic.html index a1baa4106e..b4b2abc628 100644 --- a/components-logic.html +++ b/components-logic.html @@ -21,7 +21,7 @@ - + diff --git a/components-memories.html b/components-memories.html index 41318ce0df..3cf2178d35 100644 --- a/components-memories.html +++ b/components-memories.html @@ -21,7 +21,7 @@ - + diff --git a/components-models.html b/components-models.html index 68fb396764..569beaa4ee 100644 --- a/components-models.html +++ b/components-models.html @@ -21,7 +21,7 @@ - + diff --git a/components-processing.html b/components-processing.html index 6424dfb9b7..ec6374a048 100644 --- a/components-processing.html +++ b/components-processing.html @@ -21,7 +21,7 @@ - + @@ -45,24 +45,6 @@

This component combines multiple data sources into a single unified Data object.

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.

Parameters

Inputs

NameDisplay NameInfo
dataDataA list of data objects to be merged.

Outputs

NameDisplay NameInfo
merged_dataMerged DataA single Data object containing the combined information from all input data objects.
-

Combine text​

-

This component concatenates two text sources into a single text chunk using a specified delimiter.

-
    -
  1. To use this component in a flow, connect two components that output Messages to the Combine Text component's First Text and Second Text inputs. -This example uses two Text Input components.
  2. -
-

Combine text component

-
    -
  1. In the Combine Text component, in the Text fields of both Text Input components, enter some text to combine.
  2. -
  3. In the Combine Text component, enter an optional Delimiter value. -The delimiter character separates the combined texts. -This example uses \n\n **end first text** \n\n **start second text** \n\n to label the texts and create newlines between them.
  4. -
  5. Connect a Chat Output component to view the text combination.
  6. -
  7. Click Playground, and then click Run Flow. -The combined text appears in the Playground.
  8. -
-

_10
This is the first text. Let's combine text!
_10
end first text
_10
start second text
_10
Here's the second part. We'll see how combining text works.

-
Parameters

Inputs

NameDisplay NameInfo
first_textFirst TextThe first text input to concatenate.
second_textSecond TextThe second text input to concatenate.
delimiterDelimiterA string used to separate the two text inputs. The default is a space.

Outputs

NameDisplay NameInfo
messageMessageA Message object containing the combined text.

DataFrame operations​

This component performs operations on DataFrame rows and columns.

To use this component in a flow, connect a component that outputs DataFrame to the DataFrame Operations component.

@@ -272,6 +254,26 @@ Instead of JSON objects, the output contains 50-character lines of text with 10

Alter metadata​

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 Message and Data objects, and can also create a new Data object from user-provided text.

Parameters

Inputs

NameDisplay NameInfo
input_valueInputObjects to which Metadata should be added
text_inUser TextText input; the value is contained in the 'text' attribute of the Data object. Empty text entries are ignored.
metadataMetadataMetadata to add to each object
remove_fieldsFields to RemoveMetadata fields to remove

Outputs

NameDisplay NameInfo
dataDataList of Input objects, each with added metadata
+

Combine text​

+
important

This component is in Legacy, which means it is no longer in active development. +Instead, use the Combine data component.

+

This component concatenates two text sources into a single text chunk using a specified delimiter.

+
    +
  1. To use this component in a flow, connect two components that output Messages to the Combine Text component's First Text and Second Text inputs. +This example uses two Text Input components.
  2. +
+

Combine text component

+
    +
  1. In the Combine Text component, in the Text fields of both Text Input components, enter some text to combine.
  2. +
  3. In the Combine Text component, enter an optional Delimiter value. +The delimiter character separates the combined texts. +This example uses \n\n **end first text** \n\n **start second text** \n\n to label the texts and create newlines between them.
  4. +
  5. Connect a Chat Output component to view the text combination.
  6. +
  7. Click Playground, and then click Run Flow. +The combined text appears in the Playground.
  8. +
+

_10
This is the first text. Let's combine text!
_10
end first text
_10
start second text
_10
Here's the second part. We'll see how combining text works.

+
Parameters

Inputs

NameDisplay NameInfo
first_textFirst TextThe first text input to concatenate.
second_textSecond TextThe second text input to concatenate.
delimiterDelimiterA string used to separate the two text inputs. The default is a space.

Outputs

NameDisplay NameInfo
messageMessageA Message object containing the combined text.

Create 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 dynamically creates a Data object with a specified number of fields.

@@ -291,7 +293,7 @@ Instead, use the Parser component.

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.

-
Parameters

Inputs

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

Outputs

NameDisplay NameInfo
selected_dataSelected DataThe selected Data object.