From 844b15cde1070294d2313f516d3dfda06a7f4f2a Mon Sep 17 00:00:00 2001 From: "github-merge-queue[bot]" Date: Wed, 30 Jul 2025 19:18:45 +0000 Subject: [PATCH] deploy: 91264a05952ad300d35ce14dcdc16ab7607757c7 --- 404.html | 2 +- about-langflow.html | 2 +- agent-tutorial.html | 2 +- agents-tools.html | 2 +- agents.html | 2 +- api-build.html | 2 +- api-files.html | 2 +- api-flows-run.html | 2 +- api-flows.html | 2 +- api-keys-and-authentication.html | 2 +- api-logs.html | 2 +- api-monitor.html | 2 +- api-projects.html | 2 +- api-reference-api-examples.html | 2 +- api-users.html | 2 +- api.html | 2 +- api/add-server.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/check-installed-mcp-servers.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-files-batch.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-server.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-files-batch.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-message-sessions.html | 2 +- api/get-messages.html | 2 +- api/get-server-endpoint.html | 2 +- api/get-servers.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/install-mcp-config.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-server-endpoint.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.6e34007e.js => 2ab0d4f5.e830807c.js} | 2 +- assets/js/4c09a7b3.251c514e.js | 1 - assets/js/4c09a7b3.f88acd52.js | 1 + ...6a4d2.d45369b7.js => e6c6a4d2.ae93acbb.js} | 2 +- ...n.6a253553.js => runtime~main.fb37179a.js} | 2 +- bundles-aiml.html | 2 +- bundles-amazon.html | 2 +- bundles-anthropic.html | 2 +- bundles-arxiv.html | 2 +- bundles-azure.html | 2 +- bundles-baidu.html | 2 +- bundles-bing.html | 2 +- bundles-cloudflare.html | 2 +- bundles-cohere.html | 2 +- bundles-datastax.html | 2 +- bundles-deepseek.html | 2 +- bundles-duckduckgo.html | 2 +- bundles-exa.html | 2 +- bundles-glean.html | 2 +- bundles-google.html | 2 +- bundles-groq.html | 2 +- bundles-huggingface.html | 2 +- bundles-ibm.html | 2 +- bundles-icosacomputing.html | 2 +- bundles-langchain.html | 2 +- bundles-lmstudio.html | 2 +- bundles-maritalk.html | 2 +- bundles-mem0.html | 2 +- bundles-mistralai.html | 2 +- bundles-novita.html | 2 +- bundles-nvidia.html | 2 +- bundles-ollama.html | 2 +- bundles-openai.html | 2 +- bundles-openrouter.html | 2 +- bundles-perplexity.html | 2 +- bundles-redis.html | 2 +- bundles-sambanova.html | 2 +- bundles-searchapi.html | 2 +- bundles-vertexai.html | 2 +- bundles-wikipedia.html | 2 +- bundles-xai.html | 2 +- chat-with-files.html | 2 +- chat-with-rag.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 | 2 +- components-prompts.html | 2 +- components-tools.html | 2 +- components-vector-stores.html | 2 +- concepts-components.html | 2 +- concepts-file-management.html | 2 +- concepts-flows-import.html | 2 +- concepts-flows.html | 2 +- concepts-overview.html | 2 +- concepts-playground.html | 2 +- concepts-publish.html | 2 +- concepts-voice-mode.html | 2 +- configuration-cli.html | 2 +- configuration-custom-database.html | 2 +- configuration-global-variables.html | 2 +- contributing-bundles.html | 2 +- contributing-community.html | 2 +- contributing-component-tests.html | 2 +- contributing-components.html | 2 +- contributing-github-issues.html | 2 +- contributing-how-to-contribute.html | 2 +- contributing-telemetry.html | 2 +- contributing-templates.html | 2 +- data-types.html | 2 +- deployment-caddyfile.html | 2 +- deployment-docker.html | 161 +++++++++--------- 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-public-server.html | 2 +- deployment-railway.html | 2 +- deployment-render.html | 2 +- develop-application.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-cleanlab.html | 2 +- integrations-composio.html | 2 +- integrations-docling.html | 2 +- integrations-google-big-query.html | 2 +- integrations-langfuse.html | 2 +- integrations-langsmith.html | 2 +- integrations-langwatch.html | 2 +- integrations-nvidia-g-assist.html | 2 +- integrations-nvidia-ingest-wsl2.html | 2 +- integrations-nvidia-ingest.html | 2 +- integrations-opik.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-client.html | 2 +- mcp-component-astra.html | 2 +- mcp-server.html | 2 +- mcp-tutorial.html | 2 +- memory.html | 2 +- release-notes.html | 2 +- search.html | 2 +- session-id.html | 2 +- sitemap.xml | 2 +- troubleshoot.html | 2 +- typescript-client.html | 2 +- webhook.html | 2 +- 263 files changed, 337 insertions(+), 346 deletions(-) rename assets/js/{2ab0d4f5.6e34007e.js => 2ab0d4f5.e830807c.js} (50%) delete mode 100644 assets/js/4c09a7b3.251c514e.js create mode 100644 assets/js/4c09a7b3.f88acd52.js rename assets/js/{e6c6a4d2.d45369b7.js => e6c6a4d2.ae93acbb.js} (57%) rename assets/js/{runtime~main.6a253553.js => runtime~main.fb37179a.js} (98%) diff --git a/404.html b/404.html index 011a0f4ad4..785698c247 100644 --- a/404.html +++ b/404.html @@ -23,7 +23,7 @@ - + diff --git a/about-langflow.html b/about-langflow.html index cad12805ba..1ebb7597a8 100644 --- a/about-langflow.html +++ b/about-langflow.html @@ -23,7 +23,7 @@ - + diff --git a/agent-tutorial.html b/agent-tutorial.html index 07ea4a6c7f..4e6354aca7 100644 --- a/agent-tutorial.html +++ b/agent-tutorial.html @@ -23,7 +23,7 @@ - + diff --git a/agents-tools.html b/agents-tools.html index f898130a5c..9d9873d6b6 100644 --- a/agents-tools.html +++ b/agents-tools.html @@ -23,7 +23,7 @@ - + diff --git a/agents.html b/agents.html index ad7e67ec1a..1cbcc2b817 100644 --- a/agents.html +++ b/agents.html @@ -23,7 +23,7 @@ - + diff --git a/api-build.html b/api-build.html index 569ff8b646..984ee8d139 100644 --- a/api-build.html +++ b/api-build.html @@ -23,7 +23,7 @@ - + diff --git a/api-files.html b/api-files.html index a69a08e9fc..1e7b389982 100644 --- a/api-files.html +++ b/api-files.html @@ -23,7 +23,7 @@ - + diff --git a/api-flows-run.html b/api-flows-run.html index c41c1d607d..3f2b483745 100644 --- a/api-flows-run.html +++ b/api-flows-run.html @@ -23,7 +23,7 @@ - + diff --git a/api-flows.html b/api-flows.html index 082f9c411b..f16cc41add 100644 --- a/api-flows.html +++ b/api-flows.html @@ -23,7 +23,7 @@ - + diff --git a/api-keys-and-authentication.html b/api-keys-and-authentication.html index 96b715942a..c1040e8855 100644 --- a/api-keys-and-authentication.html +++ b/api-keys-and-authentication.html @@ -23,7 +23,7 @@ - + diff --git a/api-logs.html b/api-logs.html index 2adf9269ad..77388ca22e 100644 --- a/api-logs.html +++ b/api-logs.html @@ -23,7 +23,7 @@ - + diff --git a/api-monitor.html b/api-monitor.html index 3b4c91adb0..f26ad527a9 100644 --- a/api-monitor.html +++ b/api-monitor.html @@ -23,7 +23,7 @@ - + diff --git a/api-projects.html b/api-projects.html index 56cab19580..33eae3b6f4 100644 --- a/api-projects.html +++ b/api-projects.html @@ -23,7 +23,7 @@ - + diff --git a/api-reference-api-examples.html b/api-reference-api-examples.html index 014c8cdd10..3f774c8301 100644 --- a/api-reference-api-examples.html +++ b/api-reference-api-examples.html @@ -23,7 +23,7 @@ - + diff --git a/api-users.html b/api-users.html index 1965c85dc1..2c8f2bfeba 100644 --- a/api-users.html +++ b/api-users.html @@ -23,7 +23,7 @@ - + diff --git a/api.html b/api.html index 885e7e7c29..4cb59c43f4 100644 --- a/api.html +++ b/api.html @@ -23,7 +23,7 @@ - + diff --git a/api/add-server.html b/api/add-server.html index d6cdb20b8e..ce90ca991e 100644 --- a/api/add-server.html +++ b/api/add-server.html @@ -23,7 +23,7 @@ - + diff --git a/api/add-user.html b/api/add-user.html index 1ae957b284..47d0781353 100644 --- a/api/add-user.html +++ b/api/add-user.html @@ -23,7 +23,7 @@ - + diff --git a/api/auto-login.html b/api/auto-login.html index 419947279c..309c989701 100644 --- a/api/auto-login.html +++ b/api/auto-login.html @@ -23,7 +23,7 @@ - + diff --git a/api/build-flow.html b/api/build-flow.html index fbe6cee223..62958bf561 100644 --- a/api/build-flow.html +++ b/api/build-flow.html @@ -23,7 +23,7 @@ - + diff --git a/api/build-public-tmp.html b/api/build-public-tmp.html index a1f54ee838..f527dea9e3 100644 --- a/api/build-public-tmp.html +++ b/api/build-public-tmp.html @@ -23,7 +23,7 @@ - + diff --git a/api/build-vertex-stream.html b/api/build-vertex-stream.html index 2d26c836a4..a234a0a2b3 100644 --- a/api/build-vertex-stream.html +++ b/api/build-vertex-stream.html @@ -23,7 +23,7 @@ - + diff --git a/api/build-vertex.html b/api/build-vertex.html index 7c2a82b557..d4ad3aec1a 100644 --- a/api/build-vertex.html +++ b/api/build-vertex.html @@ -23,7 +23,7 @@ - + diff --git a/api/cancel-build.html b/api/cancel-build.html index 7280db22d3..42f4deb9df 100644 --- a/api/cancel-build.html +++ b/api/cancel-build.html @@ -23,7 +23,7 @@ - + diff --git a/api/check-if-store-has-api-key.html b/api/check-if-store-has-api-key.html index fd2ea4bbdc..8aab30f09d 100644 --- a/api/check-if-store-has-api-key.html +++ b/api/check-if-store-has-api-key.html @@ -23,7 +23,7 @@ - + diff --git a/api/check-if-store-is-enabled.html b/api/check-if-store-is-enabled.html index 03409124b6..8f58926136 100644 --- a/api/check-if-store-is-enabled.html +++ b/api/check-if-store-is-enabled.html @@ -23,7 +23,7 @@ - + diff --git a/api/check-installed-mcp-servers.html b/api/check-installed-mcp-servers.html index 752ff90c92..1a3ea2e90b 100644 --- a/api/check-installed-mcp-servers.html +++ b/api/check-installed-mcp-servers.html @@ -23,7 +23,7 @@ - + diff --git a/api/create-api-key-route.html b/api/create-api-key-route.html index decb19c0fc..ce2eb79ed8 100644 --- a/api/create-api-key-route.html +++ b/api/create-api-key-route.html @@ -23,7 +23,7 @@ - + diff --git a/api/create-flow.html b/api/create-flow.html index 6d0f579920..99312e943c 100644 --- a/api/create-flow.html +++ b/api/create-flow.html @@ -23,7 +23,7 @@ - + diff --git a/api/create-flows.html b/api/create-flows.html index ec4a0dff6a..e82e006980 100644 --- a/api/create-flows.html +++ b/api/create-flows.html @@ -23,7 +23,7 @@ - + diff --git a/api/create-folder-redirect.html b/api/create-folder-redirect.html index 66dd6e844b..bab5c88a74 100644 --- a/api/create-folder-redirect.html +++ b/api/create-folder-redirect.html @@ -23,7 +23,7 @@ - + diff --git a/api/create-project.html b/api/create-project.html index 4835516dc4..9fab198ed6 100644 --- a/api/create-project.html +++ b/api/create-project.html @@ -23,7 +23,7 @@ - + diff --git a/api/create-upload-file.html b/api/create-upload-file.html index 913d0c4a3f..5c37a76bec 100644 --- a/api/create-upload-file.html +++ b/api/create-upload-file.html @@ -23,7 +23,7 @@ - + diff --git a/api/create-variable.html b/api/create-variable.html index 19deaafa1c..738d7e4503 100644 --- a/api/create-variable.html +++ b/api/create-variable.html @@ -23,7 +23,7 @@ - + diff --git a/api/custom-component-update.html b/api/custom-component-update.html index 50c7578687..397eac6c81 100644 --- a/api/custom-component-update.html +++ b/api/custom-component-update.html @@ -23,7 +23,7 @@ - + diff --git a/api/custom-component.html b/api/custom-component.html index d9f65681ad..9529fa9df6 100644 --- a/api/custom-component.html +++ b/api/custom-component.html @@ -23,7 +23,7 @@ - + diff --git a/api/delete-all-files-1.html b/api/delete-all-files-1.html index 7b1277f5bf..9e8ea88c9c 100644 --- a/api/delete-all-files-1.html +++ b/api/delete-all-files-1.html @@ -23,7 +23,7 @@ - + diff --git a/api/delete-all-files.html b/api/delete-all-files.html index b286600e20..1fa71242ba 100644 --- a/api/delete-all-files.html +++ b/api/delete-all-files.html @@ -23,7 +23,7 @@ - + diff --git a/api/delete-api-key-route.html b/api/delete-api-key-route.html index 0ed70e40c0..d255de8231 100644 --- a/api/delete-api-key-route.html +++ b/api/delete-api-key-route.html @@ -23,7 +23,7 @@ - + diff --git a/api/delete-file-1.html b/api/delete-file-1.html index 177ea1bbe0..6ef6352edb 100644 --- a/api/delete-file-1.html +++ b/api/delete-file-1.html @@ -23,7 +23,7 @@ - + diff --git a/api/delete-file.html b/api/delete-file.html index 3839d16e15..328ac4a780 100644 --- a/api/delete-file.html +++ b/api/delete-file.html @@ -23,7 +23,7 @@ - + diff --git a/api/delete-files-batch.html b/api/delete-files-batch.html index d99fce194a..2a255bc479 100644 --- a/api/delete-files-batch.html +++ b/api/delete-files-batch.html @@ -23,7 +23,7 @@ - + diff --git a/api/delete-flow.html b/api/delete-flow.html index 822ecd72dc..6925c099a2 100644 --- a/api/delete-flow.html +++ b/api/delete-flow.html @@ -23,7 +23,7 @@ - + diff --git a/api/delete-folder-redirect.html b/api/delete-folder-redirect.html index 38eff03139..dfb857ff66 100644 --- a/api/delete-folder-redirect.html +++ b/api/delete-folder-redirect.html @@ -23,7 +23,7 @@ - + diff --git a/api/delete-messages-session.html b/api/delete-messages-session.html index d0a6d2db86..dc0a32a574 100644 --- a/api/delete-messages-session.html +++ b/api/delete-messages-session.html @@ -23,7 +23,7 @@ - + diff --git a/api/delete-messages.html b/api/delete-messages.html index dc1120c4e8..39ac212728 100644 --- a/api/delete-messages.html +++ b/api/delete-messages.html @@ -23,7 +23,7 @@ - + diff --git a/api/delete-multiple-flows.html b/api/delete-multiple-flows.html index 8566204cd6..2890d546e8 100644 --- a/api/delete-multiple-flows.html +++ b/api/delete-multiple-flows.html @@ -23,7 +23,7 @@ - + diff --git a/api/delete-project.html b/api/delete-project.html index 969a5b528f..fe0b0dcce6 100644 --- a/api/delete-project.html +++ b/api/delete-project.html @@ -23,7 +23,7 @@ - + diff --git a/api/delete-server.html b/api/delete-server.html index db8c46ef51..2f3b62567e 100644 --- a/api/delete-server.html +++ b/api/delete-server.html @@ -23,7 +23,7 @@ - + diff --git a/api/delete-user.html b/api/delete-user.html index 3ee15b5a4c..fe46358f9a 100644 --- a/api/delete-user.html +++ b/api/delete-user.html @@ -23,7 +23,7 @@ - + diff --git a/api/delete-variable.html b/api/delete-variable.html index 7f9cda0d15..17d28d0b19 100644 --- a/api/delete-variable.html +++ b/api/delete-variable.html @@ -23,7 +23,7 @@ - + diff --git a/api/delete-vertex-builds.html b/api/delete-vertex-builds.html index 0d2476cc67..1a45a887ca 100644 --- a/api/delete-vertex-builds.html +++ b/api/delete-vertex-builds.html @@ -23,7 +23,7 @@ - + diff --git a/api/download-component.html b/api/download-component.html index b19157ed92..02c970d004 100644 --- a/api/download-component.html +++ b/api/download-component.html @@ -23,7 +23,7 @@ - + diff --git a/api/download-file-1.html b/api/download-file-1.html index 3758c268e7..00d8a4dff2 100644 --- a/api/download-file-1.html +++ b/api/download-file-1.html @@ -23,7 +23,7 @@ - + diff --git a/api/download-file-2.html b/api/download-file-2.html index 89cce74f29..c63380d814 100644 --- a/api/download-file-2.html +++ b/api/download-file-2.html @@ -23,7 +23,7 @@ - + diff --git a/api/download-file-redirect.html b/api/download-file-redirect.html index 0da6abb32c..67233df341 100644 --- a/api/download-file-redirect.html +++ b/api/download-file-redirect.html @@ -23,7 +23,7 @@ - + diff --git a/api/download-file.html b/api/download-file.html index 5ea571cb41..12370cfc4b 100644 --- a/api/download-file.html +++ b/api/download-file.html @@ -23,7 +23,7 @@ - + diff --git a/api/download-files-batch.html b/api/download-files-batch.html index cf79773908..3ede426e99 100644 --- a/api/download-files-batch.html +++ b/api/download-files-batch.html @@ -23,7 +23,7 @@ - + diff --git a/api/download-image.html b/api/download-image.html index 91a8bb7e04..4464aa2faa 100644 --- a/api/download-image.html +++ b/api/download-image.html @@ -23,7 +23,7 @@ - + diff --git a/api/download-multiple-file.html b/api/download-multiple-file.html index 165588c601..fb1f26f9af 100644 --- a/api/download-multiple-file.html +++ b/api/download-multiple-file.html @@ -23,7 +23,7 @@ - + diff --git a/api/download-profile-picture.html b/api/download-profile-picture.html index efd27f4bf7..a72f7c4462 100644 --- a/api/download-profile-picture.html +++ b/api/download-profile-picture.html @@ -23,7 +23,7 @@ - + diff --git a/api/edit-file-name.html b/api/edit-file-name.html index d30cf385c0..178712c271 100644 --- a/api/edit-file-name.html +++ b/api/edit-file-name.html @@ -23,7 +23,7 @@ - + diff --git a/api/experimental-run-flow.html b/api/experimental-run-flow.html index f61c5afc2c..7239683ce7 100644 --- a/api/experimental-run-flow.html +++ b/api/experimental-run-flow.html @@ -23,7 +23,7 @@ - + diff --git a/api/get-all.html b/api/get-all.html index 9acba25a93..019196d808 100644 --- a/api/get-all.html +++ b/api/get-all.html @@ -23,7 +23,7 @@ - + diff --git a/api/get-api-keys-route.html b/api/get-api-keys-route.html index 59f12c5a91..acb3fa5e1b 100644 --- a/api/get-api-keys-route.html +++ b/api/get-api-keys-route.html @@ -23,7 +23,7 @@ - + diff --git a/api/get-build-events.html b/api/get-build-events.html index 46cad4da09..1b8affc443 100644 --- a/api/get-build-events.html +++ b/api/get-build-events.html @@ -23,7 +23,7 @@ - + diff --git a/api/get-components.html b/api/get-components.html index 93eaf3a9a4..c0941bb60c 100644 --- a/api/get-components.html +++ b/api/get-components.html @@ -23,7 +23,7 @@ - + diff --git a/api/get-config.html b/api/get-config.html index 07b15763d3..3abb5a1ec0 100644 --- a/api/get-config.html +++ b/api/get-config.html @@ -23,7 +23,7 @@ - + diff --git a/api/get-elevenlabs-voice-ids.html b/api/get-elevenlabs-voice-ids.html index 94a0d38222..d93535c326 100644 --- a/api/get-elevenlabs-voice-ids.html +++ b/api/get-elevenlabs-voice-ids.html @@ -23,7 +23,7 @@ - + diff --git a/api/get-list-of-components-liked-by-user.html b/api/get-list-of-components-liked-by-user.html index d1b7b4e9af..8df3ca6520 100644 --- a/api/get-list-of-components-liked-by-user.html +++ b/api/get-list-of-components-liked-by-user.html @@ -23,7 +23,7 @@ - + diff --git a/api/get-message-sessions.html b/api/get-message-sessions.html index 402cf2cfff..99a8211ebe 100644 --- a/api/get-message-sessions.html +++ b/api/get-message-sessions.html @@ -23,7 +23,7 @@ - + diff --git a/api/get-messages.html b/api/get-messages.html index 64c1e49c0e..fb7229cc63 100644 --- a/api/get-messages.html +++ b/api/get-messages.html @@ -23,7 +23,7 @@ - + diff --git a/api/get-server-endpoint.html b/api/get-server-endpoint.html index c4e37901f9..99bcef77d7 100644 --- a/api/get-server-endpoint.html +++ b/api/get-server-endpoint.html @@ -23,7 +23,7 @@ - + diff --git a/api/get-servers.html b/api/get-servers.html index 313c8747b4..4b4fa25172 100644 --- a/api/get-servers.html +++ b/api/get-servers.html @@ -23,7 +23,7 @@ - + diff --git a/api/get-starter-projects.html b/api/get-starter-projects.html index 2443f1d684..217408d3a8 100644 --- a/api/get-starter-projects.html +++ b/api/get-starter-projects.html @@ -23,7 +23,7 @@ - + diff --git a/api/get-tags.html b/api/get-tags.html index 0544b23c24..7c3ec70b79 100644 --- a/api/get-tags.html +++ b/api/get-tags.html @@ -23,7 +23,7 @@ - + diff --git a/api/get-task-status.html b/api/get-task-status.html index 24f7807037..be4bb7834c 100644 --- a/api/get-task-status.html +++ b/api/get-task-status.html @@ -23,7 +23,7 @@ - + diff --git a/api/get-transactions.html b/api/get-transactions.html index f6dc80111e..2078f9292d 100644 --- a/api/get-transactions.html +++ b/api/get-transactions.html @@ -23,7 +23,7 @@ - + diff --git a/api/get-version.html b/api/get-version.html index a576951aff..34c1e186c6 100644 --- a/api/get-version.html +++ b/api/get-version.html @@ -23,7 +23,7 @@ - + diff --git a/api/get-vertex-builds.html b/api/get-vertex-builds.html index a093a24f80..a635608465 100644 --- a/api/get-vertex-builds.html +++ b/api/get-vertex-builds.html @@ -23,7 +23,7 @@ - + diff --git a/api/handle-messages-1.html b/api/handle-messages-1.html index f8ef114ae8..4607ab49ac 100644 --- a/api/handle-messages-1.html +++ b/api/handle-messages-1.html @@ -23,7 +23,7 @@ - + diff --git a/api/handle-messages.html b/api/handle-messages.html index 7fdfb7475e..f3af92234d 100644 --- a/api/handle-messages.html +++ b/api/handle-messages.html @@ -23,7 +23,7 @@ - + diff --git a/api/handle-project-messages-with-slash.html b/api/handle-project-messages-with-slash.html index cce1e3efc2..1047049d4a 100644 --- a/api/handle-project-messages-with-slash.html +++ b/api/handle-project-messages-with-slash.html @@ -23,7 +23,7 @@ - + diff --git a/api/handle-project-messages.html b/api/handle-project-messages.html index 06814c757f..e4e98d11dc 100644 --- a/api/handle-project-messages.html +++ b/api/handle-project-messages.html @@ -23,7 +23,7 @@ - + diff --git a/api/handle-project-sse.html b/api/handle-project-sse.html index d934016e94..d71b7bfea7 100644 --- a/api/handle-project-sse.html +++ b/api/handle-project-sse.html @@ -23,7 +23,7 @@ - + diff --git a/api/handle-sse-1.html b/api/handle-sse-1.html index 057a1d926d..83a036a374 100644 --- a/api/handle-sse-1.html +++ b/api/handle-sse-1.html @@ -23,7 +23,7 @@ - + diff --git a/api/handle-sse.html b/api/handle-sse.html index 33dd55a010..b3e36c46c5 100644 --- a/api/handle-sse.html +++ b/api/handle-sse.html @@ -23,7 +23,7 @@ - + diff --git a/api/health-check.html b/api/health-check.html index e7297cdcd9..1e9e65c159 100644 --- a/api/health-check.html +++ b/api/health-check.html @@ -23,7 +23,7 @@ - + diff --git a/api/health.html b/api/health.html index 1cd4df98de..e19b6075f4 100644 --- a/api/health.html +++ b/api/health.html @@ -23,7 +23,7 @@ - + diff --git a/api/install-mcp-config.html b/api/install-mcp-config.html index 9bc9687934..2f88cb9ff3 100644 --- a/api/install-mcp-config.html +++ b/api/install-mcp-config.html @@ -23,7 +23,7 @@ - + diff --git a/api/like-component.html b/api/like-component.html index 89014b9d30..08364adc8a 100644 --- a/api/like-component.html +++ b/api/like-component.html @@ -23,7 +23,7 @@ - + diff --git a/api/list-files-1.html b/api/list-files-1.html index 01558eef3c..a606225d24 100644 --- a/api/list-files-1.html +++ b/api/list-files-1.html @@ -23,7 +23,7 @@ - + diff --git a/api/list-files-2.html b/api/list-files-2.html index 2be81b7f25..4aa5580519 100644 --- a/api/list-files-2.html +++ b/api/list-files-2.html @@ -23,7 +23,7 @@ - + diff --git a/api/list-files.html b/api/list-files.html index 68ac02c95c..af99ddf625 100644 --- a/api/list-files.html +++ b/api/list-files.html @@ -23,7 +23,7 @@ - + diff --git a/api/list-profile-pictures.html b/api/list-profile-pictures.html index 7d301039a6..d0c4f24c00 100644 --- a/api/list-profile-pictures.html +++ b/api/list-profile-pictures.html @@ -23,7 +23,7 @@ - + diff --git a/api/list-project-tools.html b/api/list-project-tools.html index a345a3513f..bff5f3131e 100644 --- a/api/list-project-tools.html +++ b/api/list-project-tools.html @@ -23,7 +23,7 @@ - + diff --git a/api/login-to-get-access-token.html b/api/login-to-get-access-token.html index dbcaaf7631..259d675d28 100644 --- a/api/login-to-get-access-token.html +++ b/api/login-to-get-access-token.html @@ -23,7 +23,7 @@ - + diff --git a/api/logout.html b/api/logout.html index 7d679afe17..41bec09a8f 100644 --- a/api/logout.html +++ b/api/logout.html @@ -23,7 +23,7 @@ - + diff --git a/api/logs.html b/api/logs.html index 364448339f..b0e49a233b 100644 --- a/api/logs.html +++ b/api/logs.html @@ -23,7 +23,7 @@ - + diff --git a/api/patch-user.html b/api/patch-user.html index 359bb98d05..83f92f4515 100644 --- a/api/patch-user.html +++ b/api/patch-user.html @@ -23,7 +23,7 @@ - + diff --git a/api/post-validate-code.html b/api/post-validate-code.html index 86c7a91492..e88bd27e61 100644 --- a/api/post-validate-code.html +++ b/api/post-validate-code.html @@ -23,7 +23,7 @@ - + diff --git a/api/post-validate-prompt.html b/api/post-validate-prompt.html index 12070895f9..93d978c5ca 100644 --- a/api/post-validate-prompt.html +++ b/api/post-validate-prompt.html @@ -23,7 +23,7 @@ - + diff --git a/api/process-1.html b/api/process-1.html index f56cbc4184..686d22c0a2 100644 --- a/api/process-1.html +++ b/api/process-1.html @@ -23,7 +23,7 @@ - + diff --git a/api/process.html b/api/process.html index 4f27a7d938..3ec4380d2a 100644 --- a/api/process.html +++ b/api/process.html @@ -23,7 +23,7 @@ - + diff --git a/api/read-all-users.html b/api/read-all-users.html index 9b351ffdfa..cb8e2d905f 100644 --- a/api/read-all-users.html +++ b/api/read-all-users.html @@ -23,7 +23,7 @@ - + diff --git a/api/read-basic-examples.html b/api/read-basic-examples.html index 475a0b548a..91746bf146 100644 --- a/api/read-basic-examples.html +++ b/api/read-basic-examples.html @@ -23,7 +23,7 @@ - + diff --git a/api/read-current-user.html b/api/read-current-user.html index f55b7ea49f..c99e05e997 100644 --- a/api/read-current-user.html +++ b/api/read-current-user.html @@ -23,7 +23,7 @@ - + diff --git a/api/read-flow.html b/api/read-flow.html index bb8178b717..f252cdc4d9 100644 --- a/api/read-flow.html +++ b/api/read-flow.html @@ -23,7 +23,7 @@ - + diff --git a/api/read-flows.html b/api/read-flows.html index 32c506a31d..f9051e1d48 100644 --- a/api/read-flows.html +++ b/api/read-flows.html @@ -23,7 +23,7 @@ - + diff --git a/api/read-folder-redirect.html b/api/read-folder-redirect.html index ec96ceef66..e40c1d3246 100644 --- a/api/read-folder-redirect.html +++ b/api/read-folder-redirect.html @@ -23,7 +23,7 @@ - + diff --git a/api/read-folders-redirect.html b/api/read-folders-redirect.html index bf4e8c14fa..f9fa83ef1b 100644 --- a/api/read-folders-redirect.html +++ b/api/read-folders-redirect.html @@ -23,7 +23,7 @@ - + diff --git a/api/read-project.html b/api/read-project.html index 3856e9f64c..829952d25c 100644 --- a/api/read-project.html +++ b/api/read-project.html @@ -23,7 +23,7 @@ - + diff --git a/api/read-projects.html b/api/read-projects.html index f056232446..652c80606c 100644 --- a/api/read-projects.html +++ b/api/read-projects.html @@ -23,7 +23,7 @@ - + diff --git a/api/read-public-flow.html b/api/read-public-flow.html index 9b9e7d32be..e0444ccd5e 100644 --- a/api/read-public-flow.html +++ b/api/read-public-flow.html @@ -23,7 +23,7 @@ - + diff --git a/api/read-variables.html b/api/read-variables.html index 73307c9009..05684d4d52 100644 --- a/api/read-variables.html +++ b/api/read-variables.html @@ -23,7 +23,7 @@ - + diff --git a/api/refresh-token.html b/api/refresh-token.html index ed8e069163..4bc3d90520 100644 --- a/api/refresh-token.html +++ b/api/refresh-token.html @@ -23,7 +23,7 @@ - + diff --git a/api/reset-password.html b/api/reset-password.html index fe8f677afe..083ca504d6 100644 --- a/api/reset-password.html +++ b/api/reset-password.html @@ -23,7 +23,7 @@ - + diff --git a/api/retrieve-vertices-order.html b/api/retrieve-vertices-order.html index ccb8cba2ee..b3a183cb39 100644 --- a/api/retrieve-vertices-order.html +++ b/api/retrieve-vertices-order.html @@ -23,7 +23,7 @@ - + diff --git a/api/save-store-api-key.html b/api/save-store-api-key.html index 3550051421..72b6414859 100644 --- a/api/save-store-api-key.html +++ b/api/save-store-api-key.html @@ -23,7 +23,7 @@ - + diff --git a/api/share-component.html b/api/share-component.html index eebfeb07e6..c4c80ecbd3 100644 --- a/api/share-component.html +++ b/api/share-component.html @@ -23,7 +23,7 @@ - + diff --git a/api/simplified-run-flow.html b/api/simplified-run-flow.html index 6c199d243e..80b2d23dd9 100644 --- a/api/simplified-run-flow.html +++ b/api/simplified-run-flow.html @@ -23,7 +23,7 @@ - + diff --git a/api/stream-logs.html b/api/stream-logs.html index 427642a70f..f035c0a20f 100644 --- a/api/stream-logs.html +++ b/api/stream-logs.html @@ -23,7 +23,7 @@ - + diff --git a/api/update-flow.html b/api/update-flow.html index bc2aac96e0..aae371cad1 100644 --- a/api/update-flow.html +++ b/api/update-flow.html @@ -23,7 +23,7 @@ - + diff --git a/api/update-folder-redirect.html b/api/update-folder-redirect.html index a6389c4da0..1c15c63f49 100644 --- a/api/update-folder-redirect.html +++ b/api/update-folder-redirect.html @@ -23,7 +23,7 @@ - + diff --git a/api/update-message.html b/api/update-message.html index 96595ab948..04501d1b89 100644 --- a/api/update-message.html +++ b/api/update-message.html @@ -23,7 +23,7 @@ - + diff --git a/api/update-project-mcp-settings.html b/api/update-project-mcp-settings.html index 7431d5f95f..9bc8d7a41b 100644 --- a/api/update-project-mcp-settings.html +++ b/api/update-project-mcp-settings.html @@ -23,7 +23,7 @@ - + diff --git a/api/update-project.html b/api/update-project.html index d2ad5bb52e..62a9dd66ea 100644 --- a/api/update-project.html +++ b/api/update-project.html @@ -23,7 +23,7 @@ - + diff --git a/api/update-server-endpoint.html b/api/update-server-endpoint.html index adac690929..09de3eb24e 100644 --- a/api/update-server-endpoint.html +++ b/api/update-server-endpoint.html @@ -23,7 +23,7 @@ - + diff --git a/api/update-session-id.html b/api/update-session-id.html index 6d5a5fc118..bfe089bf34 100644 --- a/api/update-session-id.html +++ b/api/update-session-id.html @@ -23,7 +23,7 @@ - + diff --git a/api/update-shared-component.html b/api/update-shared-component.html index cd6ebaa3ef..c8de036ed4 100644 --- a/api/update-shared-component.html +++ b/api/update-shared-component.html @@ -23,7 +23,7 @@ - + diff --git a/api/update-variable.html b/api/update-variable.html index fdd22d3516..efa0617cd7 100644 --- a/api/update-variable.html +++ b/api/update-variable.html @@ -23,7 +23,7 @@ - + diff --git a/api/upload-file-1.html b/api/upload-file-1.html index 679351b35d..a406f03e44 100644 --- a/api/upload-file-1.html +++ b/api/upload-file-1.html @@ -23,7 +23,7 @@ - + diff --git a/api/upload-file-2.html b/api/upload-file-2.html index bae587eba1..3992127e8b 100644 --- a/api/upload-file-2.html +++ b/api/upload-file-2.html @@ -23,7 +23,7 @@ - + diff --git a/api/upload-file-redirect.html b/api/upload-file-redirect.html index edd04525ba..69cf8055e5 100644 --- a/api/upload-file-redirect.html +++ b/api/upload-file-redirect.html @@ -23,7 +23,7 @@ - + diff --git a/api/upload-file.html b/api/upload-file.html index 3d35863a27..6eddb05785 100644 --- a/api/upload-file.html +++ b/api/upload-file.html @@ -23,7 +23,7 @@ - + diff --git a/api/upload-user-file-1.html b/api/upload-user-file-1.html index bc51ef06df..1bcc0bd368 100644 --- a/api/upload-user-file-1.html +++ b/api/upload-user-file-1.html @@ -23,7 +23,7 @@ - + diff --git a/api/upload-user-file.html b/api/upload-user-file.html index 50b5519433..34a4da7812 100644 --- a/api/upload-user-file.html +++ b/api/upload-user-file.html @@ -23,7 +23,7 @@ - + diff --git a/api/webhook-run-flow.html b/api/webhook-run-flow.html index 836ac32bb1..ed4b2ca068 100644 --- a/api/webhook-run-flow.html +++ b/api/webhook-run-flow.html @@ -23,7 +23,7 @@ - + diff --git a/assets/js/2ab0d4f5.6e34007e.js b/assets/js/2ab0d4f5.e830807c.js similarity index 50% rename from assets/js/2ab0d4f5.6e34007e.js rename to assets/js/2ab0d4f5.e830807c.js index 81c363d0e3..0ea5938ba6 100644 --- a/assets/js/2ab0d4f5.6e34007e.js +++ b/assets/js/2ab0d4f5.e830807c.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.5.0.post1"},"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 \\"cupidatat_a\\": \\"\\",\\n \\"non1\\": \\"\\"\\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.5.0.post1"},"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 \\"sed6\\": \\"\\"\\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/4c09a7b3.251c514e.js b/assets/js/4c09a7b3.251c514e.js deleted file mode 100644 index dddfce9466..0000000000 --- a/assets/js/4c09a7b3.251c514e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[7512],{28453:(e,o,n)=>{n.d(o,{R:()=>c,x:()=>l});var t=n(96540);const s={},r=t.createContext(s);function c(e){const o=t.useContext(r);return t.useMemo(function(){return"function"==typeof e?e(o):{...o,...e}},[o,e])}function l(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),t.createElement(r.Provider,{value:o},e.children)}},45794:(e,o,n)=>{n.r(o),n.d(o,{CH:()=>d,assets:()=>a,chCodeConfig:()=>p,contentTitle:()=>i,default:()=>g,frontMatter:()=>l,metadata:()=>t,toc:()=>h});const t=JSON.parse('{"id":"Deployment/deployment-docker","title":"Deploy Langflow on Docker","description":"Running applications in Docker containers ensures consistent behavior across different systems and eliminates dependency conflicts.","source":"@site/docs/Deployment/deployment-docker.mdx","sourceDirName":"Deployment","slug":"/deployment-docker","permalink":"/deployment-docker","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{"title":"Deploy Langflow on Docker","slug":"/deployment-docker"},"sidebar":"docs","previous":{"title":"Containerize a Langflow application","permalink":"/develop-application"},"next":{"title":"Deploy Langflow on a remote server","permalink":"/deployment-caddyfile"}}');var s=n(74848),r=n(28453),c=n(24754);const l={title:"Deploy Langflow on Docker",slug:"/deployment-docker"},i=void 0,a={},d={annotations:c.hk,Code:c.Cy},p={staticMediaQuery:"not screen, (max-width: 768px)",lineNumbers:!0,showCopyButton:!0,themeName:"github-dark"},h=[{value:"Start a Langflow container with default values",id:"quickstart",level:2},{value:"Clone the repo and build the Langflow Docker container",id:"clone-the-repo-and-build-the-langflow-docker-container",level:2},{value:"Configure Docker services",id:"configure-docker-services",level:3},{value:"Langflow service",id:"langflow-service",level:3},{value:"PostgreSQL service",id:"postgresql-service",level:3},{value:"Deploy a specific Langflow version with Docker Compose",id:"deploy-a-specific-langflow-version-with-docker-compose",level:3},{value:"Package your flow as a Docker image",id:"package-your-flow-as-a-docker-image",level:2},{value:"Customize the Langflow Docker image with your own code",id:"customize-the-langflow-docker-image-with-your-own-code",level:2}];function f(e){const o={a:"a",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",ul:"ul",...(0,r.R)(),...e.components};return d||u("CH",!1),d.Code||u("CH.Code",!0),(0,s.jsxs)(s.Fragment,{children:[(0,s.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",(0,s.jsx)(o.p,{children:"Running applications in Docker containers ensures consistent behavior across different systems and eliminates dependency conflicts."}),"\n",(0,s.jsx)(o.p,{children:"You can use the Langflow Docker image to start a Langflow container."}),"\n",(0,s.jsxs)(o.p,{children:["This guide demonstrates several ways to deploy Langflow with ",(0,s.jsx)(o.a,{href:"https://docs.docker.com/",children:"Docker"})," and ",(0,s.jsx)(o.a,{href:"https://docs.docker.com/compose/",children:"Docker Compose"}),":"]}),"\n",(0,s.jsxs)(o.ul,{children:["\n",(0,s.jsx)(o.li,{children:(0,s.jsx)(o.a,{href:"#quickstart",children:"Start a Langflow container with default values"})}),"\n",(0,s.jsxs)(o.li,{children:[(0,s.jsx)(o.a,{href:"#clone-the-repo-and-build-the-langflow-docker-container",children:"Clone the repo and use Docker Compose to build the Langflow Docker container"})," with a persistent PostgreSQL database service"]}),"\n",(0,s.jsx)(o.li,{children:(0,s.jsx)(o.a,{href:"#package-your-flow-as-a-docker-image",children:"Use a Dockerfile to package a flow as a Docker image"})}),"\n",(0,s.jsx)(o.li,{children:(0,s.jsx)(o.a,{href:"#customize-the-langflow-docker-image-with-your-own-code",children:"Customize the Langflow Docker image"})}),"\n"]}),"\n",(0,s.jsx)(o.h2,{id:"quickstart",children:"Start a Langflow container with default values"}),"\n",(0,s.jsx)(o.p,{children:"With Docker installed and running on your system, run the following command:"}),"\n",(0,s.jsx)(o.p,{children:(0,s.jsx)(o.code,{children:"docker run -p 7860:7860 langflowai/langflow:latest"})}),"\n",(0,s.jsxs)(o.p,{children:["Then, access Langflow at ",(0,s.jsx)(o.code,{children:"http://localhost:7860/"}),"."]}),"\n",(0,s.jsx)(o.h2,{id:"clone-the-repo-and-build-the-langflow-docker-container",children:"Clone the repo and build the Langflow Docker container"}),"\n",(0,s.jsx)(o.p,{children:"Use Docker Compose to build Langflow with a persistent PostgreSQL database service:"}),"\n",(0,s.jsxs)(o.ol,{children:["\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsx)(o.p,{children:"Clone the Langflow repository:"}),"\n",(0,s.jsx)(o.p,{children:(0,s.jsx)(o.code,{children:"git clone https://github.com/langflow-ai/langflow.git"})}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["Navigate to the ",(0,s.jsx)(o.code,{children:"docker_example"})," directory:"]}),"\n",(0,s.jsx)(o.p,{children:(0,s.jsx)(o.code,{children:"cd langflow/docker_example"})}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsx)(o.p,{children:"Run the Docker Compose file:"}),"\n",(0,s.jsx)(o.p,{children:(0,s.jsx)(o.code,{children:"docker compose up"})}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["Access Langflow at ",(0,s.jsx)(o.code,{children:"http://localhost:7860/"}),"."]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(o.h3,{id:"configure-docker-services",children:"Configure Docker services"}),"\n",(0,s.jsxs)(o.p,{children:["The Docker Compose configuration spins up two services: ",(0,s.jsx)(o.code,{children:"langflow"})," and ",(0,s.jsx)(o.code,{children:"postgres"}),"."]}),"\n",(0,s.jsxs)(o.p,{children:["To configure values for these services at container startup, define relevant ",(0,s.jsx)(o.a,{href:"/environment-variables",children:"Langflow environment variables"})," in a ",(0,s.jsx)(o.code,{children:".env"})," file.\nThen, include the ",(0,s.jsx)(o.code,{children:"--env-file"})," flag in your ",(0,s.jsx)(o.code,{children:"docker run"})," command:"]}),"\n",(0,s.jsx)(d.Code,{codeConfig:p,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"docker run -it --rm \\",props:{}}]},{tokens:[{content:" -p 7860:7860 \\",props:{}}]},{tokens:[{content:" --env-file .env \\",props:{}}]},{tokens:[{content:" langflowai/langflow:latest",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,s.jsxs)(o.p,{children:["If your ",(0,s.jsx)(o.code,{children:".env"})," file isn't in the same directory, provide the path to your ",(0,s.jsx)(o.code,{children:".env"})," file."]}),"\n",(0,s.jsx)(o.h3,{id:"langflow-service",children:"Langflow service"}),"\n",(0,s.jsxs)(o.p,{children:["The ",(0,s.jsx)(o.code,{children:"langflow"}),"service serves both the backend API and frontend UI of the Langflow web application."]}),"\n",(0,s.jsxs)(o.p,{children:["The ",(0,s.jsx)(o.code,{children:"langflow"})," service uses the ",(0,s.jsx)(o.code,{children:"langflowai/langflow:latest"})," Docker image and exposes port ",(0,s.jsx)(o.code,{children:"7860"}),". It depends on the ",(0,s.jsx)(o.code,{children:"postgres"})," service."]}),"\n",(0,s.jsx)(o.p,{children:"Environment variables:"}),"\n",(0,s.jsxs)(o.ul,{children:["\n",(0,s.jsxs)(o.li,{children:[(0,s.jsx)(o.code,{children:"LANGFLOW_DATABASE_URL"}),": The connection string for the PostgreSQL database."]}),"\n",(0,s.jsxs)(o.li,{children:[(0,s.jsx)(o.code,{children:"LANGFLOW_CONFIG_DIR"}),": The directory where Langflow stores logs, file storage, monitor data, and secret keys."]}),"\n"]}),"\n",(0,s.jsx)(o.p,{children:"Volumes:"}),"\n",(0,s.jsxs)(o.ul,{children:["\n",(0,s.jsxs)(o.li,{children:[(0,s.jsx)(o.code,{children:"langflow-data"}),": This volume is mapped to ",(0,s.jsx)(o.code,{children:"/app/langflow"})," in the container."]}),"\n"]}),"\n",(0,s.jsx)(o.h3,{id:"postgresql-service",children:"PostgreSQL service"}),"\n",(0,s.jsxs)(o.p,{children:["The ",(0,s.jsx)(o.code,{children:"postgres"})," service is a database that stores Langflow's persistent data including flows, users, and settings."]}),"\n",(0,s.jsx)(o.p,{children:"The service runs on port 5432 and includes a dedicated volume for data storage."}),"\n",(0,s.jsxs)(o.p,{children:["The ",(0,s.jsx)(o.code,{children:"postgres"})," service uses the ",(0,s.jsx)(o.code,{children:"postgres:16"})," Docker image."]}),"\n",(0,s.jsx)(o.p,{children:"Environment variables:"}),"\n",(0,s.jsxs)(o.ul,{children:["\n",(0,s.jsxs)(o.li,{children:[(0,s.jsx)(o.code,{children:"POSTGRES_USER"}),": The username for the PostgreSQL database."]}),"\n",(0,s.jsxs)(o.li,{children:[(0,s.jsx)(o.code,{children:"POSTGRES_PASSWORD"}),": The password for the PostgreSQL database."]}),"\n",(0,s.jsxs)(o.li,{children:[(0,s.jsx)(o.code,{children:"POSTGRES_DB"}),": The name of the PostgreSQL database."]}),"\n"]}),"\n",(0,s.jsx)(o.p,{children:"Volumes:"}),"\n",(0,s.jsxs)(o.ul,{children:["\n",(0,s.jsxs)(o.li,{children:[(0,s.jsx)(o.code,{children:"langflow-postgres"}),": This volume is mapped to ",(0,s.jsx)(o.code,{children:"/var/lib/postgresql/data"})," in the container."]}),"\n"]}),"\n",(0,s.jsx)(o.h3,{id:"deploy-a-specific-langflow-version-with-docker-compose",children:"Deploy a specific Langflow version with Docker Compose"}),"\n",(0,s.jsxs)(o.p,{children:["If you want to deploy a specific version of Langflow, you can modify the ",(0,s.jsx)(o.code,{children:"image"})," field under the ",(0,s.jsx)(o.code,{children:"langflow"})," service in the Docker Compose file. For example, to use version ",(0,s.jsx)(o.code,{children:"1.0-alpha"}),", change ",(0,s.jsx)(o.code,{children:"langflowai/langflow:latest"})," to ",(0,s.jsx)(o.code,{children:"langflowai/langflow:1.0-alpha"}),"."]}),"\n",(0,s.jsx)(o.h2,{id:"package-your-flow-as-a-docker-image",children:"Package your flow as a Docker image"}),"\n",(0,s.jsxs)(o.p,{children:["You can include your Langflow flow with the application image.\nWhen you build the image, your saved flow ",(0,s.jsx)(o.code,{children:".JSON"})," flow is included.\nThis enables you to serve a flow from a container, push the image to Docker Hub, and deploy on Kubernetes."]}),"\n",(0,s.jsxs)(o.p,{children:["An example flow is available in the ",(0,s.jsx)(o.a,{href:"https://github.com/langflow-ai/langflow-helm-charts/tree/main/examples/flows",children:"Langflow Helm Charts"})," repository, or you can provide your own ",(0,s.jsx)(o.code,{children:"JSON"})," file."]}),"\n",(0,s.jsxs)(o.ol,{children:["\n",(0,s.jsx)(o.li,{children:"Create a project directory:"}),"\n"]}),"\n",(0,s.jsx)(d.Code,{codeConfig:p,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"mkdir ",props:{style:{color:"#FFA657"}}},{content:"langflow-custom",props:{style:{color:"#A5D6FF"}}},{content:" && ",props:{style:{color:"#C9D1D9"}}},{content:"cd ",props:{style:{color:"#79C0FF"}}},{content:"langflow-custom",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,s.jsxs)(o.ol,{start:"2",children:["\n",(0,s.jsxs)(o.li,{children:["Download the example flow or include your flow's ",(0,s.jsx)(o.code,{children:".JSON"})," file in the ",(0,s.jsx)(o.code,{children:"langflow-custom"})," directory."]}),"\n"]}),"\n",(0,s.jsx)(d.Code,{codeConfig:p,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"wget ",props:{style:{color:"#FFA657"}}},{content:"https://raw.githubusercontent.com/langflow-ai/langflow-helm-charts/refs/heads/main/examples/flows/basic-prompting-hello-world.json",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,s.jsxs)(o.ol,{start:"3",children:["\n",(0,s.jsx)(o.li,{children:"Create a Dockerfile:"}),"\n"]}),"\n",(0,s.jsx)(d.Code,{codeConfig:p,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"FROM",props:{style:{color:"#FF7B72"}}},{content:" langflowai/langflow-backend:latest",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"RUN",props:{style:{color:"#FF7B72"}}},{content:" mkdir /app/flows",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"COPY",props:{style:{color:"#FF7B72"}}},{content:" ./*.json /app/flows/",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"ENV",props:{style:{color:"#FF7B72"}}},{content:" LANGFLOW_LOAD_FLOWS_PATH=/app/flows",props:{style:{color:"#C9D1D9"}}}]}],lang:"dockerfile"},annotations:[]}]}),"\n",(0,s.jsxs)(o.p,{children:["The ",(0,s.jsx)(o.code,{children:"COPY ./*json"})," command copies all JSON files in your current directory to the ",(0,s.jsx)(o.code,{children:"/flows"})," folder."]}),"\n",(0,s.jsxs)(o.p,{children:["The ",(0,s.jsx)(o.code,{children:"ENV LANGFLOW_LOAD_FLOWS_PATH=/app/flows"})," command sets the environment variable within the Docker container. By pointing it to ",(0,s.jsx)(o.code,{children:"/app/flows"}),", you ensure that the application can find and utilize the JSON flow files that have been copied into that directory during the image build process."]}),"\n",(0,s.jsxs)(o.ol,{start:"4",children:["\n",(0,s.jsx)(o.li,{children:"Build and run the image locally."}),"\n"]}),"\n",(0,s.jsx)(d.Code,{codeConfig:p,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"docker ",props:{style:{color:"#FFA657"}}},{content:"build ",props:{style:{color:"#A5D6FF"}}},{content:"-t ",props:{style:{color:"#79C0FF"}}},{content:"myuser/langflow-hello-world:",props:{style:{color:"#A5D6FF"}}},{content:"1.0.0 ",props:{style:{color:"#79C0FF"}}},{content:".",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"docker ",props:{style:{color:"#FFA657"}}},{content:"run ",props:{style:{color:"#A5D6FF"}}},{content:"-p ",props:{style:{color:"#79C0FF"}}},{content:"7860:",props:{style:{color:"#A5D6FF"}}},{content:"7860 ",props:{style:{color:"#79C0FF"}}},{content:"myuser/langflow-hello-world:",props:{style:{color:"#A5D6FF"}}},{content:"1.0.0",props:{style:{color:"#79C0FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,s.jsxs)(o.ol,{start:"5",children:["\n",(0,s.jsxs)(o.li,{children:["Build and push the image to Docker Hub.\nReplace ",(0,s.jsx)(o.code,{children:"myuser"})," with your Docker Hub username."]}),"\n"]}),"\n",(0,s.jsx)(d.Code,{codeConfig:p,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"docker ",props:{style:{color:"#FFA657"}}},{content:"build ",props:{style:{color:"#A5D6FF"}}},{content:"-t ",props:{style:{color:"#79C0FF"}}},{content:"myuser/langflow-hello-world:",props:{style:{color:"#A5D6FF"}}},{content:"1.0.0 ",props:{style:{color:"#79C0FF"}}},{content:".",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"docker ",props:{style:{color:"#FFA657"}}},{content:"push myuser/langflow-hello-world:",props:{style:{color:"#A5D6FF"}}},{content:"1.0.0",props:{style:{color:"#79C0FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,s.jsxs)(o.p,{children:["To deploy the image with Helm, see ",(0,s.jsx)(o.a,{href:"/deployment-kubernetes-prod",children:"Deploy the Langflow production environment on Kubernetes"}),"."]}),"\n",(0,s.jsx)(o.h2,{id:"customize-the-langflow-docker-image-with-your-own-code",children:"Customize the Langflow Docker image with your own code"}),"\n",(0,s.jsx)(o.p,{children:"You can customize the Langflow Docker image by adding your own code or modifying existing components."}),"\n",(0,s.jsxs)(o.p,{children:["This example Dockerfile demonstrates how to customize Langflow by replacing the ",(0,s.jsx)(o.code,{children:"astradb_graph.py"})," component, but the pattern can be adapted for any other components or custom code."]}),"\n",(0,s.jsx)(d.Code,{codeConfig:p,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"FROM",props:{style:{color:"#FF7B72"}}},{content:" langflowai/langflow:latest",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"# Set working directory",props:{style:{color:"#8B949E"}}}]},{tokens:[{content:"WORKDIR",props:{style:{color:"#FF7B72"}}},{content:" /app",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"# Copy your modified astradb_graph.py file",props:{style:{color:"#8B949E"}}}]},{tokens:[{content:"COPY",props:{style:{color:"#FF7B72"}}},{content:" src/backend/base/langflow/components/vectorstores/astradb_graph.py /tmp/astradb_graph.py",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"# Find the site-packages directory where langflow is installed",props:{style:{color:"#8B949E"}}}]},{tokens:[{content:"RUN",props:{style:{color:"#FF7B72"}}},{content:" python -c ",props:{style:{color:"#C9D1D9"}}},{content:'"import site; print(site.getsitepackages()[0])"',props:{style:{color:"#A5D6FF"}}},{content:" > /tmp/site_packages.txt",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"# Replace the file in the site-packages location",props:{style:{color:"#8B949E"}}}]},{tokens:[{content:"RUN",props:{style:{color:"#FF7B72"}}},{content:" SITE_PACKAGES=$(cat /tmp/site_packages.txt) && \\",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" echo ",props:{style:{color:"#C9D1D9"}}},{content:'"Site packages at: $SITE_PACKAGES"',props:{style:{color:"#A5D6FF"}}},{content:" && \\",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" mkdir -p ",props:{style:{color:"#C9D1D9"}}},{content:'"$SITE_PACKAGES/langflow/components/vectorstores"',props:{style:{color:"#A5D6FF"}}},{content:" && \\",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" cp /tmp/astradb_graph.py ",props:{style:{color:"#C9D1D9"}}},{content:'"$SITE_PACKAGES/langflow/components/vectorstores/"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"# Clear Python cache in the site-packages directory only",props:{style:{color:"#8B949E"}}}]},{tokens:[{content:"RUN",props:{style:{color:"#FF7B72"}}},{content:" SITE_PACKAGES=$(cat /tmp/site_packages.txt) && \\",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" find ",props:{style:{color:"#C9D1D9"}}},{content:'"$SITE_PACKAGES"',props:{style:{color:"#A5D6FF"}}},{content:" -name ",props:{style:{color:"#C9D1D9"}}},{content:'"*.pyc"',props:{style:{color:"#A5D6FF"}}},{content:" -delete && \\",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" find ",props:{style:{color:"#C9D1D9"}}},{content:'"$SITE_PACKAGES"',props:{style:{color:"#A5D6FF"}}},{content:" -name ",props:{style:{color:"#C9D1D9"}}},{content:'"__pycache__"',props:{style:{color:"#A5D6FF"}}},{content:" -type d -exec rm -rf {} +",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"# Expose the default Langflow port",props:{style:{color:"#8B949E"}}}]},{tokens:[{content:"EXPOSE",props:{style:{color:"#FF7B72"}}},{content:" 7860",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"# Command to run Langflow",props:{style:{color:"#8B949E"}}}]},{tokens:[{content:"CMD",props:{style:{color:"#FF7B72"}}},{content:" [",props:{style:{color:"#C9D1D9"}}},{content:'"python"',props:{style:{color:"#A5D6FF"}}},{content:", ",props:{style:{color:"#C9D1D9"}}},{content:'"-m"',props:{style:{color:"#A5D6FF"}}},{content:", ",props:{style:{color:"#C9D1D9"}}},{content:'"langflow"',props:{style:{color:"#A5D6FF"}}},{content:", ",props:{style:{color:"#C9D1D9"}}},{content:'"run"',props:{style:{color:"#A5D6FF"}}},{content:", ",props:{style:{color:"#C9D1D9"}}},{content:'"--host"',props:{style:{color:"#A5D6FF"}}},{content:", ",props:{style:{color:"#C9D1D9"}}},{content:'"0.0.0.0"',props:{style:{color:"#A5D6FF"}}},{content:", ",props:{style:{color:"#C9D1D9"}}},{content:'"--port"',props:{style:{color:"#A5D6FF"}}},{content:", ",props:{style:{color:"#C9D1D9"}}},{content:'"7860"',props:{style:{color:"#A5D6FF"}}},{content:"]",props:{style:{color:"#C9D1D9"}}}]}],lang:"dockerfile"},annotations:[]}]}),"\n",(0,s.jsx)(o.p,{children:"To use this custom Dockerfile, do the following:"}),"\n",(0,s.jsxs)(o.ol,{children:["\n",(0,s.jsx)(o.li,{children:"Create a directory for your custom Langflow setup:"}),"\n"]}),"\n",(0,s.jsx)(d.Code,{codeConfig:p,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"mkdir ",props:{style:{color:"#FFA657"}}},{content:"langflow-custom",props:{style:{color:"#A5D6FF"}}},{content:" && ",props:{style:{color:"#C9D1D9"}}},{content:"cd ",props:{style:{color:"#79C0FF"}}},{content:"langflow-custom",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,s.jsxs)(o.ol,{start:"2",children:["\n",(0,s.jsxs)(o.li,{children:["Create the necessary directory structure for your custom code.\nIn this example, Langflow expects ",(0,s.jsx)(o.code,{children:"astradb_graph.py"})," to exist in the ",(0,s.jsx)(o.code,{children:"/vectorstores"})," directory, so you create a directory in that location."]}),"\n"]}),"\n",(0,s.jsx)(d.Code,{codeConfig:p,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"mkdir ",props:{style:{color:"#FFA657"}}},{content:"-p ",props:{style:{color:"#79C0FF"}}},{content:"src/backend/base/langflow/components/vectorstores",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,s.jsxs)(o.ol,{start:"3",children:["\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["Place your modified ",(0,s.jsx)(o.code,{children:"astradb_graph.py"})," file in the ",(0,s.jsx)(o.code,{children:"/vectorstores"})," directory."]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["Create a new file named ",(0,s.jsx)(o.code,{children:"Dockerfile"})," in your ",(0,s.jsx)(o.code,{children:"langflow-custom"})," directory, and then copy the Dockerfile contents shown above into it."]}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsx)(o.p,{children:"Build and run the image:"}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(d.Code,{codeConfig:p,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"docker ",props:{style:{color:"#FFA657"}}},{content:"build ",props:{style:{color:"#A5D6FF"}}},{content:"-t ",props:{style:{color:"#79C0FF"}}},{content:"myuser/langflow-custom:",props:{style:{color:"#A5D6FF"}}},{content:"1.0.0 ",props:{style:{color:"#79C0FF"}}},{content:".",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"docker ",props:{style:{color:"#FFA657"}}},{content:"run ",props:{style:{color:"#A5D6FF"}}},{content:"-p ",props:{style:{color:"#79C0FF"}}},{content:"7860:",props:{style:{color:"#A5D6FF"}}},{content:"7860 ",props:{style:{color:"#79C0FF"}}},{content:"myuser/langflow-custom:",props:{style:{color:"#A5D6FF"}}},{content:"1.0.0",props:{style:{color:"#79C0FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,s.jsx)(o.p,{children:"This approach can be adapted for any other components or custom code you want to add to Langflow by modifying the file paths and component names."})]})}function g(e={}){const{wrapper:o}={...(0,r.R)(),...e.components};return o?(0,s.jsx)(o,{...e,children:(0,s.jsx)(f,{...e})}):f(e)}function u(e,o){throw new Error("Expected "+(o?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}}}]); \ No newline at end of file diff --git a/assets/js/4c09a7b3.f88acd52.js b/assets/js/4c09a7b3.f88acd52.js new file mode 100644 index 0000000000..bad05dba61 --- /dev/null +++ b/assets/js/4c09a7b3.f88acd52.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[7512],{28453:(o,e,t)=>{t.d(e,{R:()=>c,x:()=>l});var n=t(96540);const s={},r=n.createContext(s);function c(o){const e=n.useContext(r);return n.useMemo(function(){return"function"==typeof o?o(e):{...e,...o}},[e,o])}function l(o){let e;return e=o.disableParentContext?"function"==typeof o.components?o.components(s):o.components||s:c(o.components),n.createElement(r.Provider,{value:e},o.children)}},45794:(o,e,t)=>{t.r(e),t.d(e,{CH:()=>p,assets:()=>a,chCodeConfig:()=>d,contentTitle:()=>i,default:()=>u,frontMatter:()=>l,metadata:()=>n,toc:()=>h});const n=JSON.parse('{"id":"Deployment/deployment-docker","title":"Deploy Langflow on Docker","description":"Running applications in Docker containers ensures consistent behavior across different systems and eliminates dependency conflicts.","source":"@site/docs/Deployment/deployment-docker.mdx","sourceDirName":"Deployment","slug":"/deployment-docker","permalink":"/deployment-docker","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{"title":"Deploy Langflow on Docker","slug":"/deployment-docker"},"sidebar":"docs","previous":{"title":"Containerize a Langflow application","permalink":"/develop-application"},"next":{"title":"Deploy Langflow on a remote server","permalink":"/deployment-caddyfile"}}');var s=t(74848),r=t(28453),c=t(24754);const l={title:"Deploy Langflow on Docker",slug:"/deployment-docker"},i=void 0,a={},p={annotations:c.hk,Code:c.Cy},d={staticMediaQuery:"not screen, (max-width: 768px)",lineNumbers:!0,showCopyButton:!0,themeName:"github-dark"},h=[{value:"Quickstart: Start a Langflow container with default values",id:"quickstart",level:2},{value:"Clone the repo and run the Langflow Docker container",id:"clone",level:2},{value:"Customize your deployment",id:"customize-your-deployment",level:3},{value:"Package your flow as a Docker image",id:"package-your-flow-as-a-docker-image",level:2},{value:"Customize the Langflow Docker image with your own code",id:"customize-the-langflow-docker-image",level:2}];function y(o){const e={a:"a",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...o.components};return p||f("CH",!1),p.Code||f("CH.Code",!0),(0,s.jsxs)(s.Fragment,{children:[(0,s.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",(0,s.jsx)(e.p,{children:"Running applications in Docker containers ensures consistent behavior across different systems and eliminates dependency conflicts."}),"\n",(0,s.jsx)(e.p,{children:"You can use the Langflow Docker image to start a Langflow container."}),"\n",(0,s.jsxs)(e.p,{children:["This guide demonstrates several ways to deploy Langflow with ",(0,s.jsx)(e.a,{href:"https://docs.docker.com/",children:"Docker"})," and ",(0,s.jsx)(e.a,{href:"https://docs.docker.com/compose/",children:"Docker Compose"}),":"]}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.a,{href:"#quickstart",children:"Quickstart"}),": Start a Langflow container with default values."]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.a,{href:"#clone",children:"Use Docker Compose"}),": Clone the Langflow repo, and then use Docker Compose to build the Langflow Docker container.\nThis option provides more control over the configuration, including a persistent PostgreSQL database service, while still using the base Langflow Docker image."]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.a,{href:"#package-your-flow-as-a-docker-image",children:"Create a custom flow image"}),": Use a Dockerfile to package a flow as a Docker image."]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.a,{href:"#customize-the-langflow-docker-image",children:"Create a custom Langflow image"}),": Use a Dockerfile to package a custom Langflow Docker image that includes your own code, custom dependencies, or other modifications."]}),"\n"]}),"\n",(0,s.jsx)(e.h2,{id:"quickstart",children:"Quickstart: Start a Langflow container with default values"}),"\n",(0,s.jsx)(e.p,{children:"With Docker installed and running on your system, run the following command:"}),"\n",(0,s.jsx)(p.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"docker ",props:{style:{color:"#FFA657"}}},{content:"run ",props:{style:{color:"#A5D6FF"}}},{content:"-p ",props:{style:{color:"#79C0FF"}}},{content:"7860:",props:{style:{color:"#A5D6FF"}}},{content:"7860 ",props:{style:{color:"#79C0FF"}}},{content:"langflowai/langflow:latest",props:{style:{color:"#A5D6FF"}}}]}],lang:"shell"},annotations:[]}]}),"\n",(0,s.jsxs)(e.p,{children:["Then, access Langflow at ",(0,s.jsx)(e.code,{children:"http://localhost:7860/"}),"."]}),"\n",(0,s.jsxs)(e.p,{children:["This container runs a pre-built Docker image with default settings.\nFor more control over the configuration, see ",(0,s.jsx)(e.a,{href:"#clone",children:"Clone the repo and run the Langflow Docker container"}),"."]}),"\n",(0,s.jsx)(e.h2,{id:"clone",children:"Clone the repo and run the Langflow Docker container"}),"\n",(0,s.jsx)(e.p,{children:"Cloning the Langflow repository and using Docker Compose gives you more control over your configuration, allowing you to customize environment variables, use a persistent PostgreSQL database service (instead of the default SQLite database), and include custom dependencies."}),"\n",(0,s.jsx)(e.p,{children:"The default deployment with Docker Compose includes the following:"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"Langflow service"}),": Runs the latest Langflow image with PostgreSQL as the database."]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"PostgreSQL service"}),": Provides persistent data storage for flows, users, and settings."]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"Persistent volumes"}),": Ensures your data survives container restarts."]}),"\n"]}),"\n",(0,s.jsxs)(e.p,{children:["The complete Docker Compose configuration is available in ",(0,s.jsx)(e.code,{children:"docker_example/docker-compose.yml"}),"."]}),"\n",(0,s.jsxs)(e.ol,{children:["\n",(0,s.jsxs)(e.li,{children:["\n",(0,s.jsx)(e.p,{children:"Clone the Langflow repository:"}),"\n",(0,s.jsx)(p.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"git ",props:{style:{color:"#FFA657"}}},{content:"clone https://github.com/langflow-ai/langflow.git",props:{style:{color:"#A5D6FF"}}}]}],lang:"shell"},annotations:[]}]}),"\n"]}),"\n",(0,s.jsxs)(e.li,{children:["\n",(0,s.jsxs)(e.p,{children:["Navigate to the ",(0,s.jsx)(e.code,{children:"docker_example"})," directory:"]}),"\n",(0,s.jsx)(p.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"cd ",props:{style:{color:"#79C0FF"}}},{content:"langflow/docker_example",props:{style:{color:"#A5D6FF"}}}]}],lang:"shell"},annotations:[]}]}),"\n"]}),"\n",(0,s.jsxs)(e.li,{children:["\n",(0,s.jsx)(e.p,{children:"Run the Docker Compose file:"}),"\n",(0,s.jsx)(p.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"docker ",props:{style:{color:"#FFA657"}}},{content:"compose up",props:{style:{color:"#A5D6FF"}}}]}],lang:"shell"},annotations:[]}]}),"\n"]}),"\n",(0,s.jsxs)(e.li,{children:["\n",(0,s.jsxs)(e.p,{children:["Access Langflow at ",(0,s.jsx)(e.code,{children:"http://localhost:7860/"}),"."]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(e.h3,{id:"customize-your-deployment",children:"Customize your deployment"}),"\n",(0,s.jsx)(e.p,{children:"You can customize the Docker Compose configuration to fit your specific deployment."}),"\n",(0,s.jsxs)(e.p,{children:["For example, to configure the container's database credentials using a ",(0,s.jsx)(e.code,{children:".env"})," file, do the following:"]}),"\n",(0,s.jsxs)(e.ol,{children:["\n",(0,s.jsxs)(e.li,{children:["\n",(0,s.jsxs)(e.p,{children:["Create a ",(0,s.jsx)(e.code,{children:".env"})," file with your database credentials in the same directory as ",(0,s.jsx)(e.code,{children:"docker-compose.yml"}),":"]}),"\n",(0,s.jsx)(p.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"# Database credentials",props:{}}]},{tokens:[{content:"POSTGRES_USER=myuser",props:{}}]},{tokens:[{content:"POSTGRES_PASSWORD=mypassword",props:{}}]},{tokens:[{content:"POSTGRES_DB=langflow",props:{}}]},{tokens:[{content:"",props:{}}]},{tokens:[{content:"# Langflow configuration",props:{}}]},{tokens:[{content:"LANGFLOW_DATABASE_URL=postgresql://myuser:mypassword@postgres:5432/langflow",props:{}}]},{tokens:[{content:"LANGFLOW_CONFIG_DIR=/app/langflow",props:{}}]}],lang:"text"},annotations:[]}]}),"\n"]}),"\n",(0,s.jsxs)(e.li,{children:["\n",(0,s.jsxs)(e.p,{children:["Modify the ",(0,s.jsx)(e.code,{children:"docker-compose.yml"})," file to reference the ",(0,s.jsx)(e.code,{children:".env"})," file for both the ",(0,s.jsx)(e.code,{children:"langflow"})," and ",(0,s.jsx)(e.code,{children:"postgres"})," services:"]}),"\n",(0,s.jsx)(p.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"services",props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" langflow",props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" environment",props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" - ",props:{style:{color:"#C9D1D9"}}},{content:"LANGFLOW_DATABASE_URL=${LANGFLOW_DATABASE_URL}",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" - ",props:{style:{color:"#C9D1D9"}}},{content:"LANGFLOW_CONFIG_DIR=${LANGFLOW_CONFIG_DIR}",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" postgres",props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" environment",props:{style:{color:"#7EE787"}}},{content:":",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" - ",props:{style:{color:"#C9D1D9"}}},{content:"POSTGRES_USER=${POSTGRES_USER}",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" - ",props:{style:{color:"#C9D1D9"}}},{content:"POSTGRES_PASSWORD=${POSTGRES_PASSWORD}",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" - ",props:{style:{color:"#C9D1D9"}}},{content:"POSTGRES_DB=${POSTGRES_DB}",props:{style:{color:"#A5D6FF"}}}]}],lang:"yaml"},annotations:[]}]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(e.p,{children:["For a complete list of available environment variables, see ",(0,s.jsx)(e.a,{href:"/environment-variables",children:"Langflow environment variables"}),"."]}),"\n",(0,s.jsxs)(e.p,{children:["For more customization options, see ",(0,s.jsx)(e.a,{href:"#customize-the-langflow-docker-image",children:"Customize the Langflow Docker image with your own code"}),"."]}),"\n",(0,s.jsx)(e.h2,{id:"package-your-flow-as-a-docker-image",children:"Package your flow as a Docker image"}),"\n",(0,s.jsx)(e.p,{children:"This section shows you how to create a Dockerfile that builds a Docker image containing your Langflow flow. This approach is useful when you want to distribute a specific flow as a standalone container or deploy it to environments like Kubernetes."}),"\n",(0,s.jsx)(e.p,{children:"Unlike the previous sections that use pre-built images, this method builds a custom image with your flow embedded inside it."}),"\n",(0,s.jsxs)(e.ol,{children:["\n",(0,s.jsxs)(e.li,{children:["\n",(0,s.jsx)(e.p,{children:"Create a project directory, and change directory into it."}),"\n",(0,s.jsx)(p.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"mkdir ",props:{style:{color:"#FFA657"}}},{content:"langflow-custom",props:{style:{color:"#A5D6FF"}}},{content:" && ",props:{style:{color:"#C9D1D9"}}},{content:"cd ",props:{style:{color:"#79C0FF"}}},{content:"langflow-custom",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n"]}),"\n",(0,s.jsxs)(e.li,{children:["\n",(0,s.jsx)(e.p,{children:"Add your flow's JSON file to the directory. You can download an example, or use your own:"}),"\n",(0,s.jsx)(p.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"# Download an example flow",props:{style:{color:"#8B949E"}}}]},{tokens:[{content:"wget ",props:{style:{color:"#FFA657"}}},{content:"https://raw.githubusercontent.com/langflow-ai/langflow-helm-charts/refs/heads/main/examples/flows/basic-prompting-hello-world.json",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"# Or copy your own flow file",props:{style:{color:"#8B949E"}}}]},{tokens:[{content:"cp ",props:{style:{color:"#FFA657"}}},{content:"/path/to/your/flow.json .",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n"]}),"\n",(0,s.jsxs)(e.li,{children:["\n",(0,s.jsx)(e.p,{children:"Create a Dockerfile to build your custom image:"}),"\n",(0,s.jsx)(p.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"FROM",props:{style:{color:"#FF7B72"}}},{content:" langflowai/langflow:latest",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"RUN",props:{style:{color:"#FF7B72"}}},{content:" mkdir /app/flows",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"COPY",props:{style:{color:"#FF7B72"}}},{content:" ./*.json /app/flows/",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"ENV",props:{style:{color:"#FF7B72"}}},{content:" LANGFLOW_LOAD_FLOWS_PATH=/app/flows",props:{style:{color:"#C9D1D9"}}}]}],lang:"dockerfile"},annotations:[]}]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(e.p,{children:"This Dockerfile uses the official Langflow image as the base, creates a directory for your flows, copies your JSON flow files into the directory, and sets the environment variable to tell Langflow where to find the flows."}),"\n",(0,s.jsxs)(e.ol,{start:"4",children:["\n",(0,s.jsxs)(e.li,{children:["\n",(0,s.jsx)(e.p,{children:"Build and test your custom image:"}),"\n",(0,s.jsx)(p.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"docker ",props:{style:{color:"#FFA657"}}},{content:"build ",props:{style:{color:"#A5D6FF"}}},{content:"-t ",props:{style:{color:"#79C0FF"}}},{content:"myuser/langflow-custom:",props:{style:{color:"#A5D6FF"}}},{content:"1.0.0 ",props:{style:{color:"#79C0FF"}}},{content:".",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"docker ",props:{style:{color:"#FFA657"}}},{content:"run ",props:{style:{color:"#A5D6FF"}}},{content:"-p ",props:{style:{color:"#79C0FF"}}},{content:"7860:",props:{style:{color:"#A5D6FF"}}},{content:"7860 ",props:{style:{color:"#79C0FF"}}},{content:"myuser/langflow-custom:",props:{style:{color:"#A5D6FF"}}},{content:"1.0.0",props:{style:{color:"#79C0FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n"]}),"\n",(0,s.jsxs)(e.li,{children:["\n",(0,s.jsx)(e.p,{children:"Push your image to Docker Hub (optional):"}),"\n",(0,s.jsx)(p.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"docker ",props:{style:{color:"#FFA657"}}},{content:"push myuser/langflow-custom:",props:{style:{color:"#A5D6FF"}}},{content:"1.0.0",props:{style:{color:"#79C0FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(e.p,{children:["Your custom image now contains your flow and can be deployed anywhere Docker runs. For Kubernetes deployment, see ",(0,s.jsx)(e.a,{href:"/deployment-kubernetes-prod",children:"Deploy the Langflow production environment on Kubernetes"}),"."]}),"\n",(0,s.jsx)(e.h2,{id:"customize-the-langflow-docker-image",children:"Customize the Langflow Docker image with your own code"}),"\n",(0,s.jsx)(e.p,{children:"While the previous section showed how to package a flow with a Docker image, this section shows how to customize the Langflow application itself. This is useful when you need to add custom Python packages or dependencies, modify Langflow's configuration or settings, include custom components or tools, or add your own code to extend Langflow's functionality."}),"\n",(0,s.jsx)(e.p,{children:"This example demonstrates how to customize the message history component, but the same approach can be used for any code modifications."}),"\n",(0,s.jsx)(p.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"FROM",props:{style:{color:"#FF7B72"}}},{content:" langflowai/langflow:latest",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"# Set working directory",props:{style:{color:"#8B949E"}}}]},{tokens:[{content:"WORKDIR",props:{style:{color:"#FF7B72"}}},{content:" /app",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"# Copy your modified memory component",props:{style:{color:"#8B949E"}}}]},{tokens:[{content:"COPY",props:{style:{color:"#FF7B72"}}},{content:" src/backend/base/langflow/components/helpers/memory.py /tmp/memory.py",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"# Find the site-packages directory where langflow is installed",props:{style:{color:"#8B949E"}}}]},{tokens:[{content:"RUN",props:{style:{color:"#FF7B72"}}},{content:" python -c ",props:{style:{color:"#C9D1D9"}}},{content:'"import site; print(site.getsitepackages()[0])"',props:{style:{color:"#A5D6FF"}}},{content:" > /tmp/site_packages.txt",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"# Replace the file in the site-packages location",props:{style:{color:"#8B949E"}}}]},{tokens:[{content:"RUN",props:{style:{color:"#FF7B72"}}},{content:" SITE_PACKAGES=$(cat /tmp/site_packages.txt) && \\",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" echo ",props:{style:{color:"#C9D1D9"}}},{content:'"Site packages at: $SITE_PACKAGES"',props:{style:{color:"#A5D6FF"}}},{content:" && \\",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" mkdir -p ",props:{style:{color:"#C9D1D9"}}},{content:'"$SITE_PACKAGES/langflow/components/helpers"',props:{style:{color:"#A5D6FF"}}},{content:" && \\",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" cp /tmp/memory.py ",props:{style:{color:"#C9D1D9"}}},{content:'"$SITE_PACKAGES/langflow/components/helpers/"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"# Clear Python cache in the site-packages directory only",props:{style:{color:"#8B949E"}}}]},{tokens:[{content:"RUN",props:{style:{color:"#FF7B72"}}},{content:" SITE_PACKAGES=$(cat /tmp/site_packages.txt) && \\",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" find ",props:{style:{color:"#C9D1D9"}}},{content:'"$SITE_PACKAGES"',props:{style:{color:"#A5D6FF"}}},{content:" -name ",props:{style:{color:"#C9D1D9"}}},{content:'"*.pyc"',props:{style:{color:"#A5D6FF"}}},{content:" -delete && \\",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" find ",props:{style:{color:"#C9D1D9"}}},{content:'"$SITE_PACKAGES"',props:{style:{color:"#A5D6FF"}}},{content:" -name ",props:{style:{color:"#C9D1D9"}}},{content:'"__pycache__"',props:{style:{color:"#A5D6FF"}}},{content:" -type d -exec rm -rf {} +",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"# Expose the default Langflow port",props:{style:{color:"#8B949E"}}}]},{tokens:[{content:"EXPOSE",props:{style:{color:"#FF7B72"}}},{content:" 7860",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"# Command to run Langflow",props:{style:{color:"#8B949E"}}}]},{tokens:[{content:"CMD",props:{style:{color:"#FF7B72"}}},{content:" [",props:{style:{color:"#C9D1D9"}}},{content:'"python"',props:{style:{color:"#A5D6FF"}}},{content:", ",props:{style:{color:"#C9D1D9"}}},{content:'"-m"',props:{style:{color:"#A5D6FF"}}},{content:", ",props:{style:{color:"#C9D1D9"}}},{content:'"langflow"',props:{style:{color:"#A5D6FF"}}},{content:", ",props:{style:{color:"#C9D1D9"}}},{content:'"run"',props:{style:{color:"#A5D6FF"}}},{content:", ",props:{style:{color:"#C9D1D9"}}},{content:'"--host"',props:{style:{color:"#A5D6FF"}}},{content:", ",props:{style:{color:"#C9D1D9"}}},{content:'"0.0.0.0"',props:{style:{color:"#A5D6FF"}}},{content:", ",props:{style:{color:"#C9D1D9"}}},{content:'"--port"',props:{style:{color:"#A5D6FF"}}},{content:", ",props:{style:{color:"#C9D1D9"}}},{content:'"7860"',props:{style:{color:"#A5D6FF"}}},{content:"]",props:{style:{color:"#C9D1D9"}}}]}],lang:"dockerfile"},annotations:[]}]}),"\n",(0,s.jsx)(e.p,{children:"To use this custom Dockerfile, do the following:"}),"\n",(0,s.jsxs)(e.ol,{children:["\n",(0,s.jsxs)(e.li,{children:["\n",(0,s.jsx)(e.p,{children:"Create a directory for your custom Langflow setup:"}),"\n",(0,s.jsx)(p.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"mkdir ",props:{style:{color:"#FFA657"}}},{content:"langflow-custom",props:{style:{color:"#A5D6FF"}}},{content:" && ",props:{style:{color:"#C9D1D9"}}},{content:"cd ",props:{style:{color:"#79C0FF"}}},{content:"langflow-custom",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n"]}),"\n",(0,s.jsxs)(e.li,{children:["\n",(0,s.jsxs)(e.p,{children:["Create the necessary directory structure for your custom code.\nIn this example, Langflow expects ",(0,s.jsx)(e.code,{children:"memory.py"})," to exist in the ",(0,s.jsx)(e.code,{children:"/helpers"})," directory, so you create a directory in that location."]}),"\n",(0,s.jsx)(p.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"mkdir ",props:{style:{color:"#FFA657"}}},{content:"-p ",props:{style:{color:"#79C0FF"}}},{content:"src/backend/base/langflow/components/helpers",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n"]}),"\n",(0,s.jsxs)(e.li,{children:["\n",(0,s.jsxs)(e.p,{children:["Place your modified ",(0,s.jsx)(e.code,{children:"memory.py"})," file in the ",(0,s.jsx)(e.code,{children:"/helpers"})," directory."]}),"\n"]}),"\n",(0,s.jsxs)(e.li,{children:["\n",(0,s.jsxs)(e.p,{children:["Create a new file named ",(0,s.jsx)(e.code,{children:"Dockerfile"})," in your ",(0,s.jsx)(e.code,{children:"langflow-custom"})," directory, and then copy the Dockerfile contents shown above into it."]}),"\n"]}),"\n",(0,s.jsxs)(e.li,{children:["\n",(0,s.jsx)(e.p,{children:"Build and run the image:"}),"\n",(0,s.jsx)(p.Code,{codeConfig:d,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"docker ",props:{style:{color:"#FFA657"}}},{content:"build ",props:{style:{color:"#A5D6FF"}}},{content:"-t ",props:{style:{color:"#79C0FF"}}},{content:"myuser/langflow-custom:",props:{style:{color:"#A5D6FF"}}},{content:"1.0.0 ",props:{style:{color:"#79C0FF"}}},{content:".",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"docker ",props:{style:{color:"#FFA657"}}},{content:"run ",props:{style:{color:"#A5D6FF"}}},{content:"-p ",props:{style:{color:"#79C0FF"}}},{content:"7860:",props:{style:{color:"#A5D6FF"}}},{content:"7860 ",props:{style:{color:"#79C0FF"}}},{content:"myuser/langflow-custom:",props:{style:{color:"#A5D6FF"}}},{content:"1.0.0",props:{style:{color:"#79C0FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(e.p,{children:"This approach can be adapted for any other components or custom code you want to add to Langflow by modifying the file paths and component names."})]})}function u(o={}){const{wrapper:e}={...(0,r.R)(),...o.components};return e?(0,s.jsx)(e,{...o,children:(0,s.jsx)(y,{...o})}):y(o)}function f(o,e){throw new Error("Expected "+(e?"component":"object")+" `"+o+"` to be defined: you likely forgot to import, pass, or provide it.")}}}]); \ No newline at end of file diff --git a/assets/js/e6c6a4d2.d45369b7.js b/assets/js/e6c6a4d2.ae93acbb.js similarity index 57% rename from assets/js/e6c6a4d2.d45369b7.js rename to assets/js/e6c6a4d2.ae93acbb.js index 217b76d733..2a8429287d 100644 --- a/assets/js/e6c6a4d2.d45369b7.js +++ b/assets/js/e6c6a4d2.ae93acbb.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.5.0.post1"},"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 \\"cillum1ff\\": \\"\\",\\n \\"reprehenderit_e8\\": \\"\\"\\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.5.0.post1"},"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 \\"in_65\\": \\"\\",\\n \\"fugiat_4\\": \\"\\",\\n \\"ina\\": \\"\\",\\n \\"laborum264\\": \\"\\"\\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.6a253553.js b/assets/js/runtime~main.fb37179a.js similarity index 98% rename from assets/js/runtime~main.6a253553.js rename to assets/js/runtime~main.fb37179a.js index 6b8bed758e..d936b1b4ec 100644 --- a/assets/js/runtime~main.6a253553.js +++ b/assets/js/runtime~main.fb37179a.js @@ -1 +1 @@ -(()=>{"use strict";var e,a,f,d,c,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var f=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(f.exports,f,f.exports,r),f.loaded=!0,f.exports}r.m=b,r.c=t,e=[],r.O=(a,f,d,c)=>{if(!f){var b=1/0;for(i=0;i=c)&&Object.keys(r.O).every(e=>r.O[e](f[o]))?f.splice(o--,1):(t=!1,c0&&e[i-1][2]>c;i--)e[i]=e[i-1];e[i]=[f,d,c]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},f=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,d){if(1&d&&(e=this(e)),8&d)return e;if("object"==typeof e&&e){if(4&d&&e.__esModule)return e;if(16&d&&"function"==typeof e.then)return e}var c=Object.create(null);r.r(c);var b={};a=a||[null,f({}),f([]),f(f)];for(var t=2&d&&e;"object"==typeof t&&!~a.indexOf(t);t=f(t))Object.getOwnPropertyNames(t).forEach(a=>b[a]=()=>e[a]);return b.default=()=>e,r.d(c,b),c},r.d=(e,a)=>{for(var f in a)r.o(a,f)&&!r.o(e,f)&&Object.defineProperty(e,f,{enumerable:!0,get:a[f]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((a,f)=>(r.f[f](e,a),a),[])),r.u=e=>"assets/js/"+({11:"d2df9b4e",15:"d803fa53",31:"03e862ce",38:"a99a45c9",78:"b768a3a5",118:"650a6085",126:"ae70dfbf",129:"dfa3dc90",188:"7f7a8893",191:"c643a6d5",230:"bc63ae25",253:"bb45d4f9",299:"9b5a408c",351:"b9acb8d9",368:"07c30ae4",375:"3d81f1cf",417:"93e16042",548:"37f47bc1",598:"db4f3bbd",606:"1d59d55f",692:"393c45a3",743:"e0f2017c",750:"33b5ee95",768:"6d684b63",785:"5f59ded8",787:"672a0eba",800:"a4c0ff01",824:"5015646b",879:"8bee5443",957:"c141421f",964:"05d835b4",1006:"47e58a89",1022:"1f19c1a1",1035:"24d32e91",1068:"f4c28b6b",1162:"f7e6b9d6",1185:"c2de64b8",1193:"444a6da6",1303:"41d45d82",1308:"ec030ab7",1361:"ff296c8d",1399:"16ceb5d2",1408:"2fc7e024",1426:"220d55f5",1488:"ac3cc3f5",1490:"0f761898",1500:"1e9025f7",1515:"2c05a87f",1556:"264ffc80",1567:"22dd74f7",1625:"92852ade",1628:"07e388ca",1690:"41a97a99",1845:"2ab0d4f5",1895:"d375ca1d",1956:"fe6f9601",2073:"7b7db446",2089:"ad06d5f0",2100:"9cc9f218",2138:"1a4e3797",2272:"ca5faf5d",2273:"e756fa26",2307:"8bd4a540",2323:"b9f9404d",2348:"f2da9399",2360:"017d425f",2423:"19bcb67f",2457:"46abd5bb",2469:"cd086441",2475:"1ab69cbd",2495:"f735f5f3",2551:"394022bb",2565:"622fd833",2624:"5aaddd60",2642:"ad13630c",2651:"8cd0650d",2777:"b3ba68b4",2818:"a9b73094",3094:"46d346a5",3147:"4e56251d",3164:"67f2dc6c",3225:"99a4401d",3240:"b079b393",3247:"f0b67137",3263:"730da84e",3274:"564a0250",3347:"b5257597",3361:"8f633f11",3468:"c76bd485",3549:"6d20d6ec",3576:"64045095",3694:"c2b1730c",3795:"c85076de",3832:"c3d82421",3859:"7679ca6e",3934:"e190040d",3953:"238e6167",4036:"fbcfc90d",4085:"cb17b4e0",4218:"d5bb0e16",4223:"f01590dc",4314:"f6a246db",4341:"e1a0f423",4384:"622bdc6f",4573:"baacc2a1",4614:"e55b8e98",4645:"fef056e9",4656:"b37620f5",4778:"e189eece",4784:"438e4337",4841:"8298c1cb",4867:"d73246f8",4876:"44691977",4891:"ca67d85f",4907:"86116998",4954:"a71efd4a",5107:"10156854",5110:"e9fe1d10",5138:"309383dc",5144:"944c5f91",5179:"41e3c105",5200:"ff7f32ba",5281:"a0511a5b",5284:"64ca91f1",5339:"9447891f",5352:"e627b1b2",5412:"a6d50436",5467:"40d13080",5474:"d175aa8b",5482:"9895db20",5513:"20d49d07",5514:"02955c09",5628:"bd7ab245",5657:"e82d58ff",5673:"73af8c33",5716:"946d1cee",5739:"69079906",5742:"aba21aa0",5757:"ad42ff54",5761:"7f193c41",5772:"4e7126f8",5799:"364e949f",5838:"bbb8ec1d",5865:"e1766139",5866:"3b577cbb",5883:"61cfab8e",5894:"f178e9b3",6003:"4d983c8e",6006:"7819cc1c",6010:"60c70af6",6053:"dfc50084",6063:"464a5f06",6080:"4d15791b",6108:"2fed9fb3",6214:"b1220dbd",6224:"ef9aa223",6281:"c96ce3ed",6311:"cce672fb",6330:"5d73b2d0",6332:"873508e7",6350:"188ee668",6419:"96eb0e67",6445:"9fb9a766",6473:"4c5e977b",6559:"6f13807a",6608:"391afd3f",6649:"02e43f39",6682:"5a6d6120",6688:"388c3769",6753:"ff349d2f",6757:"86bd0a2e",6801:"acefda8b",6855:"0d8750f2",6920:"c817e236",6934:"d745f4e6",6949:"b36bb719",7098:"a7bd4aaa",7108:"688feaef",7142:"d0c1f670",7165:"547df4a1",7253:"709203b3",7257:"8321259f",7324:"ab072087",7339:"7a774ddf",7356:"2ea623f2",7414:"7a88e433",7472:"744aaf8b",7507:"651ef245",7512:"4c09a7b3",7713:"3a82b27e",7774:"8e9a8774",7800:"f48363a4",7807:"1a8a0a64",7824:"2b56b65e",7841:"0132780e",7859:"593d9d00",7894:"0f44198a",7902:"619c7267",7968:"9b0af131",8064:"274fd934",8069:"e267ad05",8082:"08d5c80a",8085:"cc44357e",8102:"019dbd1f",8184:"222029a9",8188:"ecd67556",8196:"75a9e1e0",8208:"216e3ed7",8268:"a4b6c971",8298:"153f2b62",8304:"73d1a090",8323:"b109d082",8374:"261f8123",8392:"20177945",8401:"17896441",8483:"a84e1c02",8504:"e6c6a4d2",8571:"da1ad91e",8593:"56350599",8607:"681e5335",8641:"8a61012d",8649:"7de42fc9",8667:"4bc8c03c",8679:"3705a9c0",8702:"42962acd",8750:"8a484c94",8790:"bfca1e36",8963:"56c23a02",8978:"aeae39fc",8990:"5f1a63c6",9033:"9f55b2fc",9036:"850d3674",9048:"a94703ab",9099:"b1bc5ffe",9126:"169603ea",9213:"62d1268c",9227:"7e40e6b3",9264:"c7f32161",9315:"16faf8bf",9331:"ffcd190c",9363:"f3312674",9371:"991799c5",9431:"cd8dccb5",9459:"97254d1d",9476:"57c9a2b8",9479:"4e038a6a",9483:"7823fa72",9509:"49311ca0",9555:"dedd5914",9592:"e24b341f",9610:"453ae64a",9619:"29b8e27a",9640:"3b25a2ae",9647:"5e95c892",9648:"e3230154",9705:"ee3b5967",9712:"d8c8efb9",9731:"52edee88",9751:"25255263",9752:"72d61395",9781:"b796be74",9839:"54980a8a",9857:"09f5326a",9888:"be76515e",9905:"43df3697",9976:"230d5fdc"}[e]||e)+"."+{11:"ee0a3ee3",15:"de4e342e",31:"26dc4e99",38:"12b12fae",78:"e0881ef5",118:"21566c98",126:"cb14c9cb",129:"7127ec5b",188:"f4ad3131",191:"edff055d",230:"b57a23a7",253:"58737783",299:"bdeb4e18",351:"7d92181c",368:"fef33bfb",375:"57ca40a5",416:"3c613765",417:"fc55d568",548:"2f9ca0a4",598:"f25781b8",606:"7567be2b",692:"b54170c7",743:"d28ebffd",750:"d772ec7a",768:"99c78c40",785:"ddbc79b6",787:"341d64e3",800:"d44b313b",824:"1e889f87",879:"4d8ad049",957:"da9e1d2b",964:"ced13117",1006:"707a09c8",1022:"d46d4330",1035:"74d533fb",1068:"1aa07666",1162:"846917f8",1185:"fd7f55b7",1193:"cab809b5",1303:"3d43a265",1308:"054eca2b",1361:"3c3f429c",1399:"6a6d7cd7",1408:"68d72460",1426:"83c9e864",1488:"feb8009a",1490:"4921bca2",1500:"1d36ec42",1515:"6f02ae90",1556:"c5e65a31",1567:"824e3481",1625:"14cdddbe",1628:"8e7307a0",1690:"dca3012e",1845:"6e34007e",1895:"2d13013d",1956:"6cc326f3",2073:"a62c0e8f",2089:"141eb33f",2100:"747a02c2",2138:"f62f93d0",2237:"8bc4ac99",2272:"5af6bdf1",2273:"1f2d928d",2307:"966b12dc",2323:"0f523a08",2348:"f0b98e96",2360:"13d42b99",2423:"78329784",2457:"80d26efc",2469:"960c2e83",2475:"30fb7928",2495:"b10a2481",2551:"4668f2c8",2565:"dde8d0f5",2624:"270681fd",2642:"2b4802bc",2651:"ca72ef0a",2777:"f3f737db",2818:"1c1a2f0d",3094:"57a484bb",3147:"92f4c7df",3164:"c41fea74",3225:"f4c930e3",3240:"2330e37c",3247:"dda1940a",3263:"0183b7e3",3274:"2260e55a",3347:"0cb92093",3361:"f3fe7af4",3468:"261e627c",3477:"a7eba177",3549:"8bbef2b3",3576:"8a47b866",3694:"f8c0479d",3795:"185f4ac0",3832:"54c9637f",3859:"08f4a6d2",3934:"6955d6c0",3953:"df7f0bae",4036:"5e8430f6",4085:"bea8818a",4218:"7bfbfdf9",4223:"6e9a76ac",4314:"499c51f9",4341:"e6a1bb02",4384:"46125b86",4573:"e7ddc6f8",4614:"f80d2f4d",4645:"a81075b1",4656:"0af3186e",4754:"5b9f9c4a",4778:"0ab1de71",4784:"2850454f",4841:"11ff17e7",4867:"fd3a87c6",4876:"0577edc0",4891:"a37b37df",4907:"bead07c1",4954:"43103154",5107:"d00d19cd",5110:"3e4909b4",5138:"afe151cb",5144:"3195e200",5179:"ca564891",5200:"ac2c7408",5281:"a41c4fe4",5284:"9a1ac6d4",5339:"bdef02a0",5352:"9fcb9075",5412:"b3f7d55a",5467:"f78004bb",5474:"074af722",5482:"66295a42",5513:"5ed04f5c",5514:"5765db12",5628:"7f3691c6",5657:"d82dec92",5673:"af9e481c",5716:"3e6dabc0",5739:"fc012235",5742:"60b1d5b2",5757:"efbc375f",5761:"f1606c6d",5772:"6298bef5",5799:"76948292",5838:"5766cfc9",5865:"5f49417d",5866:"e1a54aee",5883:"7d7b0c34",5894:"7b6c867a",6003:"4371ec66",6006:"e7fdd9e0",6010:"c74728ad",6053:"62555e59",6063:"23a00398",6080:"d7040d78",6108:"61ef4fb2",6214:"85b870d8",6224:"b0360895",6281:"2d0ca3f3",6311:"8653b4ca",6330:"c1cc298a",6332:"228b947b",6350:"4b95a419",6419:"e6eeb5a6",6445:"257386eb",6473:"b5e32ff9",6559:"5d0db366",6608:"5959ef12",6649:"0ea7221f",6682:"ee292934",6688:"a09e1894",6753:"5143c73f",6757:"168201ac",6801:"b7d69f09",6855:"aa429f30",6920:"e0632a00",6934:"a578bc85",6949:"ef6c0edc",7098:"fc1f6434",7108:"a251e652",7142:"8f7d5522",7165:"1940f465",7253:"26f982ab",7257:"69a169c8",7324:"bd3f5fdb",7339:"350f484c",7356:"d381c765",7397:"385da999",7414:"eab03115",7472:"ec3ce7db",7507:"64b2ab53",7512:"251c514e",7713:"0a9565a6",7774:"1b22f20b",7800:"f92863e9",7807:"db46a006",7824:"8081cbe9",7841:"faf804a1",7859:"a94b7977",7894:"a7021e43",7902:"ac0023f6",7968:"b36f8529",8064:"2b2c4924",8069:"9351944e",8082:"4bd9ac8f",8085:"51f6d0db",8102:"06a5c133",8158:"20de8b80",8184:"f223b902",8188:"4736ecea",8196:"8409b15b",8208:"000afae6",8268:"ede8bab6",8298:"d9604336",8304:"1146f31c",8323:"4bd39e3a",8374:"4b006095",8392:"f35088b0",8401:"23c55f2d",8483:"a656161d",8504:"d45369b7",8571:"7ba5573d",8593:"c126b5fb",8607:"097e3679",8641:"1497af0e",8649:"f40201c4",8667:"a0f46cd3",8679:"b71a6a45",8702:"a7523d67",8750:"ab22b117",8790:"c24795d7",8913:"47209f3b",8963:"520f842a",8978:"641ff1a5",8990:"55e64b78",9033:"61d4719f",9036:"b970c848",9048:"bdc69ee3",9099:"decaeb70",9126:"3a0b3e32",9148:"2b76b49f",9213:"a6fc8fd4",9227:"1f2c6944",9264:"f2a5ff70",9315:"20691811",9331:"92f8f10c",9363:"6be68f79",9371:"da2c97f3",9431:"5b4b6ef6",9459:"11de3750",9476:"f50300b7",9479:"c2b519f3",9483:"61933302",9495:"49162ef8",9509:"329a1685",9555:"362358d6",9592:"762928fe",9610:"bbebb079",9619:"5ab2715e",9640:"b45c3017",9647:"5cb928a1",9648:"3e8ed3ce",9705:"097cca43",9712:"48987fcd",9731:"74089fe0",9751:"fd414b25",9752:"5f89276d",9781:"207b4d64",9839:"bc817023",9857:"d319445c",9888:"9c7044bb",9905:"55d8058e",9976:"40ae1afa"}[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),d={},c="langflow-docs:",r.l=(e,a,f,b)=>{if(d[e])d[e].push(a);else{var t,o;if(void 0!==f)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var c=d[e];if(delete d[e],t.parentNode&&t.parentNode.removeChild(t),c&&c.forEach(e=>e(f)),a)return a(f)},s=setTimeout(u.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=u.bind(null,t.onerror),t.onload=u.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),r.p="/",r.gca=function(e){return e={10156854:"5107",17896441:"8401",20177945:"8392",25255263:"9751",44691977:"4876",56350599:"8593",64045095:"3576",69079906:"5739",86116998:"4907",d2df9b4e:"11",d803fa53:"15","03e862ce":"31",a99a45c9:"38",b768a3a5:"78","650a6085":"118",ae70dfbf:"126",dfa3dc90:"129","7f7a8893":"188",c643a6d5:"191",bc63ae25:"230",bb45d4f9:"253","9b5a408c":"299",b9acb8d9:"351","07c30ae4":"368","3d81f1cf":"375","93e16042":"417","37f47bc1":"548",db4f3bbd:"598","1d59d55f":"606","393c45a3":"692",e0f2017c:"743","33b5ee95":"750","6d684b63":"768","5f59ded8":"785","672a0eba":"787",a4c0ff01:"800","5015646b":"824","8bee5443":"879",c141421f:"957","05d835b4":"964","47e58a89":"1006","1f19c1a1":"1022","24d32e91":"1035",f4c28b6b:"1068",f7e6b9d6:"1162",c2de64b8:"1185","444a6da6":"1193","41d45d82":"1303",ec030ab7:"1308",ff296c8d:"1361","16ceb5d2":"1399","2fc7e024":"1408","220d55f5":"1426",ac3cc3f5:"1488","0f761898":"1490","1e9025f7":"1500","2c05a87f":"1515","264ffc80":"1556","22dd74f7":"1567","92852ade":"1625","07e388ca":"1628","41a97a99":"1690","2ab0d4f5":"1845",d375ca1d:"1895",fe6f9601:"1956","7b7db446":"2073",ad06d5f0:"2089","9cc9f218":"2100","1a4e3797":"2138",ca5faf5d:"2272",e756fa26:"2273","8bd4a540":"2307",b9f9404d:"2323",f2da9399:"2348","017d425f":"2360","19bcb67f":"2423","46abd5bb":"2457",cd086441:"2469","1ab69cbd":"2475",f735f5f3:"2495","394022bb":"2551","622fd833":"2565","5aaddd60":"2624",ad13630c:"2642","8cd0650d":"2651",b3ba68b4:"2777",a9b73094:"2818","46d346a5":"3094","4e56251d":"3147","67f2dc6c":"3164","99a4401d":"3225",b079b393:"3240",f0b67137:"3247","730da84e":"3263","564a0250":"3274",b5257597:"3347","8f633f11":"3361",c76bd485:"3468","6d20d6ec":"3549",c2b1730c:"3694",c85076de:"3795",c3d82421:"3832","7679ca6e":"3859",e190040d:"3934","238e6167":"3953",fbcfc90d:"4036",cb17b4e0:"4085",d5bb0e16:"4218",f01590dc:"4223",f6a246db:"4314",e1a0f423:"4341","622bdc6f":"4384",baacc2a1:"4573",e55b8e98:"4614",fef056e9:"4645",b37620f5:"4656",e189eece:"4778","438e4337":"4784","8298c1cb":"4841",d73246f8:"4867",ca67d85f:"4891",a71efd4a:"4954",e9fe1d10:"5110","309383dc":"5138","944c5f91":"5144","41e3c105":"5179",ff7f32ba:"5200",a0511a5b:"5281","64ca91f1":"5284","9447891f":"5339",e627b1b2:"5352",a6d50436:"5412","40d13080":"5467",d175aa8b:"5474","9895db20":"5482","20d49d07":"5513","02955c09":"5514",bd7ab245:"5628",e82d58ff:"5657","73af8c33":"5673","946d1cee":"5716",aba21aa0:"5742",ad42ff54:"5757","7f193c41":"5761","4e7126f8":"5772","364e949f":"5799",bbb8ec1d:"5838",e1766139:"5865","3b577cbb":"5866","61cfab8e":"5883",f178e9b3:"5894","4d983c8e":"6003","7819cc1c":"6006","60c70af6":"6010",dfc50084:"6053","464a5f06":"6063","4d15791b":"6080","2fed9fb3":"6108",b1220dbd:"6214",ef9aa223:"6224",c96ce3ed:"6281",cce672fb:"6311","5d73b2d0":"6330","873508e7":"6332","188ee668":"6350","96eb0e67":"6419","9fb9a766":"6445","4c5e977b":"6473","6f13807a":"6559","391afd3f":"6608","02e43f39":"6649","5a6d6120":"6682","388c3769":"6688",ff349d2f:"6753","86bd0a2e":"6757",acefda8b:"6801","0d8750f2":"6855",c817e236:"6920",d745f4e6:"6934",b36bb719:"6949",a7bd4aaa:"7098","688feaef":"7108",d0c1f670:"7142","547df4a1":"7165","709203b3":"7253","8321259f":"7257",ab072087:"7324","7a774ddf":"7339","2ea623f2":"7356","7a88e433":"7414","744aaf8b":"7472","651ef245":"7507","4c09a7b3":"7512","3a82b27e":"7713","8e9a8774":"7774",f48363a4:"7800","1a8a0a64":"7807","2b56b65e":"7824","0132780e":"7841","593d9d00":"7859","0f44198a":"7894","619c7267":"7902","9b0af131":"7968","274fd934":"8064",e267ad05:"8069","08d5c80a":"8082",cc44357e:"8085","019dbd1f":"8102","222029a9":"8184",ecd67556:"8188","75a9e1e0":"8196","216e3ed7":"8208",a4b6c971:"8268","153f2b62":"8298","73d1a090":"8304",b109d082:"8323","261f8123":"8374",a84e1c02:"8483",e6c6a4d2:"8504",da1ad91e:"8571","681e5335":"8607","8a61012d":"8641","7de42fc9":"8649","4bc8c03c":"8667","3705a9c0":"8679","42962acd":"8702","8a484c94":"8750",bfca1e36:"8790","56c23a02":"8963",aeae39fc:"8978","5f1a63c6":"8990","9f55b2fc":"9033","850d3674":"9036",a94703ab:"9048",b1bc5ffe:"9099","169603ea":"9126","62d1268c":"9213","7e40e6b3":"9227",c7f32161:"9264","16faf8bf":"9315",ffcd190c:"9331",f3312674:"9363","991799c5":"9371",cd8dccb5:"9431","97254d1d":"9459","57c9a2b8":"9476","4e038a6a":"9479","7823fa72":"9483","49311ca0":"9509",dedd5914:"9555",e24b341f:"9592","453ae64a":"9610","29b8e27a":"9619","3b25a2ae":"9640","5e95c892":"9647",e3230154:"9648",ee3b5967:"9705",d8c8efb9:"9712","52edee88":"9731","72d61395":"9752",b796be74:"9781","54980a8a":"9839","09f5326a":"9857",be76515e:"9888","43df3697":"9905","230d5fdc":"9976"}[e]||e,r.p+r.u(e)},(()=>{var e={5354:0,1869:0};r.f.j=(a,f)=>{var d=r.o(e,a)?e[a]:void 0;if(0!==d)if(d)f.push(d[2]);else if(/^(1869|5354)$/.test(a))e[a]=0;else{var c=new Promise((f,c)=>d=e[a]=[f,c]);f.push(d[2]=c);var b=r.p+r.u(a),t=new Error;r.l(b,f=>{if(r.o(e,a)&&(0!==(d=e[a])&&(e[a]=void 0),d)){var c=f&&("load"===f.type?"missing":f.type),b=f&&f.target&&f.target.src;t.message="Loading chunk "+a+" failed.\n("+c+": "+b+")",t.name="ChunkLoadError",t.type=c,t.request=b,d[1](t)}},"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,f)=>{var d,c,b=f[0],t=f[1],o=f[2],n=0;if(b.some(a=>0!==e[a])){for(d in t)r.o(t,d)&&(r.m[d]=t[d]);if(o)var i=o(r)}for(a&&a(f);n{"use strict";var e,a,f,d,c,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var f=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(f.exports,f,f.exports,r),f.loaded=!0,f.exports}r.m=b,r.c=t,e=[],r.O=(a,f,d,c)=>{if(!f){var b=1/0;for(i=0;i=c)&&Object.keys(r.O).every(e=>r.O[e](f[o]))?f.splice(o--,1):(t=!1,c0&&e[i-1][2]>c;i--)e[i]=e[i-1];e[i]=[f,d,c]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},f=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,d){if(1&d&&(e=this(e)),8&d)return e;if("object"==typeof e&&e){if(4&d&&e.__esModule)return e;if(16&d&&"function"==typeof e.then)return e}var c=Object.create(null);r.r(c);var b={};a=a||[null,f({}),f([]),f(f)];for(var t=2&d&&e;"object"==typeof t&&!~a.indexOf(t);t=f(t))Object.getOwnPropertyNames(t).forEach(a=>b[a]=()=>e[a]);return b.default=()=>e,r.d(c,b),c},r.d=(e,a)=>{for(var f in a)r.o(a,f)&&!r.o(e,f)&&Object.defineProperty(e,f,{enumerable:!0,get:a[f]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((a,f)=>(r.f[f](e,a),a),[])),r.u=e=>"assets/js/"+({11:"d2df9b4e",15:"d803fa53",31:"03e862ce",38:"a99a45c9",78:"b768a3a5",118:"650a6085",126:"ae70dfbf",129:"dfa3dc90",188:"7f7a8893",191:"c643a6d5",230:"bc63ae25",253:"bb45d4f9",299:"9b5a408c",351:"b9acb8d9",368:"07c30ae4",375:"3d81f1cf",417:"93e16042",548:"37f47bc1",598:"db4f3bbd",606:"1d59d55f",692:"393c45a3",743:"e0f2017c",750:"33b5ee95",768:"6d684b63",785:"5f59ded8",787:"672a0eba",800:"a4c0ff01",824:"5015646b",879:"8bee5443",957:"c141421f",964:"05d835b4",1006:"47e58a89",1022:"1f19c1a1",1035:"24d32e91",1068:"f4c28b6b",1162:"f7e6b9d6",1185:"c2de64b8",1193:"444a6da6",1303:"41d45d82",1308:"ec030ab7",1361:"ff296c8d",1399:"16ceb5d2",1408:"2fc7e024",1426:"220d55f5",1488:"ac3cc3f5",1490:"0f761898",1500:"1e9025f7",1515:"2c05a87f",1556:"264ffc80",1567:"22dd74f7",1625:"92852ade",1628:"07e388ca",1690:"41a97a99",1845:"2ab0d4f5",1895:"d375ca1d",1956:"fe6f9601",2073:"7b7db446",2089:"ad06d5f0",2100:"9cc9f218",2138:"1a4e3797",2272:"ca5faf5d",2273:"e756fa26",2307:"8bd4a540",2323:"b9f9404d",2348:"f2da9399",2360:"017d425f",2423:"19bcb67f",2457:"46abd5bb",2469:"cd086441",2475:"1ab69cbd",2495:"f735f5f3",2551:"394022bb",2565:"622fd833",2624:"5aaddd60",2642:"ad13630c",2651:"8cd0650d",2777:"b3ba68b4",2818:"a9b73094",3094:"46d346a5",3147:"4e56251d",3164:"67f2dc6c",3225:"99a4401d",3240:"b079b393",3247:"f0b67137",3263:"730da84e",3274:"564a0250",3347:"b5257597",3361:"8f633f11",3468:"c76bd485",3549:"6d20d6ec",3576:"64045095",3694:"c2b1730c",3795:"c85076de",3832:"c3d82421",3859:"7679ca6e",3934:"e190040d",3953:"238e6167",4036:"fbcfc90d",4085:"cb17b4e0",4218:"d5bb0e16",4223:"f01590dc",4314:"f6a246db",4341:"e1a0f423",4384:"622bdc6f",4573:"baacc2a1",4614:"e55b8e98",4645:"fef056e9",4656:"b37620f5",4778:"e189eece",4784:"438e4337",4841:"8298c1cb",4867:"d73246f8",4876:"44691977",4891:"ca67d85f",4907:"86116998",4954:"a71efd4a",5107:"10156854",5110:"e9fe1d10",5138:"309383dc",5144:"944c5f91",5179:"41e3c105",5200:"ff7f32ba",5281:"a0511a5b",5284:"64ca91f1",5339:"9447891f",5352:"e627b1b2",5412:"a6d50436",5467:"40d13080",5474:"d175aa8b",5482:"9895db20",5513:"20d49d07",5514:"02955c09",5628:"bd7ab245",5657:"e82d58ff",5673:"73af8c33",5716:"946d1cee",5739:"69079906",5742:"aba21aa0",5757:"ad42ff54",5761:"7f193c41",5772:"4e7126f8",5799:"364e949f",5838:"bbb8ec1d",5865:"e1766139",5866:"3b577cbb",5883:"61cfab8e",5894:"f178e9b3",6003:"4d983c8e",6006:"7819cc1c",6010:"60c70af6",6053:"dfc50084",6063:"464a5f06",6080:"4d15791b",6108:"2fed9fb3",6214:"b1220dbd",6224:"ef9aa223",6281:"c96ce3ed",6311:"cce672fb",6330:"5d73b2d0",6332:"873508e7",6350:"188ee668",6419:"96eb0e67",6445:"9fb9a766",6473:"4c5e977b",6559:"6f13807a",6608:"391afd3f",6649:"02e43f39",6682:"5a6d6120",6688:"388c3769",6753:"ff349d2f",6757:"86bd0a2e",6801:"acefda8b",6855:"0d8750f2",6920:"c817e236",6934:"d745f4e6",6949:"b36bb719",7098:"a7bd4aaa",7108:"688feaef",7142:"d0c1f670",7165:"547df4a1",7253:"709203b3",7257:"8321259f",7324:"ab072087",7339:"7a774ddf",7356:"2ea623f2",7414:"7a88e433",7472:"744aaf8b",7507:"651ef245",7512:"4c09a7b3",7713:"3a82b27e",7774:"8e9a8774",7800:"f48363a4",7807:"1a8a0a64",7824:"2b56b65e",7841:"0132780e",7859:"593d9d00",7894:"0f44198a",7902:"619c7267",7968:"9b0af131",8064:"274fd934",8069:"e267ad05",8082:"08d5c80a",8085:"cc44357e",8102:"019dbd1f",8184:"222029a9",8188:"ecd67556",8196:"75a9e1e0",8208:"216e3ed7",8268:"a4b6c971",8298:"153f2b62",8304:"73d1a090",8323:"b109d082",8374:"261f8123",8392:"20177945",8401:"17896441",8483:"a84e1c02",8504:"e6c6a4d2",8571:"da1ad91e",8593:"56350599",8607:"681e5335",8641:"8a61012d",8649:"7de42fc9",8667:"4bc8c03c",8679:"3705a9c0",8702:"42962acd",8750:"8a484c94",8790:"bfca1e36",8963:"56c23a02",8978:"aeae39fc",8990:"5f1a63c6",9033:"9f55b2fc",9036:"850d3674",9048:"a94703ab",9099:"b1bc5ffe",9126:"169603ea",9213:"62d1268c",9227:"7e40e6b3",9264:"c7f32161",9315:"16faf8bf",9331:"ffcd190c",9363:"f3312674",9371:"991799c5",9431:"cd8dccb5",9459:"97254d1d",9476:"57c9a2b8",9479:"4e038a6a",9483:"7823fa72",9509:"49311ca0",9555:"dedd5914",9592:"e24b341f",9610:"453ae64a",9619:"29b8e27a",9640:"3b25a2ae",9647:"5e95c892",9648:"e3230154",9705:"ee3b5967",9712:"d8c8efb9",9731:"52edee88",9751:"25255263",9752:"72d61395",9781:"b796be74",9839:"54980a8a",9857:"09f5326a",9888:"be76515e",9905:"43df3697",9976:"230d5fdc"}[e]||e)+"."+{11:"ee0a3ee3",15:"de4e342e",31:"26dc4e99",38:"12b12fae",78:"e0881ef5",118:"21566c98",126:"cb14c9cb",129:"7127ec5b",188:"f4ad3131",191:"edff055d",230:"b57a23a7",253:"58737783",299:"bdeb4e18",351:"7d92181c",368:"fef33bfb",375:"57ca40a5",416:"3c613765",417:"fc55d568",548:"2f9ca0a4",598:"f25781b8",606:"7567be2b",692:"b54170c7",743:"d28ebffd",750:"d772ec7a",768:"99c78c40",785:"ddbc79b6",787:"341d64e3",800:"d44b313b",824:"1e889f87",879:"4d8ad049",957:"da9e1d2b",964:"ced13117",1006:"707a09c8",1022:"d46d4330",1035:"74d533fb",1068:"1aa07666",1162:"846917f8",1185:"fd7f55b7",1193:"cab809b5",1303:"3d43a265",1308:"054eca2b",1361:"3c3f429c",1399:"6a6d7cd7",1408:"68d72460",1426:"83c9e864",1488:"feb8009a",1490:"4921bca2",1500:"1d36ec42",1515:"6f02ae90",1556:"c5e65a31",1567:"824e3481",1625:"14cdddbe",1628:"8e7307a0",1690:"dca3012e",1845:"e830807c",1895:"2d13013d",1956:"6cc326f3",2073:"a62c0e8f",2089:"141eb33f",2100:"747a02c2",2138:"f62f93d0",2237:"8bc4ac99",2272:"5af6bdf1",2273:"1f2d928d",2307:"966b12dc",2323:"0f523a08",2348:"f0b98e96",2360:"13d42b99",2423:"78329784",2457:"80d26efc",2469:"960c2e83",2475:"30fb7928",2495:"b10a2481",2551:"4668f2c8",2565:"dde8d0f5",2624:"270681fd",2642:"2b4802bc",2651:"ca72ef0a",2777:"f3f737db",2818:"1c1a2f0d",3094:"57a484bb",3147:"92f4c7df",3164:"c41fea74",3225:"f4c930e3",3240:"2330e37c",3247:"dda1940a",3263:"0183b7e3",3274:"2260e55a",3347:"0cb92093",3361:"f3fe7af4",3468:"261e627c",3477:"a7eba177",3549:"8bbef2b3",3576:"8a47b866",3694:"f8c0479d",3795:"185f4ac0",3832:"54c9637f",3859:"08f4a6d2",3934:"6955d6c0",3953:"df7f0bae",4036:"5e8430f6",4085:"bea8818a",4218:"7bfbfdf9",4223:"6e9a76ac",4314:"499c51f9",4341:"e6a1bb02",4384:"46125b86",4573:"e7ddc6f8",4614:"f80d2f4d",4645:"a81075b1",4656:"0af3186e",4754:"5b9f9c4a",4778:"0ab1de71",4784:"2850454f",4841:"11ff17e7",4867:"fd3a87c6",4876:"0577edc0",4891:"a37b37df",4907:"bead07c1",4954:"43103154",5107:"d00d19cd",5110:"3e4909b4",5138:"afe151cb",5144:"3195e200",5179:"ca564891",5200:"ac2c7408",5281:"a41c4fe4",5284:"9a1ac6d4",5339:"bdef02a0",5352:"9fcb9075",5412:"b3f7d55a",5467:"f78004bb",5474:"074af722",5482:"66295a42",5513:"5ed04f5c",5514:"5765db12",5628:"7f3691c6",5657:"d82dec92",5673:"af9e481c",5716:"3e6dabc0",5739:"fc012235",5742:"60b1d5b2",5757:"efbc375f",5761:"f1606c6d",5772:"6298bef5",5799:"76948292",5838:"5766cfc9",5865:"5f49417d",5866:"e1a54aee",5883:"7d7b0c34",5894:"7b6c867a",6003:"4371ec66",6006:"e7fdd9e0",6010:"c74728ad",6053:"62555e59",6063:"23a00398",6080:"d7040d78",6108:"61ef4fb2",6214:"85b870d8",6224:"b0360895",6281:"2d0ca3f3",6311:"8653b4ca",6330:"c1cc298a",6332:"228b947b",6350:"4b95a419",6419:"e6eeb5a6",6445:"257386eb",6473:"b5e32ff9",6559:"5d0db366",6608:"5959ef12",6649:"0ea7221f",6682:"ee292934",6688:"a09e1894",6753:"5143c73f",6757:"168201ac",6801:"b7d69f09",6855:"aa429f30",6920:"e0632a00",6934:"a578bc85",6949:"ef6c0edc",7098:"fc1f6434",7108:"a251e652",7142:"8f7d5522",7165:"1940f465",7253:"26f982ab",7257:"69a169c8",7324:"bd3f5fdb",7339:"350f484c",7356:"d381c765",7397:"385da999",7414:"eab03115",7472:"ec3ce7db",7507:"64b2ab53",7512:"f88acd52",7713:"0a9565a6",7774:"1b22f20b",7800:"f92863e9",7807:"db46a006",7824:"8081cbe9",7841:"faf804a1",7859:"a94b7977",7894:"a7021e43",7902:"ac0023f6",7968:"b36f8529",8064:"2b2c4924",8069:"9351944e",8082:"4bd9ac8f",8085:"51f6d0db",8102:"06a5c133",8158:"20de8b80",8184:"f223b902",8188:"4736ecea",8196:"8409b15b",8208:"000afae6",8268:"ede8bab6",8298:"d9604336",8304:"1146f31c",8323:"4bd39e3a",8374:"4b006095",8392:"f35088b0",8401:"23c55f2d",8483:"a656161d",8504:"ae93acbb",8571:"7ba5573d",8593:"c126b5fb",8607:"097e3679",8641:"1497af0e",8649:"f40201c4",8667:"a0f46cd3",8679:"b71a6a45",8702:"a7523d67",8750:"ab22b117",8790:"c24795d7",8913:"47209f3b",8963:"520f842a",8978:"641ff1a5",8990:"55e64b78",9033:"61d4719f",9036:"b970c848",9048:"bdc69ee3",9099:"decaeb70",9126:"3a0b3e32",9148:"2b76b49f",9213:"a6fc8fd4",9227:"1f2c6944",9264:"f2a5ff70",9315:"20691811",9331:"92f8f10c",9363:"6be68f79",9371:"da2c97f3",9431:"5b4b6ef6",9459:"11de3750",9476:"f50300b7",9479:"c2b519f3",9483:"61933302",9495:"49162ef8",9509:"329a1685",9555:"362358d6",9592:"762928fe",9610:"bbebb079",9619:"5ab2715e",9640:"b45c3017",9647:"5cb928a1",9648:"3e8ed3ce",9705:"097cca43",9712:"48987fcd",9731:"74089fe0",9751:"fd414b25",9752:"5f89276d",9781:"207b4d64",9839:"bc817023",9857:"d319445c",9888:"9c7044bb",9905:"55d8058e",9976:"40ae1afa"}[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),d={},c="langflow-docs:",r.l=(e,a,f,b)=>{if(d[e])d[e].push(a);else{var t,o;if(void 0!==f)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var c=d[e];if(delete d[e],t.parentNode&&t.parentNode.removeChild(t),c&&c.forEach(e=>e(f)),a)return a(f)},s=setTimeout(u.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=u.bind(null,t.onerror),t.onload=u.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),r.p="/",r.gca=function(e){return e={10156854:"5107",17896441:"8401",20177945:"8392",25255263:"9751",44691977:"4876",56350599:"8593",64045095:"3576",69079906:"5739",86116998:"4907",d2df9b4e:"11",d803fa53:"15","03e862ce":"31",a99a45c9:"38",b768a3a5:"78","650a6085":"118",ae70dfbf:"126",dfa3dc90:"129","7f7a8893":"188",c643a6d5:"191",bc63ae25:"230",bb45d4f9:"253","9b5a408c":"299",b9acb8d9:"351","07c30ae4":"368","3d81f1cf":"375","93e16042":"417","37f47bc1":"548",db4f3bbd:"598","1d59d55f":"606","393c45a3":"692",e0f2017c:"743","33b5ee95":"750","6d684b63":"768","5f59ded8":"785","672a0eba":"787",a4c0ff01:"800","5015646b":"824","8bee5443":"879",c141421f:"957","05d835b4":"964","47e58a89":"1006","1f19c1a1":"1022","24d32e91":"1035",f4c28b6b:"1068",f7e6b9d6:"1162",c2de64b8:"1185","444a6da6":"1193","41d45d82":"1303",ec030ab7:"1308",ff296c8d:"1361","16ceb5d2":"1399","2fc7e024":"1408","220d55f5":"1426",ac3cc3f5:"1488","0f761898":"1490","1e9025f7":"1500","2c05a87f":"1515","264ffc80":"1556","22dd74f7":"1567","92852ade":"1625","07e388ca":"1628","41a97a99":"1690","2ab0d4f5":"1845",d375ca1d:"1895",fe6f9601:"1956","7b7db446":"2073",ad06d5f0:"2089","9cc9f218":"2100","1a4e3797":"2138",ca5faf5d:"2272",e756fa26:"2273","8bd4a540":"2307",b9f9404d:"2323",f2da9399:"2348","017d425f":"2360","19bcb67f":"2423","46abd5bb":"2457",cd086441:"2469","1ab69cbd":"2475",f735f5f3:"2495","394022bb":"2551","622fd833":"2565","5aaddd60":"2624",ad13630c:"2642","8cd0650d":"2651",b3ba68b4:"2777",a9b73094:"2818","46d346a5":"3094","4e56251d":"3147","67f2dc6c":"3164","99a4401d":"3225",b079b393:"3240",f0b67137:"3247","730da84e":"3263","564a0250":"3274",b5257597:"3347","8f633f11":"3361",c76bd485:"3468","6d20d6ec":"3549",c2b1730c:"3694",c85076de:"3795",c3d82421:"3832","7679ca6e":"3859",e190040d:"3934","238e6167":"3953",fbcfc90d:"4036",cb17b4e0:"4085",d5bb0e16:"4218",f01590dc:"4223",f6a246db:"4314",e1a0f423:"4341","622bdc6f":"4384",baacc2a1:"4573",e55b8e98:"4614",fef056e9:"4645",b37620f5:"4656",e189eece:"4778","438e4337":"4784","8298c1cb":"4841",d73246f8:"4867",ca67d85f:"4891",a71efd4a:"4954",e9fe1d10:"5110","309383dc":"5138","944c5f91":"5144","41e3c105":"5179",ff7f32ba:"5200",a0511a5b:"5281","64ca91f1":"5284","9447891f":"5339",e627b1b2:"5352",a6d50436:"5412","40d13080":"5467",d175aa8b:"5474","9895db20":"5482","20d49d07":"5513","02955c09":"5514",bd7ab245:"5628",e82d58ff:"5657","73af8c33":"5673","946d1cee":"5716",aba21aa0:"5742",ad42ff54:"5757","7f193c41":"5761","4e7126f8":"5772","364e949f":"5799",bbb8ec1d:"5838",e1766139:"5865","3b577cbb":"5866","61cfab8e":"5883",f178e9b3:"5894","4d983c8e":"6003","7819cc1c":"6006","60c70af6":"6010",dfc50084:"6053","464a5f06":"6063","4d15791b":"6080","2fed9fb3":"6108",b1220dbd:"6214",ef9aa223:"6224",c96ce3ed:"6281",cce672fb:"6311","5d73b2d0":"6330","873508e7":"6332","188ee668":"6350","96eb0e67":"6419","9fb9a766":"6445","4c5e977b":"6473","6f13807a":"6559","391afd3f":"6608","02e43f39":"6649","5a6d6120":"6682","388c3769":"6688",ff349d2f:"6753","86bd0a2e":"6757",acefda8b:"6801","0d8750f2":"6855",c817e236:"6920",d745f4e6:"6934",b36bb719:"6949",a7bd4aaa:"7098","688feaef":"7108",d0c1f670:"7142","547df4a1":"7165","709203b3":"7253","8321259f":"7257",ab072087:"7324","7a774ddf":"7339","2ea623f2":"7356","7a88e433":"7414","744aaf8b":"7472","651ef245":"7507","4c09a7b3":"7512","3a82b27e":"7713","8e9a8774":"7774",f48363a4:"7800","1a8a0a64":"7807","2b56b65e":"7824","0132780e":"7841","593d9d00":"7859","0f44198a":"7894","619c7267":"7902","9b0af131":"7968","274fd934":"8064",e267ad05:"8069","08d5c80a":"8082",cc44357e:"8085","019dbd1f":"8102","222029a9":"8184",ecd67556:"8188","75a9e1e0":"8196","216e3ed7":"8208",a4b6c971:"8268","153f2b62":"8298","73d1a090":"8304",b109d082:"8323","261f8123":"8374",a84e1c02:"8483",e6c6a4d2:"8504",da1ad91e:"8571","681e5335":"8607","8a61012d":"8641","7de42fc9":"8649","4bc8c03c":"8667","3705a9c0":"8679","42962acd":"8702","8a484c94":"8750",bfca1e36:"8790","56c23a02":"8963",aeae39fc:"8978","5f1a63c6":"8990","9f55b2fc":"9033","850d3674":"9036",a94703ab:"9048",b1bc5ffe:"9099","169603ea":"9126","62d1268c":"9213","7e40e6b3":"9227",c7f32161:"9264","16faf8bf":"9315",ffcd190c:"9331",f3312674:"9363","991799c5":"9371",cd8dccb5:"9431","97254d1d":"9459","57c9a2b8":"9476","4e038a6a":"9479","7823fa72":"9483","49311ca0":"9509",dedd5914:"9555",e24b341f:"9592","453ae64a":"9610","29b8e27a":"9619","3b25a2ae":"9640","5e95c892":"9647",e3230154:"9648",ee3b5967:"9705",d8c8efb9:"9712","52edee88":"9731","72d61395":"9752",b796be74:"9781","54980a8a":"9839","09f5326a":"9857",be76515e:"9888","43df3697":"9905","230d5fdc":"9976"}[e]||e,r.p+r.u(e)},(()=>{var e={5354:0,1869:0};r.f.j=(a,f)=>{var d=r.o(e,a)?e[a]:void 0;if(0!==d)if(d)f.push(d[2]);else if(/^(1869|5354)$/.test(a))e[a]=0;else{var c=new Promise((f,c)=>d=e[a]=[f,c]);f.push(d[2]=c);var b=r.p+r.u(a),t=new Error;r.l(b,f=>{if(r.o(e,a)&&(0!==(d=e[a])&&(e[a]=void 0),d)){var c=f&&("load"===f.type?"missing":f.type),b=f&&f.target&&f.target.src;t.message="Loading chunk "+a+" failed.\n("+c+": "+b+")",t.name="ChunkLoadError",t.type=c,t.request=b,d[1](t)}},"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,f)=>{var d,c,b=f[0],t=f[1],o=f[2],n=0;if(b.some(a=>0!==e[a])){for(d in t)r.o(t,d)&&(r.m[d]=t[d]);if(o)var i=o(r)}for(a&&a(f);n - + diff --git a/bundles-amazon.html b/bundles-amazon.html index 9834a20fce..edcddd8905 100644 --- a/bundles-amazon.html +++ b/bundles-amazon.html @@ -23,7 +23,7 @@ - + diff --git a/bundles-anthropic.html b/bundles-anthropic.html index 78b7bc1d04..df2f2bd7e0 100644 --- a/bundles-anthropic.html +++ b/bundles-anthropic.html @@ -23,7 +23,7 @@ - + diff --git a/bundles-arxiv.html b/bundles-arxiv.html index 608162b993..d199497e13 100644 --- a/bundles-arxiv.html +++ b/bundles-arxiv.html @@ -23,7 +23,7 @@ - + diff --git a/bundles-azure.html b/bundles-azure.html index 18b1ccfd0b..bfc01f922d 100644 --- a/bundles-azure.html +++ b/bundles-azure.html @@ -23,7 +23,7 @@ - + diff --git a/bundles-baidu.html b/bundles-baidu.html index 1d12615687..ae98489ed7 100644 --- a/bundles-baidu.html +++ b/bundles-baidu.html @@ -23,7 +23,7 @@ - + diff --git a/bundles-bing.html b/bundles-bing.html index 42bae702fb..9aae534f12 100644 --- a/bundles-bing.html +++ b/bundles-bing.html @@ -23,7 +23,7 @@ - + diff --git a/bundles-cloudflare.html b/bundles-cloudflare.html index 1644e9725a..61c2eddd01 100644 --- a/bundles-cloudflare.html +++ b/bundles-cloudflare.html @@ -23,7 +23,7 @@ - + diff --git a/bundles-cohere.html b/bundles-cohere.html index 8f9612e8b8..95f3bb5be5 100644 --- a/bundles-cohere.html +++ b/bundles-cohere.html @@ -23,7 +23,7 @@ - + diff --git a/bundles-datastax.html b/bundles-datastax.html index b89ae4acaf..abba04f574 100644 --- a/bundles-datastax.html +++ b/bundles-datastax.html @@ -23,7 +23,7 @@ - + diff --git a/bundles-deepseek.html b/bundles-deepseek.html index 3c39b30eef..e3fdea65f4 100644 --- a/bundles-deepseek.html +++ b/bundles-deepseek.html @@ -23,7 +23,7 @@ - + diff --git a/bundles-duckduckgo.html b/bundles-duckduckgo.html index 397da117e8..60401d6752 100644 --- a/bundles-duckduckgo.html +++ b/bundles-duckduckgo.html @@ -23,7 +23,7 @@ - + diff --git a/bundles-exa.html b/bundles-exa.html index 3251b62f87..b8a9184698 100644 --- a/bundles-exa.html +++ b/bundles-exa.html @@ -23,7 +23,7 @@ - + diff --git a/bundles-glean.html b/bundles-glean.html index 435c22ee7d..3c10ef1034 100644 --- a/bundles-glean.html +++ b/bundles-glean.html @@ -23,7 +23,7 @@ - + diff --git a/bundles-google.html b/bundles-google.html index 5ec8cd3925..96cad45dfa 100644 --- a/bundles-google.html +++ b/bundles-google.html @@ -23,7 +23,7 @@ - + diff --git a/bundles-groq.html b/bundles-groq.html index 2137a326a1..2f447be048 100644 --- a/bundles-groq.html +++ b/bundles-groq.html @@ -23,7 +23,7 @@ - + diff --git a/bundles-huggingface.html b/bundles-huggingface.html index e0cec91b33..266215f283 100644 --- a/bundles-huggingface.html +++ b/bundles-huggingface.html @@ -23,7 +23,7 @@ - + diff --git a/bundles-ibm.html b/bundles-ibm.html index 6ec85972e6..6c7a4578e7 100644 --- a/bundles-ibm.html +++ b/bundles-ibm.html @@ -23,7 +23,7 @@ - + diff --git a/bundles-icosacomputing.html b/bundles-icosacomputing.html index 241ba8c1a5..4ef5b14258 100644 --- a/bundles-icosacomputing.html +++ b/bundles-icosacomputing.html @@ -23,7 +23,7 @@ - + diff --git a/bundles-langchain.html b/bundles-langchain.html index 7abbb3223f..0f3f61c781 100644 --- a/bundles-langchain.html +++ b/bundles-langchain.html @@ -23,7 +23,7 @@ - + diff --git a/bundles-lmstudio.html b/bundles-lmstudio.html index 89a05d7a10..b54ab81f27 100644 --- a/bundles-lmstudio.html +++ b/bundles-lmstudio.html @@ -23,7 +23,7 @@ - + diff --git a/bundles-maritalk.html b/bundles-maritalk.html index d42396bfeb..edc06b3d3d 100644 --- a/bundles-maritalk.html +++ b/bundles-maritalk.html @@ -23,7 +23,7 @@ - + diff --git a/bundles-mem0.html b/bundles-mem0.html index 8bde2f4634..a3b693fd41 100644 --- a/bundles-mem0.html +++ b/bundles-mem0.html @@ -23,7 +23,7 @@ - + diff --git a/bundles-mistralai.html b/bundles-mistralai.html index 3973ab4dcc..02e5ed0a9c 100644 --- a/bundles-mistralai.html +++ b/bundles-mistralai.html @@ -23,7 +23,7 @@ - + diff --git a/bundles-novita.html b/bundles-novita.html index 3c9da28ece..dc4f391310 100644 --- a/bundles-novita.html +++ b/bundles-novita.html @@ -23,7 +23,7 @@ - + diff --git a/bundles-nvidia.html b/bundles-nvidia.html index 492fe1b136..4c538e7a68 100644 --- a/bundles-nvidia.html +++ b/bundles-nvidia.html @@ -23,7 +23,7 @@ - + diff --git a/bundles-ollama.html b/bundles-ollama.html index 020377da43..8534a1f8ff 100644 --- a/bundles-ollama.html +++ b/bundles-ollama.html @@ -23,7 +23,7 @@ - + diff --git a/bundles-openai.html b/bundles-openai.html index 5e1137afdd..9bbf3076d1 100644 --- a/bundles-openai.html +++ b/bundles-openai.html @@ -23,7 +23,7 @@ - + diff --git a/bundles-openrouter.html b/bundles-openrouter.html index 6ca1b02fe3..f7c15c7369 100644 --- a/bundles-openrouter.html +++ b/bundles-openrouter.html @@ -23,7 +23,7 @@ - + diff --git a/bundles-perplexity.html b/bundles-perplexity.html index 5a740b4acd..1542522590 100644 --- a/bundles-perplexity.html +++ b/bundles-perplexity.html @@ -23,7 +23,7 @@ - + diff --git a/bundles-redis.html b/bundles-redis.html index a5a6130206..264be43468 100644 --- a/bundles-redis.html +++ b/bundles-redis.html @@ -23,7 +23,7 @@ - + diff --git a/bundles-sambanova.html b/bundles-sambanova.html index 58917edd86..863ac760cc 100644 --- a/bundles-sambanova.html +++ b/bundles-sambanova.html @@ -23,7 +23,7 @@ - + diff --git a/bundles-searchapi.html b/bundles-searchapi.html index 3e6c7b378c..a2004eec4f 100644 --- a/bundles-searchapi.html +++ b/bundles-searchapi.html @@ -23,7 +23,7 @@ - + diff --git a/bundles-vertexai.html b/bundles-vertexai.html index 17b39b05f1..6ceff848e3 100644 --- a/bundles-vertexai.html +++ b/bundles-vertexai.html @@ -23,7 +23,7 @@ - + diff --git a/bundles-wikipedia.html b/bundles-wikipedia.html index a4b1cd6129..c20e3d54ff 100644 --- a/bundles-wikipedia.html +++ b/bundles-wikipedia.html @@ -23,7 +23,7 @@ - + diff --git a/bundles-xai.html b/bundles-xai.html index 41affa18f3..2bb1c2a35a 100644 --- a/bundles-xai.html +++ b/bundles-xai.html @@ -23,7 +23,7 @@ - + diff --git a/chat-with-files.html b/chat-with-files.html index 1b49cb6b97..0c83638f4a 100644 --- a/chat-with-files.html +++ b/chat-with-files.html @@ -23,7 +23,7 @@ - + diff --git a/chat-with-rag.html b/chat-with-rag.html index 86e3a96732..c10c1d8d0a 100644 --- a/chat-with-rag.html +++ b/chat-with-rag.html @@ -23,7 +23,7 @@ - + diff --git a/components-agents.html b/components-agents.html index 41222e3369..29accbe748 100644 --- a/components-agents.html +++ b/components-agents.html @@ -23,7 +23,7 @@ - + diff --git a/components-bundle-components.html b/components-bundle-components.html index 15993e1234..f54593697c 100644 --- a/components-bundle-components.html +++ b/components-bundle-components.html @@ -23,7 +23,7 @@ - + diff --git a/components-custom-components.html b/components-custom-components.html index 3b77e68748..2242cfecab 100644 --- a/components-custom-components.html +++ b/components-custom-components.html @@ -23,7 +23,7 @@ - + diff --git a/components-data.html b/components-data.html index b4596be110..d51613b049 100644 --- a/components-data.html +++ b/components-data.html @@ -23,7 +23,7 @@ - + diff --git a/components-embedding-models.html b/components-embedding-models.html index 913064d3fa..98f1178510 100644 --- a/components-embedding-models.html +++ b/components-embedding-models.html @@ -23,7 +23,7 @@ - + diff --git a/components-helpers.html b/components-helpers.html index 6dc9ab57cb..0ec1394a18 100644 --- a/components-helpers.html +++ b/components-helpers.html @@ -23,7 +23,7 @@ - + diff --git a/components-io.html b/components-io.html index 3d9f8a38f7..0589695194 100644 --- a/components-io.html +++ b/components-io.html @@ -23,7 +23,7 @@ - + diff --git a/components-logic.html b/components-logic.html index 70d94d4fd4..296207d21d 100644 --- a/components-logic.html +++ b/components-logic.html @@ -23,7 +23,7 @@ - + diff --git a/components-memories.html b/components-memories.html index 4b2c8ee348..5f1a1aa372 100644 --- a/components-memories.html +++ b/components-memories.html @@ -23,7 +23,7 @@ - + diff --git a/components-models.html b/components-models.html index 9d682711c5..a47f5b4a53 100644 --- a/components-models.html +++ b/components-models.html @@ -23,7 +23,7 @@ - + diff --git a/components-processing.html b/components-processing.html index 216607011c..6ddef23ab7 100644 --- a/components-processing.html +++ b/components-processing.html @@ -23,7 +23,7 @@ - + diff --git a/components-prompts.html b/components-prompts.html index f77b0487b7..a75cbac2a6 100644 --- a/components-prompts.html +++ b/components-prompts.html @@ -23,7 +23,7 @@ - + diff --git a/components-tools.html b/components-tools.html index 01b25180cd..99818b40b9 100644 --- a/components-tools.html +++ b/components-tools.html @@ -23,7 +23,7 @@ - + diff --git a/components-vector-stores.html b/components-vector-stores.html index ddb9aef1db..c32a085e79 100644 --- a/components-vector-stores.html +++ b/components-vector-stores.html @@ -23,7 +23,7 @@ - + diff --git a/concepts-components.html b/concepts-components.html index 54016207f3..49c396547b 100644 --- a/concepts-components.html +++ b/concepts-components.html @@ -23,7 +23,7 @@ - + diff --git a/concepts-file-management.html b/concepts-file-management.html index 3399af6fac..cadbaa1d32 100644 --- a/concepts-file-management.html +++ b/concepts-file-management.html @@ -23,7 +23,7 @@ - + diff --git a/concepts-flows-import.html b/concepts-flows-import.html index 9739b4fc6b..243e562f4b 100644 --- a/concepts-flows-import.html +++ b/concepts-flows-import.html @@ -23,7 +23,7 @@ - + diff --git a/concepts-flows.html b/concepts-flows.html index 2e9fd19abf..dbf47c1546 100644 --- a/concepts-flows.html +++ b/concepts-flows.html @@ -23,7 +23,7 @@ - + diff --git a/concepts-overview.html b/concepts-overview.html index a9a75ec701..078a245c81 100644 --- a/concepts-overview.html +++ b/concepts-overview.html @@ -23,7 +23,7 @@ - + diff --git a/concepts-playground.html b/concepts-playground.html index a89030c0a1..829147aa62 100644 --- a/concepts-playground.html +++ b/concepts-playground.html @@ -23,7 +23,7 @@ - + diff --git a/concepts-publish.html b/concepts-publish.html index 0fbb9dc801..a05630d769 100644 --- a/concepts-publish.html +++ b/concepts-publish.html @@ -23,7 +23,7 @@ - + diff --git a/concepts-voice-mode.html b/concepts-voice-mode.html index 0fb1e75fbb..6f06c65ff1 100644 --- a/concepts-voice-mode.html +++ b/concepts-voice-mode.html @@ -23,7 +23,7 @@ - + diff --git a/configuration-cli.html b/configuration-cli.html index f0f4c5f3d0..c186397e19 100644 --- a/configuration-cli.html +++ b/configuration-cli.html @@ -23,7 +23,7 @@ - + diff --git a/configuration-custom-database.html b/configuration-custom-database.html index 4959c24349..466605473c 100644 --- a/configuration-custom-database.html +++ b/configuration-custom-database.html @@ -23,7 +23,7 @@ - + diff --git a/configuration-global-variables.html b/configuration-global-variables.html index 8c594e8c3f..eb013d147c 100644 --- a/configuration-global-variables.html +++ b/configuration-global-variables.html @@ -23,7 +23,7 @@ - + diff --git a/contributing-bundles.html b/contributing-bundles.html index 9922ef9ac4..5c31a83ad8 100644 --- a/contributing-bundles.html +++ b/contributing-bundles.html @@ -23,7 +23,7 @@ - + diff --git a/contributing-community.html b/contributing-community.html index dba27151e6..f3621a97a8 100644 --- a/contributing-community.html +++ b/contributing-community.html @@ -23,7 +23,7 @@ - + diff --git a/contributing-component-tests.html b/contributing-component-tests.html index 836414bdee..faf5da977a 100644 --- a/contributing-component-tests.html +++ b/contributing-component-tests.html @@ -23,7 +23,7 @@ - + diff --git a/contributing-components.html b/contributing-components.html index ad714fb15b..7d7a23ea35 100644 --- a/contributing-components.html +++ b/contributing-components.html @@ -23,7 +23,7 @@ - + diff --git a/contributing-github-issues.html b/contributing-github-issues.html index 317489f47a..5cafc7e5fe 100644 --- a/contributing-github-issues.html +++ b/contributing-github-issues.html @@ -23,7 +23,7 @@ - + diff --git a/contributing-how-to-contribute.html b/contributing-how-to-contribute.html index d0f9f733b3..17599951bb 100644 --- a/contributing-how-to-contribute.html +++ b/contributing-how-to-contribute.html @@ -23,7 +23,7 @@ - + diff --git a/contributing-telemetry.html b/contributing-telemetry.html index 26242be532..fa958134e5 100644 --- a/contributing-telemetry.html +++ b/contributing-telemetry.html @@ -23,7 +23,7 @@ - + diff --git a/contributing-templates.html b/contributing-templates.html index 4a09442978..fe8a12c38f 100644 --- a/contributing-templates.html +++ b/contributing-templates.html @@ -23,7 +23,7 @@ - + diff --git a/data-types.html b/data-types.html index 088bf5482a..5db9cff5bc 100644 --- a/data-types.html +++ b/data-types.html @@ -23,7 +23,7 @@ - + diff --git a/deployment-caddyfile.html b/deployment-caddyfile.html index 21fd6eac15..938492c949 100644 --- a/deployment-caddyfile.html +++ b/deployment-caddyfile.html @@ -23,7 +23,7 @@ - + diff --git a/deployment-docker.html b/deployment-docker.html index 7c7f58ce1e..c56a52470b 100644 --- a/deployment-docker.html +++ b/deployment-docker.html @@ -23,7 +23,7 @@ - + @@ -52,124 +52,115 @@

You can use the Langflow Docker image to start a Langflow container.

This guide demonstrates several ways to deploy Langflow with Docker and Docker Compose:

-

Start a Langflow container with default values​

+

Quickstart: Start a Langflow container with default values​

With Docker installed and running on your system, run the following command:

-

docker run -p 7860:7860 langflowai/langflow:latest

+

_10
docker run -p 7860:7860 langflowai/langflow:latest

Then, access Langflow at http://localhost:7860/.

-

Clone the repo and build the Langflow Docker container​

-

Use Docker Compose to build Langflow with a persistent PostgreSQL database service:

+

This container runs a pre-built Docker image with default settings. +For more control over the configuration, see Clone the repo and run the Langflow Docker container.

+

Clone the repo and run the Langflow Docker container​

+

Cloning the Langflow repository and using Docker Compose gives you more control over your configuration, allowing you to customize environment variables, use a persistent PostgreSQL database service (instead of the default SQLite database), and include custom dependencies.

+

The default deployment with Docker Compose includes the following:

+
    +
  • Langflow service: Runs the latest Langflow image with PostgreSQL as the database.
  • +
  • PostgreSQL service: Provides persistent data storage for flows, users, and settings.
  • +
  • Persistent volumes: Ensures your data survives container restarts.
  • +
+

The complete Docker Compose configuration is available in docker_example/docker-compose.yml.

  1. Clone the Langflow repository:

    -

    git clone https://github.com/langflow-ai/langflow.git

    +

    _10
    git clone https://github.com/langflow-ai/langflow.git

  2. Navigate to the docker_example directory:

    -

    cd langflow/docker_example

    +

    _10
    cd langflow/docker_example

  3. Run the Docker Compose file:

    -

    docker compose up

    +

    _10
    docker compose up

  4. Access Langflow at http://localhost:7860/.

-

Configure Docker services​

-

The Docker Compose configuration spins up two services: langflow and postgres.

-

To configure values for these services at container startup, define relevant Langflow environment variables in a .env file. -Then, include the --env-file flag in your docker run command:

-

_10
docker run -it --rm \
_10
-p 7860:7860 \
_10
--env-file .env \
_10
langflowai/langflow:latest

-

If your .env file isn't in the same directory, provide the path to your .env file.

-

Langflow service​

-

The langflowservice serves both the backend API and frontend UI of the Langflow web application.

-

The langflow service uses the langflowai/langflow:latest Docker image and exposes port 7860. It depends on the postgres service.

-

Environment variables:

-
    -
  • LANGFLOW_DATABASE_URL: The connection string for the PostgreSQL database.
  • -
  • LANGFLOW_CONFIG_DIR: The directory where Langflow stores logs, file storage, monitor data, and secret keys.
  • -
-

Volumes:

-
    -
  • langflow-data: This volume is mapped to /app/langflow in the container.
  • -
-

PostgreSQL service​

-

The postgres service is a database that stores Langflow's persistent data including flows, users, and settings.

-

The service runs on port 5432 and includes a dedicated volume for data storage.

-

The postgres service uses the postgres:16 Docker image.

-

Environment variables:

-
    -
  • POSTGRES_USER: The username for the PostgreSQL database.
  • -
  • POSTGRES_PASSWORD: The password for the PostgreSQL database.
  • -
  • POSTGRES_DB: The name of the PostgreSQL database.
  • -
-

Volumes:

-
    -
  • langflow-postgres: This volume is mapped to /var/lib/postgresql/data in the container.
  • -
-

Deploy a specific Langflow version with Docker Compose​

-

If you want to deploy a specific version of Langflow, you can modify the image field under the langflow service in the Docker Compose file. For example, to use version 1.0-alpha, change langflowai/langflow:latest to langflowai/langflow:1.0-alpha.

-

Package your flow as a Docker image​

-

You can include your Langflow flow with the application image. -When you build the image, your saved flow .JSON flow is included. -This enables you to serve a flow from a container, push the image to Docker Hub, and deploy on Kubernetes.

-

An example flow is available in the Langflow Helm Charts repository, or you can provide your own JSON file.

+

Customize your deployment​

+

You can customize the Docker Compose configuration to fit your specific deployment.

+

For example, to configure the container's database credentials using a .env file, do the following:

    -
  1. Create a project directory:
  2. +
  3. +

    Create a .env file with your database credentials in the same directory as docker-compose.yml:

    +

    _10
    # Database credentials
    _10
    POSTGRES_USER=myuser
    _10
    POSTGRES_PASSWORD=mypassword
    _10
    POSTGRES_DB=langflow
    _10
    _10
    # Langflow configuration
    _10
    LANGFLOW_DATABASE_URL=postgresql://myuser:mypassword@postgres:5432/langflow
    _10
    LANGFLOW_CONFIG_DIR=/app/langflow

    +
  4. +
  5. +

    Modify the docker-compose.yml file to reference the .env file for both the langflow and postgres services:

    +

    _10
    services:
    _10
    langflow:
    _10
    environment:
    _10
    - LANGFLOW_DATABASE_URL=${LANGFLOW_DATABASE_URL}
    _10
    - LANGFLOW_CONFIG_DIR=${LANGFLOW_CONFIG_DIR}
    _10
    postgres:
    _10
    environment:
    _10
    - POSTGRES_USER=${POSTGRES_USER}
    _10
    - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
    _10
    - POSTGRES_DB=${POSTGRES_DB}

    +
+

For a complete list of available environment variables, see Langflow environment variables.

+

For more customization options, see Customize the Langflow Docker image with your own code.

+

Package your flow as a Docker image​

+

This section shows you how to create a Dockerfile that builds a Docker image containing your Langflow flow. This approach is useful when you want to distribute a specific flow as a standalone container or deploy it to environments like Kubernetes.

+

Unlike the previous sections that use pre-built images, this method builds a custom image with your flow embedded inside it.

+
    +
  1. +

    Create a project directory, and change directory into it.


    _10
    mkdir langflow-custom && cd langflow-custom

    -
      -
    1. Download the example flow or include your flow's .JSON file in the langflow-custom directory.
    2. + +
    3. +

      Add your flow's JSON file to the directory. You can download an example, or use your own:

      +

      _10
      # Download an example flow
      _10
      wget https://raw.githubusercontent.com/langflow-ai/langflow-helm-charts/refs/heads/main/examples/flows/basic-prompting-hello-world.json
      _10
      _10
      # Or copy your own flow file
      _10
      cp /path/to/your/flow.json .

      +
    4. +
    5. +

      Create a Dockerfile to build your custom image:

      +

      _10
      FROM langflowai/langflow:latest
      _10
      RUN mkdir /app/flows
      _10
      COPY ./*.json /app/flows/
      _10
      ENV LANGFLOW_LOAD_FLOWS_PATH=/app/flows

      +
    -

    _10
    wget https://raw.githubusercontent.com/langflow-ai/langflow-helm-charts/refs/heads/main/examples/flows/basic-prompting-hello-world.json

    -
      -
    1. Create a Dockerfile:
    2. -
    -

    _10
    FROM langflowai/langflow-backend:latest
    _10
    RUN mkdir /app/flows
    _10
    COPY ./*.json /app/flows/
    _10
    ENV LANGFLOW_LOAD_FLOWS_PATH=/app/flows

    -

    The COPY ./*json command copies all JSON files in your current directory to the /flows folder.

    -

    The ENV LANGFLOW_LOAD_FLOWS_PATH=/app/flows command sets the environment variable within the Docker container. By pointing it to /app/flows, you ensure that the application can find and utilize the JSON flow files that have been copied into that directory during the image build process.

    +

    This Dockerfile uses the official Langflow image as the base, creates a directory for your flows, copies your JSON flow files into the directory, and sets the environment variable to tell Langflow where to find the flows.

      -
    1. Build and run the image locally.
    2. +
    3. +

      Build and test your custom image:

      +

      _10
      docker build -t myuser/langflow-custom:1.0.0 .
      _10
      docker run -p 7860:7860 myuser/langflow-custom:1.0.0

      +
    4. +
    5. +

      Push your image to Docker Hub (optional):

      +

      _10
      docker push myuser/langflow-custom:1.0.0

      +
    -

    _10
    docker build -t myuser/langflow-hello-world:1.0.0 .
    _10
    docker run -p 7860:7860 myuser/langflow-hello-world:1.0.0

    -
      -
    1. Build and push the image to Docker Hub. -Replace myuser with your Docker Hub username.
    2. -
    -

    _10
    docker build -t myuser/langflow-hello-world:1.0.0 .
    _10
    docker push myuser/langflow-hello-world:1.0.0

    -

    To deploy the image with Helm, see Deploy the Langflow production environment on Kubernetes.

    -

    Customize the Langflow Docker image with your own code​

    -

    You can customize the Langflow Docker image by adding your own code or modifying existing components.

    -

    This example Dockerfile demonstrates how to customize Langflow by replacing the astradb_graph.py component, but the pattern can be adapted for any other components or custom code.

    -

    _20
    FROM langflowai/langflow:latest
    _20
    # Set working directory
    _20
    WORKDIR /app
    _20
    # Copy your modified astradb_graph.py file
    _20
    COPY src/backend/base/langflow/components/vectorstores/astradb_graph.py /tmp/astradb_graph.py
    _20
    # Find the site-packages directory where langflow is installed
    _20
    RUN python -c "import site; print(site.getsitepackages()[0])" > /tmp/site_packages.txt
    _20
    # Replace the file in the site-packages location
    _20
    RUN SITE_PACKAGES=$(cat /tmp/site_packages.txt) && \
    _20
    echo "Site packages at: $SITE_PACKAGES" && \
    _20
    mkdir -p "$SITE_PACKAGES/langflow/components/vectorstores" && \
    _20
    cp /tmp/astradb_graph.py "$SITE_PACKAGES/langflow/components/vectorstores/"
    _20
    # Clear Python cache in the site-packages directory only
    _20
    RUN SITE_PACKAGES=$(cat /tmp/site_packages.txt) && \
    _20
    find "$SITE_PACKAGES" -name "*.pyc" -delete && \
    _20
    find "$SITE_PACKAGES" -name "__pycache__" -type d -exec rm -rf {} +
    _20
    # Expose the default Langflow port
    _20
    EXPOSE 7860
    _20
    # Command to run Langflow
    _20
    CMD ["python", "-m", "langflow", "run", "--host", "0.0.0.0", "--port", "7860"]

    +

    Your custom image now contains your flow and can be deployed anywhere Docker runs. For Kubernetes deployment, see Deploy the Langflow production environment on Kubernetes.

    +

    Customize the Langflow Docker image with your own code​

    +

    While the previous section showed how to package a flow with a Docker image, this section shows how to customize the Langflow application itself. This is useful when you need to add custom Python packages or dependencies, modify Langflow's configuration or settings, include custom components or tools, or add your own code to extend Langflow's functionality.

    +

    This example demonstrates how to customize the message history component, but the same approach can be used for any code modifications.

    +

    _27
    FROM langflowai/langflow:latest
    _27
    _27
    # Set working directory
    _27
    WORKDIR /app
    _27
    _27
    # Copy your modified memory component
    _27
    COPY src/backend/base/langflow/components/helpers/memory.py /tmp/memory.py
    _27
    _27
    # Find the site-packages directory where langflow is installed
    _27
    RUN python -c "import site; print(site.getsitepackages()[0])" > /tmp/site_packages.txt
    _27
    _27
    # Replace the file in the site-packages location
    _27
    RUN SITE_PACKAGES=$(cat /tmp/site_packages.txt) && \
    _27
    echo "Site packages at: $SITE_PACKAGES" && \
    _27
    mkdir -p "$SITE_PACKAGES/langflow/components/helpers" && \
    _27
    cp /tmp/memory.py "$SITE_PACKAGES/langflow/components/helpers/"
    _27
    _27
    # Clear Python cache in the site-packages directory only
    _27
    RUN SITE_PACKAGES=$(cat /tmp/site_packages.txt) && \
    _27
    find "$SITE_PACKAGES" -name "*.pyc" -delete && \
    _27
    find "$SITE_PACKAGES" -name "__pycache__" -type d -exec rm -rf {} +
    _27
    _27
    # Expose the default Langflow port
    _27
    EXPOSE 7860
    _27
    _27
    # Command to run Langflow
    _27
    CMD ["python", "-m", "langflow", "run", "--host", "0.0.0.0", "--port", "7860"]

    To use this custom Dockerfile, do the following:

      -
    1. Create a directory for your custom Langflow setup:
    2. -
    -

    _10
    mkdir langflow-custom && cd langflow-custom

    -
      -
    1. Create the necessary directory structure for your custom code. -In this example, Langflow expects astradb_graph.py to exist in the /vectorstores directory, so you create a directory in that location.
    2. -
    -

    _10
    mkdir -p src/backend/base/langflow/components/vectorstores

    -
    1. -

      Place your modified astradb_graph.py file in the /vectorstores directory.

      +

      Create a directory for your custom Langflow setup:

      +

      _10
      mkdir langflow-custom && cd langflow-custom

      +
    2. +
    3. +

      Create the necessary directory structure for your custom code. +In this example, Langflow expects memory.py to exist in the /helpers directory, so you create a directory in that location.

      +

      _10
      mkdir -p src/backend/base/langflow/components/helpers

      +
    4. +
    5. +

      Place your modified memory.py file in the /helpers directory.

    6. Create a new file named Dockerfile in your langflow-custom directory, and then copy the Dockerfile contents shown above into it.

    7. Build and run the image:

      +

      _10
      docker build -t myuser/langflow-custom:1.0.0 .
      _10
      docker run -p 7860:7860 myuser/langflow-custom:1.0.0

    -

    _10
    docker build -t myuser/langflow-custom:1.0.0 .
    _10
    docker run -p 7860:7860 myuser/langflow-custom:1.0.0

    -

    This approach can be adapted for any other components or custom code you want to add to Langflow by modifying the file paths and component names.