From 99b6494d88c18088185e4da3155eb1e4813edeba Mon Sep 17 00:00:00 2001 From: "github-merge-queue[bot]" Date: Wed, 28 May 2025 15:42:39 +0000 Subject: [PATCH] deploy: f45ca81ddaec41a5d946775ff54cf4f7d57764eb --- 404.html | 2 +- agents-overview.html | 2 +- agents-tool-calling-agent-component.html | 2 +- api-reference-api-examples.html | 2 +- api.html | 2 +- api/add-user.html | 2 +- api/auto-login.html | 2 +- api/build-flow.html | 2 +- api/build-public-tmp.html | 2 +- api/build-vertex-stream.html | 2 +- api/build-vertex.html | 2 +- api/cancel-build.html | 2 +- api/check-if-store-has-api-key.html | 2 +- api/check-if-store-is-enabled.html | 2 +- api/create-api-key-route.html | 2 +- api/create-flow.html | 2 +- api/create-flows.html | 2 +- api/create-folder-redirect.html | 2 +- api/create-project.html | 2 +- api/create-upload-file.html | 2 +- api/create-variable.html | 2 +- api/custom-component-update.html | 2 +- api/custom-component.html | 2 +- api/delete-all-files-1.html | 2 +- api/delete-all-files.html | 2 +- api/delete-api-key-route.html | 2 +- api/delete-file-1.html | 2 +- api/delete-file.html | 2 +- api/delete-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-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-messages.html | 2 +- api/get-starter-projects.html | 2 +- api/get-tags.html | 2 +- api/get-task-status.html | 2 +- api/get-transactions.html | 2 +- api/get-version.html | 2 +- api/get-vertex-builds.html | 2 +- api/handle-messages-1.html | 2 +- api/handle-messages.html | 2 +- api/handle-project-messages-with-slash.html | 2 +- api/handle-project-messages.html | 2 +- api/handle-project-sse.html | 2 +- api/handle-sse-1.html | 2 +- api/handle-sse.html | 2 +- api/health-check.html | 2 +- api/health.html | 2 +- api/like-component.html | 2 +- api/list-files-1.html | 2 +- api/list-files-2.html | 2 +- api/list-files.html | 2 +- api/list-profile-pictures.html | 2 +- api/list-project-tools.html | 2 +- api/login-to-get-access-token.html | 2 +- api/logout.html | 2 +- api/logs.html | 2 +- api/patch-user.html | 2 +- api/post-validate-code.html | 2 +- api/post-validate-prompt.html | 2 +- api/process-1.html | 2 +- api/process.html | 2 +- api/read-all-users.html | 2 +- api/read-basic-examples.html | 2 +- api/read-current-user.html | 2 +- api/read-flow.html | 2 +- api/read-flows.html | 2 +- api/read-folder-redirect.html | 2 +- api/read-folders-redirect.html | 2 +- api/read-project.html | 2 +- api/read-projects.html | 2 +- api/read-public-flow.html | 2 +- api/read-variables.html | 2 +- api/refresh-token.html | 2 +- api/reset-password.html | 2 +- api/retrieve-vertices-order.html | 2 +- api/save-store-api-key.html | 2 +- api/share-component.html | 2 +- api/simplified-run-flow.html | 2 +- api/stream-logs.html | 2 +- api/update-flow.html | 2 +- api/update-folder-redirect.html | 2 +- api/update-message.html | 2 +- api/update-project-mcp-settings.html | 2 +- api/update-project.html | 2 +- api/update-session-id.html | 2 +- api/update-shared-component.html | 2 +- api/update-variable.html | 2 +- api/upload-file-1.html | 2 +- api/upload-file-2.html | 2 +- api/upload-file-redirect.html | 2 +- api/upload-file.html | 2 +- api/upload-user-file-1.html | 2 +- api/upload-user-file.html | 2 +- api/webhook-run-flow.html | 2 +- .../{2ab0d4f5.a57bf63f.js => 2ab0d4f5.fb9bc2bc.js} | 2 +- assets/js/9ac856ad.48629fa4.js | 1 + assets/js/9ac856ad.f7eca8e9.js | 1 - assets/js/b7251463.7d602f6e.js | 1 + assets/js/b7251463.fadffeb7.js | 1 - assets/js/d3ca7a96.71776535.js | 1 - assets/js/d3ca7a96.be246dd2.js | 1 + .../{e6c6a4d2.04ec3ee4.js => e6c6a4d2.7fc2eddf.js} | 2 +- ...e~main.3b94a912.js => runtime~main.098ab61b.js} | 2 +- blog-writer.html | 2 +- components-agents.html | 2 +- components-bundle-components.html | 2 +- components-custom-components.html | 2 +- components-data.html | 2 +- components-embedding-models.html | 2 +- components-helpers.html | 2 +- components-io.html | 2 +- components-logic.html | 2 +- components-memories.html | 2 +- components-models.html | 2 +- components-processing.html | 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.html | 2 +- concepts-objects.html | 2 +- concepts-overview.html | 2 +- concepts-playground.html | 2 +- concepts-publish.html | 2 +- concepts-voice-mode.html | 2 +- configuration-api-keys.html | 2 +- configuration-authentication.html | 2 +- configuration-cli.html | 8 ++++---- 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-discussions.html | 2 +- contributing-github-issues.html | 2 +- contributing-how-to-contribute.html | 2 +- contributing-telemetry.html | 2 +- contributing-templates.html | 2 +- deployment-caddyfile.html | 2 +- deployment-docker.html | 2 +- deployment-gcp.html | 2 +- deployment-hugging-face-spaces.html | 2 +- deployment-kubernetes-dev.html | 2 +- deployment-kubernetes-prod.html | 2 +- deployment-overview.html | 2 +- deployment-prod-best-practices.html | 2 +- deployment-railway.html | 2 +- deployment-render.html | 2 +- develop-application.html | 2 +- develop-overview.html | 2 +- document-qa.html | 2 +- environment-variables.html | 4 ++-- financial-report-parser.html | 2 +- get-started-installation.html | 2 +- get-started-quickstart.html | 2 +- index.html | 2 +- install-custom-dependencies.html | 2 +- integrations-apify.html | 2 +- integrations-arize.html | 2 +- integrations-assemblyai.html | 2 +- integrations-composio.html | 2 +- integrations-google-big-query.html | 2 +- integrations-langfuse.html | 2 +- integrations-langsmith.html | 2 +- integrations-langwatch.html | 2 +- integrations-nvidia-ingest-wsl2.html | 2 +- integrations-nvidia-ingest.html | 2 +- integrations-nvidia-system-assist.html | 2 +- integrations-opik.html | 2 +- ...ions-setup-google-cloud-vertex-ai-langflow.html | 2 +- integrations-setup-google-oauth-langflow.html | 2 +- .../notion/notion-agent-conversational.html | 2 +- .../notion/notion-agent-meeting-notes.html | 2 +- integrations/notion/setup.html | 2 +- logging.html | 2 +- luna-for-langflow.html | 2 +- mcp-component-astra.html | 2 +- mcp-server.html | 2 +- memory-chatbot.html | 2 +- memory.html | 14 +++++--------- search.html | 2 +- sequential-agent.html | 2 +- session-id.html | 2 +- sitemap.xml | 2 +- starter-projects-basic-prompting.html | 2 +- starter-projects-simple-agent.html | 2 +- starter-projects-vector-store-rag.html | 2 +- travel-planning-agent.html | 2 +- webhook.html | 2 +- 216 files changed, 221 insertions(+), 225 deletions(-) rename assets/js/{2ab0d4f5.a57bf63f.js => 2ab0d4f5.fb9bc2bc.js} (50%) create mode 100644 assets/js/9ac856ad.48629fa4.js delete mode 100644 assets/js/9ac856ad.f7eca8e9.js create mode 100644 assets/js/b7251463.7d602f6e.js delete mode 100644 assets/js/b7251463.fadffeb7.js delete mode 100644 assets/js/d3ca7a96.71776535.js create mode 100644 assets/js/d3ca7a96.be246dd2.js rename assets/js/{e6c6a4d2.04ec3ee4.js => e6c6a4d2.7fc2eddf.js} (57%) rename assets/js/{runtime~main.3b94a912.js => runtime~main.098ab61b.js} (96%) diff --git a/404.html b/404.html index 0d4a226552..ddd2776835 100644 --- a/404.html +++ b/404.html @@ -21,7 +21,7 @@ - + diff --git a/agents-overview.html b/agents-overview.html index ea0c518d6d..3c6c4d7f42 100644 --- a/agents-overview.html +++ b/agents-overview.html @@ -21,7 +21,7 @@ - + diff --git a/agents-tool-calling-agent-component.html b/agents-tool-calling-agent-component.html index e87da31326..1a5f79f514 100644 --- a/agents-tool-calling-agent-component.html +++ b/agents-tool-calling-agent-component.html @@ -21,7 +21,7 @@ - + diff --git a/api-reference-api-examples.html b/api-reference-api-examples.html index 071e8a053e..424f8d2dd9 100644 --- a/api-reference-api-examples.html +++ b/api-reference-api-examples.html @@ -21,7 +21,7 @@ - + diff --git a/api.html b/api.html index cc2a32a0bf..ebbc0d63fa 100644 --- a/api.html +++ b/api.html @@ -21,7 +21,7 @@ - + diff --git a/api/add-user.html b/api/add-user.html index 88fc4eaa34..8eff258c92 100644 --- a/api/add-user.html +++ b/api/add-user.html @@ -21,7 +21,7 @@ - + diff --git a/api/auto-login.html b/api/auto-login.html index f83d5dbc62..ca7205bf4f 100644 --- a/api/auto-login.html +++ b/api/auto-login.html @@ -21,7 +21,7 @@ - + diff --git a/api/build-flow.html b/api/build-flow.html index 1abb392b5d..423473fa86 100644 --- a/api/build-flow.html +++ b/api/build-flow.html @@ -21,7 +21,7 @@ - + diff --git a/api/build-public-tmp.html b/api/build-public-tmp.html index ac89b2d727..22dbe8d8ca 100644 --- a/api/build-public-tmp.html +++ b/api/build-public-tmp.html @@ -21,7 +21,7 @@ - + diff --git a/api/build-vertex-stream.html b/api/build-vertex-stream.html index 14828dbd68..ca08478123 100644 --- a/api/build-vertex-stream.html +++ b/api/build-vertex-stream.html @@ -21,7 +21,7 @@ - + diff --git a/api/build-vertex.html b/api/build-vertex.html index 11fd4ba1a7..67bf67682a 100644 --- a/api/build-vertex.html +++ b/api/build-vertex.html @@ -21,7 +21,7 @@ - + diff --git a/api/cancel-build.html b/api/cancel-build.html index 691bdd6578..1b9f9a46ac 100644 --- a/api/cancel-build.html +++ b/api/cancel-build.html @@ -21,7 +21,7 @@ - + diff --git a/api/check-if-store-has-api-key.html b/api/check-if-store-has-api-key.html index ef296aba2a..2adcdd0ef0 100644 --- a/api/check-if-store-has-api-key.html +++ b/api/check-if-store-has-api-key.html @@ -21,7 +21,7 @@ - + diff --git a/api/check-if-store-is-enabled.html b/api/check-if-store-is-enabled.html index 9112f6533e..b111f0e370 100644 --- a/api/check-if-store-is-enabled.html +++ b/api/check-if-store-is-enabled.html @@ -21,7 +21,7 @@ - + diff --git a/api/create-api-key-route.html b/api/create-api-key-route.html index 3e6deb5d53..29317a9993 100644 --- a/api/create-api-key-route.html +++ b/api/create-api-key-route.html @@ -21,7 +21,7 @@ - + diff --git a/api/create-flow.html b/api/create-flow.html index 83bcf9a95f..a837c016bf 100644 --- a/api/create-flow.html +++ b/api/create-flow.html @@ -21,7 +21,7 @@ - + diff --git a/api/create-flows.html b/api/create-flows.html index d57020dcc5..e76dc366f3 100644 --- a/api/create-flows.html +++ b/api/create-flows.html @@ -21,7 +21,7 @@ - + diff --git a/api/create-folder-redirect.html b/api/create-folder-redirect.html index 8d91dec35b..29dc4ed28b 100644 --- a/api/create-folder-redirect.html +++ b/api/create-folder-redirect.html @@ -21,7 +21,7 @@ - + diff --git a/api/create-project.html b/api/create-project.html index 8d0b394096..a7b2dcb12b 100644 --- a/api/create-project.html +++ b/api/create-project.html @@ -21,7 +21,7 @@ - + diff --git a/api/create-upload-file.html b/api/create-upload-file.html index aec8af32a9..f63badaba4 100644 --- a/api/create-upload-file.html +++ b/api/create-upload-file.html @@ -21,7 +21,7 @@ - + diff --git a/api/create-variable.html b/api/create-variable.html index 806e07ff4a..acfe8033c6 100644 --- a/api/create-variable.html +++ b/api/create-variable.html @@ -21,7 +21,7 @@ - + diff --git a/api/custom-component-update.html b/api/custom-component-update.html index 590e9f52ba..57903c7cf5 100644 --- a/api/custom-component-update.html +++ b/api/custom-component-update.html @@ -21,7 +21,7 @@ - + diff --git a/api/custom-component.html b/api/custom-component.html index 7f6e736a3f..49e5fd365d 100644 --- a/api/custom-component.html +++ b/api/custom-component.html @@ -21,7 +21,7 @@ - + diff --git a/api/delete-all-files-1.html b/api/delete-all-files-1.html index ed2ebdbf89..8aa1888f6c 100644 --- a/api/delete-all-files-1.html +++ b/api/delete-all-files-1.html @@ -21,7 +21,7 @@ - + diff --git a/api/delete-all-files.html b/api/delete-all-files.html index adbbd00b06..a69f32cd4c 100644 --- a/api/delete-all-files.html +++ b/api/delete-all-files.html @@ -21,7 +21,7 @@ - + diff --git a/api/delete-api-key-route.html b/api/delete-api-key-route.html index 54d098901b..f30ef433df 100644 --- a/api/delete-api-key-route.html +++ b/api/delete-api-key-route.html @@ -21,7 +21,7 @@ - + diff --git a/api/delete-file-1.html b/api/delete-file-1.html index 8099cd54a3..c93eca75c9 100644 --- a/api/delete-file-1.html +++ b/api/delete-file-1.html @@ -21,7 +21,7 @@ - + diff --git a/api/delete-file.html b/api/delete-file.html index 126b5feb21..bedc353491 100644 --- a/api/delete-file.html +++ b/api/delete-file.html @@ -21,7 +21,7 @@ - + diff --git a/api/delete-files-batch.html b/api/delete-files-batch.html index ba6dc1778e..fb9a8ed494 100644 --- a/api/delete-files-batch.html +++ b/api/delete-files-batch.html @@ -21,7 +21,7 @@ - + diff --git a/api/delete-flow.html b/api/delete-flow.html index 60178c3562..ef605058f5 100644 --- a/api/delete-flow.html +++ b/api/delete-flow.html @@ -21,7 +21,7 @@ - + diff --git a/api/delete-folder-redirect.html b/api/delete-folder-redirect.html index 39de6a8652..b14abe3fd3 100644 --- a/api/delete-folder-redirect.html +++ b/api/delete-folder-redirect.html @@ -21,7 +21,7 @@ - + diff --git a/api/delete-messages-session.html b/api/delete-messages-session.html index b28117e936..2c1584a1a5 100644 --- a/api/delete-messages-session.html +++ b/api/delete-messages-session.html @@ -21,7 +21,7 @@ - + diff --git a/api/delete-messages.html b/api/delete-messages.html index db86a70cc6..405c215f10 100644 --- a/api/delete-messages.html +++ b/api/delete-messages.html @@ -21,7 +21,7 @@ - + diff --git a/api/delete-multiple-flows.html b/api/delete-multiple-flows.html index b6b8bca3c0..8f3029a613 100644 --- a/api/delete-multiple-flows.html +++ b/api/delete-multiple-flows.html @@ -21,7 +21,7 @@ - + diff --git a/api/delete-project.html b/api/delete-project.html index 0d20ec9e65..eff523f48e 100644 --- a/api/delete-project.html +++ b/api/delete-project.html @@ -21,7 +21,7 @@ - + diff --git a/api/delete-user.html b/api/delete-user.html index d3dbf3cf6f..a07169ba82 100644 --- a/api/delete-user.html +++ b/api/delete-user.html @@ -21,7 +21,7 @@ - + diff --git a/api/delete-variable.html b/api/delete-variable.html index 34f35b27ac..3447c2952a 100644 --- a/api/delete-variable.html +++ b/api/delete-variable.html @@ -21,7 +21,7 @@ - + diff --git a/api/delete-vertex-builds.html b/api/delete-vertex-builds.html index a6d6494443..063f880ff9 100644 --- a/api/delete-vertex-builds.html +++ b/api/delete-vertex-builds.html @@ -21,7 +21,7 @@ - + diff --git a/api/download-component.html b/api/download-component.html index 5c7fe4574b..2afd2bd4af 100644 --- a/api/download-component.html +++ b/api/download-component.html @@ -21,7 +21,7 @@ - + diff --git a/api/download-file-1.html b/api/download-file-1.html index 704503f1f8..721ad43226 100644 --- a/api/download-file-1.html +++ b/api/download-file-1.html @@ -21,7 +21,7 @@ - + diff --git a/api/download-file-2.html b/api/download-file-2.html index 4d71c5dfea..30b4020664 100644 --- a/api/download-file-2.html +++ b/api/download-file-2.html @@ -21,7 +21,7 @@ - + diff --git a/api/download-file-redirect.html b/api/download-file-redirect.html index f090149fc8..6d079faeaf 100644 --- a/api/download-file-redirect.html +++ b/api/download-file-redirect.html @@ -21,7 +21,7 @@ - + diff --git a/api/download-file.html b/api/download-file.html index 20d051c33f..67693f1993 100644 --- a/api/download-file.html +++ b/api/download-file.html @@ -21,7 +21,7 @@ - + diff --git a/api/download-files-batch.html b/api/download-files-batch.html index c29ef1b1a2..949e99558a 100644 --- a/api/download-files-batch.html +++ b/api/download-files-batch.html @@ -21,7 +21,7 @@ - + diff --git a/api/download-image.html b/api/download-image.html index dfbef71767..db7b27f7de 100644 --- a/api/download-image.html +++ b/api/download-image.html @@ -21,7 +21,7 @@ - + diff --git a/api/download-multiple-file.html b/api/download-multiple-file.html index c928f996a9..ce92780565 100644 --- a/api/download-multiple-file.html +++ b/api/download-multiple-file.html @@ -21,7 +21,7 @@ - + diff --git a/api/download-profile-picture.html b/api/download-profile-picture.html index 4c1850cd1c..5202830314 100644 --- a/api/download-profile-picture.html +++ b/api/download-profile-picture.html @@ -21,7 +21,7 @@ - + diff --git a/api/edit-file-name.html b/api/edit-file-name.html index c67e6ae60f..9985681cb1 100644 --- a/api/edit-file-name.html +++ b/api/edit-file-name.html @@ -21,7 +21,7 @@ - + diff --git a/api/experimental-run-flow.html b/api/experimental-run-flow.html index d82f29362e..7a4d1007cc 100644 --- a/api/experimental-run-flow.html +++ b/api/experimental-run-flow.html @@ -21,7 +21,7 @@ - + diff --git a/api/get-all.html b/api/get-all.html index 6b29be538a..8396eb5043 100644 --- a/api/get-all.html +++ b/api/get-all.html @@ -21,7 +21,7 @@ - + diff --git a/api/get-api-keys-route.html b/api/get-api-keys-route.html index 333066e9f4..fa7cd5e18c 100644 --- a/api/get-api-keys-route.html +++ b/api/get-api-keys-route.html @@ -21,7 +21,7 @@ - + diff --git a/api/get-build-events.html b/api/get-build-events.html index c990b30ed7..22608717d3 100644 --- a/api/get-build-events.html +++ b/api/get-build-events.html @@ -21,7 +21,7 @@ - + diff --git a/api/get-components.html b/api/get-components.html index a38d6b5b79..e5870753e3 100644 --- a/api/get-components.html +++ b/api/get-components.html @@ -21,7 +21,7 @@ - + diff --git a/api/get-config.html b/api/get-config.html index 3848d6fb9a..d0acc17c40 100644 --- a/api/get-config.html +++ b/api/get-config.html @@ -21,7 +21,7 @@ - + diff --git a/api/get-elevenlabs-voice-ids.html b/api/get-elevenlabs-voice-ids.html index 62013075a6..128abbaa5b 100644 --- a/api/get-elevenlabs-voice-ids.html +++ b/api/get-elevenlabs-voice-ids.html @@ -21,7 +21,7 @@ - + diff --git a/api/get-list-of-components-liked-by-user.html b/api/get-list-of-components-liked-by-user.html index 523767c768..b57c2cc735 100644 --- a/api/get-list-of-components-liked-by-user.html +++ b/api/get-list-of-components-liked-by-user.html @@ -21,7 +21,7 @@ - + diff --git a/api/get-messages.html b/api/get-messages.html index 00302a65d2..530abeaf2c 100644 --- a/api/get-messages.html +++ b/api/get-messages.html @@ -21,7 +21,7 @@ - + diff --git a/api/get-starter-projects.html b/api/get-starter-projects.html index 5569f2cd28..5754193657 100644 --- a/api/get-starter-projects.html +++ b/api/get-starter-projects.html @@ -21,7 +21,7 @@ - + diff --git a/api/get-tags.html b/api/get-tags.html index bd44584ca3..3356e863af 100644 --- a/api/get-tags.html +++ b/api/get-tags.html @@ -21,7 +21,7 @@ - + diff --git a/api/get-task-status.html b/api/get-task-status.html index ccb88993ec..b4a8ce02fc 100644 --- a/api/get-task-status.html +++ b/api/get-task-status.html @@ -21,7 +21,7 @@ - + diff --git a/api/get-transactions.html b/api/get-transactions.html index 4af4289fd9..b234b0fbe2 100644 --- a/api/get-transactions.html +++ b/api/get-transactions.html @@ -21,7 +21,7 @@ - + diff --git a/api/get-version.html b/api/get-version.html index 092336f9c1..752076c391 100644 --- a/api/get-version.html +++ b/api/get-version.html @@ -21,7 +21,7 @@ - + diff --git a/api/get-vertex-builds.html b/api/get-vertex-builds.html index 24f8d4b8ca..a88ec90093 100644 --- a/api/get-vertex-builds.html +++ b/api/get-vertex-builds.html @@ -21,7 +21,7 @@ - + diff --git a/api/handle-messages-1.html b/api/handle-messages-1.html index d4db8b1c3b..8ab22910d0 100644 --- a/api/handle-messages-1.html +++ b/api/handle-messages-1.html @@ -21,7 +21,7 @@ - + diff --git a/api/handle-messages.html b/api/handle-messages.html index c9d294f965..d42894e59a 100644 --- a/api/handle-messages.html +++ b/api/handle-messages.html @@ -21,7 +21,7 @@ - + diff --git a/api/handle-project-messages-with-slash.html b/api/handle-project-messages-with-slash.html index b6b2168b2b..b83c765755 100644 --- a/api/handle-project-messages-with-slash.html +++ b/api/handle-project-messages-with-slash.html @@ -21,7 +21,7 @@ - + diff --git a/api/handle-project-messages.html b/api/handle-project-messages.html index f30ae11ef9..490712cb93 100644 --- a/api/handle-project-messages.html +++ b/api/handle-project-messages.html @@ -21,7 +21,7 @@ - + diff --git a/api/handle-project-sse.html b/api/handle-project-sse.html index 8c2473357d..76f1d6d7a4 100644 --- a/api/handle-project-sse.html +++ b/api/handle-project-sse.html @@ -21,7 +21,7 @@ - + diff --git a/api/handle-sse-1.html b/api/handle-sse-1.html index 6bf96db8b8..4e0bed39c5 100644 --- a/api/handle-sse-1.html +++ b/api/handle-sse-1.html @@ -21,7 +21,7 @@ - + diff --git a/api/handle-sse.html b/api/handle-sse.html index 3089b4b8a4..0250f5b8bf 100644 --- a/api/handle-sse.html +++ b/api/handle-sse.html @@ -21,7 +21,7 @@ - + diff --git a/api/health-check.html b/api/health-check.html index c6ef2a2962..ad8366ebf6 100644 --- a/api/health-check.html +++ b/api/health-check.html @@ -21,7 +21,7 @@ - + diff --git a/api/health.html b/api/health.html index a0edf3a98d..99829c7933 100644 --- a/api/health.html +++ b/api/health.html @@ -21,7 +21,7 @@ - + diff --git a/api/like-component.html b/api/like-component.html index a10ba7b003..a8941bf118 100644 --- a/api/like-component.html +++ b/api/like-component.html @@ -21,7 +21,7 @@ - + diff --git a/api/list-files-1.html b/api/list-files-1.html index 06d1653835..4f2f22cf50 100644 --- a/api/list-files-1.html +++ b/api/list-files-1.html @@ -21,7 +21,7 @@ - + diff --git a/api/list-files-2.html b/api/list-files-2.html index b3af9a92ee..0af71d2341 100644 --- a/api/list-files-2.html +++ b/api/list-files-2.html @@ -21,7 +21,7 @@ - + diff --git a/api/list-files.html b/api/list-files.html index 127894b731..e4705888f1 100644 --- a/api/list-files.html +++ b/api/list-files.html @@ -21,7 +21,7 @@ - + diff --git a/api/list-profile-pictures.html b/api/list-profile-pictures.html index da79f1c07b..ee092cdd88 100644 --- a/api/list-profile-pictures.html +++ b/api/list-profile-pictures.html @@ -21,7 +21,7 @@ - + diff --git a/api/list-project-tools.html b/api/list-project-tools.html index f338c6ab7d..289afd440a 100644 --- a/api/list-project-tools.html +++ b/api/list-project-tools.html @@ -21,7 +21,7 @@ - + diff --git a/api/login-to-get-access-token.html b/api/login-to-get-access-token.html index 67d61bc9b5..481852c206 100644 --- a/api/login-to-get-access-token.html +++ b/api/login-to-get-access-token.html @@ -21,7 +21,7 @@ - + diff --git a/api/logout.html b/api/logout.html index 4f98aeb1a9..f6eb54dc6f 100644 --- a/api/logout.html +++ b/api/logout.html @@ -21,7 +21,7 @@ - + diff --git a/api/logs.html b/api/logs.html index fdabfdd98f..ba8bc95f60 100644 --- a/api/logs.html +++ b/api/logs.html @@ -21,7 +21,7 @@ - + diff --git a/api/patch-user.html b/api/patch-user.html index 167f9ab5c6..f8e3ef1853 100644 --- a/api/patch-user.html +++ b/api/patch-user.html @@ -21,7 +21,7 @@ - + diff --git a/api/post-validate-code.html b/api/post-validate-code.html index 883dd52641..c93fe51998 100644 --- a/api/post-validate-code.html +++ b/api/post-validate-code.html @@ -21,7 +21,7 @@ - + diff --git a/api/post-validate-prompt.html b/api/post-validate-prompt.html index 501da81fb5..e6bc5c711a 100644 --- a/api/post-validate-prompt.html +++ b/api/post-validate-prompt.html @@ -21,7 +21,7 @@ - + diff --git a/api/process-1.html b/api/process-1.html index 5ce88b30b0..a63a181900 100644 --- a/api/process-1.html +++ b/api/process-1.html @@ -21,7 +21,7 @@ - + diff --git a/api/process.html b/api/process.html index a53d692277..e0684a3471 100644 --- a/api/process.html +++ b/api/process.html @@ -21,7 +21,7 @@ - + diff --git a/api/read-all-users.html b/api/read-all-users.html index 54197343b6..079a173a14 100644 --- a/api/read-all-users.html +++ b/api/read-all-users.html @@ -21,7 +21,7 @@ - + diff --git a/api/read-basic-examples.html b/api/read-basic-examples.html index 516140aee9..5c4a8111b7 100644 --- a/api/read-basic-examples.html +++ b/api/read-basic-examples.html @@ -21,7 +21,7 @@ - + diff --git a/api/read-current-user.html b/api/read-current-user.html index 28b8fd431b..9f8edbfdaf 100644 --- a/api/read-current-user.html +++ b/api/read-current-user.html @@ -21,7 +21,7 @@ - + diff --git a/api/read-flow.html b/api/read-flow.html index 668b2601f6..29b6ebfe0e 100644 --- a/api/read-flow.html +++ b/api/read-flow.html @@ -21,7 +21,7 @@ - + diff --git a/api/read-flows.html b/api/read-flows.html index 246a4f6203..c1abce1273 100644 --- a/api/read-flows.html +++ b/api/read-flows.html @@ -21,7 +21,7 @@ - + diff --git a/api/read-folder-redirect.html b/api/read-folder-redirect.html index 2fa43404f2..b68c6028d1 100644 --- a/api/read-folder-redirect.html +++ b/api/read-folder-redirect.html @@ -21,7 +21,7 @@ - + diff --git a/api/read-folders-redirect.html b/api/read-folders-redirect.html index 9f63aaab6e..8a23f6260d 100644 --- a/api/read-folders-redirect.html +++ b/api/read-folders-redirect.html @@ -21,7 +21,7 @@ - + diff --git a/api/read-project.html b/api/read-project.html index dc8776d437..b620e8dd86 100644 --- a/api/read-project.html +++ b/api/read-project.html @@ -21,7 +21,7 @@ - + diff --git a/api/read-projects.html b/api/read-projects.html index ed2a301a4e..e3fa790dde 100644 --- a/api/read-projects.html +++ b/api/read-projects.html @@ -21,7 +21,7 @@ - + diff --git a/api/read-public-flow.html b/api/read-public-flow.html index cb567d2ee4..681642fb62 100644 --- a/api/read-public-flow.html +++ b/api/read-public-flow.html @@ -21,7 +21,7 @@ - + diff --git a/api/read-variables.html b/api/read-variables.html index b8468411a2..f8d33ff59c 100644 --- a/api/read-variables.html +++ b/api/read-variables.html @@ -21,7 +21,7 @@ - + diff --git a/api/refresh-token.html b/api/refresh-token.html index 51944fded4..c2e5df4af3 100644 --- a/api/refresh-token.html +++ b/api/refresh-token.html @@ -21,7 +21,7 @@ - + diff --git a/api/reset-password.html b/api/reset-password.html index 025ee27f1e..fa4cbcc67a 100644 --- a/api/reset-password.html +++ b/api/reset-password.html @@ -21,7 +21,7 @@ - + diff --git a/api/retrieve-vertices-order.html b/api/retrieve-vertices-order.html index 0468517eab..78072af511 100644 --- a/api/retrieve-vertices-order.html +++ b/api/retrieve-vertices-order.html @@ -21,7 +21,7 @@ - + diff --git a/api/save-store-api-key.html b/api/save-store-api-key.html index 0ed87b4b08..4927cbc733 100644 --- a/api/save-store-api-key.html +++ b/api/save-store-api-key.html @@ -21,7 +21,7 @@ - + diff --git a/api/share-component.html b/api/share-component.html index b0a4ec669a..b3150fdd82 100644 --- a/api/share-component.html +++ b/api/share-component.html @@ -21,7 +21,7 @@ - + diff --git a/api/simplified-run-flow.html b/api/simplified-run-flow.html index 88a2c8af2d..4f3cf111c2 100644 --- a/api/simplified-run-flow.html +++ b/api/simplified-run-flow.html @@ -21,7 +21,7 @@ - + diff --git a/api/stream-logs.html b/api/stream-logs.html index a9911e16b9..2c056e0a39 100644 --- a/api/stream-logs.html +++ b/api/stream-logs.html @@ -21,7 +21,7 @@ - + diff --git a/api/update-flow.html b/api/update-flow.html index d22c3aaf18..252f62734c 100644 --- a/api/update-flow.html +++ b/api/update-flow.html @@ -21,7 +21,7 @@ - + diff --git a/api/update-folder-redirect.html b/api/update-folder-redirect.html index 80ac1608a1..3c7b53bbf5 100644 --- a/api/update-folder-redirect.html +++ b/api/update-folder-redirect.html @@ -21,7 +21,7 @@ - + diff --git a/api/update-message.html b/api/update-message.html index bc29334f2f..542d47e7b9 100644 --- a/api/update-message.html +++ b/api/update-message.html @@ -21,7 +21,7 @@ - + diff --git a/api/update-project-mcp-settings.html b/api/update-project-mcp-settings.html index 1f24609414..fecf09d644 100644 --- a/api/update-project-mcp-settings.html +++ b/api/update-project-mcp-settings.html @@ -21,7 +21,7 @@ - + diff --git a/api/update-project.html b/api/update-project.html index 5ca3b3aba2..1507666004 100644 --- a/api/update-project.html +++ b/api/update-project.html @@ -21,7 +21,7 @@ - + diff --git a/api/update-session-id.html b/api/update-session-id.html index 37e1e45604..09b83ab2ec 100644 --- a/api/update-session-id.html +++ b/api/update-session-id.html @@ -21,7 +21,7 @@ - + diff --git a/api/update-shared-component.html b/api/update-shared-component.html index 7ab4e2b552..b1fab5948b 100644 --- a/api/update-shared-component.html +++ b/api/update-shared-component.html @@ -21,7 +21,7 @@ - + diff --git a/api/update-variable.html b/api/update-variable.html index 58828ea5e1..3e49e36520 100644 --- a/api/update-variable.html +++ b/api/update-variable.html @@ -21,7 +21,7 @@ - + diff --git a/api/upload-file-1.html b/api/upload-file-1.html index a2e9f48c3a..a7a333e23d 100644 --- a/api/upload-file-1.html +++ b/api/upload-file-1.html @@ -21,7 +21,7 @@ - + diff --git a/api/upload-file-2.html b/api/upload-file-2.html index 0b4e7a65e2..c52e39158c 100644 --- a/api/upload-file-2.html +++ b/api/upload-file-2.html @@ -21,7 +21,7 @@ - + diff --git a/api/upload-file-redirect.html b/api/upload-file-redirect.html index 921026c17b..5cc5431ca8 100644 --- a/api/upload-file-redirect.html +++ b/api/upload-file-redirect.html @@ -21,7 +21,7 @@ - + diff --git a/api/upload-file.html b/api/upload-file.html index 1d245a4748..2415ba48ed 100644 --- a/api/upload-file.html +++ b/api/upload-file.html @@ -21,7 +21,7 @@ - + diff --git a/api/upload-user-file-1.html b/api/upload-user-file-1.html index 0817be35be..b7503b686f 100644 --- a/api/upload-user-file-1.html +++ b/api/upload-user-file-1.html @@ -21,7 +21,7 @@ - + diff --git a/api/upload-user-file.html b/api/upload-user-file.html index d8de1fa129..8cd565779e 100644 --- a/api/upload-user-file.html +++ b/api/upload-user-file.html @@ -21,7 +21,7 @@ - + diff --git a/api/webhook-run-flow.html b/api/webhook-run-flow.html index 10d4d076e3..66ad345ab5 100644 --- a/api/webhook-run-flow.html +++ b/api/webhook-run-flow.html @@ -21,7 +21,7 @@ - + diff --git a/assets/js/2ab0d4f5.a57bf63f.js b/assets/js/2ab0d4f5.fb9bc2bc.js similarity index 50% rename from assets/js/2ab0d4f5.a57bf63f.js rename to assets/js/2ab0d4f5.fb9bc2bc.js index 6756bfa133..50ff0fd80a 100644 --- a/assets/js/2ab0d4f5.a57bf63f.js +++ b/assets/js/2ab0d4f5.fb9bc2bc.js @@ -1 +1 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[1845],{28453:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>o});var i=t(96540);const s={},r=i.createContext(s);function a(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),i.createElement(r.Provider,{value:n},e.children)}},83640:(e,n,t)=>{t.r(n),t.d(n,{contentTitle:()=>o,default:()=>c,frontMatter:()=>a,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"type":"api","id":"simplified-run-flow","title":"Simplified Run Flow","description":"","slug":"/simplified-run-flow","frontMatter":{},"api":{"tags":["Base"],"description":"Executes a specified flow by ID with support for streaming and telemetry.\\n\\nThis endpoint executes a flow identified by ID or name, with options for streaming the response\\nand tracking execution metrics. It handles both streaming and non-streaming execution modes.\\n\\nArgs:\\n background_tasks (BackgroundTasks): FastAPI background task manager\\n flow (FlowRead | None): The flow to execute, loaded via dependency\\n input_request (SimplifiedAPIRequest | None): Input parameters for the flow\\n stream (bool): Whether to stream the response\\n api_key_user (UserRead): Authenticated user from API key\\n request (Request): The incoming HTTP request\\n\\nReturns:\\n Union[StreamingResponse, RunResponse]: Either a streaming response for real-time results\\n or a RunResponse with the complete execution results\\n\\nRaises:\\n HTTPException: For flow not found (404) or invalid input (400)\\n APIException: For internal execution errors (500)\\n\\nNotes:\\n - Supports both streaming and non-streaming execution modes\\n - Tracks execution time and success/failure via telemetry\\n - Handles graceful client disconnection in streaming mode\\n - Provides detailed error handling with appropriate HTTP status codes\\n - In streaming mode, uses EventManager to handle events:\\n - \\"add_message\\": New messages during execution\\n - \\"token\\": Individual tokens during streaming\\n - \\"end\\": Final execution result","operationId":"simplified_run_flow_api_v1_run__flow_id_or_name__post","security":[{"API key query":[]},{"API key header":[]}],"parameters":[{"name":"flow_id_or_name","in":"path","required":true,"schema":{"type":"string","title":"Flow Id Or Name"}},{"name":"stream","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Stream"}},{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"properties":{"input_value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input Value","description":"The input value"},"input_type":{"anyOf":[{"type":"string","enum":["chat","text","any"]},{"type":"null"}],"title":"Input Type","description":"The input type","default":"chat"},"output_type":{"anyOf":[{"type":"string","enum":["chat","text","any","debug"]},{"type":"null"}],"title":"Output Type","description":"The output type","default":"chat"},"output_component":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output Component","description":"If there are multiple output components, you can specify the component to get the output from.","default":""},"tweaks":{"anyOf":[{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"object"}]},"type":"object","title":"Tweaks","description":"A dictionary of tweaks to adjust the flow\'s execution. Allows customizing flow behavior dynamically. All tweaks are overridden by the input values.","examples":[{"Component Name":{"parameter_name":"value"},"component_id":{"parameter_name":"value"},"parameter_name":"value"}]},{"type":"null"}],"description":"The tweaks"},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id","description":"The session id"}},"type":"object","title":"SimplifiedAPIRequest"},{"type":"null"}],"title":"Input Request"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"}}}}},"method":"post","path":"/api/v1/run/{flow_id_or_name}","securitySchemes":{"OAuth2PasswordBearer":{"type":"oauth2","flows":{"password":{"scopes":{},"tokenUrl":"api/v1/login"}}},"API key query":{"type":"apiKey","in":"query","name":"x-api-key"},"API key header":{"type":"apiKey","in":"header","name":"x-api-key"}},"info":{"title":"Langflow","version":"1.4.2"},"postman":{"name":"Simplified Run Flow","description":{"content":"Executes a specified flow by ID with support for streaming and telemetry.\\n\\nThis endpoint executes a flow identified by ID or name, with options for streaming the response\\nand tracking execution metrics. It handles both streaming and non-streaming execution modes.\\n\\nArgs:\\n background_tasks (BackgroundTasks): FastAPI background task manager\\n flow (FlowRead | None): The flow to execute, loaded via dependency\\n input_request (SimplifiedAPIRequest | None): Input parameters for the flow\\n stream (bool): Whether to stream the response\\n api_key_user (UserRead): Authenticated user from API key\\n request (Request): The incoming HTTP request\\n\\nReturns:\\n Union[StreamingResponse, RunResponse]: Either a streaming response for real-time results\\n or a RunResponse with the complete execution results\\n\\nRaises:\\n HTTPException: For flow not found (404) or invalid input (400)\\n APIException: For internal execution errors (500)\\n\\nNotes:\\n - Supports both streaming and non-streaming execution modes\\n - Tracks execution time and success/failure via telemetry\\n - Handles graceful client disconnection in streaming mode\\n - Provides detailed error handling with appropriate HTTP status codes\\n - In streaming mode, uses EventManager to handle events:\\n - \\"add_message\\": New messages during execution\\n - \\"token\\": Individual tokens during streaming\\n - \\"end\\": Final execution result","type":"text/plain"},"url":{"path":["api","v1","run",":flow_id_or_name"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"key":"stream","value":"false"},{"disabled":false,"key":"user_id","value":""}],"variable":[{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"flow_id_or_name"}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"{\\n \\"input_value\\": \\"\\",\\n \\"input_type\\": \\"\\",\\n \\"output_type\\": \\"\\",\\n \\"output_component\\": \\"\\",\\n \\"tweaks\\": {\\n \\"laborum8\\": \\"\\"\\n },\\n \\"session_id\\": \\"\\"\\n}","options":{"raw":{"language":"json"}}},"auth":{"type":"apikey","apikey":[{"type":"any","value":"x-api-key","key":"key"},{"type":"any","value":"{{apiKey}}","key":"value"},{"type":"any","value":"query","key":"in"}]}}},"source":"@site/openapi.json","sourceDirName":".","permalink":"/api/simplified-run-flow","previous":{"title":"Get All","permalink":"/api/get-all"},"next":{"title":"Webhook Run Flow","permalink":"/api/webhook-run-flow"}}');var s=t(74848),r=t(28453);const a={},o="Simplified Run Flow",l=[];function d(e){const n={h1:"h1",header:"header",li:"li",p:"p",ul:"ul",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"simplified-run-flow",children:"Simplified Run Flow"})}),"\n",(0,s.jsx)(n.p,{children:"Executes a specified flow by ID with support for streaming and telemetry."}),"\n",(0,s.jsx)(n.p,{children:"This endpoint executes a flow identified by ID or name, with options for streaming the response\nand tracking execution metrics. It handles both streaming and non-streaming execution modes."}),"\n",(0,s.jsx)(n.p,{children:"Args:\nbackground_tasks (BackgroundTasks): FastAPI background task manager\nflow (FlowRead | None): The flow to execute, loaded via dependency\ninput_request (SimplifiedAPIRequest | None): Input parameters for the flow\nstream (bool): Whether to stream the response\napi_key_user (UserRead): Authenticated user from API key\nrequest (Request): The incoming HTTP request"}),"\n",(0,s.jsx)(n.p,{children:"Returns:\nUnion[StreamingResponse, RunResponse]: Either a streaming response for real-time results\nor a RunResponse with the complete execution results"}),"\n",(0,s.jsx)(n.p,{children:"Raises:\nHTTPException: For flow not found (404) or invalid input (400)\nAPIException: For internal execution errors (500)"}),"\n",(0,s.jsx)(n.p,{children:"Notes:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Supports both streaming and non-streaming execution modes"}),"\n",(0,s.jsx)(n.li,{children:"Tracks execution time and success/failure via telemetry"}),"\n",(0,s.jsx)(n.li,{children:"Handles graceful client disconnection in streaming mode"}),"\n",(0,s.jsx)(n.li,{children:"Provides detailed error handling with appropriate HTTP status codes"}),"\n",(0,s.jsxs)(n.li,{children:["In streaming mode, uses EventManager to handle events:","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:'"add_message": New messages during execution'}),"\n",(0,s.jsx)(n.li,{children:'"token": Individual tokens during streaming'}),"\n",(0,s.jsx)(n.li,{children:'"end": Final execution result'}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)("table",{style:{display:"table",width:"100%"},children:[(0,s.jsx)("thead",{children:(0,s.jsx)("tr",{children:(0,s.jsx)("th",{style:{textAlign:"left"},children:"Path Parameters"})})}),(0,s.jsx)("tbody",{children:(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsx)("code",{children:"flow_id_or_name"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" Flow Id Or Name"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,s.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-required)"},children:" REQUIRED"})]})})})]}),"\n",(0,s.jsxs)("table",{style:{display:"table",width:"100%"},children:[(0,s.jsx)("thead",{children:(0,s.jsx)("tr",{children:(0,s.jsx)("th",{style:{textAlign:"left"},children:"Query Parameters"})})}),(0,s.jsxs)("tbody",{children:[(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsx)("code",{children:"stream"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" Stream"})]})}),(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsx)("code",{children:"user_id"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" User Id"})]})})]})]}),"\n",(0,s.jsxs)("table",{style:{display:"table",width:"100%"},children:[(0,s.jsx)("thead",{children:(0,s.jsx)("tr",{children:(0,s.jsxs)("th",{style:{textAlign:"left"},children:[(0,s.jsx)("span",{children:"Request Body "}),(0,s.jsx)("div",{})]})})}),(0,s.jsx)("tbody",{children:(0,s.jsx)("tr",{children:(0,s.jsx)("td",{children:(0,s.jsx)("span",{style:{opacity:"0.6"},children:" undefined"})})})})]}),"\n",(0,s.jsxs)("table",{style:{display:"table",width:"100%"},children:[(0,s.jsx)("thead",{children:(0,s.jsx)("tr",{children:(0,s.jsx)("th",{style:{textAlign:"left"},children:"Responses"})})}),(0,s.jsxs)("tbody",{children:[(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsxs)("div",{style:{display:"flex"},children:[(0,s.jsx)("div",{style:{marginRight:"var(--ifm-table-cell-padding)"},children:(0,s.jsx)("code",{children:"200"})}),(0,s.jsx)("div",{children:(0,s.jsx)(n.p,{children:"Successful Response"})})]}),(0,s.jsx)("div",{children:(0,s.jsxs)("table",{style:{display:"table",width:"100%",marginTop:"var(--ifm-table-cell-padding)",marginBottom:"0px"},children:[(0,s.jsx)("thead",{children:(0,s.jsx)("tr",{children:(0,s.jsxs)("th",{style:{textAlign:"left"},children:[(0,s.jsx)("span",{children:"Schema "}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,s.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"}),(0,s.jsx)("div",{})]})})}),(0,s.jsx)("tbody",{children:(0,s.jsx)("tr",{children:(0,s.jsx)("td",{children:(0,s.jsx)("span",{style:{opacity:"0.6"},children:" undefined"})})})})]})})]})}),(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsxs)("div",{style:{display:"flex"},children:[(0,s.jsx)("div",{style:{marginRight:"var(--ifm-table-cell-padding)"},children:(0,s.jsx)("code",{children:"422"})}),(0,s.jsx)("div",{children:(0,s.jsx)(n.p,{children:"Validation Error"})})]}),(0,s.jsx)("div",{children:(0,s.jsxs)("table",{style:{display:"table",width:"100%",marginTop:"var(--ifm-table-cell-padding)",marginBottom:"0px"},children:[(0,s.jsx)("thead",{children:(0,s.jsx)("tr",{children:(0,s.jsxs)("th",{style:{textAlign:"left"},children:[(0,s.jsx)("span",{children:"Schema "}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,s.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"}),(0,s.jsx)("div",{})]})})}),(0,s.jsx)("tbody",{children:(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsx)("code",{children:"detail"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" object[]"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,s.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"}),(0,s.jsx)("table",{style:{display:"table",width:"100%",marginTop:"var(--ifm-table-cell-padding)",marginBottom:"0px"},children:(0,s.jsxs)("tbody",{children:[(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsx)("code",{children:"loc"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" undefined[]"})]})}),(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsx)("code",{children:"msg"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" Message"})]})}),(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsx)("code",{children:"type"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" Error Type"})]})})]})})]})})})]})})]})})]})]})]})}function c(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}}}]); \ No newline at end of file +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[1845],{28453:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>o});var i=t(96540);const s={},r=i.createContext(s);function a(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),i.createElement(r.Provider,{value:n},e.children)}},83640:(e,n,t)=>{t.r(n),t.d(n,{contentTitle:()=>o,default:()=>c,frontMatter:()=>a,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"type":"api","id":"simplified-run-flow","title":"Simplified Run Flow","description":"","slug":"/simplified-run-flow","frontMatter":{},"api":{"tags":["Base"],"description":"Executes a specified flow by ID with support for streaming and telemetry.\\n\\nThis endpoint executes a flow identified by ID or name, with options for streaming the response\\nand tracking execution metrics. It handles both streaming and non-streaming execution modes.\\n\\nArgs:\\n background_tasks (BackgroundTasks): FastAPI background task manager\\n flow (FlowRead | None): The flow to execute, loaded via dependency\\n input_request (SimplifiedAPIRequest | None): Input parameters for the flow\\n stream (bool): Whether to stream the response\\n api_key_user (UserRead): Authenticated user from API key\\n request (Request): The incoming HTTP request\\n\\nReturns:\\n Union[StreamingResponse, RunResponse]: Either a streaming response for real-time results\\n or a RunResponse with the complete execution results\\n\\nRaises:\\n HTTPException: For flow not found (404) or invalid input (400)\\n APIException: For internal execution errors (500)\\n\\nNotes:\\n - Supports both streaming and non-streaming execution modes\\n - Tracks execution time and success/failure via telemetry\\n - Handles graceful client disconnection in streaming mode\\n - Provides detailed error handling with appropriate HTTP status codes\\n - In streaming mode, uses EventManager to handle events:\\n - \\"add_message\\": New messages during execution\\n - \\"token\\": Individual tokens during streaming\\n - \\"end\\": Final execution result","operationId":"simplified_run_flow_api_v1_run__flow_id_or_name__post","security":[{"API key query":[]},{"API key header":[]}],"parameters":[{"name":"flow_id_or_name","in":"path","required":true,"schema":{"type":"string","title":"Flow Id Or Name"}},{"name":"stream","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Stream"}},{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"properties":{"input_value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input Value","description":"The input value"},"input_type":{"anyOf":[{"type":"string","enum":["chat","text","any"]},{"type":"null"}],"title":"Input Type","description":"The input type","default":"chat"},"output_type":{"anyOf":[{"type":"string","enum":["chat","text","any","debug"]},{"type":"null"}],"title":"Output Type","description":"The output type","default":"chat"},"output_component":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output Component","description":"If there are multiple output components, you can specify the component to get the output from.","default":""},"tweaks":{"anyOf":[{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"object"}]},"type":"object","title":"Tweaks","description":"A dictionary of tweaks to adjust the flow\'s execution. Allows customizing flow behavior dynamically. All tweaks are overridden by the input values.","examples":[{"Component Name":{"parameter_name":"value"},"component_id":{"parameter_name":"value"},"parameter_name":"value"}]},{"type":"null"}],"description":"The tweaks"},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id","description":"The session id"}},"type":"object","title":"SimplifiedAPIRequest"},{"type":"null"}],"title":"Input Request"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"}}}}},"method":"post","path":"/api/v1/run/{flow_id_or_name}","securitySchemes":{"OAuth2PasswordBearer":{"type":"oauth2","flows":{"password":{"scopes":{},"tokenUrl":"api/v1/login"}}},"API key query":{"type":"apiKey","in":"query","name":"x-api-key"},"API key header":{"type":"apiKey","in":"header","name":"x-api-key"}},"info":{"title":"Langflow","version":"1.4.2"},"postman":{"name":"Simplified Run Flow","description":{"content":"Executes a specified flow by ID with support for streaming and telemetry.\\n\\nThis endpoint executes a flow identified by ID or name, with options for streaming the response\\nand tracking execution metrics. It handles both streaming and non-streaming execution modes.\\n\\nArgs:\\n background_tasks (BackgroundTasks): FastAPI background task manager\\n flow (FlowRead | None): The flow to execute, loaded via dependency\\n input_request (SimplifiedAPIRequest | None): Input parameters for the flow\\n stream (bool): Whether to stream the response\\n api_key_user (UserRead): Authenticated user from API key\\n request (Request): The incoming HTTP request\\n\\nReturns:\\n Union[StreamingResponse, RunResponse]: Either a streaming response for real-time results\\n or a RunResponse with the complete execution results\\n\\nRaises:\\n HTTPException: For flow not found (404) or invalid input (400)\\n APIException: For internal execution errors (500)\\n\\nNotes:\\n - Supports both streaming and non-streaming execution modes\\n - Tracks execution time and success/failure via telemetry\\n - Handles graceful client disconnection in streaming mode\\n - Provides detailed error handling with appropriate HTTP status codes\\n - In streaming mode, uses EventManager to handle events:\\n - \\"add_message\\": New messages during execution\\n - \\"token\\": Individual tokens during streaming\\n - \\"end\\": Final execution result","type":"text/plain"},"url":{"path":["api","v1","run",":flow_id_or_name"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"key":"stream","value":"false"},{"disabled":false,"key":"user_id","value":""}],"variable":[{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"flow_id_or_name"}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"{\\n \\"input_value\\": \\"\\",\\n \\"input_type\\": \\"\\",\\n \\"output_type\\": \\"\\",\\n \\"output_component\\": \\"\\",\\n \\"tweaks\\": {\\n \\"utb\\": \\"\\",\\n \\"Excepteur_0a\\": \\"\\"\\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/9ac856ad.48629fa4.js b/assets/js/9ac856ad.48629fa4.js new file mode 100644 index 0000000000..54754386da --- /dev/null +++ b/assets/js/9ac856ad.48629fa4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[4046],{47758:(e,n,s)=>{s.r(n),s.d(n,{CH:()=>h,assets:()=>a,chCodeConfig:()=>x,contentTitle:()=>c,default:()=>u,frontMatter:()=>d,metadata:()=>r,toc:()=>j});const r=JSON.parse('{"id":"Configuration/configuration-cli","title":"Langflow CLI","description":"The Langflow command line interface (Langflow CLI) is the main interface for managing and running the Langflow server.","source":"@site/docs/Configuration/configuration-cli.md","sourceDirName":"Configuration","slug":"/configuration-cli","permalink":"/configuration-cli","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{"title":"Langflow CLI","slug":"/configuration-cli"},"sidebar":"docs","previous":{"title":"Authentication","permalink":"/configuration-authentication"},"next":{"title":"Configure an external PostgreSQL database","permalink":"/configuration-custom-database"}}');var o=s(74848),t=s(28453),i=s(24754),l=s(56289);const d={title:"Langflow CLI",slug:"/configuration-cli"},c="Langflow CLI",a={},h={annotations:i.hk,Code:i.Cy},x={staticMediaQuery:"not screen, (max-width: 768px)",lineNumbers:!0,showCopyButton:!0,themeName:"github-dark"},j=[{value:"CLI commands",id:"cli-commands",level:2},{value:"langflow",id:"langflow",level:3},{value:"Options",id:"options",level:4},{value:"langflow api-key",id:"langflow-api-key",level:3},{value:"Options",id:"options-1",level:4},{value:"langflow copy-db",id:"langflow-copy-db",level:3},{value:"Options",id:"options-2",level:4},{value:"langflow migration",id:"langflow-migration",level:3},{value:"Options",id:"options-3",level:4},{value:"langflow run",id:"langflow-run",level:3},{value:"Options",id:"options-4",level:4},{value:"langflow superuser",id:"langflow-superuser",level:3},{value:"Options",id:"options-5",level:4},{value:"Precedence",id:"precedence",level:2},{value:"Assign values",id:"assign-values",level:2},{value:"Boolean values",id:"boolean",level:3}];function p(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,t.R)(),...e.components};return h||f("CH",!1),h.Code||f("CH.Code",!0),(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("style",{dangerouslySetInnerHTML:{__html:'[data-ch-theme="github-dark"] { --ch-t-colorScheme: dark;--ch-t-foreground: #c9d1d9;--ch-t-background: #0d1117;--ch-t-lighter-inlineBackground: #0d1117e6;--ch-t-editor-background: #0d1117;--ch-t-editor-foreground: #c9d1d9;--ch-t-editor-lineHighlightBackground: #6e76811a;--ch-t-editor-rangeHighlightBackground: #ffffff0b;--ch-t-editor-infoForeground: #3794FF;--ch-t-editor-selectionBackground: #264F78;--ch-t-focusBorder: #1f6feb;--ch-t-tab-activeBackground: #0d1117;--ch-t-tab-activeForeground: #c9d1d9;--ch-t-tab-inactiveBackground: #010409;--ch-t-tab-inactiveForeground: #8b949e;--ch-t-tab-border: #30363d;--ch-t-tab-activeBorder: #0d1117;--ch-t-editorGroup-border: #30363d;--ch-t-editorGroupHeader-tabsBackground: #010409;--ch-t-editorLineNumber-foreground: #6e7681;--ch-t-input-background: #0d1117;--ch-t-input-foreground: #c9d1d9;--ch-t-input-border: #30363d;--ch-t-icon-foreground: #8b949e;--ch-t-sideBar-background: #010409;--ch-t-sideBar-foreground: #c9d1d9;--ch-t-sideBar-border: #30363d;--ch-t-list-activeSelectionBackground: #6e768166;--ch-t-list-activeSelectionForeground: #c9d1d9;--ch-t-list-hoverBackground: #6e76811a;--ch-t-list-hoverForeground: #c9d1d9; }'}}),"\n","\n",(0,o.jsx)(n.header,{children:(0,o.jsx)(n.h1,{id:"langflow-cli",children:"Langflow CLI"})}),"\n",(0,o.jsx)(n.p,{children:"The Langflow command line interface (Langflow CLI) is the main interface for managing and running the Langflow server."}),"\n",(0,o.jsx)(n.h2,{id:"cli-commands",children:"CLI commands"}),"\n",(0,o.jsxs)(n.p,{children:["The following sections describe the available CLI commands and their options, as well as their corresponding ",(0,o.jsx)(n.a,{href:"/environment-variables",children:"environment variables"}),"."]}),"\n",(0,o.jsx)(n.h3,{id:"langflow",children:"langflow"}),"\n",(0,o.jsx)(n.p,{children:"Running the CLI without any arguments displays a list of available options and commands."}),"\n",(0,o.jsx)(h.Code,{codeConfig:x,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"langflow",props:{style:{color:"#FFA657"}}},{content:" [OPTIONS]",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"# or",props:{style:{color:"#8B949E"}}}]},{tokens:[{content:"python ",props:{style:{color:"#FFA657"}}},{content:"-m ",props:{style:{color:"#79C0FF"}}},{content:"langflow",props:{style:{color:"#A5D6FF"}}},{content:" [OPTIONS]",props:{style:{color:"#C9D1D9"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,o.jsx)(n.h4,{id:"options",children:"Options"}),"\n",(0,o.jsxs)(n.table,{children:[(0,o.jsx)(n.thead,{children:(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.th,{children:"Option"}),(0,o.jsx)(n.th,{children:"Default"}),(0,o.jsx)(n.th,{children:"Values"}),(0,o.jsx)(n.th,{children:"Description"})]})}),(0,o.jsxs)(n.tbody,{children:[(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"install-completion"}),(0,o.jsx)(n.code,{children:"--install-completion"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.em,{children:"Not applicable"})}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.em,{children:"Not applicable"})}),(0,o.jsx)(n.td,{children:"Install auto-completion for the current shell."})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"show-completion"}),(0,o.jsx)(n.code,{children:"--show-completion"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.em,{children:"Not applicable"})}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.em,{children:"Not applicable"})}),(0,o.jsx)(n.td,{children:"Show the location of the auto-completion config file, if installed."})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"help"}),(0,o.jsx)(n.code,{children:"--help"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.em,{children:"Not applicable"})}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.em,{children:"Not applicable"})}),(0,o.jsx)(n.td,{children:"Display information about the command usage and its options and arguments."})]})]})]}),"\n",(0,o.jsx)(n.h3,{id:"langflow-api-key",children:"langflow api-key"}),"\n",(0,o.jsxs)(n.p,{children:["Create an API key for the default superuser if the ",(0,o.jsx)(n.code,{children:"LANGFLOW_AUTO_LOGIN"})," environment variable is set to ",(0,o.jsx)(n.code,{children:"true"}),"."]}),"\n",(0,o.jsx)(h.Code,{codeConfig:x,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"langflow ",props:{style:{color:"#FFA657"}}},{content:"api-key",props:{style:{color:"#A5D6FF"}}},{content:" [OPTIONS]",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"# or",props:{style:{color:"#8B949E"}}}]},{tokens:[{content:"python ",props:{style:{color:"#FFA657"}}},{content:"-m ",props:{style:{color:"#79C0FF"}}},{content:"langflow api-key",props:{style:{color:"#A5D6FF"}}},{content:" [OPTIONS]",props:{style:{color:"#C9D1D9"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,o.jsx)(n.h4,{id:"options-1",children:"Options"}),"\n",(0,o.jsxs)(n.table,{children:[(0,o.jsx)(n.thead,{children:(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.th,{children:"Option"}),(0,o.jsx)(n.th,{children:"Default"}),(0,o.jsx)(n.th,{children:"Values"}),(0,o.jsx)(n.th,{children:"Description"})]})}),(0,o.jsxs)(n.tbody,{children:[(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"install-completion"}),(0,o.jsx)(n.code,{children:"--install-completion"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.em,{children:"Not applicable"})}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.em,{children:"Not applicable"})}),(0,o.jsx)(n.td,{children:"Install auto-completion for the current shell."})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"show-completion"}),(0,o.jsx)(n.code,{children:"--show-completion"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.em,{children:"Not applicable"})}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.em,{children:"Not applicable"})}),(0,o.jsx)(n.td,{children:"Show the location of the auto-completion config file (if installed)."})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"help"}),(0,o.jsx)(n.code,{children:"--help"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.em,{children:"Not applicable"})}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.em,{children:"Not applicable"})}),(0,o.jsx)(n.td,{children:"Display information about the command usage and its options and arguments."})]})]})]}),"\n",(0,o.jsx)(n.h3,{id:"langflow-copy-db",children:"langflow copy-db"}),"\n",(0,o.jsxs)(n.p,{children:["Copy the database files to the current directory.\nCopy the Langflow database files, ",(0,o.jsx)(n.code,{children:"langflow.db"})," and ",(0,o.jsx)(n.code,{children:"langflow-pre.db"})," (if they exist), from the cache directory to the current directory."]}),"\n",(0,o.jsx)(n.admonition,{type:"note",children:(0,o.jsxs)(n.p,{children:["The current directory is the directory containing ",(0,o.jsx)(n.code,{children:"__main__.py"}),".\nYou can find this directory by running ",(0,o.jsx)(n.code,{children:"which langflow"}),"."]})}),"\n",(0,o.jsx)(h.Code,{codeConfig:x,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"langflow ",props:{style:{color:"#FFA657"}}},{content:"copy-db",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"# or",props:{style:{color:"#8B949E"}}}]},{tokens:[{content:"python ",props:{style:{color:"#FFA657"}}},{content:"-m ",props:{style:{color:"#79C0FF"}}},{content:"langflow copy-db",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,o.jsx)(n.h4,{id:"options-2",children:"Options"}),"\n",(0,o.jsxs)(n.table,{children:[(0,o.jsx)(n.thead,{children:(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.th,{children:"Option"}),(0,o.jsx)(n.th,{children:"Default"}),(0,o.jsx)(n.th,{children:"Values"}),(0,o.jsx)(n.th,{children:"Description"})]})}),(0,o.jsx)(n.tbody,{children:(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"copy-db-help"}),(0,o.jsx)(n.code,{children:"--help"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.em,{children:"Not applicable"})}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.em,{children:"Not applicable"})}),(0,o.jsx)(n.td,{children:"Display information about the command usage and its options and arguments."})]})})]}),"\n",(0,o.jsx)(n.h3,{id:"langflow-migration",children:"langflow migration"}),"\n",(0,o.jsx)(n.p,{children:"Run or test database migrations."}),"\n",(0,o.jsx)(h.Code,{codeConfig:x,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"langflow ",props:{style:{color:"#FFA657"}}},{content:"migration",props:{style:{color:"#A5D6FF"}}},{content:" [OPTIONS]",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"# or",props:{style:{color:"#8B949E"}}}]},{tokens:[{content:"python ",props:{style:{color:"#FFA657"}}},{content:"-m ",props:{style:{color:"#79C0FF"}}},{content:"langflow migration",props:{style:{color:"#A5D6FF"}}},{content:" [OPTIONS]",props:{style:{color:"#C9D1D9"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,o.jsx)(n.h4,{id:"options-3",children:"Options"}),"\n",(0,o.jsxs)(n.table,{children:[(0,o.jsx)(n.thead,{children:(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.th,{children:"Option"}),(0,o.jsx)(n.th,{children:"Default"}),(0,o.jsx)(n.th,{children:"Values"}),(0,o.jsx)(n.th,{children:"Description"})]})}),(0,o.jsxs)(n.tbody,{children:[(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"migration-test"}),(0,o.jsx)(n.code,{children:"--test"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.code,{children:"true"})}),(0,o.jsx)(n.td,{children:"Boolean"}),(0,o.jsxs)(n.td,{children:["Run migrations in test mode. Use ",(0,o.jsx)(n.code,{children:"--no-test"})," to disable test mode."]})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"migration-fix"}),(0,o.jsx)(n.code,{children:"--fix"})]}),(0,o.jsxs)(n.td,{children:[(0,o.jsx)(n.code,{children:"false"})," (",(0,o.jsx)(n.code,{children:"--no-fix"}),")"]}),(0,o.jsx)(n.td,{children:"Boolean"}),(0,o.jsx)(n.td,{children:"Fix migrations. This is a destructive operation, and all affected data will be deleted. Only use this option if you know what you are doing."})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"migration-help"}),(0,o.jsx)(n.code,{children:"--help"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.em,{children:"Not applicable"})}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.em,{children:"Not applicable"})}),(0,o.jsx)(n.td,{children:"Display information about the command usage and its options and arguments."})]})]})]}),"\n",(0,o.jsx)(n.h3,{id:"langflow-run",children:"langflow run"}),"\n",(0,o.jsx)(n.p,{children:"Start the Langflow server."}),"\n",(0,o.jsx)(h.Code,{codeConfig:x,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"langflow ",props:{style:{color:"#FFA657"}}},{content:"run",props:{style:{color:"#A5D6FF"}}},{content:" [OPTIONS]",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"# or",props:{style:{color:"#8B949E"}}}]},{tokens:[{content:"python ",props:{style:{color:"#FFA657"}}},{content:"-m ",props:{style:{color:"#79C0FF"}}},{content:"langflow run",props:{style:{color:"#A5D6FF"}}},{content:" [OPTIONS]",props:{style:{color:"#C9D1D9"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,o.jsx)(n.h4,{id:"options-4",children:"Options"}),"\n",(0,o.jsxs)(n.table,{children:[(0,o.jsx)(n.thead,{children:(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.th,{children:"Option"}),(0,o.jsx)(n.th,{children:"Default"}),(0,o.jsx)(n.th,{children:"Values"}),(0,o.jsx)(n.th,{children:"Description"})]})}),(0,o.jsxs)(n.tbody,{children:[(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"run-host"}),(0,o.jsx)(n.code,{children:"--host"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.code,{children:"127.0.0.1"})}),(0,o.jsx)(n.td,{children:"String"}),(0,o.jsxs)(n.td,{children:["The host on which the Langflow server will run.",(0,o.jsx)("br",{}),"See ",(0,o.jsxs)(n.a,{href:"/environment-variables#LANGFLOW_HOST",children:[(0,o.jsx)(n.code,{children:"LANGFLOW_HOST"})," variable"]}),"."]})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"run-workers"}),(0,o.jsx)(n.code,{children:"--workers"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.code,{children:"1"})}),(0,o.jsx)(n.td,{children:"Integer"}),(0,o.jsxs)(n.td,{children:["Number of worker processes.",(0,o.jsx)("br",{}),"See ",(0,o.jsxs)(n.a,{href:"/environment-variables#LANGFLOW_WORKERS",children:[(0,o.jsx)(n.code,{children:"LANGFLOW_WORKERS"})," variable"]}),"."]})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"run-worker-timeout"}),(0,o.jsx)(n.code,{children:"--worker-timeout"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.code,{children:"300"})}),(0,o.jsx)(n.td,{children:"Integer"}),(0,o.jsxs)(n.td,{children:["Worker timeout in seconds.",(0,o.jsx)("br",{}),"See ",(0,o.jsxs)(n.a,{href:"/environment-variables#LANGFLOW_WORKER_TIMEOUT",children:[(0,o.jsx)(n.code,{children:"LANGFLOW_WORKER_TIMEOUT"})," variable"]}),"."]})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"run-port"}),(0,o.jsx)(n.code,{children:"--port"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.code,{children:"7860"})}),(0,o.jsx)(n.td,{children:"Integer"}),(0,o.jsxs)(n.td,{children:["The port on which the Langflow server will run. The server automatically selects a free port if the specified port is in use.",(0,o.jsx)("br",{}),"See ",(0,o.jsxs)(n.a,{href:"/environment-variables#LANGFLOW_PORT",children:[(0,o.jsx)(n.code,{children:"LANGFLOW_PORT"})," variable"]}),"."]})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"run-components-path"}),(0,o.jsx)(n.code,{children:"--components-path"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.code,{children:"langflow/components"})}),(0,o.jsx)(n.td,{children:"String"}),(0,o.jsxs)(n.td,{children:["Path to the directory containing custom components.",(0,o.jsx)("br",{}),"See ",(0,o.jsxs)(n.a,{href:"/environment-variables#LANGFLOW_COMPONENTS_PATH",children:[(0,o.jsx)(n.code,{children:"LANGFLOW_COMPONENTS_PATH"})," variable"]}),"."]})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"run-env-file"}),(0,o.jsx)(n.code,{children:"--env-file"})]}),(0,o.jsx)(n.td,{children:"Not set"}),(0,o.jsx)(n.td,{children:"String"}),(0,o.jsxs)(n.td,{children:["Path to the ",(0,o.jsx)(n.code,{children:".env"})," file containing environment variables.",(0,o.jsx)("br",{}),"See ",(0,o.jsx)(n.a,{href:"/environment-variables#configure-variables-env-file",children:"Import environment variables from a .env file"}),"."]})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"run-log-level"}),(0,o.jsx)(n.code,{children:"--log-level"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.code,{children:"critical"})}),(0,o.jsxs)(n.td,{children:[(0,o.jsx)(n.code,{children:"debug"}),(0,o.jsx)("br",{}),(0,o.jsx)(n.code,{children:"info"}),(0,o.jsx)("br",{}),(0,o.jsx)(n.code,{children:"warning"}),(0,o.jsx)("br",{}),(0,o.jsx)(n.code,{children:"error"}),(0,o.jsx)("br",{}),(0,o.jsx)(n.code,{children:"critical"})]}),(0,o.jsxs)(n.td,{children:["Set the logging level.",(0,o.jsx)("br",{}),"See ",(0,o.jsxs)(n.a,{href:"/environment-variables#LANGFLOW_LOG_LEVEL",children:[(0,o.jsx)(n.code,{children:"LANGFLOW_LOG_LEVEL"})," variable"]}),"."]})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"run-log-file"}),(0,o.jsx)(n.code,{children:"--log-file"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.code,{children:"logs/langflow.log"})}),(0,o.jsx)(n.td,{children:"String"}),(0,o.jsxs)(n.td,{children:["Set the path to the log file for Langflow.",(0,o.jsx)("br",{}),"See ",(0,o.jsxs)(n.a,{href:"/environment-variables#LANGFLOW_LOG_FILE",children:[(0,o.jsx)(n.code,{children:"LANGFLOW_LOG_FILE"})," variable"]}),"."]})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"run-cache"}),(0,o.jsx)(n.code,{children:"--cache"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.code,{children:"async"})}),(0,o.jsxs)(n.td,{children:[(0,o.jsx)(n.code,{children:"async"}),(0,o.jsx)("br",{}),(0,o.jsx)(n.code,{children:"redis"}),(0,o.jsx)("br",{}),(0,o.jsx)(n.code,{children:"memory"}),(0,o.jsx)("br",{}),(0,o.jsx)(n.code,{children:"disk"})]}),(0,o.jsxs)(n.td,{children:["Type of cache to use.",(0,o.jsx)("br",{}),"See ",(0,o.jsxs)(n.a,{href:"/environment-variables#LANGFLOW_CACHE_TYPE",children:[(0,o.jsx)(n.code,{children:"LANGFLOW_CACHE_TYPE"})," variable"]}),"."]})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"run-frontend-path"}),(0,o.jsx)(n.code,{children:"--frontend-path"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.code,{children:"./frontend"})}),(0,o.jsx)(n.td,{children:"String"}),(0,o.jsxs)(n.td,{children:["Path to the frontend directory containing build files. This is for development purposes only.",(0,o.jsx)("br",{}),"See ",(0,o.jsxs)(n.a,{href:"/environment-variables#LANGFLOW_FRONTEND_PATH",children:[(0,o.jsx)(n.code,{children:"LANGFLOW_FRONTEND_PATH"})," variable"]}),"."]})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"run-open-browser"}),(0,o.jsx)(n.code,{children:"--open-browser"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.code,{children:"true"})}),(0,o.jsx)(n.td,{children:"Boolean"}),(0,o.jsxs)(n.td,{children:["Open the system web browser on startup. Use ",(0,o.jsx)(n.code,{children:"--no-open-browser"})," to disable opening the system web browser on startup.",(0,o.jsx)("br",{})," See ",(0,o.jsxs)(n.a,{href:"/environment-variables#LANGFLOW_OPEN_BROWSER",children:[(0,o.jsx)(n.code,{children:"LANGFLOW_OPEN_BROWSER"})," variable"]}),"."]})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"run-remove-api-keys"}),(0,o.jsx)(n.code,{children:"--remove-api-keys"})]}),(0,o.jsxs)(n.td,{children:[(0,o.jsx)(n.code,{children:"false"})," (",(0,o.jsx)(n.code,{children:"--no-remove-api-keys"}),")"]}),(0,o.jsx)(n.td,{children:"Boolean"}),(0,o.jsxs)(n.td,{children:["Remove API keys from the projects saved in the database.",(0,o.jsx)("br",{})," See ",(0,o.jsxs)(n.a,{href:"/environment-variables#LANGFLOW_REMOVE_API_KEYS",children:[(0,o.jsx)(n.code,{children:"LANGFLOW_REMOVE_API_KEYS"})," variable"]}),"."]})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"run-backend-only"}),(0,o.jsx)(n.code,{children:"--backend-only"})]}),(0,o.jsxs)(n.td,{children:[(0,o.jsx)(n.code,{children:"false"})," (",(0,o.jsx)(n.code,{children:"--no-backend-only"}),")"]}),(0,o.jsx)(n.td,{children:"Boolean"}),(0,o.jsxs)(n.td,{children:["Only run Langflow's backend server (no frontend).",(0,o.jsx)("br",{}),"See ",(0,o.jsxs)(n.a,{href:"/environment-variables#LANGFLOW_BACKEND_ONLY",children:[(0,o.jsx)(n.code,{children:"LANGFLOW_BACKEND_ONLY"})," variable"]}),"."]})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"run-store"}),(0,o.jsx)(n.code,{children:"--store"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.code,{children:"true"})}),(0,o.jsx)(n.td,{children:"Boolean"}),(0,o.jsxs)(n.td,{children:["Enable the Langflow Store features. Use ",(0,o.jsx)(n.code,{children:"--no-store"})," to disable the Langflow Store features.",(0,o.jsx)("br",{}),"See ",(0,o.jsxs)(n.a,{href:"/environment-variables#LANGFLOW_STORE",children:[(0,o.jsx)(n.code,{children:"LANGFLOW_STORE"})," variable"]}),"."]})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"run-auto-saving"}),(0,o.jsx)(n.code,{children:"--auto-saving"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.code,{children:"true"})}),(0,o.jsx)(n.td,{children:"Boolean"}),(0,o.jsxs)(n.td,{children:["Enable flow auto-saving. Use ",(0,o.jsx)(n.code,{children:"--no-auto-saving"})," to disable flow auto-saving.",(0,o.jsx)("br",{}),"See ",(0,o.jsxs)(n.a,{href:"/environment-variables#LANGFLOW_AUTO_SAVING",children:[(0,o.jsx)(n.code,{children:"LANGFLOW_AUTO_SAVING"})," variable"]}),"."]})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"run-auto-saving-interval"}),(0,o.jsx)(n.code,{children:"--auto-saving-interval"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.code,{children:"1000"})}),(0,o.jsx)(n.td,{children:"Integer"}),(0,o.jsxs)(n.td,{children:["Set the interval for flow auto-saving in milliseconds.",(0,o.jsx)("br",{}),"See ",(0,o.jsxs)(n.a,{href:"/environment-variables#LANGFLOW_AUTO_SAVING_INTERVAL",children:[(0,o.jsx)(n.code,{children:"LANGFLOW_AUTO_SAVING_INTERVAL"})," variable"]}),"."]})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"run-health-check-max-retries"}),(0,o.jsx)(n.code,{children:"--health-check-max-retries"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.code,{children:"5"})}),(0,o.jsx)(n.td,{children:"Integer"}),(0,o.jsxs)(n.td,{children:["Set the maximum number of retries for the health check. Use ",(0,o.jsx)(n.code,{children:"--no-health-check-max-retries"})," to disable the maximum number of retries for the health check.",(0,o.jsx)("br",{}),"See ",(0,o.jsxs)(n.a,{href:"/environment-variables#LANGFLOW_HEALTH_CHECK_MAX_RETRIES",children:[(0,o.jsx)(n.code,{children:"LANGFLOW_HEALTH_CHECK_MAX_RETRIES"})," variable"]}),"."]})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"run-max-file-size-upload"}),(0,o.jsx)(n.code,{children:"--max-file-size-upload"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.code,{children:"100"})}),(0,o.jsx)(n.td,{children:"Integer"}),(0,o.jsxs)(n.td,{children:["Set the maximum file size for the upload in megabytes.",(0,o.jsx)("br",{}),"See ",(0,o.jsxs)(n.a,{href:"/environment-variables#LANGFLOW_MAX_FILE_SIZE_UPLOAD",children:[(0,o.jsx)(n.code,{children:"LANGFLOW_MAX_FILE_SIZE_UPLOAD"})," variable"]}),"."]})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"run-ssl-cert-file-path"}),(0,o.jsx)(n.code,{children:"--ssl-cert-file-path"})]}),(0,o.jsx)(n.td,{children:"Not set"}),(0,o.jsx)(n.td,{children:"String"}),(0,o.jsx)(n.td,{children:"Path to the SSL certificate file on the local system."})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"run-ssl-key-file-path"}),(0,o.jsx)(n.code,{children:"--ssl-key-file-path"})]}),(0,o.jsx)(n.td,{children:"Not set"}),(0,o.jsx)(n.td,{children:"String"}),(0,o.jsx)(n.td,{children:"Path to the SSL key file on the local system."})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"run-help"}),(0,o.jsx)(n.code,{children:"--help"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.em,{children:"Not applicable"})}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.em,{children:"Not applicable"})}),(0,o.jsx)(n.td,{children:"Display information about the command usage and its options and arguments."})]})]})]}),"\n",(0,o.jsx)(n.h3,{id:"langflow-superuser",children:"langflow superuser"}),"\n",(0,o.jsx)(n.p,{children:"Create a superuser account."}),"\n",(0,o.jsx)(h.Code,{codeConfig:x,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"langflow ",props:{style:{color:"#FFA657"}}},{content:"superuser",props:{style:{color:"#A5D6FF"}}},{content:" [OPTIONS]",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"# or",props:{style:{color:"#8B949E"}}}]},{tokens:[{content:"python ",props:{style:{color:"#FFA657"}}},{content:"-m ",props:{style:{color:"#79C0FF"}}},{content:"langflow superuser",props:{style:{color:"#A5D6FF"}}},{content:" [OPTIONS]",props:{style:{color:"#C9D1D9"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,o.jsx)(n.h4,{id:"options-5",children:"Options"}),"\n",(0,o.jsxs)(n.table,{children:[(0,o.jsx)(n.thead,{children:(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.th,{children:"Option"}),(0,o.jsx)(n.th,{children:"Default"}),(0,o.jsx)(n.th,{children:"Values"}),(0,o.jsx)(n.th,{children:"Description"})]})}),(0,o.jsxs)(n.tbody,{children:[(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"superuser-username"}),(0,o.jsx)(n.code,{children:"--username"})]}),(0,o.jsx)(n.td,{children:"Required"}),(0,o.jsx)(n.td,{children:"String"}),(0,o.jsxs)(n.td,{children:["Specify the name for the superuser.",(0,o.jsx)("br",{}),"See ",(0,o.jsxs)(n.a,{href:"/environment-variables#LANGFLOW_SUPERUSER",children:[(0,o.jsx)(n.code,{children:"LANGFLOW_SUPERUSER"})," variable"]}),"."]})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"superuser-password"}),(0,o.jsx)(n.code,{children:"--password"})]}),(0,o.jsx)(n.td,{children:"Required"}),(0,o.jsx)(n.td,{children:"String"}),(0,o.jsxs)(n.td,{children:["Specify the password for the superuser.",(0,o.jsx)("br",{}),"See ",(0,o.jsxs)(n.a,{href:"/environment-variables#LANGFLOW_SUPERUSER_PASSWORD",children:[(0,o.jsx)(n.code,{children:"LANGFLOW_SUPERUSER_PASSWORD"})," variable"]}),"."]})]})]})]}),"\n",(0,o.jsx)(n.h2,{id:"precedence",children:"Precedence"}),"\n",(0,o.jsxs)(n.p,{children:["Langflow CLI options override the values of corresponding ",(0,o.jsx)(n.a,{href:"/environment-variables",children:"environment variables"}),"."]}),"\n",(0,o.jsxs)(n.p,{children:["For example, if you have ",(0,o.jsx)(n.code,{children:"LANGFLOW_PORT=7860"})," defined as an environment variable, but you run the CLI with ",(0,o.jsx)(n.code,{children:"--port 7880"}),", Langflow sets the port to ",(0,o.jsx)(n.strong,{children:(0,o.jsx)(n.code,{children:"7880"})}),", the value passed with the CLI."]}),"\n",(0,o.jsx)(n.h2,{id:"assign-values",children:"Assign values"}),"\n",(0,o.jsxs)(n.p,{children:["There are two ways you can assign a value to a CLI option.\nYou can write the option flag and its value with a single space between them: ",(0,o.jsx)(n.code,{children:"--option value"}),".\nOr, you can write them using an equals sign (",(0,o.jsx)(n.code,{children:"="}),") between the option flag and the value: ",(0,o.jsx)(n.code,{children:"--option=value"}),"."]}),"\n",(0,o.jsxs)(n.p,{children:["Values that contain spaces must be surrounded by quotation marks: ",(0,o.jsx)(n.code,{children:"--option 'Value with Spaces'"})," or ",(0,o.jsx)(n.code,{children:"--option='Value with Spaces'"}),"."]}),"\n",(0,o.jsx)(n.h3,{id:"boolean",children:"Boolean values"}),"\n",(0,o.jsx)(n.p,{children:"Boolean options turn a behavior on or off, and therefore accept no arguments.\nTo activate a boolean option, type it on the command line.\nFor example:"}),"\n",(0,o.jsx)(h.Code,{codeConfig:x,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"langflow ",props:{style:{color:"#FFA657"}}},{content:"run ",props:{style:{color:"#A5D6FF"}}},{content:"--remove-api-keys",props:{style:{color:"#79C0FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,o.jsxs)(n.p,{children:["All boolean options have a corresponding option that negates it.\nFor example, the negating option for ",(0,o.jsx)(n.code,{children:"--remove-api-keys"})," is ",(0,o.jsx)(n.code,{children:"--no-remove-api-keys"}),".\nThese options let you negate boolean options that you may have set using ",(0,o.jsx)(n.a,{href:"/environment-variables",children:"environment variables"}),"."]})]})}function u(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(p,{...e})}):p(e)}function f(e,n){throw new Error("Expected "+(n?"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/9ac856ad.f7eca8e9.js b/assets/js/9ac856ad.f7eca8e9.js deleted file mode 100644 index 44f1b5ac95..0000000000 --- a/assets/js/9ac856ad.f7eca8e9.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[4046],{47758:(e,n,s)=>{s.r(n),s.d(n,{CH:()=>h,assets:()=>a,chCodeConfig:()=>x,contentTitle:()=>c,default:()=>u,frontMatter:()=>d,metadata:()=>r,toc:()=>j});const r=JSON.parse('{"id":"Configuration/configuration-cli","title":"Langflow CLI","description":"The Langflow command line interface (Langflow CLI) is the main interface for managing and running the Langflow server.","source":"@site/docs/Configuration/configuration-cli.md","sourceDirName":"Configuration","slug":"/configuration-cli","permalink":"/configuration-cli","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{"title":"Langflow CLI","slug":"/configuration-cli"},"sidebar":"docs","previous":{"title":"Authentication","permalink":"/configuration-authentication"},"next":{"title":"Configure an external PostgreSQL database","permalink":"/configuration-custom-database"}}');var o=s(74848),i=s(28453),t=s(24754),l=s(56289);const d={title:"Langflow CLI",slug:"/configuration-cli"},c="Langflow CLI",a={},h={annotations:t.hk,Code:t.Cy},x={staticMediaQuery:"not screen, (max-width: 768px)",lineNumbers:!0,showCopyButton:!0,themeName:"github-dark"},j=[{value:"CLI commands",id:"cli-commands",level:2},{value:"langflow",id:"langflow",level:3},{value:"Options",id:"options",level:4},{value:"langflow api-key",id:"langflow-api-key",level:3},{value:"Options",id:"options-1",level:4},{value:"langflow copy-db",id:"langflow-copy-db",level:3},{value:"Options",id:"options-2",level:4},{value:"langflow migration",id:"langflow-migration",level:3},{value:"Options",id:"options-3",level:4},{value:"langflow run",id:"langflow-run",level:3},{value:"Options",id:"options-4",level:4},{value:"langflow superuser",id:"langflow-superuser",level:3},{value:"Options",id:"options-5",level:4},{value:"Precedence",id:"precedence",level:2},{value:"Assign values",id:"assign-values",level:2},{value:"Boolean values",id:"boolean",level:3}];function p(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.R)(),...e.components};return h||f("CH",!1),h.Code||f("CH.Code",!0),(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("style",{dangerouslySetInnerHTML:{__html:'[data-ch-theme="github-dark"] { --ch-t-colorScheme: dark;--ch-t-foreground: #c9d1d9;--ch-t-background: #0d1117;--ch-t-lighter-inlineBackground: #0d1117e6;--ch-t-editor-background: #0d1117;--ch-t-editor-foreground: #c9d1d9;--ch-t-editor-lineHighlightBackground: #6e76811a;--ch-t-editor-rangeHighlightBackground: #ffffff0b;--ch-t-editor-infoForeground: #3794FF;--ch-t-editor-selectionBackground: #264F78;--ch-t-focusBorder: #1f6feb;--ch-t-tab-activeBackground: #0d1117;--ch-t-tab-activeForeground: #c9d1d9;--ch-t-tab-inactiveBackground: #010409;--ch-t-tab-inactiveForeground: #8b949e;--ch-t-tab-border: #30363d;--ch-t-tab-activeBorder: #0d1117;--ch-t-editorGroup-border: #30363d;--ch-t-editorGroupHeader-tabsBackground: #010409;--ch-t-editorLineNumber-foreground: #6e7681;--ch-t-input-background: #0d1117;--ch-t-input-foreground: #c9d1d9;--ch-t-input-border: #30363d;--ch-t-icon-foreground: #8b949e;--ch-t-sideBar-background: #010409;--ch-t-sideBar-foreground: #c9d1d9;--ch-t-sideBar-border: #30363d;--ch-t-list-activeSelectionBackground: #6e768166;--ch-t-list-activeSelectionForeground: #c9d1d9;--ch-t-list-hoverBackground: #6e76811a;--ch-t-list-hoverForeground: #c9d1d9; }'}}),"\n","\n",(0,o.jsx)(n.header,{children:(0,o.jsx)(n.h1,{id:"langflow-cli",children:"Langflow CLI"})}),"\n",(0,o.jsx)(n.p,{children:"The Langflow command line interface (Langflow CLI) is the main interface for managing and running the Langflow server."}),"\n",(0,o.jsx)(n.h2,{id:"cli-commands",children:"CLI commands"}),"\n",(0,o.jsxs)(n.p,{children:["The following sections describe the available CLI commands and their options, as well as their corresponding ",(0,o.jsx)(n.a,{href:"/environment-variables",children:"environment variables"}),"."]}),"\n",(0,o.jsx)(n.h3,{id:"langflow",children:"langflow"}),"\n",(0,o.jsx)(n.p,{children:"Running the CLI without any arguments displays a list of available options and commands."}),"\n",(0,o.jsx)(h.Code,{codeConfig:x,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"langflow",props:{style:{color:"#FFA657"}}},{content:" [OPTIONS]",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"# or",props:{style:{color:"#8B949E"}}}]},{tokens:[{content:"python ",props:{style:{color:"#FFA657"}}},{content:"-m ",props:{style:{color:"#79C0FF"}}},{content:"langflow",props:{style:{color:"#A5D6FF"}}},{content:" [OPTIONS]",props:{style:{color:"#C9D1D9"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,o.jsx)(n.h4,{id:"options",children:"Options"}),"\n",(0,o.jsxs)(n.table,{children:[(0,o.jsx)(n.thead,{children:(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.th,{children:"Option"}),(0,o.jsx)(n.th,{children:"Default"}),(0,o.jsx)(n.th,{children:"Values"}),(0,o.jsx)(n.th,{children:"Description"})]})}),(0,o.jsxs)(n.tbody,{children:[(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"install-completion"}),(0,o.jsx)(n.code,{children:"--install-completion"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.em,{children:"Not applicable"})}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.em,{children:"Not applicable"})}),(0,o.jsx)(n.td,{children:"Install auto-completion for the current shell."})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"show-completion"}),(0,o.jsx)(n.code,{children:"--show-completion"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.em,{children:"Not applicable"})}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.em,{children:"Not applicable"})}),(0,o.jsx)(n.td,{children:"Show the location of the auto-completion config file, if installed."})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"help"}),(0,o.jsx)(n.code,{children:"--help"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.em,{children:"Not applicable"})}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.em,{children:"Not applicable"})}),(0,o.jsx)(n.td,{children:"Display information about the command usage and its options and arguments."})]})]})]}),"\n",(0,o.jsx)(n.h3,{id:"langflow-api-key",children:"langflow api-key"}),"\n",(0,o.jsxs)(n.p,{children:["Create an API key for the default superuser if the ",(0,o.jsx)(n.code,{children:"LANGFLOW_AUTO_LOGIN"})," environment variable is set to ",(0,o.jsx)(n.code,{children:"true"}),"."]}),"\n",(0,o.jsx)(h.Code,{codeConfig:x,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"langflow ",props:{style:{color:"#FFA657"}}},{content:"api-key",props:{style:{color:"#A5D6FF"}}},{content:" [OPTIONS]",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"# or",props:{style:{color:"#8B949E"}}}]},{tokens:[{content:"python ",props:{style:{color:"#FFA657"}}},{content:"-m ",props:{style:{color:"#79C0FF"}}},{content:"langflow api-key",props:{style:{color:"#A5D6FF"}}},{content:" [OPTIONS]",props:{style:{color:"#C9D1D9"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,o.jsx)(n.h4,{id:"options-1",children:"Options"}),"\n",(0,o.jsxs)(n.table,{children:[(0,o.jsx)(n.thead,{children:(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.th,{children:"Option"}),(0,o.jsx)(n.th,{children:"Default"}),(0,o.jsx)(n.th,{children:"Values"}),(0,o.jsx)(n.th,{children:"Description"})]})}),(0,o.jsxs)(n.tbody,{children:[(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"install-completion"}),(0,o.jsx)(n.code,{children:"--install-completion"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.em,{children:"Not applicable"})}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.em,{children:"Not applicable"})}),(0,o.jsx)(n.td,{children:"Install auto-completion for the current shell."})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"show-completion"}),(0,o.jsx)(n.code,{children:"--show-completion"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.em,{children:"Not applicable"})}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.em,{children:"Not applicable"})}),(0,o.jsx)(n.td,{children:"Show the location of the auto-completion config file (if installed)."})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"help"}),(0,o.jsx)(n.code,{children:"--help"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.em,{children:"Not applicable"})}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.em,{children:"Not applicable"})}),(0,o.jsx)(n.td,{children:"Display information about the command usage and its options and arguments."})]})]})]}),"\n",(0,o.jsx)(n.h3,{id:"langflow-copy-db",children:"langflow copy-db"}),"\n",(0,o.jsxs)(n.p,{children:["Copy the database files to the current directory.\nCopy the Langflow database files, ",(0,o.jsx)(n.code,{children:"langflow.db"})," and ",(0,o.jsx)(n.code,{children:"langflow-pre.db"})," (if they exist), from the cache directory to the current directory."]}),"\n",(0,o.jsx)(n.admonition,{type:"note",children:(0,o.jsxs)(n.p,{children:["The current directory is the directory containing ",(0,o.jsx)(n.code,{children:"__main__.py"}),".\nYou can find this directory by running ",(0,o.jsx)(n.code,{children:"which langflow"}),"."]})}),"\n",(0,o.jsx)(h.Code,{codeConfig:x,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"langflow ",props:{style:{color:"#FFA657"}}},{content:"copy-db",props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"# or",props:{style:{color:"#8B949E"}}}]},{tokens:[{content:"python ",props:{style:{color:"#FFA657"}}},{content:"-m ",props:{style:{color:"#79C0FF"}}},{content:"langflow copy-db",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,o.jsx)(n.h4,{id:"options-2",children:"Options"}),"\n",(0,o.jsxs)(n.table,{children:[(0,o.jsx)(n.thead,{children:(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.th,{children:"Option"}),(0,o.jsx)(n.th,{children:"Default"}),(0,o.jsx)(n.th,{children:"Values"}),(0,o.jsx)(n.th,{children:"Description"})]})}),(0,o.jsx)(n.tbody,{children:(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"copy-db-help"}),(0,o.jsx)(n.code,{children:"--help"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.em,{children:"Not applicable"})}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.em,{children:"Not applicable"})}),(0,o.jsx)(n.td,{children:"Display information about the command usage and its options and arguments."})]})})]}),"\n",(0,o.jsx)(n.h3,{id:"langflow-migration",children:"langflow migration"}),"\n",(0,o.jsx)(n.p,{children:"Run or test database migrations."}),"\n",(0,o.jsx)(h.Code,{codeConfig:x,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"langflow ",props:{style:{color:"#FFA657"}}},{content:"migration",props:{style:{color:"#A5D6FF"}}},{content:" [OPTIONS]",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"# or",props:{style:{color:"#8B949E"}}}]},{tokens:[{content:"python ",props:{style:{color:"#FFA657"}}},{content:"-m ",props:{style:{color:"#79C0FF"}}},{content:"langflow migration",props:{style:{color:"#A5D6FF"}}},{content:" [OPTIONS]",props:{style:{color:"#C9D1D9"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,o.jsx)(n.h4,{id:"options-3",children:"Options"}),"\n",(0,o.jsxs)(n.table,{children:[(0,o.jsx)(n.thead,{children:(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.th,{children:"Option"}),(0,o.jsx)(n.th,{children:"Default"}),(0,o.jsx)(n.th,{children:"Values"}),(0,o.jsx)(n.th,{children:"Description"})]})}),(0,o.jsxs)(n.tbody,{children:[(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"migration-test"}),(0,o.jsx)(n.code,{children:"--test"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.code,{children:"true"})}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.a,{href:"#boolean",children:"Boolean"})}),(0,o.jsxs)(n.td,{children:["Run migrations in test mode. Use ",(0,o.jsx)(n.code,{children:"--no-test"})," to disable test mode."]})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"migration-fix"}),(0,o.jsx)(n.code,{children:"--fix"})]}),(0,o.jsxs)(n.td,{children:[(0,o.jsx)(n.code,{children:"false"})," (",(0,o.jsx)(n.code,{children:"--no-fix"}),")"]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.a,{href:"#boolean",children:"Boolean"})}),(0,o.jsx)(n.td,{children:"Fix migrations. This is a destructive operation, and all affected data will be deleted. Only use this option if you know what you are doing."})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"migration-help"}),(0,o.jsx)(n.code,{children:"--help"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.em,{children:"Not applicable"})}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.em,{children:"Not applicable"})}),(0,o.jsx)(n.td,{children:"Display information about the command usage and its options and arguments."})]})]})]}),"\n",(0,o.jsx)(n.h3,{id:"langflow-run",children:"langflow run"}),"\n",(0,o.jsx)(n.p,{children:"Start the Langflow server."}),"\n",(0,o.jsx)(h.Code,{codeConfig:x,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"langflow ",props:{style:{color:"#FFA657"}}},{content:"run",props:{style:{color:"#A5D6FF"}}},{content:" [OPTIONS]",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"# or",props:{style:{color:"#8B949E"}}}]},{tokens:[{content:"python ",props:{style:{color:"#FFA657"}}},{content:"-m ",props:{style:{color:"#79C0FF"}}},{content:"langflow run",props:{style:{color:"#A5D6FF"}}},{content:" [OPTIONS]",props:{style:{color:"#C9D1D9"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,o.jsx)(n.h4,{id:"options-4",children:"Options"}),"\n",(0,o.jsxs)(n.table,{children:[(0,o.jsx)(n.thead,{children:(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.th,{children:"Option"}),(0,o.jsx)(n.th,{children:"Default"}),(0,o.jsx)(n.th,{children:"Values"}),(0,o.jsx)(n.th,{children:"Description"})]})}),(0,o.jsxs)(n.tbody,{children:[(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"run-host"}),(0,o.jsx)(n.code,{children:"--host"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.code,{children:"127.0.0.1"})}),(0,o.jsx)(n.td,{children:"String"}),(0,o.jsxs)(n.td,{children:["The host on which the Langflow server will run.",(0,o.jsx)("br",{}),"See ",(0,o.jsxs)(n.a,{href:"/environment-variables#LANGFLOW_HOST",children:[(0,o.jsx)(n.code,{children:"LANGFLOW_HOST"})," variable"]}),"."]})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"run-workers"}),(0,o.jsx)(n.code,{children:"--workers"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.code,{children:"1"})}),(0,o.jsx)(n.td,{children:"Integer"}),(0,o.jsxs)(n.td,{children:["Number of worker processes.",(0,o.jsx)("br",{}),"See ",(0,o.jsxs)(n.a,{href:"/environment-variables#LANGFLOW_WORKERS",children:[(0,o.jsx)(n.code,{children:"LANGFLOW_WORKERS"})," variable"]}),"."]})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"run-worker-timeout"}),(0,o.jsx)(n.code,{children:"--worker-timeout"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.code,{children:"300"})}),(0,o.jsx)(n.td,{children:"Integer"}),(0,o.jsxs)(n.td,{children:["Worker timeout in seconds.",(0,o.jsx)("br",{}),"See ",(0,o.jsxs)(n.a,{href:"/environment-variables#LANGFLOW_WORKER_TIMEOUT",children:[(0,o.jsx)(n.code,{children:"LANGFLOW_WORKER_TIMEOUT"})," variable"]}),"."]})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"run-port"}),(0,o.jsx)(n.code,{children:"--port"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.code,{children:"7860"})}),(0,o.jsx)(n.td,{children:"Integer"}),(0,o.jsxs)(n.td,{children:["The port on which the Langflow server will run. The server automatically selects a free port if the specified port is in use.",(0,o.jsx)("br",{}),"See ",(0,o.jsxs)(n.a,{href:"/environment-variables#LANGFLOW_PORT",children:[(0,o.jsx)(n.code,{children:"LANGFLOW_PORT"})," variable"]}),"."]})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"run-components-path"}),(0,o.jsx)(n.code,{children:"--components-path"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.code,{children:"langflow/components"})}),(0,o.jsx)(n.td,{children:"String"}),(0,o.jsxs)(n.td,{children:["Path to the directory containing custom components.",(0,o.jsx)("br",{}),"See ",(0,o.jsxs)(n.a,{href:"/environment-variables#LANGFLOW_COMPONENTS_PATH",children:[(0,o.jsx)(n.code,{children:"LANGFLOW_COMPONENTS_PATH"})," variable"]}),"."]})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"run-env-file"}),(0,o.jsx)(n.code,{children:"--env-file"})]}),(0,o.jsx)(n.td,{children:"Not set"}),(0,o.jsx)(n.td,{children:"String"}),(0,o.jsxs)(n.td,{children:["Path to the ",(0,o.jsx)(n.code,{children:".env"})," file containing environment variables.",(0,o.jsx)("br",{}),"See ",(0,o.jsx)(n.a,{href:"/environment-variables#configure-variables-env-file",children:"Import environment variables from a .env file"}),"."]})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"run-log-level"}),(0,o.jsx)(n.code,{children:"--log-level"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.code,{children:"critical"})}),(0,o.jsxs)(n.td,{children:[(0,o.jsx)(n.code,{children:"debug"}),(0,o.jsx)("br",{}),(0,o.jsx)(n.code,{children:"info"}),(0,o.jsx)("br",{}),(0,o.jsx)(n.code,{children:"warning"}),(0,o.jsx)("br",{}),(0,o.jsx)(n.code,{children:"error"}),(0,o.jsx)("br",{}),(0,o.jsx)(n.code,{children:"critical"})]}),(0,o.jsxs)(n.td,{children:["Set the logging level.",(0,o.jsx)("br",{}),"See ",(0,o.jsxs)(n.a,{href:"/environment-variables#LANGFLOW_LOG_LEVEL",children:[(0,o.jsx)(n.code,{children:"LANGFLOW_LOG_LEVEL"})," variable"]}),"."]})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"run-log-file"}),(0,o.jsx)(n.code,{children:"--log-file"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.code,{children:"logs/langflow.log"})}),(0,o.jsx)(n.td,{children:"String"}),(0,o.jsxs)(n.td,{children:["Set the path to the log file for Langflow.",(0,o.jsx)("br",{}),"See ",(0,o.jsxs)(n.a,{href:"/environment-variables#LANGFLOW_LOG_FILE",children:[(0,o.jsx)(n.code,{children:"LANGFLOW_LOG_FILE"})," variable"]}),"."]})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"run-cache"}),(0,o.jsx)(n.code,{children:"--cache"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.code,{children:"InMemoryCache"})}),(0,o.jsxs)(n.td,{children:[(0,o.jsx)(n.code,{children:"InMemoryCache"}),(0,o.jsx)("br",{}),(0,o.jsx)(n.code,{children:"SQLiteCache"})]}),(0,o.jsxs)(n.td,{children:["Type of cache to use.",(0,o.jsx)("br",{}),"See ",(0,o.jsxs)(n.a,{href:"/environment-variables#LANGFLOW_LANGCHAIN_CACHE",children:[(0,o.jsx)(n.code,{children:"LANGFLOW_LANGCHAIN_CACHE"})," variable"]}),"."]})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"run-dev"}),(0,o.jsx)(n.code,{children:"--dev"})]}),(0,o.jsxs)(n.td,{children:[(0,o.jsx)(n.code,{children:"false"})," (",(0,o.jsx)(n.code,{children:"--no-dev"}),")"]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.a,{href:"#boolean",children:"Boolean"})}),(0,o.jsxs)(n.td,{children:["Run Langflow in development mode (may contain bugs).",(0,o.jsx)("br",{}),"See ",(0,o.jsxs)(n.a,{href:"/environment-variables#LANGFLOW_DEV",children:[(0,o.jsx)(n.code,{children:"LANGFLOW_DEV"})," variable"]}),"."]})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"run-frontend-path"}),(0,o.jsx)(n.code,{children:"--frontend-path"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.code,{children:"./frontend"})}),(0,o.jsx)(n.td,{children:"String"}),(0,o.jsxs)(n.td,{children:["Path to the frontend directory containing build files. This is for development purposes only.",(0,o.jsx)("br",{}),"See ",(0,o.jsxs)(n.a,{href:"/environment-variables#LANGFLOW_FRONTEND_PATH",children:[(0,o.jsx)(n.code,{children:"LANGFLOW_FRONTEND_PATH"})," variable"]}),"."]})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"run-open-browser"}),(0,o.jsx)(n.code,{children:"--open-browser"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.code,{children:"true"})}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.a,{href:"#boolean",children:"Boolean"})}),(0,o.jsxs)(n.td,{children:["Open the system web browser on startup. Use ",(0,o.jsx)(n.code,{children:"--no-open-browser"})," to disable opening the system web browser on startup.",(0,o.jsx)("br",{})," See ",(0,o.jsxs)(n.a,{href:"/environment-variables#LANGFLOW_OPEN_BROWSER",children:[(0,o.jsx)(n.code,{children:"LANGFLOW_OPEN_BROWSER"})," variable"]}),"."]})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"run-remove-api-keys"}),(0,o.jsx)(n.code,{children:"--remove-api-keys"})]}),(0,o.jsxs)(n.td,{children:[(0,o.jsx)(n.code,{children:"false"})," (",(0,o.jsx)(n.code,{children:"--no-remove-api-keys"}),")"]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.a,{href:"#boolean",children:"Boolean"})}),(0,o.jsxs)(n.td,{children:["Remove API keys from the projects saved in the database.",(0,o.jsx)("br",{})," See ",(0,o.jsxs)(n.a,{href:"/environment-variables#LANGFLOW_REMOVE_API_KEYS",children:[(0,o.jsx)(n.code,{children:"LANGFLOW_REMOVE_API_KEYS"})," variable"]}),"."]})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"run-backend-only"}),(0,o.jsx)(n.code,{children:"--backend-only"})]}),(0,o.jsxs)(n.td,{children:[(0,o.jsx)(n.code,{children:"false"})," (",(0,o.jsx)(n.code,{children:"--no-backend-only"}),")"]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.a,{href:"#boolean",children:"Boolean"})}),(0,o.jsxs)(n.td,{children:["Only run Langflow's backend server (no frontend).",(0,o.jsx)("br",{}),"See ",(0,o.jsxs)(n.a,{href:"/environment-variables#LANGFLOW_BACKEND_ONLY",children:[(0,o.jsx)(n.code,{children:"LANGFLOW_BACKEND_ONLY"})," variable"]}),"."]})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"run-store"}),(0,o.jsx)(n.code,{children:"--store"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.code,{children:"true"})}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.a,{href:"#boolean",children:"Boolean"})}),(0,o.jsxs)(n.td,{children:["Enable the Langflow Store features. Use ",(0,o.jsx)(n.code,{children:"--no-store"})," to disable the Langflow Store features.",(0,o.jsx)("br",{}),"See ",(0,o.jsxs)(n.a,{href:"/environment-variables#LANGFLOW_STORE",children:[(0,o.jsx)(n.code,{children:"LANGFLOW_STORE"})," variable"]}),"."]})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"run-auto-saving"}),(0,o.jsx)(n.code,{children:"--auto-saving"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.code,{children:"true"})}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.a,{href:"#boolean",children:"Boolean"})}),(0,o.jsxs)(n.td,{children:["Enable flow auto-saving. Use ",(0,o.jsx)(n.code,{children:"--no-auto-saving"})," to disable flow auto-saving.",(0,o.jsx)("br",{}),"See ",(0,o.jsxs)(n.a,{href:"/environment-variables#LANGFLOW_AUTO_SAVING",children:[(0,o.jsx)(n.code,{children:"LANGFLOW_AUTO_SAVING"})," variable"]}),"."]})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"run-auto-saving-interval"}),(0,o.jsx)(n.code,{children:"--auto-saving-interval"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.code,{children:"1000"})}),(0,o.jsx)(n.td,{children:"Integer"}),(0,o.jsxs)(n.td,{children:["Set the interval for flow auto-saving in milliseconds.",(0,o.jsx)("br",{}),"See ",(0,o.jsxs)(n.a,{href:"/environment-variables#LANGFLOW_AUTO_SAVING_INTERVAL",children:[(0,o.jsx)(n.code,{children:"LANGFLOW_AUTO_SAVING_INTERVAL"})," variable"]}),"."]})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"run-health-check-max-retries"}),(0,o.jsx)(n.code,{children:"--health-check-max-retries"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.code,{children:"5"})}),(0,o.jsx)(n.td,{children:"Integer"}),(0,o.jsxs)(n.td,{children:["Set the maximum number of retries for the health check. Use ",(0,o.jsx)(n.code,{children:"--no-health-check-max-retries"})," to disable the maximum number of retries for the health check.",(0,o.jsx)("br",{}),"See ",(0,o.jsxs)(n.a,{href:"/environment-variables#LANGFLOW_HEALTH_CHECK_MAX_RETRIES",children:[(0,o.jsx)(n.code,{children:"LANGFLOW_HEALTH_CHECK_MAX_RETRIES"})," variable"]}),"."]})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"run-max-file-size-upload"}),(0,o.jsx)(n.code,{children:"--max-file-size-upload"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.code,{children:"100"})}),(0,o.jsx)(n.td,{children:"Integer"}),(0,o.jsxs)(n.td,{children:["Set the maximum file size for the upload in megabytes.",(0,o.jsx)("br",{}),"See ",(0,o.jsxs)(n.a,{href:"/environment-variables#LANGFLOW_MAX_FILE_SIZE_UPLOAD",children:[(0,o.jsx)(n.code,{children:"LANGFLOW_MAX_FILE_SIZE_UPLOAD"})," variable"]}),"."]})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"run-ssl-cert-file-path"}),(0,o.jsx)(n.code,{children:"--ssl-cert-file-path"})]}),(0,o.jsx)(n.td,{children:"Not set"}),(0,o.jsx)(n.td,{children:"String"}),(0,o.jsx)(n.td,{children:"Path to the SSL certificate file on the local system."})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"run-ssl-key-file-path"}),(0,o.jsx)(n.code,{children:"--ssl-key-file-path"})]}),(0,o.jsx)(n.td,{children:"Not set"}),(0,o.jsx)(n.td,{children:"String"}),(0,o.jsx)(n.td,{children:"Path to the SSL key file on the local system."})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"run-help"}),(0,o.jsx)(n.code,{children:"--help"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.em,{children:"Not applicable"})}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.em,{children:"Not applicable"})}),(0,o.jsx)(n.td,{children:"Display information about the command usage and its options and arguments."})]})]})]}),"\n",(0,o.jsx)(n.h3,{id:"langflow-superuser",children:"langflow superuser"}),"\n",(0,o.jsx)(n.p,{children:"Create a superuser account."}),"\n",(0,o.jsx)(h.Code,{codeConfig:x,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"langflow ",props:{style:{color:"#FFA657"}}},{content:"superuser",props:{style:{color:"#A5D6FF"}}},{content:" [OPTIONS]",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"# or",props:{style:{color:"#8B949E"}}}]},{tokens:[{content:"python ",props:{style:{color:"#FFA657"}}},{content:"-m ",props:{style:{color:"#79C0FF"}}},{content:"langflow superuser",props:{style:{color:"#A5D6FF"}}},{content:" [OPTIONS]",props:{style:{color:"#C9D1D9"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,o.jsx)(n.h4,{id:"options-5",children:"Options"}),"\n",(0,o.jsxs)(n.table,{children:[(0,o.jsx)(n.thead,{children:(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.th,{children:"Option"}),(0,o.jsx)(n.th,{children:"Default"}),(0,o.jsx)(n.th,{children:"Values"}),(0,o.jsx)(n.th,{children:"Description"})]})}),(0,o.jsxs)(n.tbody,{children:[(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"superuser-username"}),(0,o.jsx)(n.code,{children:"--username"})]}),(0,o.jsx)(n.td,{children:"Required"}),(0,o.jsx)(n.td,{children:"String"}),(0,o.jsxs)(n.td,{children:["Specify the name for the superuser.",(0,o.jsx)("br",{}),"See ",(0,o.jsxs)(n.a,{href:"/environment-variables#LANGFLOW_SUPERUSER",children:[(0,o.jsx)(n.code,{children:"LANGFLOW_SUPERUSER"})," variable"]}),"."]})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"superuser-password"}),(0,o.jsx)(n.code,{children:"--password"})]}),(0,o.jsx)(n.td,{children:"Required"}),(0,o.jsx)(n.td,{children:"String"}),(0,o.jsxs)(n.td,{children:["Specify the password for the superuser.",(0,o.jsx)("br",{}),"See ",(0,o.jsxs)(n.a,{href:"/environment-variables#LANGFLOW_SUPERUSER_PASSWORD",children:[(0,o.jsx)(n.code,{children:"LANGFLOW_SUPERUSER_PASSWORD"})," variable"]}),"."]})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:[(0,o.jsx)(l.A,{id:"superuser-log-level"}),(0,o.jsx)(n.code,{children:"--log-level"})]}),(0,o.jsx)(n.td,{children:(0,o.jsx)(n.code,{children:"critical"})}),(0,o.jsxs)(n.td,{children:[(0,o.jsx)(n.code,{children:"debug"}),(0,o.jsx)("br",{}),(0,o.jsx)(n.code,{children:"info"}),(0,o.jsx)("br",{}),(0,o.jsx)(n.code,{children:"warning"}),(0,o.jsx)("br",{}),(0,o.jsx)(n.code,{children:"error"}),(0,o.jsx)("br",{}),(0,o.jsx)(n.code,{children:"critical"})]}),(0,o.jsx)(n.td,{children:"Set the logging level."})]})]})]}),"\n",(0,o.jsx)(n.h2,{id:"precedence",children:"Precedence"}),"\n",(0,o.jsxs)(n.p,{children:["Langflow CLI options override the values of corresponding ",(0,o.jsx)(n.a,{href:"/environment-variables",children:"environment variables"}),"."]}),"\n",(0,o.jsxs)(n.p,{children:["For example, if you have ",(0,o.jsx)(n.code,{children:"LANGFLOW_PORT=7860"})," defined as an environment variable, but you run the CLI with ",(0,o.jsx)(n.code,{children:"--port 7880"}),", Langflow sets the port to ",(0,o.jsx)(n.strong,{children:(0,o.jsx)(n.code,{children:"7880"})}),", the value passed with the CLI."]}),"\n",(0,o.jsx)(n.h2,{id:"assign-values",children:"Assign values"}),"\n",(0,o.jsxs)(n.p,{children:["There are two ways you can assign a value to a CLI option.\nYou can write the option flag and its value with a single space between them: ",(0,o.jsx)(n.code,{children:"--option value"}),".\nOr, you can write them using an equals sign (",(0,o.jsx)(n.code,{children:"="}),") between the option flag and the value: ",(0,o.jsx)(n.code,{children:"--option=value"}),"."]}),"\n",(0,o.jsxs)(n.p,{children:["Values that contain spaces must be surrounded by quotation marks: ",(0,o.jsx)(n.code,{children:"--option 'Value with Spaces'"})," or ",(0,o.jsx)(n.code,{children:"--option='Value with Spaces'"}),"."]}),"\n",(0,o.jsx)(n.h3,{id:"boolean",children:"Boolean values"}),"\n",(0,o.jsx)(n.p,{children:"Boolean options turn a behavior on or off, and therefore accept no arguments.\nTo activate a boolean option, type it on the command line.\nFor example:"}),"\n",(0,o.jsx)(h.Code,{codeConfig:x,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"langflow ",props:{style:{color:"#FFA657"}}},{content:"run ",props:{style:{color:"#A5D6FF"}}},{content:"--remove-api-keys",props:{style:{color:"#79C0FF"}}}]}],lang:"bash"},annotations:[]}]}),"\n",(0,o.jsxs)(n.p,{children:["All boolean options have a corresponding option that negates it.\nFor example, the negating option for ",(0,o.jsx)(n.code,{children:"--remove-api-keys"})," is ",(0,o.jsx)(n.code,{children:"--no-remove-api-keys"}),".\nThese options let you negate boolean options that you may have set using ",(0,o.jsx)(n.a,{href:"/environment-variables",children:"environment variables"}),"."]})]})}function u(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(p,{...e})}):p(e)}function f(e,n){throw new Error("Expected "+(n?"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/b7251463.7d602f6e.js b/assets/js/b7251463.7d602f6e.js new file mode 100644 index 0000000000..309a9c42ce --- /dev/null +++ b/assets/js/b7251463.7d602f6e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[51],{65537:(e,n,o)=>{o.d(n,{A:()=>O});var t=o(96540),s=o(18215),r=o(65627),l=o(56347),c=o(50372),i=o(30604),d=o(11861),a=o(78749);function p(e){return t.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,t.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function h(e){const{values:n,children:o}=e;return(0,t.useMemo)((()=>{const e=n??function(e){return p(e).map((e=>{let{props:{value:n,label:o,attributes:t,default:s}}=e;return{value:n,label:o,attributes:t,default:s}}))}(o);return function(e){const n=(0,d.XI)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[n,o])}function x(e){let{value:n,tabValues:o}=e;return o.some((e=>e.value===n))}function L(e){let{queryString:n=!1,groupId:o}=e;const s=(0,l.W6)(),r=function(e){let{queryString:n=!1,groupId:o}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!o)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return o??null}({queryString:n,groupId:o});return[(0,i.aZ)(r),(0,t.useCallback)((e=>{if(!r)return;const n=new URLSearchParams(s.location.search);n.set(r,e),s.replace({...s.location,search:n.toString()})}),[r,s])]}function A(e){const{defaultValue:n,queryString:o=!1,groupId:s}=e,r=h(e),[l,i]=(0,t.useState)((()=>function(e){let{defaultValue:n,tabValues:o}=e;if(0===o.length)throw new Error("Docusaurus error: the component requires at least one children component");if(n){if(!x({value:n,tabValues:o}))throw new Error(`Docusaurus error: The has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${o.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}const t=o.find((e=>e.default))??o[0];if(!t)throw new Error("Unexpected error: 0 tabValues");return t.value}({defaultValue:n,tabValues:r}))),[d,p]=L({queryString:o,groupId:s}),[A,j]=function(e){let{groupId:n}=e;const o=function(e){return e?`docusaurus.tab.${e}`:null}(n),[s,r]=(0,a.Dv)(o);return[s,(0,t.useCallback)((e=>{o&&r.set(e)}),[o,r])]}({groupId:s}),_=(()=>{const e=d??A;return x({value:e,tabValues:r})?e:null})();(0,c.A)((()=>{_&&i(_)}),[_]);return{selectedValue:l,selectValue:(0,t.useCallback)((e=>{if(!x({value:e,tabValues:r}))throw new Error(`Can't select invalid tab value=${e}`);i(e),p(e),j(e)}),[p,j,r]),tabValues:r}}var j=o(9136);const _={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var u=o(74848);function F(e){let{className:n,block:o,selectedValue:t,selectValue:l,tabValues:c}=e;const i=[],{blockElementScrollPositionUntilNextRender:d}=(0,r.a_)(),a=e=>{const n=e.currentTarget,o=i.indexOf(n),s=c[o].value;s!==t&&(d(n),l(s))},p=e=>{let n=null;switch(e.key){case"Enter":a(e);break;case"ArrowRight":{const o=i.indexOf(e.currentTarget)+1;n=i[o]??i[0];break}case"ArrowLeft":{const o=i.indexOf(e.currentTarget)-1;n=i[o]??i[i.length-1];break}}n?.focus()};return(0,u.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,s.A)("tabs",{"tabs--block":o},n),children:c.map((e=>{let{value:n,label:o,attributes:r}=e;return(0,u.jsx)("li",{role:"tab",tabIndex:t===n?0:-1,"aria-selected":t===n,ref:e=>{i.push(e)},onKeyDown:p,onClick:a,...r,className:(0,s.A)("tabs__item",_.tabItem,r?.className,{"tabs__item--active":t===n}),children:o??n},n)}))})}function f(e){let{lazy:n,children:o,selectedValue:r}=e;const l=(Array.isArray(o)?o:[o]).filter(Boolean);if(n){const e=l.find((e=>e.props.value===r));return e?(0,t.cloneElement)(e,{className:(0,s.A)("margin-top--md",e.props.className)}):null}return(0,u.jsx)("div",{className:"margin-top--md",children:l.map(((e,n)=>(0,t.cloneElement)(e,{key:n,hidden:e.props.value!==r})))})}function E(e){const n=A(e);return(0,u.jsxs)("div",{className:(0,s.A)("tabs-container",_.tabList),children:[(0,u.jsx)(F,{...n,...e}),(0,u.jsx)(f,{...n,...e})]})}function O(e){const n=(0,j.A)();return(0,u.jsx)(E,{...e,children:p(e.children)},String(n))}},75720:(e,n,o)=>{o.r(n),o.d(n,{CH:()=>x,assets:()=>h,chCodeConfig:()=>L,contentTitle:()=>p,default:()=>_,frontMatter:()=>a,metadata:()=>t,toc:()=>A});const t=JSON.parse('{"id":"Configuration/environment-variables","title":"Environment variables","description":"Langflow lets you configure a number of settings using environment variables.","source":"@site/docs/Configuration/environment-variables.md","sourceDirName":"Configuration","slug":"/environment-variables","permalink":"/environment-variables","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{"title":"Environment variables","slug":"/environment-variables"},"sidebar":"docs","previous":{"title":"Global variables","permalink":"/configuration-global-variables"},"next":{"title":"Overview","permalink":"/develop-overview"}}');var s=o(74848),r=o(28453),l=o(24754),c=o(65537),i=o(79329),d=o(56289);const a={title:"Environment variables",slug:"/environment-variables"},p=void 0,h={},x={annotations:l.hk,Code:l.Cy},L={staticMediaQuery:"not screen, (max-width: 768px)",lineNumbers:!0,showCopyButton:!0,themeName:"github-dark"},A=[{value:"Configure environment variables",id:"configure-environment-variables",level:2},{value:"Set environment variables in your terminal",id:"configure-variables-terminal",level:3},{value:"Import environment variables from a .env file",id:"configure-variables-env-file",level:3},{value:"Precedence",id:"precedence",level:2},{value:"Supported environment variables",id:"supported-variables",level:2},{value:"Configure .env, override.conf, and tasks.json files",id:"configure-env-overrideconf-and-tasksjson-files",level:2}];function j(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.R)(),...e.components};return x||u("CH",!1),x.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","\n",(0,s.jsx)(n.p,{children:"Langflow lets you configure a number of settings using environment variables."}),"\n",(0,s.jsx)(n.h2,{id:"configure-environment-variables",children:"Configure environment variables"}),"\n",(0,s.jsxs)(n.p,{children:["Langflow recognizes ",(0,s.jsx)(n.a,{href:"#supported-variables",children:"supported environment variables"})," from the following sources:"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Environment variables that you've set in your terminal."}),"\n",(0,s.jsxs)(n.li,{children:["Environment variables that you've imported from a ",(0,s.jsx)(n.code,{children:".env"})," file using the ",(0,s.jsx)(n.code,{children:"--env-file"})," option in the Langflow CLI."]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["You can choose to use one source exclusively, or use both sources together.\nIf you choose to use both sources together, be aware that environment variables imported from a ",(0,s.jsx)(n.code,{children:".env"})," file take ",(0,s.jsx)(n.a,{href:"#precedence",children:"precedence"})," over those set in your terminal."]}),"\n",(0,s.jsx)(n.h3,{id:"configure-variables-terminal",children:"Set environment variables in your terminal"}),"\n",(0,s.jsx)(n.p,{children:"Run the following commands to set environment variables for your current terminal session:"}),"\n",(0,s.jsxs)(c.A,{children:[(0,s.jsx)(i.A,{value:"linux-macos",label:"Linux or macOS",default:!0,children:(0,s.jsx)(x.Code,{codeConfig:L,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"export",props:{style:{color:"#FF7B72"}}},{content:" VARIABLE_NAME",props:{style:{color:"#C9D1D9"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"'VALUE'",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]})}),(0,s.jsx)(i.A,{value:"windows",label:"Windows",default:!0,children:(0,s.jsx)(x.Code,{codeConfig:L,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"set VARIABLE_NAME='VALUE'",props:{}}]}],lang:"text"},annotations:[]}]})}),(0,s.jsx)(i.A,{value:"docker",label:"Docker",default:!0,children:(0,s.jsx)(x.Code,{codeConfig:L,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"docker ",props:{style:{color:"#FFA657"}}},{content:"run ",props:{style:{color:"#A5D6FF"}}},{content:"-it --rm \\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -p ",props:{style:{color:"#79C0FF"}}},{content:"7860:",props:{style:{color:"#A5D6FF"}}},{content:"7860 \\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -e ",props:{style:{color:"#79C0FF"}}},{content:"VARIABLE_NAME='VALUE' ",props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" langflowai/langflow:latest",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]})})]}),"\n",(0,s.jsxs)(n.p,{children:["When you start Langflow, it looks for environment variables that you've set in your terminal.\nIf it detects a supported environment variable, then it automatically adopts the specified value, subject to ",(0,s.jsx)(n.a,{href:"#precedence",children:"precedence rules"}),"."]}),"\n",(0,s.jsx)(n.h3,{id:"configure-variables-env-file",children:"Import environment variables from a .env file"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Create a ",(0,s.jsx)(n.code,{children:".env"})," file and open it in your preferred editor."]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Add your environment variables to the file:"}),"\n",(0,s.jsx)(x.Code,{codeConfig:L,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",title:'".env"',focus:"",code:{lines:[{tokens:[{content:"DO_NOT_TRACK=true",props:{}}]},{tokens:[{content:"LANGFLOW_AUTO_LOGIN=false",props:{}}]},{tokens:[{content:"LANGFLOW_AUTO_SAVING=true",props:{}}]},{tokens:[{content:"LANGFLOW_AUTO_SAVING_INTERVAL=1000",props:{}}]},{tokens:[{content:"LANGFLOW_BACKEND_ONLY=false",props:{}}]},{tokens:[{content:'LANGFLOW_BUNDLE_URLS=["https://github.com/user/repo/commit/hash"]',props:{}}]},{tokens:[{content:"LANGFLOW_CACHE_TYPE=async",props:{}}]},{tokens:[{content:"LANGFLOW_COMPONENTS_PATH=/path/to/components/",props:{}}]},{tokens:[{content:"LANGFLOW_CONFIG_DIR=/path/to/config/",props:{}}]},{tokens:[{content:"LANGFLOW_DATABASE_URL=postgresql://user:password@localhost:5432/langflow",props:{}}]},{tokens:[{content:"LANGFLOW_DEV=false",props:{}}]},{tokens:[{content:"LANGFLOW_FALLBACK_TO_ENV_VAR=false",props:{}}]},{tokens:[{content:"LANGFLOW_HEALTH_CHECK_MAX_RETRIES=5",props:{}}]},{tokens:[{content:"LANGFLOW_HOST=127.0.0.1",props:{}}]},{tokens:[{content:"LANGFLOW_LANGCHAIN_CACHE=InMemoryCache",props:{}}]},{tokens:[{content:"LANGFLOW_MAX_FILE_SIZE_UPLOAD=10000",props:{}}]},{tokens:[{content:"LANGFLOW_LOG_LEVEL=error",props:{}}]},{tokens:[{content:"LANGFLOW_OPEN_BROWSER=false",props:{}}]},{tokens:[{content:"LANGFLOW_PORT=7860",props:{}}]},{tokens:[{content:"LANGFLOW_REMOVE_API_KEYS=false",props:{}}]},{tokens:[{content:"LANGFLOW_SAVE_DB_IN_CONFIG_DIR=true",props:{}}]},{tokens:[{content:"LANGFLOW_SECRET_KEY=somesecretkey",props:{}}]},{tokens:[{content:"LANGFLOW_STORE=true",props:{}}]},{tokens:[{content:"LANGFLOW_STORE_ENVIRONMENT_VARIABLES=true",props:{}}]},{tokens:[{content:"LANGFLOW_SUPERUSER=adminuser",props:{}}]},{tokens:[{content:"LANGFLOW_SUPERUSER_PASSWORD=adminpass",props:{}}]},{tokens:[{content:"LANGFLOW_WORKER_TIMEOUT=60000",props:{}}]},{tokens:[{content:"LANGFLOW_WORKERS=3",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,s.jsx)(n.admonition,{type:"tip",children:(0,s.jsxs)(n.p,{children:["The Langflow project includes a ",(0,s.jsx)(n.a,{href:"https://github.com/langflow-ai/langflow/blob/main/.env.example",children:(0,s.jsx)(n.code,{children:".env.example"})})," file to help you get started.\nYou can copy the contents of this file into your own ",(0,s.jsx)(n.code,{children:".env"})," file and replace the example values with your own preferred settings."]})}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Save and close the file."}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Start Langflow using the ",(0,s.jsx)(n.code,{children:"--env-file"})," option to define the path to your ",(0,s.jsx)(n.code,{children:".env"})," file:"]}),"\n",(0,s.jsxs)(c.A,{children:[(0,s.jsx)(i.A,{value:"local",label:"Local",default:!0,children:(0,s.jsx)(x.Code,{codeConfig:L,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"python ",props:{style:{color:"#FFA657"}}},{content:"-m ",props:{style:{color:"#79C0FF"}}},{content:"langflow run ",props:{style:{color:"#A5D6FF"}}},{content:"--env-file ",props:{style:{color:"#79C0FF"}}},{content:".env",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]})}),(0,s.jsx)(i.A,{value:"docker",label:"Docker",default:!0,children:(0,s.jsx)(x.Code,{codeConfig:L,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"docker ",props:{style:{color:"#FFA657"}}},{content:"run ",props:{style:{color:"#A5D6FF"}}},{content:"-it --rm \\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -p ",props:{style:{color:"#79C0FF"}}},{content:"7860:",props:{style:{color:"#A5D6FF"}}},{content:"7860 \\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" --env-file ",props:{style:{color:"#79C0FF"}}},{content:".env ",props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" langflowai/langflow:latest",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]})})]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["On startup, Langflow imports the environment variables from your ",(0,s.jsx)(n.code,{children:".env"})," file, as well as any that you ",(0,s.jsx)(n.a,{href:"#configure-variables-terminal",children:"set in your terminal"}),", and adopts their specified values."]}),"\n",(0,s.jsx)(n.h2,{id:"precedence",children:"Precedence"}),"\n",(0,s.jsxs)(n.p,{children:["Environment variables ",(0,s.jsx)(n.a,{href:"#configure-variables-env-file",children:"defined in the .env file"})," take precedence over those ",(0,s.jsx)(n.a,{href:"#configure-variables-terminal",children:"set in your terminal"}),".\nThat means, if you happen to set the same environment variable in both your terminal and your ",(0,s.jsx)(n.code,{children:".env"})," file, Langflow adopts the value from the the ",(0,s.jsx)(n.code,{children:".env"})," file."]}),"\n",(0,s.jsx)(n.admonition,{title:"CLI precedence",type:"info",children:(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.a,{href:"/configuration-cli",children:"Langflow CLI options"})," override the value of corresponding environment variables defined in the ",(0,s.jsx)(n.code,{children:".env"})," file as well as any environment variables set in your terminal."]})}),"\n",(0,s.jsx)(n.h2,{id:"supported-variables",children:"Supported environment variables"}),"\n",(0,s.jsx)(n.p,{children:"The following table lists the environment variables supported by Langflow."}),"\n",(0,s.jsx)("style",{children:"\n.env-table {\n width: 100%;\n max-width: 100%;\n table-layout: fixed;\n}\n.env-table td:first-child {\n width: 30%;\n font-family: var(--ifm-font-family-monospace);\n background: var(--prism-background);\n border-radius: 6px;\n padding: 8px;\n word-break: break-word;\n}\n.env-table td:nth-child(2) {\n width: 15%;\n}\n.env-table td:nth-child(3) {\n width: 15%;\n}\n.env-table td:nth-child(4) {\n width: 40%;\n}\n.env-table td {\n padding: 8px;\n vertical-align: top;\n}\n.env-prefix {\n opacity: 0.7;\n}\n.env-table tr {\n border-top: 1px solid var(--ifm-table-border-color);\n}\n.env-table code {\n white-space: nowrap;\n}\n"}),"\n",(0,s.jsx)("div",{class:"env-table",children:(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Variable"}),(0,s.jsx)(n.th,{children:"Format"}),(0,s.jsx)(n.th,{children:"Default"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"DO_NOT_TRACK"}),"DO_NOT_TRACK"]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"false"})}),(0,s.jsx)(n.td,{children:"If this option is enabled, Langflow does not track telemetry."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_AUTO_LOGIN"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"AUTO_LOGIN"]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"true"})}),(0,s.jsxs)(n.td,{children:["Enable automatic login for Langflow. Set to ",(0,s.jsx)(n.code,{children:"false"})," to disable automatic login and require the login form to log into the Langflow UI. Setting to ",(0,s.jsx)(n.code,{children:"false"})," requires ",(0,s.jsx)(n.a,{href:"#LANGFLOW_SUPERUSER",children:(0,s.jsx)(n.code,{children:"LANGFLOW_SUPERUSER"})})," and ",(0,s.jsx)(n.a,{href:"/environment-variables#LANGFLOW_SUPERUSER_PASSWORD",children:(0,s.jsx)(n.code,{children:"LANGFLOW_SUPERUSER_PASSWORD"})})," to be set."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_AUTO_SAVING"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"AUTO_SAVING"]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"true"})}),(0,s.jsxs)(n.td,{children:["Enable flow auto-saving.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-auto-saving",children:[(0,s.jsx)(n.code,{children:"--auto-saving"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_AUTO_SAVING_INTERVAL"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"AUTO_SAVING_INTERVAL"]}),(0,s.jsx)(n.td,{children:"Integer"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"1000"})}),(0,s.jsxs)(n.td,{children:["Set the interval for flow auto-saving in milliseconds.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-auto-saving-interval",children:[(0,s.jsx)(n.code,{children:"--auto-saving-interval"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_BACKEND_ONLY"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"BACKEND_ONLY"]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"false"})}),(0,s.jsxs)(n.td,{children:["Only run Langflow's backend server (no frontend).",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-backend-only",children:[(0,s.jsx)(n.code,{children:"--backend-only"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_BUNDLE_URLS"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"BUNDLE_URLS"]}),(0,s.jsx)(n.td,{children:"List[String]"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"[]"})}),(0,s.jsxs)(n.td,{children:["A list of URLs from which to load component bundles and flows. Supports GitHub URLs. If ",(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"AUTO_LOGIN is enabled, flows from these bundles are loaded into the database."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_CACHE_TYPE"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"CACHE_TYPE"]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"async"})}),(0,s.jsxs)(n.td,{children:["Set the cache type for Langflow. Possible values: ",(0,s.jsx)(n.code,{children:"async"}),", ",(0,s.jsx)(n.code,{children:"redis"}),", ",(0,s.jsx)(n.code,{children:"memory"}),", ",(0,s.jsx)(n.code,{children:"disk"}),".",(0,s.jsx)("br",{}),"If you set the type to ",(0,s.jsx)(n.code,{children:"redis"}),", then you must also set the following environment variables: ",(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_REDIS_HOST"}),", ",(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_REDIS_PORT"}),", ",(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_REDIS_DB"}),", and ",(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_REDIS_CACHE_EXPIRE"}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_COMPONENTS_PATH"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"COMPONENTS_PATH"]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"langflow/components"})}),(0,s.jsxs)(n.td,{children:["Path to the directory containing custom components.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-components-path",children:[(0,s.jsx)(n.code,{children:"--components-path"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_CONFIG_DIR"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"CONFIG_DIR"]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:"See description"}),(0,s.jsxs)(n.td,{children:["Set the Langflow configuration directory where files, logs, and the Langflow database are stored. Defaults: ",(0,s.jsx)(n.strong,{children:"Linux/WSL"}),": ",(0,s.jsx)(n.code,{children:"~/.cache/langflow/"}),(0,s.jsx)("br",{}),(0,s.jsx)(n.strong,{children:"macOS"}),": ",(0,s.jsx)(n.code,{children:"/Users//Library/Caches/langflow/"}),(0,s.jsx)("br",{}),(0,s.jsx)(n.strong,{children:"Windows"}),": ",(0,s.jsx)(n.code,{children:"%LOCALAPPDATA%\\langflow\\langflow\\Cache"})]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_DATABASE_URL"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"DATABASE_URL"]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:"Not set"}),(0,s.jsx)(n.td,{children:"Set the database URL for Langflow. If not provided, Langflow uses a SQLite database."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_DATABASE_CONNECTION_RETRY"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"DATABASE_CONNECTION_RETRY"]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"false"})}),(0,s.jsx)(n.td,{children:"If True, Langflow tries to connect to the database again if it fails."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_DB_POOL_SIZE"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"DB_POOL_SIZE"]}),(0,s.jsx)(n.td,{children:"Integer"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"10"})}),(0,s.jsxs)(n.td,{children:[(0,s.jsx)(n.strong,{children:"DEPRECATED:"})," Use ",(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"DB_CONNECTION_SETTINGS instead. The number of connections to keep open in the connection pool."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_DB_MAX_OVERFLOW"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"DB_MAX_OVERFLOW"]}),(0,s.jsx)(n.td,{children:"Integer"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"20"})}),(0,s.jsxs)(n.td,{children:[(0,s.jsx)(n.strong,{children:"DEPRECATED:"})," Use ",(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"DB_CONNECTION_SETTINGS instead. The number of connections to allow that can be opened beyond the pool size."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_DB_CONNECT_TIMEOUT"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"DB_CONNECT_TIMEOUT"]}),(0,s.jsx)(n.td,{children:"Integer"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"20"})}),(0,s.jsx)(n.td,{children:"The number of seconds to wait before giving up on a lock to be released or establishing a connection to the database."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_DB_CONNECTION_SETTINGS"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"DB_CONNECTION_SETTINGS"]}),(0,s.jsx)(n.td,{children:"JSON"}),(0,s.jsx)(n.td,{children:"Not set"}),(0,s.jsxs)(n.td,{children:["A JSON dictionary to centralize database connection parameters. Example: ",(0,s.jsx)(n.code,{children:'{"pool_size": 10, "max_overflow": 20}'})]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_ENABLE_LOG_RETRIEVAL"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"ENABLE_LOG_RETRIEVAL"]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"false"})}),(0,s.jsx)(n.td,{children:"Enable log retrieval functionality."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_FALLBACK_TO_ENV_VAR"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"FALLBACK_TO_ENV_VAR"]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"true"})}),(0,s.jsxs)(n.td,{children:["If enabled, ",(0,s.jsx)(n.a,{href:"/configuration-global-variables",children:"global variables"})," set in the Langflow UI fall back to an environment variable with the same name when Langflow fails to retrieve the variable value."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_FRONTEND_PATH"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"FRONTEND_PATH"]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"./frontend"})}),(0,s.jsxs)(n.td,{children:["Path to the frontend directory containing build files. This is for development purposes only.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-frontend-path",children:[(0,s.jsx)(n.code,{children:"--frontend-path"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_HEALTH_CHECK_MAX_RETRIES"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"HEALTH_CHECK_MAX_RETRIES"]}),(0,s.jsx)(n.td,{children:"Integer"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"5"})}),(0,s.jsxs)(n.td,{children:["Set the maximum number of retries for the health check.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-health-check-max-retries",children:[(0,s.jsx)(n.code,{children:"--health-check-max-retries"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_HOST"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"HOST"]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"127.0.0.1"})}),(0,s.jsxs)(n.td,{children:["The host on which the Langflow server will run.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-host",children:[(0,s.jsx)(n.code,{children:"--host"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_LANGCHAIN_CACHE"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"LANGCHAIN_CACHE"]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"InMemoryCache"})}),(0,s.jsxs)(n.td,{children:["Type of cache to use. Possible values: ",(0,s.jsx)(n.code,{children:"InMemoryCache"}),", ",(0,s.jsx)(n.code,{children:"SQLiteCache"}),".",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-cache",children:[(0,s.jsx)(n.code,{children:"--cache"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_LOG_LEVEL"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"LOG_LEVEL"]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"INFO"})}),(0,s.jsxs)(n.td,{children:["Set the logging level for Langflow. Possible values: ",(0,s.jsx)(n.code,{children:"DEBUG"}),", ",(0,s.jsx)(n.code,{children:"INFO"}),", ",(0,s.jsx)(n.code,{children:"WARNING"}),", ",(0,s.jsx)(n.code,{children:"ERROR"}),", ",(0,s.jsx)(n.code,{children:"CRITICAL"}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_LOG_FILE"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"LOG_FILE"]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:"Not set"}),(0,s.jsx)(n.td,{children:"Path to the log file. If this option is not set, logs are written to stdout."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_LOG_RETRIEVER_BUFFER_SIZE"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"LOG_RETRIEVER_BUFFER_SIZE"]}),(0,s.jsx)(n.td,{children:"Integer"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"10000"})}),(0,s.jsxs)(n.td,{children:["Set the buffer size for log retrieval. Only used if ",(0,s.jsx)(n.code,{children:"LANGFLOW_ENABLE_LOG_RETRIEVAL"})," is enabled."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_MAX_FILE_SIZE_UPLOAD"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"MAX_FILE_SIZE_UPLOAD"]}),(0,s.jsx)(n.td,{children:"Integer"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"100"})}),(0,s.jsxs)(n.td,{children:["Set the maximum file size for the upload in megabytes.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-max-file-size-upload",children:[(0,s.jsx)(n.code,{children:"--max-file-size-upload"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_MCP_SERVER_ENABLED"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"MCP_SERVER_ENABLED"]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"true"})}),(0,s.jsx)(n.td,{children:"If this option is set to False, Langflow does not enable the MCP server."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_MCP_SERVER_ENABLE_PROGRESS_NOTIFICATIONS"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"MCP_SERVER_ENABLE_PROGRESS_NOTIFICATIONS"]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"false"})}),(0,s.jsx)(n.td,{children:"If this option is set to True, Langflow sends progress notifications in the MCP server."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_NEW_USER_IS_ACTIVE"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"NEW_USER_IS_ACTIVE"]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"false"})}),(0,s.jsx)(n.td,{children:"When enabled, new users are automatically activated and can log in without requiring explicit activation by the superuser."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_OPEN_BROWSER"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"OPEN_BROWSER"]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"false"})}),(0,s.jsxs)(n.td,{children:["Open the system web browser on startup.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-open-browser",children:[(0,s.jsx)(n.code,{children:"--open-browser"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_PORT"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"PORT"]}),(0,s.jsx)(n.td,{children:"Integer"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"7860"})}),(0,s.jsxs)(n.td,{children:["The port on which the Langflow server runs. The server automatically selects a free port if the specified port is in use.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-port",children:[(0,s.jsx)(n.code,{children:"--port"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_PROMETHEUS_ENABLED"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"PROMETHEUS_ENABLED"]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"false"})}),(0,s.jsx)(n.td,{children:"Expose Prometheus metrics."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_PROMETHEUS_PORT"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"PROMETHEUS_PORT"]}),(0,s.jsx)(n.td,{children:"Integer"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"9090"})}),(0,s.jsx)(n.td,{children:"Set the port on which Langflow exposes Prometheus metrics."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_REDIS_CACHE_EXPIRE"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"REDIS_CACHE_EXPIRE"]}),(0,s.jsx)(n.td,{children:"Integer"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"3600"})}),(0,s.jsxs)(n.td,{children:["See ",(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"CACHE_TYPE."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_REDIS_DB"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"REDIS_DB"]}),(0,s.jsx)(n.td,{children:"Integer"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"0"})}),(0,s.jsxs)(n.td,{children:["See ",(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"CACHE_TYPE."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_REDIS_HOST"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"REDIS_HOST"]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"localhost"})}),(0,s.jsxs)(n.td,{children:["See ",(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"CACHE_TYPE."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_REDIS_PORT"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"REDIS_PORT"]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"6379"})}),(0,s.jsxs)(n.td,{children:["See ",(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"CACHE_TYPE."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_REDIS_PASSWORD"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"REDIS_PASSWORD"]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:"Not set"}),(0,s.jsx)(n.td,{children:"Password for Redis authentication when using Redis cache type."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_REMOVE_API_KEYS"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"REMOVE_API_KEYS"]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"false"})}),(0,s.jsxs)(n.td,{children:["Remove API keys from the projects saved in the database.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-remove-api-keys",children:[(0,s.jsx)(n.code,{children:"--remove-api-keys"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_SAVE_DB_IN_CONFIG_DIR"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"SAVE_DB_IN_CONFIG_DIR"]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"false"})}),(0,s.jsxs)(n.td,{children:["Save the Langflow database in ",(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"CONFIG_DIR instead of in the Langflow package directory. Note, when this variable is set to default (",(0,s.jsx)(n.code,{children:"false"}),"), the database isn't shared between different virtual environments and the database is deleted when you uninstall Langflow."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_SECRET_KEY"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"SECRET_KEY"]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:"Auto-generated"}),(0,s.jsx)(n.td,{children:"Key used for encrypting sensitive data like API keys. If a key is not provided, a secure key is auto-generated. For production environments with multiple instances, you should explicitly set this to ensure consistent encryption across instances."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_STORE"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"STORE"]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"true"})}),(0,s.jsxs)(n.td,{children:["Enable the Langflow Store.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-store",children:[(0,s.jsx)(n.code,{children:"--store"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_STORE_ENVIRONMENT_VARIABLES"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"STORE_ENVIRONMENT_VARIABLES"]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"true"})}),(0,s.jsxs)(n.td,{children:["Store environment variables as ",(0,s.jsx)(n.a,{href:"/configuration-global-variables",children:"global variables"})," in the database."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_UPDATE_STARTER_PROJECTS"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"UPDATE_STARTER_PROJECTS"]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"true"})}),(0,s.jsx)(n.td,{children:"If this option is enabled, Langflow updates starter projects with the latest component versions when initializing."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_SUPERUSER"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"SUPERUSER"]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"langflow"})}),(0,s.jsxs)(n.td,{children:["Set the name for the superuser. Required if ",(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"AUTO_LOGIN is set to ",(0,s.jsx)(n.code,{children:"false"}),".",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#superuser-username",children:[(0,s.jsx)(n.code,{children:"superuser --username"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_SUPERUSER_PASSWORD"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"SUPERUSER_PASSWORD"]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"langflow"})}),(0,s.jsxs)(n.td,{children:["Set the password for the superuser. Required if ",(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"AUTO_LOGIN is set to ",(0,s.jsx)(n.code,{children:"false"}),".",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#superuser-password",children:[(0,s.jsx)(n.code,{children:"superuser --password"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"VARIABLES_TO_GET_FROM_ENVIRONMENT"]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:"Not set"}),(0,s.jsxs)(n.td,{children:["Comma-separated list of environment variables to get from the environment and store as ",(0,s.jsx)(n.a,{href:"/configuration-global-variables",children:"global variables"}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_LOAD_FLOWS_PATH"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"LOAD_FLOWS_PATH"]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:"Not set"}),(0,s.jsxs)(n.td,{children:["Path to a directory containing flow JSON files to be loaded on startup. Note that this feature only works if ",(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"AUTO_LOGIN is enabled."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_WORKER_TIMEOUT"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"WORKER_TIMEOUT"]}),(0,s.jsx)(n.td,{children:"Integer"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"300"})}),(0,s.jsxs)(n.td,{children:["Worker timeout in seconds.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-worker-timeout",children:[(0,s.jsx)(n.code,{children:"--worker-timeout"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_WORKERS"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"WORKERS"]}),(0,s.jsx)(n.td,{children:"Integer"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"1"})}),(0,s.jsxs)(n.td,{children:["Number of worker processes.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-workers",children:[(0,s.jsx)(n.code,{children:"--workers"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_SSL_CERT_FILE"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"SSL_CERT_FILE"]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:"Not set"}),(0,s.jsx)(n.td,{children:"Path to the SSL certificate file on the local system."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_SSL_KEY_FILE"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"SSL_KEY_FILE"]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:"Not set"}),(0,s.jsx)(n.td,{children:"Path to the SSL key file on the local system."})]})]})]})}),"\n",(0,s.jsx)(n.h2,{id:"configure-env-overrideconf-and-tasksjson-files",children:"Configure .env, override.conf, and tasks.json files"}),"\n",(0,s.jsx)(n.p,{children:"The following examples show how to configure Langflow using environment variables in different scenarios."}),"\n",(0,s.jsxs)(c.A,{children:[(0,s.jsxs)(i.A,{value:"env",label:".env File",default:!0,children:[(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:".env"})," file is a text file that contains key-value pairs of environment variables."]}),(0,s.jsxs)(n.p,{children:["Create or edit a file named ",(0,s.jsx)(n.code,{children:".env"})," in your project root directory and add your configuration:"]}),(0,s.jsx)(x.Code,{codeConfig:L,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",title:'".env"',focus:"",code:{lines:[{tokens:[{content:"DO_NOT_TRACK=true",props:{}}]},{tokens:[{content:"LANGFLOW_AUTO_LOGIN=false",props:{}}]},{tokens:[{content:"LANGFLOW_AUTO_SAVING=true",props:{}}]},{tokens:[{content:"LANGFLOW_AUTO_SAVING_INTERVAL=1000",props:{}}]},{tokens:[{content:"LANGFLOW_BACKEND_ONLY=false",props:{}}]},{tokens:[{content:'LANGFLOW_BUNDLE_URLS=["https://github.com/user/repo/commit/hash"]',props:{}}]},{tokens:[{content:"LANGFLOW_CACHE_TYPE=async",props:{}}]},{tokens:[{content:"LANGFLOW_COMPONENTS_PATH=/path/to/components/",props:{}}]},{tokens:[{content:"LANGFLOW_CONFIG_DIR=/path/to/config/",props:{}}]},{tokens:[{content:"LANGFLOW_DATABASE_URL=postgresql://user:password@localhost:5432/langflow",props:{}}]},{tokens:[{content:"LANGFLOW_DEV=false",props:{}}]},{tokens:[{content:"LANGFLOW_FALLBACK_TO_ENV_VAR=false",props:{}}]},{tokens:[{content:"LANGFLOW_HEALTH_CHECK_MAX_RETRIES=5",props:{}}]},{tokens:[{content:"LANGFLOW_HOST=127.0.0.1",props:{}}]},{tokens:[{content:"LANGFLOW_LANGCHAIN_CACHE=InMemoryCache",props:{}}]},{tokens:[{content:"LANGFLOW_MAX_FILE_SIZE_UPLOAD=10000",props:{}}]},{tokens:[{content:"LANGFLOW_LOG_LEVEL=error",props:{}}]},{tokens:[{content:"LANGFLOW_OPEN_BROWSER=false",props:{}}]},{tokens:[{content:"LANGFLOW_PORT=7860",props:{}}]},{tokens:[{content:"LANGFLOW_REMOVE_API_KEYS=false",props:{}}]},{tokens:[{content:"LANGFLOW_SAVE_DB_IN_CONFIG_DIR=true",props:{}}]},{tokens:[{content:"LANGFLOW_SECRET_KEY=somesecretkey",props:{}}]},{tokens:[{content:"LANGFLOW_STORE=true",props:{}}]},{tokens:[{content:"LANGFLOW_STORE_ENVIRONMENT_VARIABLES=true",props:{}}]},{tokens:[{content:"LANGFLOW_SUPERUSER=adminuser",props:{}}]},{tokens:[{content:"LANGFLOW_SUPERUSER_PASSWORD=adminpass",props:{}}]},{tokens:[{content:"LANGFLOW_WORKER_TIMEOUT=60000",props:{}}]},{tokens:[{content:"LANGFLOW_WORKERS=3",props:{}}]}],lang:"text"},annotations:[]}]})]}),(0,s.jsxs)(i.A,{value:"systemd",label:"Systemd service",children:[(0,s.jsx)(n.p,{children:"A systemd service configuration file configures Linux system services."}),(0,s.jsxs)(n.p,{children:["To add environment variables, create or edit a service configuration file and add an ",(0,s.jsx)(n.code,{children:"override.conf"})," file. This file allows you to override the default environment variables for the service."]}),(0,s.jsx)(x.Code,{codeConfig:L,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",title:'"override.conf"',focus:"",code:{lines:[{tokens:[{content:"[Service]",props:{style:{color:"#FFA657"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"DO_NOT_TRACK=true"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_AUTO_LOGIN=false"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_AUTO_SAVING=true"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_AUTO_SAVING_INTERVAL=1000"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_BACKEND_ONLY=false"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_BUNDLE_URLS=[\\"',props:{style:{color:"#A5D6FF"}}},{content:"https://github.com/user/repo/commit/hash\\",props:{style:{color:"#C9D1D9"}}},{content:'"]"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_CACHE_TYPE=async"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_COMPONENTS_PATH=/path/to/components/"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_CONFIG_DIR=/path/to/config"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_DATABASE_URL=postgresql://user:password@localhost:5432/langflow"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_DEV=false"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_FALLBACK_TO_ENV_VAR=false"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_HEALTH_CHECK_MAX_RETRIES=5"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_HOST=127.0.0.1"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_LANGCHAIN_CACHE=InMemoryCache"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_MAX_FILE_SIZE_UPLOAD=10000"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_LOG_ENV=container_json"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_LOG_FILE=logs/langflow.log"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_LOG_LEVEL=error"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_OPEN_BROWSER=false"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_PORT=7860"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_REMOVE_API_KEYS=false"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_SAVE_DB_IN_CONFIG_DIR=true"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_SECRET_KEY=somesecretkey"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_STORE=true"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_STORE_ENVIRONMENT_VARIABLES=true"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_SUPERUSER=adminuser"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_SUPERUSER_PASSWORD=adminpass"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_WORKER_TIMEOUT=60000"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_WORKERS=3"',props:{style:{color:"#A5D6FF"}}}]}],lang:"ini"},annotations:[]}]}),(0,s.jsxs)(n.p,{children:["For more information on systemd, see the ",(0,s.jsx)(n.a,{href:"https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/using_systemd_unit_files_to_customize_and_optimize_your_system/assembly_working-with-systemd-unit-files_working-with-systemd",children:"Red Hat documentation"}),"."]})]}),(0,s.jsxs)(i.A,{value:"vscode",label:"VSCode tasks.json",children:[(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"tasks.json"})," file located in ",(0,s.jsx)(n.code,{children:".vscode/tasks.json"})," is a configuration file for development environments using Visual Studio Code."]}),(0,s.jsxs)(n.p,{children:["Create or edit the ",(0,s.jsx)(n.code,{children:".vscode/tasks.json"})," file in your project root:"]}),(0,s.jsx)(x.Code,{codeConfig:L,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",title:'".vscode/tasks.json"',focus:"",code:{lines:[{tokens:[{content:"{",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "version"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"2.0.0"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "options"',props:{style:{color:"#7EE787"}}},{content:": {",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "env"',props:{style:{color:"#7EE787"}}},{content:": {",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "DO_NOT_TRACK"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"true"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_AUTO_LOGIN"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"false"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_AUTO_SAVING"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"true"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_AUTO_SAVING_INTERVAL"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"1000"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_BACKEND_ONLY"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"false"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_BUNDLE_URLS"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"[',props:{style:{color:"#A5D6FF"}}},{content:'\\"',props:{style:{color:"#79C0FF"}}},{content:"https://github.com/user/repo/commit/hash",props:{style:{color:"#A5D6FF"}}},{content:'\\"',props:{style:{color:"#79C0FF"}}},{content:']"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_CACHE_TYPE"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"async"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_COMPONENTS_PATH"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"D:/path/to/components/"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_CONFIG_DIR"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"D:/path/to/config/"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_DATABASE_URL"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"postgresql://postgres:password@localhost:5432/langflow"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_DEV"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"false"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_FALLBACK_TO_ENV_VAR"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"false"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_HEALTH_CHECK_MAX_RETRIES"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"5"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_HOST"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"localhost"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_LANGCHAIN_CACHE"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"InMemoryCache"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_MAX_FILE_SIZE_UPLOAD"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"10000"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_LOG_ENV"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"container_csv"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_LOG_FILE"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"langflow.log"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_LOG_LEVEL"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"error"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_OPEN_BROWSER"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"false"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_PORT"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"7860"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_REMOVE_API_KEYS"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"true"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_SAVE_DB_IN_CONFIG_DIR"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"false"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_SECRET_KEY"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"somesecretkey"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_STORE"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"true"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_STORE_ENVIRONMENT_VARIABLES"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"true"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_SUPERUSER"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"adminuser"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_SUPERUSER_PASSWORD"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"adminpass"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_WORKER_TIMEOUT"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"60000"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_WORKERS"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"3"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" }",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" },",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "tasks"',props:{style:{color:"#7EE787"}}},{content:": [",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" {",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "label"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"langflow backend"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "type"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"shell"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "command"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'". ./langflownightly/Scripts/activate && langflow run"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "isBackground"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:"true",props:{style:{color:"#79C0FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "problemMatcher"',props:{style:{color:"#7EE787"}}},{content:": []",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" }",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" ]",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"}",props:{style:{color:"#C9D1D9"}}}]}],lang:"json"},annotations:[]}]}),(0,s.jsxs)(n.p,{children:["To run Langflow using the above VSCode ",(0,s.jsx)(n.code,{children:"tasks.json"})," file, in the VSCode command palette, select ",(0,s.jsx)(n.strong,{children:"Tasks: Run Task"})," > ",(0,s.jsx)(n.strong,{children:"langflow backend"}),"."]})]})]})]})}function _(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(j,{...e})}):j(e)}function u(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},79329:(e,n,o)=>{o.d(n,{A:()=>l});o(96540);var t=o(18215);const s={tabItem:"tabItem_Ymn6"};var r=o(74848);function l(e){let{children:n,hidden:o,className:l}=e;return(0,r.jsx)("div",{role:"tabpanel",className:(0,t.A)(s.tabItem,l),hidden:o,children:n})}}}]); \ No newline at end of file diff --git a/assets/js/b7251463.fadffeb7.js b/assets/js/b7251463.fadffeb7.js deleted file mode 100644 index 280cae901f..0000000000 --- a/assets/js/b7251463.fadffeb7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[51],{65537:(e,n,o)=>{o.d(n,{A:()=>O});var t=o(96540),s=o(18215),r=o(65627),l=o(56347),c=o(50372),i=o(30604),d=o(11861),a=o(78749);function p(e){return t.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,t.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function h(e){const{values:n,children:o}=e;return(0,t.useMemo)((()=>{const e=n??function(e){return p(e).map((e=>{let{props:{value:n,label:o,attributes:t,default:s}}=e;return{value:n,label:o,attributes:t,default:s}}))}(o);return function(e){const n=(0,d.XI)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[n,o])}function x(e){let{value:n,tabValues:o}=e;return o.some((e=>e.value===n))}function L(e){let{queryString:n=!1,groupId:o}=e;const s=(0,l.W6)(),r=function(e){let{queryString:n=!1,groupId:o}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!o)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return o??null}({queryString:n,groupId:o});return[(0,i.aZ)(r),(0,t.useCallback)((e=>{if(!r)return;const n=new URLSearchParams(s.location.search);n.set(r,e),s.replace({...s.location,search:n.toString()})}),[r,s])]}function j(e){const{defaultValue:n,queryString:o=!1,groupId:s}=e,r=h(e),[l,i]=(0,t.useState)((()=>function(e){let{defaultValue:n,tabValues:o}=e;if(0===o.length)throw new Error("Docusaurus error: the component requires at least one children component");if(n){if(!x({value:n,tabValues:o}))throw new Error(`Docusaurus error: The has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${o.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}const t=o.find((e=>e.default))??o[0];if(!t)throw new Error("Unexpected error: 0 tabValues");return t.value}({defaultValue:n,tabValues:r}))),[d,p]=L({queryString:o,groupId:s}),[j,A]=function(e){let{groupId:n}=e;const o=function(e){return e?`docusaurus.tab.${e}`:null}(n),[s,r]=(0,a.Dv)(o);return[s,(0,t.useCallback)((e=>{o&&r.set(e)}),[o,r])]}({groupId:s}),_=(()=>{const e=d??j;return x({value:e,tabValues:r})?e:null})();(0,c.A)((()=>{_&&i(_)}),[_]);return{selectedValue:l,selectValue:(0,t.useCallback)((e=>{if(!x({value:e,tabValues:r}))throw new Error(`Can't select invalid tab value=${e}`);i(e),p(e),A(e)}),[p,A,r]),tabValues:r}}var A=o(9136);const _={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var u=o(74848);function F(e){let{className:n,block:o,selectedValue:t,selectValue:l,tabValues:c}=e;const i=[],{blockElementScrollPositionUntilNextRender:d}=(0,r.a_)(),a=e=>{const n=e.currentTarget,o=i.indexOf(n),s=c[o].value;s!==t&&(d(n),l(s))},p=e=>{let n=null;switch(e.key){case"Enter":a(e);break;case"ArrowRight":{const o=i.indexOf(e.currentTarget)+1;n=i[o]??i[0];break}case"ArrowLeft":{const o=i.indexOf(e.currentTarget)-1;n=i[o]??i[i.length-1];break}}n?.focus()};return(0,u.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,s.A)("tabs",{"tabs--block":o},n),children:c.map((e=>{let{value:n,label:o,attributes:r}=e;return(0,u.jsx)("li",{role:"tab",tabIndex:t===n?0:-1,"aria-selected":t===n,ref:e=>{i.push(e)},onKeyDown:p,onClick:a,...r,className:(0,s.A)("tabs__item",_.tabItem,r?.className,{"tabs__item--active":t===n}),children:o??n},n)}))})}function f(e){let{lazy:n,children:o,selectedValue:r}=e;const l=(Array.isArray(o)?o:[o]).filter(Boolean);if(n){const e=l.find((e=>e.props.value===r));return e?(0,t.cloneElement)(e,{className:(0,s.A)("margin-top--md",e.props.className)}):null}return(0,u.jsx)("div",{className:"margin-top--md",children:l.map(((e,n)=>(0,t.cloneElement)(e,{key:n,hidden:e.props.value!==r})))})}function E(e){const n=j(e);return(0,u.jsxs)("div",{className:(0,s.A)("tabs-container",_.tabList),children:[(0,u.jsx)(F,{...n,...e}),(0,u.jsx)(f,{...n,...e})]})}function O(e){const n=(0,A.A)();return(0,u.jsx)(E,{...e,children:p(e.children)},String(n))}},75720:(e,n,o)=>{o.r(n),o.d(n,{CH:()=>x,assets:()=>h,chCodeConfig:()=>L,contentTitle:()=>p,default:()=>_,frontMatter:()=>a,metadata:()=>t,toc:()=>j});const t=JSON.parse('{"id":"Configuration/environment-variables","title":"Environment variables","description":"Langflow lets you configure a number of settings using environment variables.","source":"@site/docs/Configuration/environment-variables.md","sourceDirName":"Configuration","slug":"/environment-variables","permalink":"/environment-variables","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{"title":"Environment variables","slug":"/environment-variables"},"sidebar":"docs","previous":{"title":"Global variables","permalink":"/configuration-global-variables"},"next":{"title":"Overview","permalink":"/develop-overview"}}');var s=o(74848),r=o(28453),l=o(24754),c=o(65537),i=o(79329),d=o(56289);const a={title:"Environment variables",slug:"/environment-variables"},p=void 0,h={},x={annotations:l.hk,Code:l.Cy},L={staticMediaQuery:"not screen, (max-width: 768px)",lineNumbers:!0,showCopyButton:!0,themeName:"github-dark"},j=[{value:"Configure environment variables",id:"configure-environment-variables",level:2},{value:"Set environment variables in your terminal",id:"configure-variables-terminal",level:3},{value:"Import environment variables from a .env file",id:"configure-variables-env-file",level:3},{value:"Precedence",id:"precedence",level:2},{value:"Supported environment variables",id:"supported-variables",level:2},{value:"Configure .env, override.conf, and tasks.json files",id:"configure-env-overrideconf-and-tasksjson-files",level:2}];function A(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.R)(),...e.components};return x||u("CH",!1),x.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","\n",(0,s.jsx)(n.p,{children:"Langflow lets you configure a number of settings using environment variables."}),"\n",(0,s.jsx)(n.h2,{id:"configure-environment-variables",children:"Configure environment variables"}),"\n",(0,s.jsxs)(n.p,{children:["Langflow recognizes ",(0,s.jsx)(n.a,{href:"#supported-variables",children:"supported environment variables"})," from the following sources:"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Environment variables that you've set in your terminal."}),"\n",(0,s.jsxs)(n.li,{children:["Environment variables that you've imported from a ",(0,s.jsx)(n.code,{children:".env"})," file using the ",(0,s.jsx)(n.code,{children:"--env-file"})," option in the Langflow CLI."]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["You can choose to use one source exclusively, or use both sources together.\nIf you choose to use both sources together, be aware that environment variables imported from a ",(0,s.jsx)(n.code,{children:".env"})," file take ",(0,s.jsx)(n.a,{href:"#precedence",children:"precedence"})," over those set in your terminal."]}),"\n",(0,s.jsx)(n.h3,{id:"configure-variables-terminal",children:"Set environment variables in your terminal"}),"\n",(0,s.jsx)(n.p,{children:"Run the following commands to set environment variables for your current terminal session:"}),"\n",(0,s.jsxs)(c.A,{children:[(0,s.jsx)(i.A,{value:"linux-macos",label:"Linux or macOS",default:!0,children:(0,s.jsx)(x.Code,{codeConfig:L,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"export",props:{style:{color:"#FF7B72"}}},{content:" VARIABLE_NAME",props:{style:{color:"#C9D1D9"}}},{content:"=",props:{style:{color:"#FF7B72"}}},{content:"'VALUE'",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]})}),(0,s.jsx)(i.A,{value:"windows",label:"Windows",default:!0,children:(0,s.jsx)(x.Code,{codeConfig:L,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"set VARIABLE_NAME='VALUE'",props:{}}]}],lang:"text"},annotations:[]}]})}),(0,s.jsx)(i.A,{value:"docker",label:"Docker",default:!0,children:(0,s.jsx)(x.Code,{codeConfig:L,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"docker ",props:{style:{color:"#FFA657"}}},{content:"run ",props:{style:{color:"#A5D6FF"}}},{content:"-it --rm \\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -p ",props:{style:{color:"#79C0FF"}}},{content:"7860:",props:{style:{color:"#A5D6FF"}}},{content:"7860 \\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -e ",props:{style:{color:"#79C0FF"}}},{content:"VARIABLE_NAME='VALUE' ",props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" langflowai/langflow:latest",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]})})]}),"\n",(0,s.jsxs)(n.p,{children:["When you start Langflow, it looks for environment variables that you've set in your terminal.\nIf it detects a supported environment variable, then it automatically adopts the specified value, subject to ",(0,s.jsx)(n.a,{href:"#precedence",children:"precedence rules"}),"."]}),"\n",(0,s.jsx)(n.h3,{id:"configure-variables-env-file",children:"Import environment variables from a .env file"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Create a ",(0,s.jsx)(n.code,{children:".env"})," file and open it in your preferred editor."]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Add your environment variables to the file:"}),"\n",(0,s.jsx)(x.Code,{codeConfig:L,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",title:'".env"',focus:"",code:{lines:[{tokens:[{content:"DO_NOT_TRACK=true",props:{}}]},{tokens:[{content:"LANGFLOW_AUTO_LOGIN=false",props:{}}]},{tokens:[{content:"LANGFLOW_AUTO_SAVING=true",props:{}}]},{tokens:[{content:"LANGFLOW_AUTO_SAVING_INTERVAL=1000",props:{}}]},{tokens:[{content:"LANGFLOW_BACKEND_ONLY=false",props:{}}]},{tokens:[{content:'LANGFLOW_BUNDLE_URLS=["https://github.com/user/repo/commit/hash"]',props:{}}]},{tokens:[{content:"LANGFLOW_CACHE_TYPE=async",props:{}}]},{tokens:[{content:"LANGFLOW_COMPONENTS_PATH=/path/to/components/",props:{}}]},{tokens:[{content:"LANGFLOW_CONFIG_DIR=/path/to/config/",props:{}}]},{tokens:[{content:"LANGFLOW_DATABASE_URL=postgresql://user:password@localhost:5432/langflow",props:{}}]},{tokens:[{content:"LANGFLOW_DEV=false",props:{}}]},{tokens:[{content:"LANGFLOW_FALLBACK_TO_ENV_VAR=false",props:{}}]},{tokens:[{content:"LANGFLOW_HEALTH_CHECK_MAX_RETRIES=5",props:{}}]},{tokens:[{content:"LANGFLOW_HOST=127.0.0.1",props:{}}]},{tokens:[{content:"LANGFLOW_LANGCHAIN_CACHE=InMemoryCache",props:{}}]},{tokens:[{content:"LANGFLOW_MAX_FILE_SIZE_UPLOAD=10000",props:{}}]},{tokens:[{content:"LANGFLOW_LOG_LEVEL=error",props:{}}]},{tokens:[{content:"LANGFLOW_OPEN_BROWSER=false",props:{}}]},{tokens:[{content:"LANGFLOW_PORT=7860",props:{}}]},{tokens:[{content:"LANGFLOW_REMOVE_API_KEYS=false",props:{}}]},{tokens:[{content:"LANGFLOW_SAVE_DB_IN_CONFIG_DIR=true",props:{}}]},{tokens:[{content:"LANGFLOW_SECRET_KEY=somesecretkey",props:{}}]},{tokens:[{content:"LANGFLOW_STORE=true",props:{}}]},{tokens:[{content:"LANGFLOW_STORE_ENVIRONMENT_VARIABLES=true",props:{}}]},{tokens:[{content:"LANGFLOW_SUPERUSER=adminuser",props:{}}]},{tokens:[{content:"LANGFLOW_SUPERUSER_PASSWORD=adminpass",props:{}}]},{tokens:[{content:"LANGFLOW_WORKER_TIMEOUT=60000",props:{}}]},{tokens:[{content:"LANGFLOW_WORKERS=3",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,s.jsx)(n.admonition,{type:"tip",children:(0,s.jsxs)(n.p,{children:["The Langflow project includes a ",(0,s.jsx)(n.a,{href:"https://github.com/langflow-ai/langflow/blob/main/.env.example",children:(0,s.jsx)(n.code,{children:".env.example"})})," file to help you get started.\nYou can copy the contents of this file into your own ",(0,s.jsx)(n.code,{children:".env"})," file and replace the example values with your own preferred settings."]})}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Save and close the file."}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Start Langflow using the ",(0,s.jsx)(n.code,{children:"--env-file"})," option to define the path to your ",(0,s.jsx)(n.code,{children:".env"})," file:"]}),"\n",(0,s.jsxs)(c.A,{children:[(0,s.jsx)(i.A,{value:"local",label:"Local",default:!0,children:(0,s.jsx)(x.Code,{codeConfig:L,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"python ",props:{style:{color:"#FFA657"}}},{content:"-m ",props:{style:{color:"#79C0FF"}}},{content:"langflow run ",props:{style:{color:"#A5D6FF"}}},{content:"--env-file ",props:{style:{color:"#79C0FF"}}},{content:".env",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]})}),(0,s.jsx)(i.A,{value:"docker",label:"Docker",default:!0,children:(0,s.jsx)(x.Code,{codeConfig:L,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"docker ",props:{style:{color:"#FFA657"}}},{content:"run ",props:{style:{color:"#A5D6FF"}}},{content:"-it --rm \\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" -p ",props:{style:{color:"#79C0FF"}}},{content:"7860:",props:{style:{color:"#A5D6FF"}}},{content:"7860 \\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" --env-file ",props:{style:{color:"#79C0FF"}}},{content:".env ",props:{style:{color:"#A5D6FF"}}},{content:"\\",props:{style:{color:"#79C0FF"}}}]},{tokens:[{content:" langflowai/langflow:latest",props:{style:{color:"#A5D6FF"}}}]}],lang:"bash"},annotations:[]}]})})]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["On startup, Langflow imports the environment variables from your ",(0,s.jsx)(n.code,{children:".env"})," file, as well as any that you ",(0,s.jsx)(n.a,{href:"#configure-variables-terminal",children:"set in your terminal"}),", and adopts their specified values."]}),"\n",(0,s.jsx)(n.h2,{id:"precedence",children:"Precedence"}),"\n",(0,s.jsxs)(n.p,{children:["Environment variables ",(0,s.jsx)(n.a,{href:"#configure-variables-env-file",children:"defined in the .env file"})," take precedence over those ",(0,s.jsx)(n.a,{href:"#configure-variables-terminal",children:"set in your terminal"}),".\nThat means, if you happen to set the same environment variable in both your terminal and your ",(0,s.jsx)(n.code,{children:".env"})," file, Langflow adopts the value from the the ",(0,s.jsx)(n.code,{children:".env"})," file."]}),"\n",(0,s.jsx)(n.admonition,{title:"CLI precedence",type:"info",children:(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.a,{href:"/configuration-cli",children:"Langflow CLI options"})," override the value of corresponding environment variables defined in the ",(0,s.jsx)(n.code,{children:".env"})," file as well as any environment variables set in your terminal."]})}),"\n",(0,s.jsx)(n.h2,{id:"supported-variables",children:"Supported environment variables"}),"\n",(0,s.jsx)(n.p,{children:"The following table lists the environment variables supported by Langflow."}),"\n",(0,s.jsx)("style",{children:"\n.env-table {\n width: 100%;\n max-width: 100%;\n table-layout: fixed;\n}\n.env-table td:first-child {\n width: 30%;\n font-family: var(--ifm-font-family-monospace);\n background: var(--prism-background);\n border-radius: 6px;\n padding: 8px;\n word-break: break-word;\n}\n.env-table td:nth-child(2) {\n width: 15%;\n}\n.env-table td:nth-child(3) {\n width: 15%;\n}\n.env-table td:nth-child(4) {\n width: 40%;\n}\n.env-table td {\n padding: 8px;\n vertical-align: top;\n}\n.env-prefix {\n opacity: 0.7;\n}\n.env-table tr {\n border-top: 1px solid var(--ifm-table-border-color);\n}\n.env-table code {\n white-space: nowrap;\n}\n"}),"\n",(0,s.jsx)("div",{class:"env-table",children:(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Variable"}),(0,s.jsx)(n.th,{children:"Format"}),(0,s.jsx)(n.th,{children:"Default"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"DO_NOT_TRACK"}),"DO_NOT_TRACK"]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"false"})}),(0,s.jsx)(n.td,{children:"If this option is enabled, Langflow does not track telemetry."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_AUTO_LOGIN"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"AUTO_LOGIN"]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"true"})}),(0,s.jsxs)(n.td,{children:["Enable automatic login for Langflow. Set to ",(0,s.jsx)(n.code,{children:"false"})," to disable automatic login and require the login form to log into the Langflow UI. Setting to ",(0,s.jsx)(n.code,{children:"false"})," requires ",(0,s.jsx)(n.a,{href:"#LANGFLOW_SUPERUSER",children:(0,s.jsx)(n.code,{children:"LANGFLOW_SUPERUSER"})})," and ",(0,s.jsx)(n.a,{href:"/environment-variables#LANGFLOW_SUPERUSER_PASSWORD",children:(0,s.jsx)(n.code,{children:"LANGFLOW_SUPERUSER_PASSWORD"})})," to be set."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_AUTO_SAVING"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"AUTO_SAVING"]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"true"})}),(0,s.jsxs)(n.td,{children:["Enable flow auto-saving.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-auto-saving",children:[(0,s.jsx)(n.code,{children:"--auto-saving"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_AUTO_SAVING_INTERVAL"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"AUTO_SAVING_INTERVAL"]}),(0,s.jsx)(n.td,{children:"Integer"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"1000"})}),(0,s.jsxs)(n.td,{children:["Set the interval for flow auto-saving in milliseconds.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-auto-saving-interval",children:[(0,s.jsx)(n.code,{children:"--auto-saving-interval"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_BACKEND_ONLY"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"BACKEND_ONLY"]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"false"})}),(0,s.jsxs)(n.td,{children:["Only run Langflow's backend server (no frontend).",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-backend-only",children:[(0,s.jsx)(n.code,{children:"--backend-only"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_BUNDLE_URLS"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"BUNDLE_URLS"]}),(0,s.jsx)(n.td,{children:"List[String]"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"[]"})}),(0,s.jsxs)(n.td,{children:["A list of URLs from which to load component bundles and flows. Supports GitHub URLs. If ",(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"AUTO_LOGIN is enabled, flows from these bundles are loaded into the database."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_CACHE_TYPE"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"CACHE_TYPE"]}),(0,s.jsxs)(n.td,{children:[(0,s.jsx)(n.code,{children:"async"}),(0,s.jsx)("br",{}),(0,s.jsx)(n.code,{children:"redis"}),(0,s.jsx)("br",{}),(0,s.jsx)(n.code,{children:"memory"}),(0,s.jsx)("br",{}),(0,s.jsx)(n.code,{children:"disk"}),(0,s.jsx)("br",{}),(0,s.jsx)(n.code,{children:"critical"})]}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"async"})}),(0,s.jsxs)(n.td,{children:["Set the cache type for Langflow.",(0,s.jsx)("br",{}),"If you set the type to ",(0,s.jsx)(n.code,{children:"redis"}),", then you must also set the following environment variables: ",(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_REDIS_HOST"}),", ",(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_REDIS_PORT"}),", ",(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_REDIS_DB"}),", and ",(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_REDIS_CACHE_EXPIRE"}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_COMPONENTS_PATH"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"COMPONENTS_PATH"]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"langflow/components"})}),(0,s.jsxs)(n.td,{children:["Path to the directory containing custom components.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-components-path",children:[(0,s.jsx)(n.code,{children:"--components-path"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_CONFIG_DIR"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"CONFIG_DIR"]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:"See description"}),(0,s.jsxs)(n.td,{children:["Set the Langflow configuration directory where files, logs, and the Langflow database are stored. Defaults: ",(0,s.jsx)(n.strong,{children:"Linux/WSL"}),": ",(0,s.jsx)(n.code,{children:"~/.cache/langflow/"}),(0,s.jsx)("br",{}),(0,s.jsx)(n.strong,{children:"macOS"}),": ",(0,s.jsx)(n.code,{children:"/Users//Library/Caches/langflow/"}),(0,s.jsx)("br",{}),(0,s.jsx)(n.strong,{children:"Windows"}),": ",(0,s.jsx)(n.code,{children:"%LOCALAPPDATA%\\langflow\\langflow\\Cache"})]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_DATABASE_URL"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"DATABASE_URL"]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:"Not set"}),(0,s.jsx)(n.td,{children:"Set the database URL for Langflow. If not provided, Langflow uses a SQLite database."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_DATABASE_CONNECTION_RETRY"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"DATABASE_CONNECTION_RETRY"]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"false"})}),(0,s.jsx)(n.td,{children:"If True, Langflow tries to connect to the database again if it fails."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_DB_POOL_SIZE"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"DB_POOL_SIZE"]}),(0,s.jsx)(n.td,{children:"Integer"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"10"})}),(0,s.jsxs)(n.td,{children:[(0,s.jsx)(n.strong,{children:"DEPRECATED:"})," Use ",(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"DB_CONNECTION_SETTINGS instead. The number of connections to keep open in the connection pool."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_DB_MAX_OVERFLOW"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"DB_MAX_OVERFLOW"]}),(0,s.jsx)(n.td,{children:"Integer"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"20"})}),(0,s.jsxs)(n.td,{children:[(0,s.jsx)(n.strong,{children:"DEPRECATED:"})," Use ",(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"DB_CONNECTION_SETTINGS instead. The number of connections to allow that can be opened beyond the pool size."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_DB_CONNECT_TIMEOUT"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"DB_CONNECT_TIMEOUT"]}),(0,s.jsx)(n.td,{children:"Integer"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"20"})}),(0,s.jsx)(n.td,{children:"The number of seconds to wait before giving up on a lock to be released or establishing a connection to the database."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_DB_CONNECTION_SETTINGS"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"DB_CONNECTION_SETTINGS"]}),(0,s.jsx)(n.td,{children:"JSON"}),(0,s.jsx)(n.td,{children:"Not set"}),(0,s.jsxs)(n.td,{children:["A JSON dictionary to centralize database connection parameters. Example: ",(0,s.jsx)(n.code,{children:'{"pool_size": 10, "max_overflow": 20}'})]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_DEV"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"DEV"]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"false"})}),(0,s.jsxs)(n.td,{children:["Run Langflow in development mode (may contain bugs).",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-dev",children:[(0,s.jsx)(n.code,{children:"--dev"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_ENABLE_LOG_RETRIEVAL"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"ENABLE_LOG_RETRIEVAL"]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"false"})}),(0,s.jsx)(n.td,{children:"Enable log retrieval functionality."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_FALLBACK_TO_ENV_VAR"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"FALLBACK_TO_ENV_VAR"]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"true"})}),(0,s.jsxs)(n.td,{children:["If enabled, ",(0,s.jsx)(n.a,{href:"/configuration-global-variables",children:"global variables"})," set in the Langflow UI fall back to an environment variable with the same name when Langflow fails to retrieve the variable value."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_FRONTEND_PATH"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"FRONTEND_PATH"]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"./frontend"})}),(0,s.jsxs)(n.td,{children:["Path to the frontend directory containing build files. This is for development purposes only.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-frontend-path",children:[(0,s.jsx)(n.code,{children:"--frontend-path"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_HEALTH_CHECK_MAX_RETRIES"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"HEALTH_CHECK_MAX_RETRIES"]}),(0,s.jsx)(n.td,{children:"Integer"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"5"})}),(0,s.jsxs)(n.td,{children:["Set the maximum number of retries for the health check.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-health-check-max-retries",children:[(0,s.jsx)(n.code,{children:"--health-check-max-retries"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_HOST"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"HOST"]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"127.0.0.1"})}),(0,s.jsxs)(n.td,{children:["The host on which the Langflow server will run.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-host",children:[(0,s.jsx)(n.code,{children:"--host"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_LANGCHAIN_CACHE"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"LANGCHAIN_CACHE"]}),(0,s.jsxs)(n.td,{children:[(0,s.jsx)(n.code,{children:"InMemoryCache"}),(0,s.jsx)("br",{}),(0,s.jsx)(n.code,{children:"SQLiteCache"})]}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"InMemoryCache"})}),(0,s.jsxs)(n.td,{children:["Type of cache to use.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-cache",children:[(0,s.jsx)(n.code,{children:"--cache"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_LOG_LEVEL"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"LOG_LEVEL"]}),(0,s.jsxs)(n.td,{children:[(0,s.jsx)(n.code,{children:"DEBUG"}),(0,s.jsx)("br",{}),(0,s.jsx)(n.code,{children:"INFO"}),(0,s.jsx)("br",{}),(0,s.jsx)(n.code,{children:"WARNING"}),(0,s.jsx)("br",{}),(0,s.jsx)(n.code,{children:"ERROR"}),(0,s.jsx)("br",{}),(0,s.jsx)(n.code,{children:"CRITICAL"})]}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"INFO"})}),(0,s.jsx)(n.td,{children:"Set the logging level for Langflow."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_LOG_FILE"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"LOG_FILE"]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:"Not set"}),(0,s.jsx)(n.td,{children:"Path to the log file. If this option is not set, logs are written to stdout."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_LOG_RETRIEVER_BUFFER_SIZE"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"LOG_RETRIEVER_BUFFER_SIZE"]}),(0,s.jsx)(n.td,{children:"Integer"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"10000"})}),(0,s.jsxs)(n.td,{children:["Set the buffer size for log retrieval. Only used if ",(0,s.jsx)(n.code,{children:"LANGFLOW_ENABLE_LOG_RETRIEVAL"})," is enabled."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_MAX_FILE_SIZE_UPLOAD"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"MAX_FILE_SIZE_UPLOAD"]}),(0,s.jsx)(n.td,{children:"Integer"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"100"})}),(0,s.jsxs)(n.td,{children:["Set the maximum file size for the upload in megabytes.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-max-file-size-upload",children:[(0,s.jsx)(n.code,{children:"--max-file-size-upload"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_MCP_SERVER_ENABLED"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"MCP_SERVER_ENABLED"]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"true"})}),(0,s.jsx)(n.td,{children:"If this option is set to False, Langflow does not enable the MCP server."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_MCP_SERVER_ENABLE_PROGRESS_NOTIFICATIONS"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"MCP_SERVER_ENABLE_PROGRESS_NOTIFICATIONS"]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"false"})}),(0,s.jsx)(n.td,{children:"If this option is set to True, Langflow sends progress notifications in the MCP server."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_NEW_USER_IS_ACTIVE"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"NEW_USER_IS_ACTIVE"]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"false"})}),(0,s.jsx)(n.td,{children:"When enabled, new users are automatically activated and can log in without requiring explicit activation by the superuser."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_OPEN_BROWSER"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"OPEN_BROWSER"]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"false"})}),(0,s.jsxs)(n.td,{children:["Open the system web browser on startup.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-open-browser",children:[(0,s.jsx)(n.code,{children:"--open-browser"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_PORT"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"PORT"]}),(0,s.jsx)(n.td,{children:"Integer"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"7860"})}),(0,s.jsxs)(n.td,{children:["The port on which the Langflow server runs. The server automatically selects a free port if the specified port is in use.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-port",children:[(0,s.jsx)(n.code,{children:"--port"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_PROMETHEUS_ENABLED"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"PROMETHEUS_ENABLED"]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"false"})}),(0,s.jsx)(n.td,{children:"Expose Prometheus metrics."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_PROMETHEUS_PORT"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"PROMETHEUS_PORT"]}),(0,s.jsx)(n.td,{children:"Integer"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"9090"})}),(0,s.jsx)(n.td,{children:"Set the port on which Langflow exposes Prometheus metrics."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_REDIS_CACHE_EXPIRE"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"REDIS_CACHE_EXPIRE"]}),(0,s.jsx)(n.td,{children:"Integer"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"3600"})}),(0,s.jsxs)(n.td,{children:["See ",(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"CACHE_TYPE."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_REDIS_DB"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"REDIS_DB"]}),(0,s.jsx)(n.td,{children:"Integer"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"0"})}),(0,s.jsxs)(n.td,{children:["See ",(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"CACHE_TYPE."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_REDIS_HOST"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"REDIS_HOST"]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"localhost"})}),(0,s.jsxs)(n.td,{children:["See ",(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"CACHE_TYPE."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_REDIS_PORT"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"REDIS_PORT"]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"6379"})}),(0,s.jsxs)(n.td,{children:["See ",(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"CACHE_TYPE."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_REDIS_PASSWORD"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"REDIS_PASSWORD"]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:"Not set"}),(0,s.jsx)(n.td,{children:"Password for Redis authentication when using Redis cache type."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_REMOVE_API_KEYS"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"REMOVE_API_KEYS"]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"false"})}),(0,s.jsxs)(n.td,{children:["Remove API keys from the projects saved in the database.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-remove-api-keys",children:[(0,s.jsx)(n.code,{children:"--remove-api-keys"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_SAVE_DB_IN_CONFIG_DIR"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"SAVE_DB_IN_CONFIG_DIR"]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"false"})}),(0,s.jsxs)(n.td,{children:["Save the Langflow database in ",(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"CONFIG_DIR instead of in the Langflow package directory. Note, when this variable is set to default (",(0,s.jsx)(n.code,{children:"false"}),"), the database isn't shared between different virtual environments and the database is deleted when you uninstall Langflow."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_SECRET_KEY"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"SECRET_KEY"]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:"Auto-generated"}),(0,s.jsx)(n.td,{children:"Key used for encrypting sensitive data like API keys. If a key is not provided, a secure key is auto-generated. For production environments with multiple instances, you should explicitly set this to ensure consistent encryption across instances."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_STORE"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"STORE"]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"true"})}),(0,s.jsxs)(n.td,{children:["Enable the Langflow Store.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-store",children:[(0,s.jsx)(n.code,{children:"--store"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_STORE_ENVIRONMENT_VARIABLES"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"STORE_ENVIRONMENT_VARIABLES"]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"true"})}),(0,s.jsxs)(n.td,{children:["Store environment variables as ",(0,s.jsx)(n.a,{href:"/configuration-global-variables",children:"global variables"})," in the database."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_UPDATE_STARTER_PROJECTS"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"UPDATE_STARTER_PROJECTS"]}),(0,s.jsx)(n.td,{children:"Boolean"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"true"})}),(0,s.jsx)(n.td,{children:"If this option is enabled, Langflow updates starter projects with the latest component versions when initializing."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_SUPERUSER"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"SUPERUSER"]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"langflow"})}),(0,s.jsxs)(n.td,{children:["Set the name for the superuser. Required if ",(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"AUTO_LOGIN is set to ",(0,s.jsx)(n.code,{children:"false"}),".",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#superuser-username",children:[(0,s.jsx)(n.code,{children:"superuser --username"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_SUPERUSER_PASSWORD"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"SUPERUSER_PASSWORD"]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"langflow"})}),(0,s.jsxs)(n.td,{children:["Set the password for the superuser. Required if ",(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"AUTO_LOGIN is set to ",(0,s.jsx)(n.code,{children:"false"}),".",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#superuser-password",children:[(0,s.jsx)(n.code,{children:"superuser --password"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"VARIABLES_TO_GET_FROM_ENVIRONMENT"]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:"Not set"}),(0,s.jsxs)(n.td,{children:["Comma-separated list of environment variables to get from the environment and store as ",(0,s.jsx)(n.a,{href:"/configuration-global-variables",children:"global variables"}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_LOAD_FLOWS_PATH"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"LOAD_FLOWS_PATH"]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:"Not set"}),(0,s.jsxs)(n.td,{children:["Path to a directory containing flow JSON files to be loaded on startup. Note that this feature only works if ",(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"AUTO_LOGIN is enabled."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_WORKER_TIMEOUT"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"WORKER_TIMEOUT"]}),(0,s.jsx)(n.td,{children:"Integer"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"300"})}),(0,s.jsxs)(n.td,{children:["Worker timeout in seconds.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-worker-timeout",children:[(0,s.jsx)(n.code,{children:"--worker-timeout"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_WORKERS"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"WORKERS"]}),(0,s.jsx)(n.td,{children:"Integer"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"1"})}),(0,s.jsxs)(n.td,{children:["Number of worker processes.",(0,s.jsx)("br",{}),"See ",(0,s.jsxs)(n.a,{href:"/configuration-cli#run-workers",children:[(0,s.jsx)(n.code,{children:"--workers"})," option"]}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_SSL_CERT_FILE"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"SSL_CERT_FILE"]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:"Not set"}),(0,s.jsx)(n.td,{children:"Path to the SSL certificate file on the local system."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(d.A,{id:"LANGFLOW_SSL_KEY_FILE"}),(0,s.jsx)("span",{class:"env-prefix",children:"LANGFLOW_"}),"SSL_KEY_FILE"]}),(0,s.jsx)(n.td,{children:"String"}),(0,s.jsx)(n.td,{children:"Not set"}),(0,s.jsx)(n.td,{children:"Path to the SSL key file on the local system."})]})]})]})}),"\n",(0,s.jsx)(n.h2,{id:"configure-env-overrideconf-and-tasksjson-files",children:"Configure .env, override.conf, and tasks.json files"}),"\n",(0,s.jsx)(n.p,{children:"The following examples show how to configure Langflow using environment variables in different scenarios."}),"\n",(0,s.jsxs)(c.A,{children:[(0,s.jsxs)(i.A,{value:"env",label:".env File",default:!0,children:[(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:".env"})," file is a text file that contains key-value pairs of environment variables."]}),(0,s.jsxs)(n.p,{children:["Create or edit a file named ",(0,s.jsx)(n.code,{children:".env"})," in your project root directory and add your configuration:"]}),(0,s.jsx)(x.Code,{codeConfig:L,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",title:'".env"',focus:"",code:{lines:[{tokens:[{content:"DO_NOT_TRACK=true",props:{}}]},{tokens:[{content:"LANGFLOW_AUTO_LOGIN=false",props:{}}]},{tokens:[{content:"LANGFLOW_AUTO_SAVING=true",props:{}}]},{tokens:[{content:"LANGFLOW_AUTO_SAVING_INTERVAL=1000",props:{}}]},{tokens:[{content:"LANGFLOW_BACKEND_ONLY=false",props:{}}]},{tokens:[{content:'LANGFLOW_BUNDLE_URLS=["https://github.com/user/repo/commit/hash"]',props:{}}]},{tokens:[{content:"LANGFLOW_CACHE_TYPE=async",props:{}}]},{tokens:[{content:"LANGFLOW_COMPONENTS_PATH=/path/to/components/",props:{}}]},{tokens:[{content:"LANGFLOW_CONFIG_DIR=/path/to/config/",props:{}}]},{tokens:[{content:"LANGFLOW_DATABASE_URL=postgresql://user:password@localhost:5432/langflow",props:{}}]},{tokens:[{content:"LANGFLOW_DEV=false",props:{}}]},{tokens:[{content:"LANGFLOW_FALLBACK_TO_ENV_VAR=false",props:{}}]},{tokens:[{content:"LANGFLOW_HEALTH_CHECK_MAX_RETRIES=5",props:{}}]},{tokens:[{content:"LANGFLOW_HOST=127.0.0.1",props:{}}]},{tokens:[{content:"LANGFLOW_LANGCHAIN_CACHE=InMemoryCache",props:{}}]},{tokens:[{content:"LANGFLOW_MAX_FILE_SIZE_UPLOAD=10000",props:{}}]},{tokens:[{content:"LANGFLOW_LOG_LEVEL=error",props:{}}]},{tokens:[{content:"LANGFLOW_OPEN_BROWSER=false",props:{}}]},{tokens:[{content:"LANGFLOW_PORT=7860",props:{}}]},{tokens:[{content:"LANGFLOW_REMOVE_API_KEYS=false",props:{}}]},{tokens:[{content:"LANGFLOW_SAVE_DB_IN_CONFIG_DIR=true",props:{}}]},{tokens:[{content:"LANGFLOW_SECRET_KEY=somesecretkey",props:{}}]},{tokens:[{content:"LANGFLOW_STORE=true",props:{}}]},{tokens:[{content:"LANGFLOW_STORE_ENVIRONMENT_VARIABLES=true",props:{}}]},{tokens:[{content:"LANGFLOW_SUPERUSER=adminuser",props:{}}]},{tokens:[{content:"LANGFLOW_SUPERUSER_PASSWORD=adminpass",props:{}}]},{tokens:[{content:"LANGFLOW_WORKER_TIMEOUT=60000",props:{}}]},{tokens:[{content:"LANGFLOW_WORKERS=3",props:{}}]}],lang:"text"},annotations:[]}]})]}),(0,s.jsxs)(i.A,{value:"systemd",label:"Systemd service",children:[(0,s.jsx)(n.p,{children:"A systemd service configuration file configures Linux system services."}),(0,s.jsxs)(n.p,{children:["To add environment variables, create or edit a service configuration file and add an ",(0,s.jsx)(n.code,{children:"override.conf"})," file. This file allows you to override the default environment variables for the service."]}),(0,s.jsx)(x.Code,{codeConfig:L,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",title:'"override.conf"',focus:"",code:{lines:[{tokens:[{content:"[Service]",props:{style:{color:"#FFA657"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"DO_NOT_TRACK=true"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_AUTO_LOGIN=false"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_AUTO_SAVING=true"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_AUTO_SAVING_INTERVAL=1000"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_BACKEND_ONLY=false"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_BUNDLE_URLS=[\\"',props:{style:{color:"#A5D6FF"}}},{content:"https://github.com/user/repo/commit/hash\\",props:{style:{color:"#C9D1D9"}}},{content:'"]"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_CACHE_TYPE=async"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_COMPONENTS_PATH=/path/to/components/"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_CONFIG_DIR=/path/to/config"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_DATABASE_URL=postgresql://user:password@localhost:5432/langflow"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_DEV=false"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_FALLBACK_TO_ENV_VAR=false"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_HEALTH_CHECK_MAX_RETRIES=5"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_HOST=127.0.0.1"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_LANGCHAIN_CACHE=InMemoryCache"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_MAX_FILE_SIZE_UPLOAD=10000"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_LOG_ENV=container_json"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_LOG_FILE=logs/langflow.log"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_LOG_LEVEL=error"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_OPEN_BROWSER=false"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_PORT=7860"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_REMOVE_API_KEYS=false"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_SAVE_DB_IN_CONFIG_DIR=true"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_SECRET_KEY=somesecretkey"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_STORE=true"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_STORE_ENVIRONMENT_VARIABLES=true"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_SUPERUSER=adminuser"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_SUPERUSER_PASSWORD=adminpass"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_WORKER_TIMEOUT=60000"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:"Environment",props:{style:{color:"#FF7B72"}}},{content:"=",props:{style:{color:"#C9D1D9"}}},{content:'"LANGFLOW_WORKERS=3"',props:{style:{color:"#A5D6FF"}}}]}],lang:"ini"},annotations:[]}]}),(0,s.jsxs)(n.p,{children:["For more information on systemd, see the ",(0,s.jsx)(n.a,{href:"https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/using_systemd_unit_files_to_customize_and_optimize_your_system/assembly_working-with-systemd-unit-files_working-with-systemd",children:"Red Hat documentation"}),"."]})]}),(0,s.jsxs)(i.A,{value:"vscode",label:"VSCode tasks.json",children:[(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"tasks.json"})," file located in ",(0,s.jsx)(n.code,{children:".vscode/tasks.json"})," is a configuration file for development environments using Visual Studio Code."]}),(0,s.jsxs)(n.p,{children:["Create or edit the ",(0,s.jsx)(n.code,{children:".vscode/tasks.json"})," file in your project root:"]}),(0,s.jsx)(x.Code,{codeConfig:L,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",title:'".vscode/tasks.json"',focus:"",code:{lines:[{tokens:[{content:"{",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "version"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"2.0.0"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "options"',props:{style:{color:"#7EE787"}}},{content:": {",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "env"',props:{style:{color:"#7EE787"}}},{content:": {",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "DO_NOT_TRACK"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"true"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_AUTO_LOGIN"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"false"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_AUTO_SAVING"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"true"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_AUTO_SAVING_INTERVAL"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"1000"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_BACKEND_ONLY"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"false"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_BUNDLE_URLS"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"[',props:{style:{color:"#A5D6FF"}}},{content:'\\"',props:{style:{color:"#79C0FF"}}},{content:"https://github.com/user/repo/commit/hash",props:{style:{color:"#A5D6FF"}}},{content:'\\"',props:{style:{color:"#79C0FF"}}},{content:']"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_CACHE_TYPE"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"async"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_COMPONENTS_PATH"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"D:/path/to/components/"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_CONFIG_DIR"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"D:/path/to/config/"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_DATABASE_URL"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"postgresql://postgres:password@localhost:5432/langflow"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_DEV"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"false"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_FALLBACK_TO_ENV_VAR"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"false"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_HEALTH_CHECK_MAX_RETRIES"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"5"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_HOST"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"localhost"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_LANGCHAIN_CACHE"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"InMemoryCache"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_MAX_FILE_SIZE_UPLOAD"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"10000"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_LOG_ENV"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"container_csv"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_LOG_FILE"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"langflow.log"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_LOG_LEVEL"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"error"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_OPEN_BROWSER"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"false"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_PORT"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"7860"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_REMOVE_API_KEYS"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"true"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_SAVE_DB_IN_CONFIG_DIR"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"false"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_SECRET_KEY"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"somesecretkey"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_STORE"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"true"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_STORE_ENVIRONMENT_VARIABLES"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"true"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_SUPERUSER"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"adminuser"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_SUPERUSER_PASSWORD"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"adminpass"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_WORKER_TIMEOUT"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"60000"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "LANGFLOW_WORKERS"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"3"',props:{style:{color:"#A5D6FF"}}}]},{tokens:[{content:" }",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" },",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "tasks"',props:{style:{color:"#7EE787"}}},{content:": [",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" {",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "label"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"langflow backend"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "type"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'"shell"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "command"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:'". ./langflownightly/Scripts/activate && langflow run"',props:{style:{color:"#A5D6FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "isBackground"',props:{style:{color:"#7EE787"}}},{content:": ",props:{style:{color:"#C9D1D9"}}},{content:"true",props:{style:{color:"#79C0FF"}}},{content:",",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:' "problemMatcher"',props:{style:{color:"#7EE787"}}},{content:": []",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" }",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:" ]",props:{style:{color:"#C9D1D9"}}}]},{tokens:[{content:"}",props:{style:{color:"#C9D1D9"}}}]}],lang:"json"},annotations:[]}]}),(0,s.jsxs)(n.p,{children:["To run Langflow using the above VSCode ",(0,s.jsx)(n.code,{children:"tasks.json"})," file, in the VSCode command palette, select ",(0,s.jsx)(n.strong,{children:"Tasks: Run Task"})," > ",(0,s.jsx)(n.strong,{children:"langflow backend"}),"."]})]})]})]})}function _(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(A,{...e})}):A(e)}function u(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},79329:(e,n,o)=>{o.d(n,{A:()=>l});o(96540);var t=o(18215);const s={tabItem:"tabItem_Ymn6"};var r=o(74848);function l(e){let{children:n,hidden:o,className:l}=e;return(0,r.jsx)("div",{role:"tabpanel",className:(0,t.A)(s.tabItem,l),hidden:o,children:n})}}}]); \ No newline at end of file diff --git a/assets/js/d3ca7a96.71776535.js b/assets/js/d3ca7a96.71776535.js deleted file mode 100644 index 25303fe713..0000000000 --- a/assets/js/d3ca7a96.71776535.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[265],{72654:(e,n,o)=>{o.d(n,{A:()=>r});const r=o.p+"assets/images/astra_db_chat_memory_rounded-9746ca2bb69d3b07ac0a071f4b9471b3.png"},79959:(e,n,o)=>{o.r(n),o.d(n,{CH:()=>d,assets:()=>l,chCodeConfig:()=>h,contentTitle:()=>c,default:()=>f,frontMatter:()=>a,metadata:()=>r,toc:()=>m});const r=JSON.parse('{"id":"Develop/memory","title":"Memory management options","description":"Langflow provides flexible memory management options for storage and retrieval.","source":"@site/docs/Develop/memory.md","sourceDirName":"Develop","slug":"/memory","permalink":"/memory","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{"title":"Memory management options","slug":"/memory"},"sidebar":"docs","previous":{"title":"Install custom dependencies","permalink":"/install-custom-dependencies"},"next":{"title":"Session ID","permalink":"/session-id"}}');var s=o(74848),t=o(28453),i=o(24754);const a={title:"Memory management options",slug:"/memory"},c=void 0,l={},d={annotations:i.hk,Code:i.Cy},h={staticMediaQuery:"not screen, (max-width: 768px)",lineNumbers:!0,showCopyButton:!0,themeName:"github-dark"},m=[{value:"Local Langflow database tables",id:"local-langflow-database-tables",level:2},{value:"Store messages in local memory",id:"store-messages-in-local-memory",level:2},{value:"Configure external memory",id:"configure-external-memory",level:2},{value:"Configure the external database connection",id:"configure-the-external-database-connection",level:2},{value:"Configure cache memory",id:"configure-cache-memory",level:2}];function g(e){const n={a:"a",code:"code",h2:"h2",img:"img",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,t.R)(),...e.components};return d||x("CH",!1),d.Code||x("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)(n.p,{children:"Langflow provides flexible memory management options for storage and retrieval."}),"\n",(0,s.jsx)(n.p,{children:"This page details the following memory configuration options in Langflow."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"#local-langflow-database-tables",children:"Use local Langflow database tables"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"#store-messages-in-local-memory",children:"Store messages in local memory"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"#configure-external-memory",children:"Configure external memory"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"#configure-the-external-database-connection",children:"Configure the external database connection"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"#configure-cache-memory",children:"Configure cache memory"})}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"local-langflow-database-tables",children:"Local Langflow database tables"}),"\n",(0,s.jsxs)(n.p,{children:["The default storage option in Langflow is a ",(0,s.jsx)(n.a,{href:"https://www.sqlite.org/",children:"SQLite"})," database stored in your system's cache directory:"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Linux/WSL: ",(0,s.jsx)(n.code,{children:"~/.cache/langflow/langflow.db"})]}),"\n",(0,s.jsxs)(n.li,{children:["macOS: ",(0,s.jsx)(n.code,{children:"/Users//Library/Caches/langflow/langflow.db"})]}),"\n",(0,s.jsxs)(n.li,{children:["Windows: ",(0,s.jsx)(n.code,{children:"%LOCALAPPDATA%\\langflow\\langflow\\Cache\\langflow.db"})]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["The following tables are stored in ",(0,s.jsx)(n.code,{children:"langflow.db"}),":"]}),"\n",(0,s.jsxs)(n.p,{children:["\u2022 ",(0,s.jsx)(n.strong,{children:"User"})," - Stores user account information including credentials, permissions, and profiles. For more information, see ",(0,s.jsx)(n.a,{href:"/configuration-authentication",children:"Authentication"}),"."]}),"\n",(0,s.jsxs)(n.p,{children:["\u2022 ",(0,s.jsx)(n.strong,{children:"Flow"})," - Contains flow configurations. For more information, see ",(0,s.jsx)(n.a,{href:"/concepts-flows",children:"Flows"}),"."]}),"\n",(0,s.jsxs)(n.p,{children:["\u2022 ",(0,s.jsx)(n.strong,{children:"Message"})," - Stores chat messages and interactions that occur between components. For more information, see ",(0,s.jsx)(n.a,{href:"/concepts-objects#message-object",children:"Message objects"}),"."]}),"\n",(0,s.jsxs)(n.p,{children:["\u2022 ",(0,s.jsx)(n.strong,{children:"Transaction"})," - Records execution history and results of flow runs. This information is used for ",(0,s.jsx)(n.a,{href:"/logging",children:"logging"}),"."]}),"\n",(0,s.jsxs)(n.p,{children:["\u2022 ",(0,s.jsx)(n.strong,{children:"ApiKey"})," - Manages API authentication keys for users. For more information, see ",(0,s.jsx)(n.a,{href:"/configuration-api-keys",children:"API keys"}),"."]}),"\n",(0,s.jsxs)(n.p,{children:["\u2022 ",(0,s.jsx)(n.strong,{children:"Project"})," - Provides a structure for flow storage. For more information, see ",(0,s.jsx)(n.a,{href:"/concepts-overview#projects",children:"Projects"}),"."]}),"\n",(0,s.jsxs)(n.p,{children:["\u2022 ",(0,s.jsx)(n.strong,{children:"Variables"})," - Stores global encrypted values and credentials. For more information, see ",(0,s.jsx)(n.a,{href:"/configuration-global-variables",children:"Global variables"}),"."]}),"\n",(0,s.jsxs)(n.p,{children:["\u2022 ",(0,s.jsx)(n.strong,{children:"VertexBuild"})," - Tracks the build status of individual nodes within flows. For more information, see ",(0,s.jsx)(n.a,{href:"/concepts-playground",children:"Run a flow in the playground"}),"."]}),"\n",(0,s.jsxs)(n.p,{children:["For more information, see the database models in the ",(0,s.jsx)(n.a,{href:"https://github.com/langflow-ai/langflow/tree/main/src/backend/base/langflow/services/database/models",children:"source code"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"store-messages-in-local-memory",children:"Store messages in local memory"}),"\n",(0,s.jsxs)(n.p,{children:["To store messages in local Langflow memory, add a ",(0,s.jsx)(n.a,{href:"/components-helpers#message-store",children:"Message store"})," component to your flow."]}),"\n",(0,s.jsxs)(n.p,{children:["To retrieve messages from local Langflow memory, add a ",(0,s.jsx)(n.a,{href:"/components-helpers#message-history",children:"Message history"})," component to your flow."]}),"\n",(0,s.jsxs)(n.p,{children:["For an example of using local chat memory, see the ",(0,s.jsx)(n.a,{href:"/memory-chatbot",children:"Memory chatbot"})," starter flow."]}),"\n",(0,s.jsxs)(n.p,{children:["To store or retrieve chat messages from external memory, connect the ",(0,s.jsx)(n.strong,{children:"External memory"})," port of the ",(0,s.jsx)(n.strong,{children:"Message store"})," or ",(0,s.jsx)(n.strong,{children:"Message history"})," component to a ",(0,s.jsx)(n.strong,{children:"Memory"})," component, like the ",(0,s.jsx)(n.a,{href:"components-memories#astradbchatmemory-component",children:"Astra DB chat memory"})," component. An example flow looks like this:"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Sample Flow storing Chat Memory in AstraDB",src:o(72654).A+"",width:"3178",height:"1228"})}),"\n",(0,s.jsx)(n.p,{children:"If external storage is connected to a memory helper component, no chat messages are stored in local Langflow memory."}),"\n",(0,s.jsx)(n.h2,{id:"configure-external-memory",children:"Configure external memory"}),"\n",(0,s.jsxs)(n.p,{children:["To replace the default Langflow SQLite database with another database, modify the ",(0,s.jsx)(n.code,{children:"LANGFLOW_DATABASE_URL"})," and start Langflow with this value."]}),"\n",(0,s.jsx)(d.Code,{codeConfig:h,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"LANGFLOW_DATABASE_URL=postgresql://user:password@localhost:5432/langflow",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,s.jsxs)(n.p,{children:["For an example, see ",(0,s.jsx)(n.a,{href:"/configuration-custom-database",children:"Configure an external PostgreSQL database"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"configure-the-external-database-connection",children:"Configure the external database connection"}),"\n",(0,s.jsx)(n.p,{children:"The following settings allow you to fine-tune your database connection pool and timeout settings:"}),"\n",(0,s.jsx)(d.Code,{codeConfig:h,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:'LANGFLOW_DB_CONNECTION_SETTINGS=\'{"pool_size": 20, "max_overflow": 30, "pool_timeout": 30, "pool_pre_ping": true, "pool_recycle": 1800, "echo": false}\'',props:{}}]},{tokens:[{content:"LANGFLOW_DB_CONNECT_TIMEOUT=20",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"pool_size"}),": Maximum number of database connections to keep in the pool (default: 20)"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"max_overflow"}),": Maximum number of connections that can be created beyond the pool_size (default: 30)"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"pool_timeout"}),": Number of seconds to wait before timing out on getting a connection from the pool (default: 30)"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"pool_pre_ping"}),": If true, the pool tests connections for liveness upon each checkout (default: true)"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"pool_recycle"}),": Number of seconds after which a connection is automatically recycled (default: 1800, or 30 minutes)"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"echo"}),": If true, SQL queries are logged for debugging purposes (default: false)"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"LANGFLOW_DB_CONNECT_TIMEOUT"}),": Maximum number of seconds to wait when establishing a new database connection (default: 20)"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"configure-cache-memory",children:"Configure cache memory"}),"\n",(0,s.jsxs)(n.p,{children:["Langflow provides multiple caching options that can be configured using the ",(0,s.jsx)(n.code,{children:"LANGFLOW_CACHE_TYPE"})," environment variable."]}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Storage Location"}),(0,s.jsx)(n.th,{children:"Persistence"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(n.code,{children:"async"})," (default)"]}),(0,s.jsx)(n.td,{children:"Asynchronous in-memory cache"}),(0,s.jsx)(n.td,{children:"Application memory"}),(0,s.jsx)(n.td,{children:"Cleared on restart"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"memory"})}),(0,s.jsx)(n.td,{children:"Thread-safe in-memory cache"}),(0,s.jsx)(n.td,{children:"Application memory"}),(0,s.jsx)(n.td,{children:"Cleared on restart"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"disk"})}),(0,s.jsx)(n.td,{children:"File system-based cache"}),(0,s.jsx)(n.td,{children:"System cache directory*"}),(0,s.jsx)(n.td,{children:"Persists after restart"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"redis"})}),(0,s.jsx)(n.td,{children:"Distributed cache"}),(0,s.jsx)(n.td,{children:"Redis server"}),(0,s.jsx)(n.td,{children:"Persists in Redis"})]})]})]}),"\n",(0,s.jsx)(n.p,{children:"*System cache directory locations:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Linux/WSL: ",(0,s.jsx)(n.code,{children:"~/.cache/langflow/"})]}),"\n",(0,s.jsxs)(n.li,{children:["macOS: ",(0,s.jsx)(n.code,{children:"/Users//Library/Caches/langflow/"})]}),"\n",(0,s.jsxs)(n.li,{children:["Windows: ",(0,s.jsx)(n.code,{children:"%LOCALAPPDATA%\\langflow\\langflow\\Cache"})]}),"\n"]})]})}function f(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(g,{...e})}):g(e)}function x(e,n){throw new Error("Expected "+(n?"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/d3ca7a96.be246dd2.js b/assets/js/d3ca7a96.be246dd2.js new file mode 100644 index 0000000000..4453c3ce11 --- /dev/null +++ b/assets/js/d3ca7a96.be246dd2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[265],{72654:(e,o,n)=>{n.d(o,{A:()=>r});const r=n.p+"assets/images/astra_db_chat_memory_rounded-9746ca2bb69d3b07ac0a071f4b9471b3.png"},79959:(e,o,n)=>{n.r(o),n.d(o,{CH:()=>d,assets:()=>l,chCodeConfig:()=>h,contentTitle:()=>c,default:()=>f,frontMatter:()=>i,metadata:()=>r,toc:()=>m});const r=JSON.parse('{"id":"Develop/memory","title":"Memory management options","description":"Langflow provides flexible memory management options for storage and retrieval.","source":"@site/docs/Develop/memory.md","sourceDirName":"Develop","slug":"/memory","permalink":"/memory","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{"title":"Memory management options","slug":"/memory"},"sidebar":"docs","previous":{"title":"Install custom dependencies","permalink":"/install-custom-dependencies"},"next":{"title":"Session ID","permalink":"/session-id"}}');var s=n(74848),t=n(28453),a=n(24754);const i={title:"Memory management options",slug:"/memory"},c=void 0,l={},d={annotations:a.hk,Code:a.Cy},h={staticMediaQuery:"not screen, (max-width: 768px)",lineNumbers:!0,showCopyButton:!0,themeName:"github-dark"},m=[{value:"Local Langflow database tables",id:"local-langflow-database-tables",level:2},{value:"Store messages in local memory",id:"store-messages-in-local-memory",level:2},{value:"Configure external memory",id:"configure-external-memory",level:2},{value:"Configure the external database connection",id:"configure-the-external-database-connection",level:2},{value:"Configure cache memory",id:"configure-cache-memory",level:2}];function g(e){const o={a:"a",code:"code",h2:"h2",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,t.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:"Langflow provides flexible memory management options for storage and retrieval."}),"\n",(0,s.jsx)(o.p,{children:"This page details the following memory configuration options in Langflow."}),"\n",(0,s.jsxs)(o.ul,{children:["\n",(0,s.jsx)(o.li,{children:(0,s.jsx)(o.a,{href:"#local-langflow-database-tables",children:"Use local Langflow database tables"})}),"\n",(0,s.jsx)(o.li,{children:(0,s.jsx)(o.a,{href:"#store-messages-in-local-memory",children:"Store messages in local memory"})}),"\n",(0,s.jsx)(o.li,{children:(0,s.jsx)(o.a,{href:"#configure-external-memory",children:"Configure external memory"})}),"\n",(0,s.jsx)(o.li,{children:(0,s.jsx)(o.a,{href:"#configure-the-external-database-connection",children:"Configure the external database connection"})}),"\n",(0,s.jsx)(o.li,{children:(0,s.jsx)(o.a,{href:"#configure-cache-memory",children:"Configure cache memory"})}),"\n"]}),"\n",(0,s.jsx)(o.h2,{id:"local-langflow-database-tables",children:"Local Langflow database tables"}),"\n",(0,s.jsxs)(o.p,{children:["The default storage option in Langflow is a ",(0,s.jsx)(o.a,{href:"https://www.sqlite.org/",children:"SQLite"})," database stored in your system's cache directory:"]}),"\n",(0,s.jsxs)(o.ul,{children:["\n",(0,s.jsxs)(o.li,{children:["Linux/WSL: ",(0,s.jsx)(o.code,{children:"~/.cache/langflow/langflow.db"})]}),"\n",(0,s.jsxs)(o.li,{children:["macOS: ",(0,s.jsx)(o.code,{children:"/Users//Library/Caches/langflow/langflow.db"})]}),"\n",(0,s.jsxs)(o.li,{children:["Windows: ",(0,s.jsx)(o.code,{children:"%LOCALAPPDATA%\\langflow\\langflow\\Cache\\langflow.db"})]}),"\n"]}),"\n",(0,s.jsxs)(o.p,{children:["The following tables are stored in ",(0,s.jsx)(o.code,{children:"langflow.db"}),":"]}),"\n",(0,s.jsxs)(o.p,{children:["\u2022 ",(0,s.jsx)(o.strong,{children:"User"})," - Stores user account information including credentials, permissions, and profiles. For more information, see ",(0,s.jsx)(o.a,{href:"/configuration-authentication",children:"Authentication"}),"."]}),"\n",(0,s.jsxs)(o.p,{children:["\u2022 ",(0,s.jsx)(o.strong,{children:"Flow"})," - Contains flow configurations. For more information, see ",(0,s.jsx)(o.a,{href:"/concepts-flows",children:"Flows"}),"."]}),"\n",(0,s.jsxs)(o.p,{children:["\u2022 ",(0,s.jsx)(o.strong,{children:"Message"})," - Stores chat messages and interactions that occur between components. For more information, see ",(0,s.jsx)(o.a,{href:"/concepts-objects#message-object",children:"Message objects"}),"."]}),"\n",(0,s.jsxs)(o.p,{children:["\u2022 ",(0,s.jsx)(o.strong,{children:"Transaction"})," - Records execution history and results of flow runs. This information is used for ",(0,s.jsx)(o.a,{href:"/logging",children:"logging"}),"."]}),"\n",(0,s.jsxs)(o.p,{children:["\u2022 ",(0,s.jsx)(o.strong,{children:"ApiKey"})," - Manages API authentication keys for users. For more information, see ",(0,s.jsx)(o.a,{href:"/configuration-api-keys",children:"API keys"}),"."]}),"\n",(0,s.jsxs)(o.p,{children:["\u2022 ",(0,s.jsx)(o.strong,{children:"Project"})," - Provides a structure for flow storage. For more information, see ",(0,s.jsx)(o.a,{href:"/concepts-overview#projects",children:"Projects"}),"."]}),"\n",(0,s.jsxs)(o.p,{children:["\u2022 ",(0,s.jsx)(o.strong,{children:"Variables"})," - Stores global encrypted values and credentials. For more information, see ",(0,s.jsx)(o.a,{href:"/configuration-global-variables",children:"Global variables"}),"."]}),"\n",(0,s.jsxs)(o.p,{children:["\u2022 ",(0,s.jsx)(o.strong,{children:"VertexBuild"})," - Tracks the build status of individual nodes within flows. For more information, see ",(0,s.jsx)(o.a,{href:"/concepts-playground",children:"Run a flow in the playground"}),"."]}),"\n",(0,s.jsxs)(o.p,{children:["For more information, see the database models in the ",(0,s.jsx)(o.a,{href:"https://github.com/langflow-ai/langflow/tree/main/src/backend/base/langflow/services/database/models",children:"source code"}),"."]}),"\n",(0,s.jsx)(o.h2,{id:"store-messages-in-local-memory",children:"Store messages in local memory"}),"\n",(0,s.jsxs)(o.p,{children:["To store messages in local Langflow memory, add a ",(0,s.jsx)(o.a,{href:"/components-helpers#message-store",children:"Message store"})," component to your flow."]}),"\n",(0,s.jsxs)(o.p,{children:["To retrieve messages from local Langflow memory, add a ",(0,s.jsx)(o.a,{href:"/components-helpers#message-history",children:"Message history"})," component to your flow."]}),"\n",(0,s.jsxs)(o.p,{children:["For an example of using local chat memory, see the ",(0,s.jsx)(o.a,{href:"/memory-chatbot",children:"Memory chatbot"})," starter flow."]}),"\n",(0,s.jsxs)(o.p,{children:["To store or retrieve chat messages from external memory, connect the ",(0,s.jsx)(o.strong,{children:"External memory"})," port of the ",(0,s.jsx)(o.strong,{children:"Message store"})," or ",(0,s.jsx)(o.strong,{children:"Message history"})," component to a ",(0,s.jsx)(o.strong,{children:"Memory"})," component, like the ",(0,s.jsx)(o.a,{href:"components-memories#astradbchatmemory-component",children:"Astra DB chat memory"})," component. An example flow looks like this:"]}),"\n",(0,s.jsx)(o.p,{children:(0,s.jsx)(o.img,{alt:"Sample Flow storing Chat Memory in AstraDB",src:n(72654).A+"",width:"3178",height:"1228"})}),"\n",(0,s.jsx)(o.p,{children:"If external storage is connected to a memory helper component, no chat messages are stored in local Langflow memory."}),"\n",(0,s.jsx)(o.h2,{id:"configure-external-memory",children:"Configure external memory"}),"\n",(0,s.jsxs)(o.p,{children:["To replace the default Langflow SQLite database with another database, modify the ",(0,s.jsx)(o.code,{children:"LANGFLOW_DATABASE_URL"})," and start Langflow with this value."]}),"\n",(0,s.jsx)(d.Code,{codeConfig:h,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"LANGFLOW_DATABASE_URL=postgresql://user:password@localhost:5432/langflow",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,s.jsxs)(o.p,{children:["For an example, see ",(0,s.jsx)(o.a,{href:"/configuration-custom-database",children:"Configure an external PostgreSQL database"}),"."]}),"\n",(0,s.jsx)(o.h2,{id:"configure-the-external-database-connection",children:"Configure the external database connection"}),"\n",(0,s.jsx)(o.p,{children:"The following settings allow you to fine-tune your database connection pool and timeout settings:"}),"\n",(0,s.jsx)(d.Code,{codeConfig:h,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:'LANGFLOW_DB_CONNECTION_SETTINGS=\'{"pool_size": 20, "max_overflow": 30, "pool_timeout": 30, "pool_pre_ping": true, "pool_recycle": 1800, "echo": false}\'',props:{}}]},{tokens:[{content:"LANGFLOW_DB_CONNECT_TIMEOUT=20",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,s.jsxs)(o.ul,{children:["\n",(0,s.jsxs)(o.li,{children:[(0,s.jsx)(o.code,{children:"pool_size"}),": Maximum number of database connections to keep in the pool (default: 20)"]}),"\n",(0,s.jsxs)(o.li,{children:[(0,s.jsx)(o.code,{children:"max_overflow"}),": Maximum number of connections that can be created beyond the pool_size (default: 30)"]}),"\n",(0,s.jsxs)(o.li,{children:[(0,s.jsx)(o.code,{children:"pool_timeout"}),": Number of seconds to wait before timing out on getting a connection from the pool (default: 30)"]}),"\n",(0,s.jsxs)(o.li,{children:[(0,s.jsx)(o.code,{children:"pool_pre_ping"}),": If true, the pool tests connections for liveness upon each checkout (default: true)"]}),"\n",(0,s.jsxs)(o.li,{children:[(0,s.jsx)(o.code,{children:"pool_recycle"}),": Number of seconds after which a connection is automatically recycled (default: 1800, or 30 minutes)"]}),"\n",(0,s.jsxs)(o.li,{children:[(0,s.jsx)(o.code,{children:"echo"}),": If true, SQL queries are logged for debugging purposes (default: false)"]}),"\n",(0,s.jsxs)(o.li,{children:[(0,s.jsx)(o.code,{children:"LANGFLOW_DB_CONNECT_TIMEOUT"}),": Maximum number of seconds to wait when establishing a new database connection (default: 20)"]}),"\n"]}),"\n",(0,s.jsx)(o.h2,{id:"configure-cache-memory",children:"Configure cache memory"}),"\n",(0,s.jsx)(o.p,{children:"The default Langflow caching behavior is an asynchronous, in-memory cache."}),"\n",(0,s.jsx)(d.Code,{codeConfig:h,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"LANGFLOW_LANGCHAIN_CACHE=InMemoryCache",props:{}}]},{tokens:[{content:"LANGFLOW_CACHE_TYPE=Async",props:{}}]}],lang:"text"},annotations:[]}]}),"\n",(0,s.jsx)(o.p,{children:"Alternative caching options can be configured, but options other than the default asynchronous, in-memory cache are not supported.\nThe default behavior is suitable for most use cases."})]})}function f(e={}){const{wrapper:o}={...(0,t.R)(),...e.components};return o?(0,s.jsx)(o,{...e,children:(0,s.jsx)(g,{...e})}):g(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/e6c6a4d2.04ec3ee4.js b/assets/js/e6c6a4d2.7fc2eddf.js similarity index 57% rename from assets/js/e6c6a4d2.04ec3ee4.js rename to assets/js/e6c6a4d2.7fc2eddf.js index 4311af18a2..040a6b4b34 100644 --- a/assets/js/e6c6a4d2.04ec3ee4.js +++ b/assets/js/e6c6a4d2.7fc2eddf.js @@ -1 +1 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[8504],{28453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>l});var s=n(96540);const i={},o=s.createContext(i);function a(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(o.Provider,{value:t},e.children)}},94910:(e,t,n)=>{n.r(t),n.d(t,{contentTitle:()=>l,default:()=>d,frontMatter:()=>a,metadata:()=>s,toc:()=>r});const s=JSON.parse('{"type":"api","id":"experimental-run-flow","title":"Experimental Run Flow","description":"","slug":"/experimental-run-flow","frontMatter":{},"api":{"tags":["Base"],"description":"Executes a specified flow by ID with optional input values, output selection, tweaks, and streaming capability.\\n\\nThis endpoint supports running flows with caching to enhance performance and efficiency.\\n\\n### Parameters:\\n- `flow_id` (str): The unique identifier of the flow to be executed.\\n- `inputs` (List[InputValueRequest], optional): A list of inputs specifying the input values and components\\n for the flow. Each input can target specific components and provide custom values.\\n- `outputs` (List[str], optional): A list of output names to retrieve from the executed flow.\\n If not provided, all outputs are returned.\\n- `tweaks` (Optional[Tweaks], optional): A dictionary of tweaks to customize the flow execution.\\n The tweaks can be used to modify the flow\'s parameters and components.\\n Tweaks can be overridden by the input values.\\n- `stream` (bool, optional): Specifies whether the results should be streamed. Defaults to False.\\n- `session_id` (Union[None, str], optional): An optional session ID to utilize existing session data for the flow\\n execution.\\n- `api_key_user` (User): The user associated with the current API key. Automatically resolved from the API key.\\n\\n### Returns:\\nA `RunResponse` object containing the selected outputs (or all if not specified) of the executed flow\\nand the session ID.\\nThe structure of the response accommodates multiple inputs, providing a nested list of outputs for each input.\\n\\n### Raises:\\nHTTPException: Indicates issues with finding the specified flow, invalid input formats, or internal errors during\\nflow execution.\\n\\n### Example usage:\\n```json\\nPOST /run/flow_id\\nx-api-key: YOUR_API_KEY\\nPayload:\\n{\\n \\"inputs\\": [\\n {\\"components\\": [\\"component1\\"], \\"input_value\\": \\"value1\\"},\\n {\\"components\\": [\\"component3\\"], \\"input_value\\": \\"value2\\"}\\n ],\\n \\"outputs\\": [\\"Component Name\\", \\"component_id\\"],\\n \\"tweaks\\": {\\"parameter_name\\": \\"value\\", \\"Component Name\\": {\\"parameter_name\\": \\"value\\"}, \\"component_id\\": {\\"parameter_name\\": \\"value\\"}}\\n \\"stream\\": false\\n}\\n```\\n\\nThis endpoint facilitates complex flow executions with customized inputs, outputs, and configurations,\\ncatering to diverse application requirements.","operationId":"experimental_run_flow_api_v1_run_advanced__flow_id__post","security":[{"API key query":[]},{"API key header":[]}],"parameters":[{"name":"flow_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Flow Id"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"inputs":{"anyOf":[{"items":{"properties":{"components":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Components","default":[]},"input_value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input Value"},"session":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session"},"type":{"anyOf":[{"type":"string","enum":["chat","text","any"]},{"type":"null"}],"title":"Type","description":"Defines on which components the input value should be applied. \'any\' applies to all input components.","default":"any"}},"additionalProperties":false,"type":"object","title":"InputValueRequest","examples":[{"components":["components_id","Component Name"],"input_value":"input_value","session":"session_id"},{"components":["Component Name"],"input_value":"input_value"},{"input_value":"input_value"},{"components":["Component Name"],"input_value":"input_value","session":"session_id"},{"input_value":"input_value","session":"session_id"},{"input_value":"input_value","type":"chat"},{"input_value":"{\\"key\\": \\"value\\"}","type":"json"}]},"type":"array"},{"type":"null"}],"title":"Inputs"},"outputs":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Outputs"},"tweaks":{"anyOf":[{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"object"}]},"type":"object","title":"Tweaks","description":"A dictionary of tweaks to adjust the flow\'s execution. Allows customizing flow behavior dynamically. All tweaks are overridden by the input values.","examples":[{"Component Name":{"parameter_name":"value"},"component_id":{"parameter_name":"value"},"parameter_name":"value"}]},{"type":"null"}]},"stream":{"type":"boolean","title":"Stream","default":false},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id"}},"type":"object","title":"Body_experimental_run_flow_api_v1_run_advanced__flow_id__post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"properties":{"outputs":{"anyOf":[{"items":{"properties":{"inputs":{"type":"object","title":"Inputs"},"outputs":{"items":{"anyOf":[{"properties":{"results":{"anyOf":[{},{"type":"null"}],"title":"Results"},"artifacts":{"anyOf":[{},{"type":"null"}],"title":"Artifacts"},"outputs":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Outputs"},"logs":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Logs"},"messages":{"anyOf":[{"items":{"properties":{"message":{"anyOf":[{"type":"string"},{"items":{"anyOf":[{"type":"string"},{"type":"object"}]},"type":"array"}],"title":"Message"},"sender":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sender","default":"Machine"},"sender_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sender Name","default":"AI"},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id"},"stream_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stream Url"},"component_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Id"},"files":{"items":{"properties":{"path":{"type":"string","title":"Path"},"name":{"type":"string","title":"Name"},"type":{"type":"string","title":"Type"}},"type":"object","required":["path","name","type"],"title":"File","description":"File schema."},"type":"array","title":"Files","default":[]},"type":{"type":"string","title":"Type"}},"type":"object","required":["message","type"],"title":"ChatOutputResponse","description":"Chat output response schema."},"type":"array"},{"type":"null"}],"title":"Messages"},"timedelta":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Timedelta"},"duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Duration"},"component_display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Display Name"},"component_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Id"},"used_frozen_result":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Used Frozen Result","default":false}},"type":"object","title":"ResultData"},{"type":"null"}]},"type":"array","title":"Outputs"}},"type":"object","title":"RunOutputs"},"type":"array"},{"type":"null"}],"title":"Outputs","default":[]},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id"}},"type":"object","title":"RunResponse","description":"Run response schema."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"}}}}},"method":"post","path":"/api/v1/run/advanced/{flow_id}","securitySchemes":{"OAuth2PasswordBearer":{"type":"oauth2","flows":{"password":{"scopes":{},"tokenUrl":"api/v1/login"}}},"API key query":{"type":"apiKey","in":"query","name":"x-api-key"},"API key header":{"type":"apiKey","in":"header","name":"x-api-key"}},"jsonRequestBodyExample":{"stream":false},"info":{"title":"Langflow","version":"1.4.2"},"postman":{"name":"Experimental Run Flow","description":{"content":"Executes a specified flow by ID with optional input values, output selection, tweaks, and streaming capability.\\n\\nThis endpoint supports running flows with caching to enhance performance and efficiency.\\n\\n### Parameters:\\n- `flow_id` (str): The unique identifier of the flow to be executed.\\n- `inputs` (List[InputValueRequest], optional): A list of inputs specifying the input values and components\\n for the flow. Each input can target specific components and provide custom values.\\n- `outputs` (List[str], optional): A list of output names to retrieve from the executed flow.\\n If not provided, all outputs are returned.\\n- `tweaks` (Optional[Tweaks], optional): A dictionary of tweaks to customize the flow execution.\\n The tweaks can be used to modify the flow\'s parameters and components.\\n Tweaks can be overridden by the input values.\\n- `stream` (bool, optional): Specifies whether the results should be streamed. Defaults to False.\\n- `session_id` (Union[None, str], optional): An optional session ID to utilize existing session data for the flow\\n execution.\\n- `api_key_user` (User): The user associated with the current API key. Automatically resolved from the API key.\\n\\n### Returns:\\nA `RunResponse` object containing the selected outputs (or all if not specified) of the executed flow\\nand the session ID.\\nThe structure of the response accommodates multiple inputs, providing a nested list of outputs for each input.\\n\\n### Raises:\\nHTTPException: Indicates issues with finding the specified flow, invalid input formats, or internal errors during\\nflow execution.\\n\\n### Example usage:\\n```json\\nPOST /run/flow_id\\nx-api-key: YOUR_API_KEY\\nPayload:\\n{\\n \\"inputs\\": [\\n {\\"components\\": [\\"component1\\"], \\"input_value\\": \\"value1\\"},\\n {\\"components\\": [\\"component3\\"], \\"input_value\\": \\"value2\\"}\\n ],\\n \\"outputs\\": [\\"Component Name\\", \\"component_id\\"],\\n \\"tweaks\\": {\\"parameter_name\\": \\"value\\", \\"Component Name\\": {\\"parameter_name\\": \\"value\\"}, \\"component_id\\": {\\"parameter_name\\": \\"value\\"}}\\n \\"stream\\": false\\n}\\n```\\n\\nThis endpoint facilitates complex flow executions with customized inputs, outputs, and configurations,\\ncatering to diverse application requirements.","type":"text/plain"},"url":{"path":["api","v1","run","advanced",":flow_id"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"flow_id"}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"{\\n \\"inputs\\": [\\n {\\n \\"components\\": [\\n \\"\\",\\n \\"\\"\\n ],\\n \\"input_value\\": \\"\\",\\n \\"session\\": \\"\\",\\n \\"type\\": \\"\\"\\n },\\n {\\n \\"components\\": [\\n \\"\\",\\n \\"\\"\\n ],\\n \\"input_value\\": \\"\\",\\n \\"session\\": \\"\\",\\n \\"type\\": \\"\\"\\n }\\n ],\\n \\"outputs\\": [\\n \\"\\",\\n \\"\\"\\n ],\\n \\"tweaks\\": {\\n \\"in_477\\": \\"\\"\\n },\\n \\"stream\\": false,\\n \\"session_id\\": \\"\\"\\n}","options":{"raw":{"language":"json"}}},"auth":{"type":"apikey","apikey":[{"type":"any","value":"x-api-key","key":"key"},{"type":"any","value":"{{apiKey}}","key":"value"},{"type":"any","value":"query","key":"in"}]}}},"source":"@site/openapi.json","sourceDirName":".","permalink":"/api/experimental-run-flow","previous":{"title":"Webhook Run Flow","permalink":"/api/webhook-run-flow"},"next":{"title":"Process","permalink":"/api/process"}}');var i=n(74848),o=n(28453);const a={},l="Experimental Run Flow",r=[{value:"Parameters:",id:"parameters",level:3},{value:"Returns:",id:"returns",level:3},{value:"Raises:",id:"raises",level:3},{value:"Example usage:",id:"example-usage",level:3}];function p(e){const t={code:"code",h1:"h1",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.header,{children:(0,i.jsx)(t.h1,{id:"experimental-run-flow",children:"Experimental Run Flow"})}),"\n",(0,i.jsx)(t.p,{children:"Executes a specified flow by ID with optional input values, output selection, tweaks, and streaming capability."}),"\n",(0,i.jsx)(t.p,{children:"This endpoint supports running flows with caching to enhance performance and efficiency."}),"\n",(0,i.jsx)(t.h3,{id:"parameters",children:"Parameters:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"flow_id"})," (str): The unique identifier of the flow to be executed."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"inputs"})," (List[InputValueRequest], optional): A list of inputs specifying the input values and components\nfor the flow. Each input can target specific components and provide custom values."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"outputs"})," (List[str], optional): A list of output names to retrieve from the executed flow.\nIf not provided, all outputs are returned."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"tweaks"})," (Optional[Tweaks], optional): A dictionary of tweaks to customize the flow execution.\nThe tweaks can be used to modify the flow's parameters and components.\nTweaks can be overridden by the input values."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"stream"})," (bool, optional): Specifies whether the results should be streamed. Defaults to False."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"session_id"})," (Union[None, str], optional): An optional session ID to utilize existing session data for the flow\nexecution."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"api_key_user"})," (User): The user associated with the current API key. Automatically resolved from the API key."]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"returns",children:"Returns:"}),"\n",(0,i.jsxs)(t.p,{children:["A ",(0,i.jsx)(t.code,{children:"RunResponse"})," object containing the selected outputs (or all if not specified) of the executed flow\nand the session ID.\nThe structure of the response accommodates multiple inputs, providing a nested list of outputs for each input."]}),"\n",(0,i.jsx)(t.h3,{id:"raises",children:"Raises:"}),"\n",(0,i.jsx)(t.p,{children:"HTTPException: Indicates issues with finding the specified flow, invalid input formats, or internal errors during\nflow execution."}),"\n",(0,i.jsx)(t.h3,{id:"example-usage",children:"Example usage:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-json",children:'POST /run/flow_id\nx-api-key: YOUR_API_KEY\nPayload:\n{\n "inputs": [\n {"components": ["component1"], "input_value": "value1"},\n {"components": ["component3"], "input_value": "value2"}\n ],\n "outputs": ["Component Name", "component_id"],\n "tweaks": {"parameter_name": "value", "Component Name": {"parameter_name": "value"}, "component_id": {"parameter_name": "value"}}\n "stream": false\n}\n'})}),"\n",(0,i.jsx)(t.p,{children:"This endpoint facilitates complex flow executions with customized inputs, outputs, and configurations,\ncatering to diverse application requirements."}),"\n",(0,i.jsxs)("table",{style:{display:"table",width:"100%"},children:[(0,i.jsx)("thead",{children:(0,i.jsx)("tr",{children:(0,i.jsx)("th",{style:{textAlign:"left"},children:"Path Parameters"})})}),(0,i.jsx)("tbody",{children:(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"flow_id"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" uuid"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,i.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-required)"},children:" REQUIRED"})]})})})]}),"\n",(0,i.jsxs)("table",{style:{display:"table",width:"100%"},children:[(0,i.jsx)("thead",{children:(0,i.jsx)("tr",{children:(0,i.jsxs)("th",{style:{textAlign:"left"},children:[(0,i.jsx)("span",{children:"Request Body "}),(0,i.jsx)("div",{})]})})}),(0,i.jsxs)("tbody",{children:[(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"inputs"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Inputs"})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"outputs"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Outputs"})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"tweaks"}),(0,i.jsx)("span",{style:{opacity:"0.6"}})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"stream"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Stream"})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"session_id"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Session Id"})]})})]})]}),"\n",(0,i.jsxs)("table",{style:{display:"table",width:"100%"},children:[(0,i.jsx)("thead",{children:(0,i.jsx)("tr",{children:(0,i.jsx)("th",{style:{textAlign:"left"},children:"Responses"})})}),(0,i.jsxs)("tbody",{children:[(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsxs)("div",{style:{display:"flex"},children:[(0,i.jsx)("div",{style:{marginRight:"var(--ifm-table-cell-padding)"},children:(0,i.jsx)("code",{children:"200"})}),(0,i.jsx)("div",{children:(0,i.jsx)(t.p,{children:"Successful Response"})})]}),(0,i.jsx)("div",{children:(0,i.jsxs)("table",{style:{display:"table",width:"100%",marginTop:"var(--ifm-table-cell-padding)",marginBottom:"0px"},children:[(0,i.jsx)("thead",{children:(0,i.jsx)("tr",{children:(0,i.jsxs)("th",{style:{textAlign:"left"},children:[(0,i.jsx)("span",{children:"Schema "}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,i.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"}),(0,i.jsx)("div",{})]})})}),(0,i.jsxs)("tbody",{children:[(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"outputs"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Outputs"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,i.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"session_id"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Session Id"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,i.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"})]})})]})]})})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsxs)("div",{style:{display:"flex"},children:[(0,i.jsx)("div",{style:{marginRight:"var(--ifm-table-cell-padding)"},children:(0,i.jsx)("code",{children:"422"})}),(0,i.jsx)("div",{children:(0,i.jsx)(t.p,{children:"Validation Error"})})]}),(0,i.jsx)("div",{children:(0,i.jsxs)("table",{style:{display:"table",width:"100%",marginTop:"var(--ifm-table-cell-padding)",marginBottom:"0px"},children:[(0,i.jsx)("thead",{children:(0,i.jsx)("tr",{children:(0,i.jsxs)("th",{style:{textAlign:"left"},children:[(0,i.jsx)("span",{children:"Schema "}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,i.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"}),(0,i.jsx)("div",{})]})})}),(0,i.jsx)("tbody",{children:(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"detail"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" object[]"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,i.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"}),(0,i.jsx)("table",{style:{display:"table",width:"100%",marginTop:"var(--ifm-table-cell-padding)",marginBottom:"0px"},children:(0,i.jsxs)("tbody",{children:[(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"loc"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" undefined[]"})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"msg"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Message"})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"type"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Error Type"})]})})]})})]})})})]})})]})})]})]})]})}function d(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}}}]); \ No newline at end of file +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[8504],{28453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>l});var s=n(96540);const i={},o=s.createContext(i);function a(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(o.Provider,{value:t},e.children)}},94910:(e,t,n)=>{n.r(t),n.d(t,{contentTitle:()=>l,default:()=>d,frontMatter:()=>a,metadata:()=>s,toc:()=>r});const s=JSON.parse('{"type":"api","id":"experimental-run-flow","title":"Experimental Run Flow","description":"","slug":"/experimental-run-flow","frontMatter":{},"api":{"tags":["Base"],"description":"Executes a specified flow by ID with optional input values, output selection, tweaks, and streaming capability.\\n\\nThis endpoint supports running flows with caching to enhance performance and efficiency.\\n\\n### Parameters:\\n- `flow_id` (str): The unique identifier of the flow to be executed.\\n- `inputs` (List[InputValueRequest], optional): A list of inputs specifying the input values and components\\n for the flow. Each input can target specific components and provide custom values.\\n- `outputs` (List[str], optional): A list of output names to retrieve from the executed flow.\\n If not provided, all outputs are returned.\\n- `tweaks` (Optional[Tweaks], optional): A dictionary of tweaks to customize the flow execution.\\n The tweaks can be used to modify the flow\'s parameters and components.\\n Tweaks can be overridden by the input values.\\n- `stream` (bool, optional): Specifies whether the results should be streamed. Defaults to False.\\n- `session_id` (Union[None, str], optional): An optional session ID to utilize existing session data for the flow\\n execution.\\n- `api_key_user` (User): The user associated with the current API key. Automatically resolved from the API key.\\n\\n### Returns:\\nA `RunResponse` object containing the selected outputs (or all if not specified) of the executed flow\\nand the session ID.\\nThe structure of the response accommodates multiple inputs, providing a nested list of outputs for each input.\\n\\n### Raises:\\nHTTPException: Indicates issues with finding the specified flow, invalid input formats, or internal errors during\\nflow execution.\\n\\n### Example usage:\\n```json\\nPOST /run/flow_id\\nx-api-key: YOUR_API_KEY\\nPayload:\\n{\\n \\"inputs\\": [\\n {\\"components\\": [\\"component1\\"], \\"input_value\\": \\"value1\\"},\\n {\\"components\\": [\\"component3\\"], \\"input_value\\": \\"value2\\"}\\n ],\\n \\"outputs\\": [\\"Component Name\\", \\"component_id\\"],\\n \\"tweaks\\": {\\"parameter_name\\": \\"value\\", \\"Component Name\\": {\\"parameter_name\\": \\"value\\"}, \\"component_id\\": {\\"parameter_name\\": \\"value\\"}}\\n \\"stream\\": false\\n}\\n```\\n\\nThis endpoint facilitates complex flow executions with customized inputs, outputs, and configurations,\\ncatering to diverse application requirements.","operationId":"experimental_run_flow_api_v1_run_advanced__flow_id__post","security":[{"API key query":[]},{"API key header":[]}],"parameters":[{"name":"flow_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Flow Id"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"inputs":{"anyOf":[{"items":{"properties":{"components":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Components","default":[]},"input_value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input Value"},"session":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session"},"type":{"anyOf":[{"type":"string","enum":["chat","text","any"]},{"type":"null"}],"title":"Type","description":"Defines on which components the input value should be applied. \'any\' applies to all input components.","default":"any"}},"additionalProperties":false,"type":"object","title":"InputValueRequest","examples":[{"components":["components_id","Component Name"],"input_value":"input_value","session":"session_id"},{"components":["Component Name"],"input_value":"input_value"},{"input_value":"input_value"},{"components":["Component Name"],"input_value":"input_value","session":"session_id"},{"input_value":"input_value","session":"session_id"},{"input_value":"input_value","type":"chat"},{"input_value":"{\\"key\\": \\"value\\"}","type":"json"}]},"type":"array"},{"type":"null"}],"title":"Inputs"},"outputs":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Outputs"},"tweaks":{"anyOf":[{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"object"}]},"type":"object","title":"Tweaks","description":"A dictionary of tweaks to adjust the flow\'s execution. Allows customizing flow behavior dynamically. All tweaks are overridden by the input values.","examples":[{"Component Name":{"parameter_name":"value"},"component_id":{"parameter_name":"value"},"parameter_name":"value"}]},{"type":"null"}]},"stream":{"type":"boolean","title":"Stream","default":false},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id"}},"type":"object","title":"Body_experimental_run_flow_api_v1_run_advanced__flow_id__post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"properties":{"outputs":{"anyOf":[{"items":{"properties":{"inputs":{"type":"object","title":"Inputs"},"outputs":{"items":{"anyOf":[{"properties":{"results":{"anyOf":[{},{"type":"null"}],"title":"Results"},"artifacts":{"anyOf":[{},{"type":"null"}],"title":"Artifacts"},"outputs":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Outputs"},"logs":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Logs"},"messages":{"anyOf":[{"items":{"properties":{"message":{"anyOf":[{"type":"string"},{"items":{"anyOf":[{"type":"string"},{"type":"object"}]},"type":"array"}],"title":"Message"},"sender":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sender","default":"Machine"},"sender_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sender Name","default":"AI"},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id"},"stream_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stream Url"},"component_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Id"},"files":{"items":{"properties":{"path":{"type":"string","title":"Path"},"name":{"type":"string","title":"Name"},"type":{"type":"string","title":"Type"}},"type":"object","required":["path","name","type"],"title":"File","description":"File schema."},"type":"array","title":"Files","default":[]},"type":{"type":"string","title":"Type"}},"type":"object","required":["message","type"],"title":"ChatOutputResponse","description":"Chat output response schema."},"type":"array"},{"type":"null"}],"title":"Messages"},"timedelta":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Timedelta"},"duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Duration"},"component_display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Display Name"},"component_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Id"},"used_frozen_result":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Used Frozen Result","default":false}},"type":"object","title":"ResultData"},{"type":"null"}]},"type":"array","title":"Outputs"}},"type":"object","title":"RunOutputs"},"type":"array"},{"type":"null"}],"title":"Outputs","default":[]},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id"}},"type":"object","title":"RunResponse","description":"Run response schema."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"}}}}},"method":"post","path":"/api/v1/run/advanced/{flow_id}","securitySchemes":{"OAuth2PasswordBearer":{"type":"oauth2","flows":{"password":{"scopes":{},"tokenUrl":"api/v1/login"}}},"API key query":{"type":"apiKey","in":"query","name":"x-api-key"},"API key header":{"type":"apiKey","in":"header","name":"x-api-key"}},"jsonRequestBodyExample":{"stream":false},"info":{"title":"Langflow","version":"1.4.2"},"postman":{"name":"Experimental Run Flow","description":{"content":"Executes a specified flow by ID with optional input values, output selection, tweaks, and streaming capability.\\n\\nThis endpoint supports running flows with caching to enhance performance and efficiency.\\n\\n### Parameters:\\n- `flow_id` (str): The unique identifier of the flow to be executed.\\n- `inputs` (List[InputValueRequest], optional): A list of inputs specifying the input values and components\\n for the flow. Each input can target specific components and provide custom values.\\n- `outputs` (List[str], optional): A list of output names to retrieve from the executed flow.\\n If not provided, all outputs are returned.\\n- `tweaks` (Optional[Tweaks], optional): A dictionary of tweaks to customize the flow execution.\\n The tweaks can be used to modify the flow\'s parameters and components.\\n Tweaks can be overridden by the input values.\\n- `stream` (bool, optional): Specifies whether the results should be streamed. Defaults to False.\\n- `session_id` (Union[None, str], optional): An optional session ID to utilize existing session data for the flow\\n execution.\\n- `api_key_user` (User): The user associated with the current API key. Automatically resolved from the API key.\\n\\n### Returns:\\nA `RunResponse` object containing the selected outputs (or all if not specified) of the executed flow\\nand the session ID.\\nThe structure of the response accommodates multiple inputs, providing a nested list of outputs for each input.\\n\\n### Raises:\\nHTTPException: Indicates issues with finding the specified flow, invalid input formats, or internal errors during\\nflow execution.\\n\\n### Example usage:\\n```json\\nPOST /run/flow_id\\nx-api-key: YOUR_API_KEY\\nPayload:\\n{\\n \\"inputs\\": [\\n {\\"components\\": [\\"component1\\"], \\"input_value\\": \\"value1\\"},\\n {\\"components\\": [\\"component3\\"], \\"input_value\\": \\"value2\\"}\\n ],\\n \\"outputs\\": [\\"Component Name\\", \\"component_id\\"],\\n \\"tweaks\\": {\\"parameter_name\\": \\"value\\", \\"Component Name\\": {\\"parameter_name\\": \\"value\\"}, \\"component_id\\": {\\"parameter_name\\": \\"value\\"}}\\n \\"stream\\": false\\n}\\n```\\n\\nThis endpoint facilitates complex flow executions with customized inputs, outputs, and configurations,\\ncatering to diverse application requirements.","type":"text/plain"},"url":{"path":["api","v1","run","advanced",":flow_id"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"flow_id"}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"{\\n \\"inputs\\": [\\n {\\n \\"components\\": [\\n \\"\\",\\n \\"\\"\\n ],\\n \\"input_value\\": \\"\\",\\n \\"session\\": \\"\\",\\n \\"type\\": \\"\\"\\n },\\n {\\n \\"components\\": [\\n \\"\\",\\n \\"\\"\\n ],\\n \\"input_value\\": \\"\\",\\n \\"session\\": \\"\\",\\n \\"type\\": \\"\\"\\n }\\n ],\\n \\"outputs\\": [\\n \\"\\",\\n \\"\\"\\n ],\\n \\"tweaks\\": {\\n \\"tempordd5\\": \\"\\",\\n \\"culpa4f\\": \\"\\"\\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.3b94a912.js b/assets/js/runtime~main.098ab61b.js similarity index 96% rename from assets/js/runtime~main.3b94a912.js rename to assets/js/runtime~main.098ab61b.js index a507ee22be..ee176a3762 100644 --- a/assets/js/runtime~main.3b94a912.js +++ b/assets/js/runtime~main.098ab61b.js @@ -1 +1 @@ -(()=>{"use strict";var e,a,f,c,b,d={},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 d[e].call(f.exports,f,f.exports,r),f.loaded=!0,f.exports}r.m=d,r.c=t,e=[],r.O=(a,f,c,b)=>{if(!f){var d=1/0;for(i=0;i=b)&&Object.keys(r.O).every((e=>r.O[e](f[o])))?f.splice(o--,1):(t=!1,b0&&e[i-1][2]>b;i--)e[i]=e[i-1];e[i]=[f,c,b]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},f=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,c){if(1&c&&(e=this(e)),8&c)return e;if("object"==typeof e&&e){if(4&c&&e.__esModule)return e;if(16&c&&"function"==typeof e.then)return e}var b=Object.create(null);r.r(b);var d={};a=a||[null,f({}),f([]),f(f)];for(var t=2&c&&e;"object"==typeof t&&!~a.indexOf(t);t=f(t))Object.getOwnPropertyNames(t).forEach((a=>d[a]=()=>e[a]));return d.default=()=>e,r.d(b,d),b},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",31:"03e862ce",51:"b7251463",145:"0be1d5fe",191:"c643a6d5",202:"32c42bbe",230:"bc63ae25",265:"d3ca7a96",266:"eca2a4e0",299:"9b5a408c",321:"6e1a9721",368:"07c30ae4",417:"93e16042",444:"14f42f9e",730:"86b18dd0",762:"4af57a32",768:"6d684b63",787:"672a0eba",800:"a4c0ff01",868:"dc7b1ef3",944:"d3600190",957:"c141421f",964:"05d835b4",982:"021496c4",1022:"8a61012d",1035:"24d32e91",1079:"f5818e36",1185:"c2de64b8",1227:"647965d5",1394:"8054effa",1488:"ac3cc3f5",1500:"1e9025f7",1556:"264ffc80",1563:"3ef76b56",1567:"22dd74f7",1625:"92852ade",1690:"41a97a99",1765:"7b257a20",1841:"de94873f",1845:"2ab0d4f5",1956:"fe6f9601",2008:"7ad92a12",2073:"7b7db446",2097:"338a6f8e",2100:"9cc9f218",2138:"1a4e3797",2273:"e756fa26",2288:"faf7ef88",2341:"0123c128",2551:"394022bb",2624:"8ff68e6f",2657:"a3ab51d1",2777:"b3ba68b4",2818:"a9b73094",3099:"8cea976c",3110:"6a2beaac",3225:"99a4401d",3247:"bd7ab245",3327:"6aa941bb",3347:"b5257597",3391:"f66238ae",3576:"64045095",3694:"c2b1730c",3740:"f113d167",3795:"c85076de",3832:"c3d82421",3859:"7679ca6e",3917:"c8dad5f1",3964:"829ff4d2",3968:"0e5205b8",4046:"9ac856ad",4133:"5cf11f26",4242:"31ead0b1",4274:"b6bf934a",4526:"8311683c",4615:"6801371f",4633:"c563aec0",4645:"fef056e9",4778:"e189eece",4784:"438e4337",4806:"fba42286",4841:"8298c1cb",4867:"d73246f8",4891:"ca67d85f",4930:"d2ad385b",4931:"a9b4f8aa",4954:"a71efd4a",4973:"2d2c4fcb",5107:"10156854",5109:"3542ed72",5138:"309383dc",5179:"41e3c105",5195:"b1ab2a41",5281:"a0511a5b",5284:"64ca91f1",5304:"7dbff1af",5339:"9447891f",5395:"98058046",5448:"5c480e8b",5467:"40d13080",5474:"d175aa8b",5475:"18f3809a",5513:"20d49d07",5514:"02955c09",5562:"20e9af62",5572:"873ebc27",5628:"a83bc7c0",5634:"9822a706",5647:"885eb549",5673:"73af8c33",5716:"946d1cee",5718:"5ccf4833",5742:"aba21aa0",5772:"4e7126f8",5799:"364e949f",5824:"214b2cc2",5865:"e1766139",5866:"3b577cbb",5883:"61cfab8e",5894:"f178e9b3",6003:"4d983c8e",6008:"445668ec",6010:"60c70af6",6053:"dfc50084",6066:"3f19c00a",6080:"4d15791b",6119:"6a6b9cdc",6147:"ab17fe15",6201:"9ab37888",6214:"b1220dbd",6281:"c96ce3ed",6332:"873508e7",6350:"188ee668",6419:"96eb0e67",6445:"9fb9a766",6473:"4c5e977b",6511:"320c2db0",6559:"6f13807a",6649:"02e43f39",6682:"5a6d6120",6688:"388c3769",6753:"ff349d2f",6757:"86bd0a2e",6890:"8b85e1d0",6920:"c817e236",6934:"d745f4e6",6949:"b36bb719",7088:"91282a5c",7098:"a7bd4aaa",7108:"688feaef",7118:"4ce9199e",7142:"d0c1f670",7159:"aecfdd3d",7165:"547df4a1",7211:"cacdc615",7338:"c39b795e",7339:"7a774ddf",7408:"3ae94ad4",7453:"fdefa9a8",7457:"8e9c5f91",7462:"921b5fc1",7472:"744aaf8b",7507:"651ef245",7713:"3a82b27e",7894:"0f44198a",8031:"25bf2d67",8054:"85112c90",8064:"274fd934",8085:"cc44357e",8102:"019dbd1f",8184:"222029a9",8188:"ecd67556",8196:"75a9e1e0",8208:"216e3ed7",8245:"5e834a3c",8298:"153f2b62",8304:"73d1a090",8356:"c6a5eaec",8374:"261f8123",8401:"17896441",8504:"e6c6a4d2",8598:"44dfcf75",8661:"8f774222",8679:"3705a9c0",8927:"ae68aa8b",8929:"172b3cfb",8977:"e5eb12ce",9036:"850d3674",9048:"a94703ab",9099:"b1bc5ffe",9126:"169603ea",9141:"19136925",9306:"667d0790",9371:"991799c5",9431:"cd8dccb5",9453:"913561e8",9455:"54175a6c",9476:"57c9a2b8",9479:"4e038a6a",9483:"7823fa72",9509:"49311ca0",9555:"dedd5914",9619:"29b8e27a",9642:"eae80ce0",9647:"5e95c892",9681:"5ff9f4db",9705:"ee3b5967",9731:"52edee88",9751:"25255263",9752:"72d61395",9789:"537e1953",9836:"b3c57e4b",9857:"09f5326a",9888:"be76515e",9905:"43df3697"}[e]||e)+"."+{11:"45c28bec",31:"a484aa60",51:"fadffeb7",145:"ba3f69e7",191:"13f7dca8",202:"69f8fc12",230:"f357f53d",265:"71776535",266:"9a2d139a",299:"25173fd7",321:"9e19feac",368:"4eb45feb",417:"7afd7b28",444:"f90bb6c8",730:"263527f9",756:"240f2e9c",762:"f26eeca8",768:"57549229",787:"337b96b1",800:"200b6f90",868:"5529a28c",900:"f83a9a5d",944:"7d4a07c9",957:"da9e1d2b",964:"c5470377",982:"c33e7e71",1022:"bcd98e1d",1035:"919d5dad",1079:"812abec2",1185:"e72af1d6",1227:"9389c053",1394:"c471511b",1488:"0fd73816",1500:"efd6de60",1556:"291a3f0d",1563:"892a275e",1567:"5efffd44",1625:"14cdddbe",1690:"fec3160a",1765:"572ca811",1809:"2ba71c72",1841:"a5122be7",1845:"a57bf63f",1956:"6383c77e",2008:"7ff881a6",2073:"c5fb1e9b",2097:"e2eb4320",2100:"95c71ee8",2138:"02023697",2273:"55675c34",2288:"cc9428cf",2341:"d1055447",2551:"4828d866",2624:"14f967ab",2657:"51b41b08",2777:"41c1191d",2818:"ac9bcdbf",3042:"f1fb0b14",3099:"548e39d9",3110:"0cb7cba6",3225:"a9203558",3247:"9682eac4",3327:"0a5ce9dd",3347:"077bbafe",3391:"bba50808",3576:"f795975a",3694:"54eb4f64",3740:"b594ac03",3795:"65d30986",3832:"95c28274",3859:"2b7ccc3c",3917:"5b041d0c",3964:"52b0691c",3968:"da2769ba",3997:"ff54fe17",4046:"f7eca8e9",4058:"44d6af12",4133:"56fe7f12",4242:"c259ca94",4274:"0be62a13",4526:"d1f6fb95",4615:"82ac6ca0",4633:"2670172c",4645:"14c01d8e",4778:"5306edb7",4784:"5a39e405",4806:"0f85ccb8",4841:"ee847aa5",4867:"68a21145",4891:"9681a21f",4930:"ab856d39",4931:"9722ebd2",4954:"f5cffa2f",4973:"c4fea60c",5107:"1052bde3",5109:"f577b153",5138:"d4a08879",5179:"e67fbd0c",5195:"1a7b70b6",5281:"df2a55b6",5284:"e8874518",5304:"5b620d18",5339:"d7d5d145",5395:"299e8e2d",5448:"52680132",5467:"e5b031c7",5474:"aa5bd482",5475:"d430c771",5513:"d306cf5a",5514:"7533fa32",5562:"64f54e29",5572:"ddc13f75",5628:"42006513",5634:"f0694192",5647:"3090d1c0",5673:"7ae77da6",5716:"ba42114d",5718:"31276840",5742:"60b1d5b2",5772:"12ce17c2",5799:"6d3f8244",5824:"df4edbad",5865:"6d08bcf9",5866:"023b5194",5883:"3fb0acc4",5894:"9d5cea10",6003:"29a00afe",6008:"58bf8492",6010:"6025b1e2",6053:"73dba27f",6066:"26c9b9aa",6080:"3c411d02",6119:"e28d8fdd",6147:"78c5f4e3",6201:"891ed08e",6214:"346a7ff7",6281:"572b97a5",6332:"56a20b08",6350:"3eeddaca",6419:"5f217a3f",6445:"034849c0",6473:"b5e32ff9",6511:"6c79eb80",6559:"3505b936",6649:"e8e4e55e",6682:"2754757e",6688:"73a22a8c",6753:"22e6b110",6757:"12276542",6890:"c089fc79",6920:"b6fa5552",6934:"eaed1465",6949:"0e0bd619",7088:"1f49a1ed",7098:"d9bb61a0",7108:"17a23f9d",7118:"b249527c",7142:"960aa7c8",7159:"dceac5e8",7165:"2dc7195f",7211:"f5e720e4",7338:"0cb0d21c",7339:"d438876a",7408:"86a89076",7453:"392bba14",7457:"70cf0d15",7462:"4fa35110",7472:"8069977e",7507:"0dda0c5d",7713:"89ccb9d2",7894:"7e793e43",8031:"d39ee16a",8054:"1c0575f9",8064:"0f9c600b",8085:"de555d3f",8102:"a2de899f",8158:"20de8b80",8184:"c81282aa",8188:"d660f886",8196:"1709a7de",8208:"6254673b",8245:"d723ee5e",8298:"365a531b",8304:"8335c042",8356:"637b85df",8374:"de173c3c",8401:"bf953603",8504:"04ec3ee4",8598:"70cf61ed",8661:"bd59cb88",8679:"0e278449",8913:"47209f3b",8927:"4c824b91",8929:"99703724",8977:"637025ee",9036:"2d5a998f",9048:"810f8ad8",9099:"1b2e15a3",9126:"3e3ec85f",9141:"046ebd69",9306:"623f16ae",9371:"93e50709",9431:"13f33641",9453:"ff972203",9455:"7fe77314",9476:"40ea7997",9479:"ff7ffcbc",9483:"6dc6fdbb",9509:"33f09301",9555:"bf9c83ce",9619:"ed86b2e1",9642:"9149d50b",9647:"e6d9c2b6",9681:"1f0feb15",9705:"6298ab3d",9729:"b22b7ae1",9731:"ced06bca",9751:"fc71d973",9752:"bbc2f180",9789:"a25e6068",9836:"69fcbaa3",9857:"15bb75fa",9888:"6bd457bb",9905:"8a2cb3d4"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),c={},b="langflow-docs:",r.l=(e,a,f,d)=>{if(c[e])c[e].push(a);else{var t,o;if(void 0!==f)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var b=c[e];if(delete c[e],t.parentNode&&t.parentNode.removeChild(t),b&&b.forEach((e=>e(f))),a)return a(f)},s=setTimeout(u.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=u.bind(null,t.onerror),t.onload=u.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),r.p="/",r.gca=function(e){return e={10156854:"5107",17896441:"8401",19136925:"9141",25255263:"9751",64045095:"3576",98058046:"5395",d2df9b4e:"11","03e862ce":"31",b7251463:"51","0be1d5fe":"145",c643a6d5:"191","32c42bbe":"202",bc63ae25:"230",d3ca7a96:"265",eca2a4e0:"266","9b5a408c":"299","6e1a9721":"321","07c30ae4":"368","93e16042":"417","14f42f9e":"444","86b18dd0":"730","4af57a32":"762","6d684b63":"768","672a0eba":"787",a4c0ff01:"800",dc7b1ef3:"868",d3600190:"944",c141421f:"957","05d835b4":"964","021496c4":"982","8a61012d":"1022","24d32e91":"1035",f5818e36:"1079",c2de64b8:"1185","647965d5":"1227","8054effa":"1394",ac3cc3f5:"1488","1e9025f7":"1500","264ffc80":"1556","3ef76b56":"1563","22dd74f7":"1567","92852ade":"1625","41a97a99":"1690","7b257a20":"1765",de94873f:"1841","2ab0d4f5":"1845",fe6f9601:"1956","7ad92a12":"2008","7b7db446":"2073","338a6f8e":"2097","9cc9f218":"2100","1a4e3797":"2138",e756fa26:"2273",faf7ef88:"2288","0123c128":"2341","394022bb":"2551","8ff68e6f":"2624",a3ab51d1:"2657",b3ba68b4:"2777",a9b73094:"2818","8cea976c":"3099","6a2beaac":"3110","99a4401d":"3225",bd7ab245:"3247","6aa941bb":"3327",b5257597:"3347",f66238ae:"3391",c2b1730c:"3694",f113d167:"3740",c85076de:"3795",c3d82421:"3832","7679ca6e":"3859",c8dad5f1:"3917","829ff4d2":"3964","0e5205b8":"3968","9ac856ad":"4046","5cf11f26":"4133","31ead0b1":"4242",b6bf934a:"4274","8311683c":"4526","6801371f":"4615",c563aec0:"4633",fef056e9:"4645",e189eece:"4778","438e4337":"4784",fba42286:"4806","8298c1cb":"4841",d73246f8:"4867",ca67d85f:"4891",d2ad385b:"4930",a9b4f8aa:"4931",a71efd4a:"4954","2d2c4fcb":"4973","3542ed72":"5109","309383dc":"5138","41e3c105":"5179",b1ab2a41:"5195",a0511a5b:"5281","64ca91f1":"5284","7dbff1af":"5304","9447891f":"5339","5c480e8b":"5448","40d13080":"5467",d175aa8b:"5474","18f3809a":"5475","20d49d07":"5513","02955c09":"5514","20e9af62":"5562","873ebc27":"5572",a83bc7c0:"5628","9822a706":"5634","885eb549":"5647","73af8c33":"5673","946d1cee":"5716","5ccf4833":"5718",aba21aa0:"5742","4e7126f8":"5772","364e949f":"5799","214b2cc2":"5824",e1766139:"5865","3b577cbb":"5866","61cfab8e":"5883",f178e9b3:"5894","4d983c8e":"6003","445668ec":"6008","60c70af6":"6010",dfc50084:"6053","3f19c00a":"6066","4d15791b":"6080","6a6b9cdc":"6119",ab17fe15:"6147","9ab37888":"6201",b1220dbd:"6214",c96ce3ed:"6281","873508e7":"6332","188ee668":"6350","96eb0e67":"6419","9fb9a766":"6445","4c5e977b":"6473","320c2db0":"6511","6f13807a":"6559","02e43f39":"6649","5a6d6120":"6682","388c3769":"6688",ff349d2f:"6753","86bd0a2e":"6757","8b85e1d0":"6890",c817e236:"6920",d745f4e6:"6934",b36bb719:"6949","91282a5c":"7088",a7bd4aaa:"7098","688feaef":"7108","4ce9199e":"7118",d0c1f670:"7142",aecfdd3d:"7159","547df4a1":"7165",cacdc615:"7211",c39b795e:"7338","7a774ddf":"7339","3ae94ad4":"7408",fdefa9a8:"7453","8e9c5f91":"7457","921b5fc1":"7462","744aaf8b":"7472","651ef245":"7507","3a82b27e":"7713","0f44198a":"7894","25bf2d67":"8031","85112c90":"8054","274fd934":"8064",cc44357e:"8085","019dbd1f":"8102","222029a9":"8184",ecd67556:"8188","75a9e1e0":"8196","216e3ed7":"8208","5e834a3c":"8245","153f2b62":"8298","73d1a090":"8304",c6a5eaec:"8356","261f8123":"8374",e6c6a4d2:"8504","44dfcf75":"8598","8f774222":"8661","3705a9c0":"8679",ae68aa8b:"8927","172b3cfb":"8929",e5eb12ce:"8977","850d3674":"9036",a94703ab:"9048",b1bc5ffe:"9099","169603ea":"9126","667d0790":"9306","991799c5":"9371",cd8dccb5:"9431","913561e8":"9453","54175a6c":"9455","57c9a2b8":"9476","4e038a6a":"9479","7823fa72":"9483","49311ca0":"9509",dedd5914:"9555","29b8e27a":"9619",eae80ce0:"9642","5e95c892":"9647","5ff9f4db":"9681",ee3b5967:"9705","52edee88":"9731","72d61395":"9752","537e1953":"9789",b3c57e4b:"9836","09f5326a":"9857",be76515e:"9888","43df3697":"9905"}[e]||e,r.p+r.u(e)},(()=>{var e={5354:0,1869:0};r.f.j=(a,f)=>{var c=r.o(e,a)?e[a]:void 0;if(0!==c)if(c)f.push(c[2]);else if(/^(1869|5354)$/.test(a))e[a]=0;else{var b=new Promise(((f,b)=>c=e[a]=[f,b]));f.push(c[2]=b);var d=r.p+r.u(a),t=new Error;r.l(d,(f=>{if(r.o(e,a)&&(0!==(c=e[a])&&(e[a]=void 0),c)){var b=f&&("load"===f.type?"missing":f.type),d=f&&f.target&&f.target.src;t.message="Loading chunk "+a+" failed.\n("+b+": "+d+")",t.name="ChunkLoadError",t.type=b,t.request=d,c[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,f)=>{var c,b,d=f[0],t=f[1],o=f[2],n=0;if(d.some((a=>0!==e[a]))){for(c in t)r.o(t,c)&&(r.m[c]=t[c]);if(o)var i=o(r)}for(a&&a(f);n{"use strict";var e,a,f,c,b,d={},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 d[e].call(f.exports,f,f.exports,r),f.loaded=!0,f.exports}r.m=d,r.c=t,e=[],r.O=(a,f,c,b)=>{if(!f){var d=1/0;for(i=0;i=b)&&Object.keys(r.O).every((e=>r.O[e](f[o])))?f.splice(o--,1):(t=!1,b0&&e[i-1][2]>b;i--)e[i]=e[i-1];e[i]=[f,c,b]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},f=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,c){if(1&c&&(e=this(e)),8&c)return e;if("object"==typeof e&&e){if(4&c&&e.__esModule)return e;if(16&c&&"function"==typeof e.then)return e}var b=Object.create(null);r.r(b);var d={};a=a||[null,f({}),f([]),f(f)];for(var t=2&c&&e;"object"==typeof t&&!~a.indexOf(t);t=f(t))Object.getOwnPropertyNames(t).forEach((a=>d[a]=()=>e[a]));return d.default=()=>e,r.d(b,d),b},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",31:"03e862ce",51:"b7251463",145:"0be1d5fe",191:"c643a6d5",202:"32c42bbe",230:"bc63ae25",265:"d3ca7a96",266:"eca2a4e0",299:"9b5a408c",321:"6e1a9721",368:"07c30ae4",417:"93e16042",444:"14f42f9e",730:"86b18dd0",762:"4af57a32",768:"6d684b63",787:"672a0eba",800:"a4c0ff01",868:"dc7b1ef3",944:"d3600190",957:"c141421f",964:"05d835b4",982:"021496c4",1022:"8a61012d",1035:"24d32e91",1079:"f5818e36",1185:"c2de64b8",1227:"647965d5",1394:"8054effa",1488:"ac3cc3f5",1500:"1e9025f7",1556:"264ffc80",1563:"3ef76b56",1567:"22dd74f7",1625:"92852ade",1690:"41a97a99",1765:"7b257a20",1841:"de94873f",1845:"2ab0d4f5",1956:"fe6f9601",2008:"7ad92a12",2073:"7b7db446",2097:"338a6f8e",2100:"9cc9f218",2138:"1a4e3797",2273:"e756fa26",2288:"faf7ef88",2341:"0123c128",2551:"394022bb",2624:"8ff68e6f",2657:"a3ab51d1",2777:"b3ba68b4",2818:"a9b73094",3099:"8cea976c",3110:"6a2beaac",3225:"99a4401d",3247:"bd7ab245",3327:"6aa941bb",3347:"b5257597",3391:"f66238ae",3576:"64045095",3694:"c2b1730c",3740:"f113d167",3795:"c85076de",3832:"c3d82421",3859:"7679ca6e",3917:"c8dad5f1",3964:"829ff4d2",3968:"0e5205b8",4046:"9ac856ad",4133:"5cf11f26",4242:"31ead0b1",4274:"b6bf934a",4526:"8311683c",4615:"6801371f",4633:"c563aec0",4645:"fef056e9",4778:"e189eece",4784:"438e4337",4806:"fba42286",4841:"8298c1cb",4867:"d73246f8",4891:"ca67d85f",4930:"d2ad385b",4931:"a9b4f8aa",4954:"a71efd4a",4973:"2d2c4fcb",5107:"10156854",5109:"3542ed72",5138:"309383dc",5179:"41e3c105",5195:"b1ab2a41",5281:"a0511a5b",5284:"64ca91f1",5304:"7dbff1af",5339:"9447891f",5395:"98058046",5448:"5c480e8b",5467:"40d13080",5474:"d175aa8b",5475:"18f3809a",5513:"20d49d07",5514:"02955c09",5562:"20e9af62",5572:"873ebc27",5628:"a83bc7c0",5634:"9822a706",5647:"885eb549",5673:"73af8c33",5716:"946d1cee",5718:"5ccf4833",5742:"aba21aa0",5772:"4e7126f8",5799:"364e949f",5824:"214b2cc2",5865:"e1766139",5866:"3b577cbb",5883:"61cfab8e",5894:"f178e9b3",6003:"4d983c8e",6008:"445668ec",6010:"60c70af6",6053:"dfc50084",6066:"3f19c00a",6080:"4d15791b",6119:"6a6b9cdc",6147:"ab17fe15",6201:"9ab37888",6214:"b1220dbd",6281:"c96ce3ed",6332:"873508e7",6350:"188ee668",6419:"96eb0e67",6445:"9fb9a766",6473:"4c5e977b",6511:"320c2db0",6559:"6f13807a",6649:"02e43f39",6682:"5a6d6120",6688:"388c3769",6753:"ff349d2f",6757:"86bd0a2e",6890:"8b85e1d0",6920:"c817e236",6934:"d745f4e6",6949:"b36bb719",7088:"91282a5c",7098:"a7bd4aaa",7108:"688feaef",7118:"4ce9199e",7142:"d0c1f670",7159:"aecfdd3d",7165:"547df4a1",7211:"cacdc615",7338:"c39b795e",7339:"7a774ddf",7408:"3ae94ad4",7453:"fdefa9a8",7457:"8e9c5f91",7462:"921b5fc1",7472:"744aaf8b",7507:"651ef245",7713:"3a82b27e",7894:"0f44198a",8031:"25bf2d67",8054:"85112c90",8064:"274fd934",8085:"cc44357e",8102:"019dbd1f",8184:"222029a9",8188:"ecd67556",8196:"75a9e1e0",8208:"216e3ed7",8245:"5e834a3c",8298:"153f2b62",8304:"73d1a090",8356:"c6a5eaec",8374:"261f8123",8401:"17896441",8504:"e6c6a4d2",8598:"44dfcf75",8661:"8f774222",8679:"3705a9c0",8927:"ae68aa8b",8929:"172b3cfb",8977:"e5eb12ce",9036:"850d3674",9048:"a94703ab",9099:"b1bc5ffe",9126:"169603ea",9141:"19136925",9306:"667d0790",9371:"991799c5",9431:"cd8dccb5",9453:"913561e8",9455:"54175a6c",9476:"57c9a2b8",9479:"4e038a6a",9483:"7823fa72",9509:"49311ca0",9555:"dedd5914",9619:"29b8e27a",9642:"eae80ce0",9647:"5e95c892",9681:"5ff9f4db",9705:"ee3b5967",9731:"52edee88",9751:"25255263",9752:"72d61395",9789:"537e1953",9836:"b3c57e4b",9857:"09f5326a",9888:"be76515e",9905:"43df3697"}[e]||e)+"."+{11:"45c28bec",31:"a484aa60",51:"7d602f6e",145:"ba3f69e7",191:"13f7dca8",202:"69f8fc12",230:"f357f53d",265:"be246dd2",266:"9a2d139a",299:"25173fd7",321:"9e19feac",368:"4eb45feb",417:"7afd7b28",444:"f90bb6c8",730:"263527f9",756:"240f2e9c",762:"f26eeca8",768:"57549229",787:"337b96b1",800:"200b6f90",868:"5529a28c",900:"f83a9a5d",944:"7d4a07c9",957:"da9e1d2b",964:"c5470377",982:"c33e7e71",1022:"bcd98e1d",1035:"919d5dad",1079:"812abec2",1185:"e72af1d6",1227:"9389c053",1394:"c471511b",1488:"0fd73816",1500:"efd6de60",1556:"291a3f0d",1563:"892a275e",1567:"5efffd44",1625:"14cdddbe",1690:"fec3160a",1765:"572ca811",1809:"2ba71c72",1841:"a5122be7",1845:"fb9bc2bc",1956:"6383c77e",2008:"7ff881a6",2073:"c5fb1e9b",2097:"e2eb4320",2100:"95c71ee8",2138:"02023697",2273:"55675c34",2288:"cc9428cf",2341:"d1055447",2551:"4828d866",2624:"14f967ab",2657:"51b41b08",2777:"41c1191d",2818:"ac9bcdbf",3042:"f1fb0b14",3099:"548e39d9",3110:"0cb7cba6",3225:"a9203558",3247:"9682eac4",3327:"0a5ce9dd",3347:"077bbafe",3391:"bba50808",3576:"f795975a",3694:"54eb4f64",3740:"b594ac03",3795:"65d30986",3832:"95c28274",3859:"2b7ccc3c",3917:"5b041d0c",3964:"52b0691c",3968:"da2769ba",3997:"ff54fe17",4046:"48629fa4",4058:"44d6af12",4133:"56fe7f12",4242:"c259ca94",4274:"0be62a13",4526:"d1f6fb95",4615:"82ac6ca0",4633:"2670172c",4645:"14c01d8e",4778:"5306edb7",4784:"5a39e405",4806:"0f85ccb8",4841:"ee847aa5",4867:"68a21145",4891:"9681a21f",4930:"ab856d39",4931:"9722ebd2",4954:"f5cffa2f",4973:"c4fea60c",5107:"1052bde3",5109:"f577b153",5138:"d4a08879",5179:"e67fbd0c",5195:"1a7b70b6",5281:"df2a55b6",5284:"e8874518",5304:"5b620d18",5339:"d7d5d145",5395:"299e8e2d",5448:"52680132",5467:"e5b031c7",5474:"aa5bd482",5475:"d430c771",5513:"d306cf5a",5514:"7533fa32",5562:"64f54e29",5572:"ddc13f75",5628:"42006513",5634:"f0694192",5647:"3090d1c0",5673:"7ae77da6",5716:"ba42114d",5718:"31276840",5742:"60b1d5b2",5772:"12ce17c2",5799:"6d3f8244",5824:"df4edbad",5865:"6d08bcf9",5866:"023b5194",5883:"3fb0acc4",5894:"9d5cea10",6003:"29a00afe",6008:"58bf8492",6010:"6025b1e2",6053:"73dba27f",6066:"26c9b9aa",6080:"3c411d02",6119:"e28d8fdd",6147:"78c5f4e3",6201:"891ed08e",6214:"346a7ff7",6281:"572b97a5",6332:"56a20b08",6350:"3eeddaca",6419:"5f217a3f",6445:"034849c0",6473:"b5e32ff9",6511:"6c79eb80",6559:"3505b936",6649:"e8e4e55e",6682:"2754757e",6688:"73a22a8c",6753:"22e6b110",6757:"12276542",6890:"c089fc79",6920:"b6fa5552",6934:"eaed1465",6949:"0e0bd619",7088:"1f49a1ed",7098:"d9bb61a0",7108:"17a23f9d",7118:"b249527c",7142:"960aa7c8",7159:"dceac5e8",7165:"2dc7195f",7211:"f5e720e4",7338:"0cb0d21c",7339:"d438876a",7408:"86a89076",7453:"392bba14",7457:"70cf0d15",7462:"4fa35110",7472:"8069977e",7507:"0dda0c5d",7713:"89ccb9d2",7894:"7e793e43",8031:"d39ee16a",8054:"1c0575f9",8064:"0f9c600b",8085:"de555d3f",8102:"a2de899f",8158:"20de8b80",8184:"c81282aa",8188:"d660f886",8196:"1709a7de",8208:"6254673b",8245:"d723ee5e",8298:"365a531b",8304:"8335c042",8356:"637b85df",8374:"de173c3c",8401:"bf953603",8504:"7fc2eddf",8598:"70cf61ed",8661:"bd59cb88",8679:"0e278449",8913:"47209f3b",8927:"4c824b91",8929:"99703724",8977:"637025ee",9036:"2d5a998f",9048:"810f8ad8",9099:"1b2e15a3",9126:"3e3ec85f",9141:"046ebd69",9306:"623f16ae",9371:"93e50709",9431:"13f33641",9453:"ff972203",9455:"7fe77314",9476:"40ea7997",9479:"ff7ffcbc",9483:"6dc6fdbb",9509:"33f09301",9555:"bf9c83ce",9619:"ed86b2e1",9642:"9149d50b",9647:"e6d9c2b6",9681:"1f0feb15",9705:"6298ab3d",9729:"b22b7ae1",9731:"ced06bca",9751:"fc71d973",9752:"bbc2f180",9789:"a25e6068",9836:"69fcbaa3",9857:"15bb75fa",9888:"6bd457bb",9905:"8a2cb3d4"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),c={},b="langflow-docs:",r.l=(e,a,f,d)=>{if(c[e])c[e].push(a);else{var t,o;if(void 0!==f)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var b=c[e];if(delete c[e],t.parentNode&&t.parentNode.removeChild(t),b&&b.forEach((e=>e(f))),a)return a(f)},s=setTimeout(u.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=u.bind(null,t.onerror),t.onload=u.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),r.p="/",r.gca=function(e){return e={10156854:"5107",17896441:"8401",19136925:"9141",25255263:"9751",64045095:"3576",98058046:"5395",d2df9b4e:"11","03e862ce":"31",b7251463:"51","0be1d5fe":"145",c643a6d5:"191","32c42bbe":"202",bc63ae25:"230",d3ca7a96:"265",eca2a4e0:"266","9b5a408c":"299","6e1a9721":"321","07c30ae4":"368","93e16042":"417","14f42f9e":"444","86b18dd0":"730","4af57a32":"762","6d684b63":"768","672a0eba":"787",a4c0ff01:"800",dc7b1ef3:"868",d3600190:"944",c141421f:"957","05d835b4":"964","021496c4":"982","8a61012d":"1022","24d32e91":"1035",f5818e36:"1079",c2de64b8:"1185","647965d5":"1227","8054effa":"1394",ac3cc3f5:"1488","1e9025f7":"1500","264ffc80":"1556","3ef76b56":"1563","22dd74f7":"1567","92852ade":"1625","41a97a99":"1690","7b257a20":"1765",de94873f:"1841","2ab0d4f5":"1845",fe6f9601:"1956","7ad92a12":"2008","7b7db446":"2073","338a6f8e":"2097","9cc9f218":"2100","1a4e3797":"2138",e756fa26:"2273",faf7ef88:"2288","0123c128":"2341","394022bb":"2551","8ff68e6f":"2624",a3ab51d1:"2657",b3ba68b4:"2777",a9b73094:"2818","8cea976c":"3099","6a2beaac":"3110","99a4401d":"3225",bd7ab245:"3247","6aa941bb":"3327",b5257597:"3347",f66238ae:"3391",c2b1730c:"3694",f113d167:"3740",c85076de:"3795",c3d82421:"3832","7679ca6e":"3859",c8dad5f1:"3917","829ff4d2":"3964","0e5205b8":"3968","9ac856ad":"4046","5cf11f26":"4133","31ead0b1":"4242",b6bf934a:"4274","8311683c":"4526","6801371f":"4615",c563aec0:"4633",fef056e9:"4645",e189eece:"4778","438e4337":"4784",fba42286:"4806","8298c1cb":"4841",d73246f8:"4867",ca67d85f:"4891",d2ad385b:"4930",a9b4f8aa:"4931",a71efd4a:"4954","2d2c4fcb":"4973","3542ed72":"5109","309383dc":"5138","41e3c105":"5179",b1ab2a41:"5195",a0511a5b:"5281","64ca91f1":"5284","7dbff1af":"5304","9447891f":"5339","5c480e8b":"5448","40d13080":"5467",d175aa8b:"5474","18f3809a":"5475","20d49d07":"5513","02955c09":"5514","20e9af62":"5562","873ebc27":"5572",a83bc7c0:"5628","9822a706":"5634","885eb549":"5647","73af8c33":"5673","946d1cee":"5716","5ccf4833":"5718",aba21aa0:"5742","4e7126f8":"5772","364e949f":"5799","214b2cc2":"5824",e1766139:"5865","3b577cbb":"5866","61cfab8e":"5883",f178e9b3:"5894","4d983c8e":"6003","445668ec":"6008","60c70af6":"6010",dfc50084:"6053","3f19c00a":"6066","4d15791b":"6080","6a6b9cdc":"6119",ab17fe15:"6147","9ab37888":"6201",b1220dbd:"6214",c96ce3ed:"6281","873508e7":"6332","188ee668":"6350","96eb0e67":"6419","9fb9a766":"6445","4c5e977b":"6473","320c2db0":"6511","6f13807a":"6559","02e43f39":"6649","5a6d6120":"6682","388c3769":"6688",ff349d2f:"6753","86bd0a2e":"6757","8b85e1d0":"6890",c817e236:"6920",d745f4e6:"6934",b36bb719:"6949","91282a5c":"7088",a7bd4aaa:"7098","688feaef":"7108","4ce9199e":"7118",d0c1f670:"7142",aecfdd3d:"7159","547df4a1":"7165",cacdc615:"7211",c39b795e:"7338","7a774ddf":"7339","3ae94ad4":"7408",fdefa9a8:"7453","8e9c5f91":"7457","921b5fc1":"7462","744aaf8b":"7472","651ef245":"7507","3a82b27e":"7713","0f44198a":"7894","25bf2d67":"8031","85112c90":"8054","274fd934":"8064",cc44357e:"8085","019dbd1f":"8102","222029a9":"8184",ecd67556:"8188","75a9e1e0":"8196","216e3ed7":"8208","5e834a3c":"8245","153f2b62":"8298","73d1a090":"8304",c6a5eaec:"8356","261f8123":"8374",e6c6a4d2:"8504","44dfcf75":"8598","8f774222":"8661","3705a9c0":"8679",ae68aa8b:"8927","172b3cfb":"8929",e5eb12ce:"8977","850d3674":"9036",a94703ab:"9048",b1bc5ffe:"9099","169603ea":"9126","667d0790":"9306","991799c5":"9371",cd8dccb5:"9431","913561e8":"9453","54175a6c":"9455","57c9a2b8":"9476","4e038a6a":"9479","7823fa72":"9483","49311ca0":"9509",dedd5914:"9555","29b8e27a":"9619",eae80ce0:"9642","5e95c892":"9647","5ff9f4db":"9681",ee3b5967:"9705","52edee88":"9731","72d61395":"9752","537e1953":"9789",b3c57e4b:"9836","09f5326a":"9857",be76515e:"9888","43df3697":"9905"}[e]||e,r.p+r.u(e)},(()=>{var e={5354:0,1869:0};r.f.j=(a,f)=>{var c=r.o(e,a)?e[a]:void 0;if(0!==c)if(c)f.push(c[2]);else if(/^(1869|5354)$/.test(a))e[a]=0;else{var b=new Promise(((f,b)=>c=e[a]=[f,b]));f.push(c[2]=b);var d=r.p+r.u(a),t=new Error;r.l(d,(f=>{if(r.o(e,a)&&(0!==(c=e[a])&&(e[a]=void 0),c)){var b=f&&("load"===f.type?"missing":f.type),d=f&&f.target&&f.target.src;t.message="Loading chunk "+a+" failed.\n("+b+": "+d+")",t.name="ChunkLoadError",t.type=b,t.request=d,c[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,f)=>{var c,b,d=f[0],t=f[1],o=f[2],n=0;if(d.some((a=>0!==e[a]))){for(c in t)r.o(t,c)&&(r.m[c]=t[c]);if(o)var i=o(r)}for(a&&a(f);n - + diff --git a/components-agents.html b/components-agents.html index 89e1d04288..d5845908ad 100644 --- a/components-agents.html +++ b/components-agents.html @@ -21,7 +21,7 @@ - + diff --git a/components-bundle-components.html b/components-bundle-components.html index 91e46cf12d..0290001dcf 100644 --- a/components-bundle-components.html +++ b/components-bundle-components.html @@ -21,7 +21,7 @@ - + diff --git a/components-custom-components.html b/components-custom-components.html index 136fe328bf..8c50899e2a 100644 --- a/components-custom-components.html +++ b/components-custom-components.html @@ -21,7 +21,7 @@ - + diff --git a/components-data.html b/components-data.html index a7f3e956f6..5dae0ab16d 100644 --- a/components-data.html +++ b/components-data.html @@ -21,7 +21,7 @@ - + diff --git a/components-embedding-models.html b/components-embedding-models.html index 2fbeea3bec..dae076b4bc 100644 --- a/components-embedding-models.html +++ b/components-embedding-models.html @@ -21,7 +21,7 @@ - + diff --git a/components-helpers.html b/components-helpers.html index 1f983d0b62..d9c3023571 100644 --- a/components-helpers.html +++ b/components-helpers.html @@ -21,7 +21,7 @@ - + diff --git a/components-io.html b/components-io.html index 77aa9d2c42..b9fea2e361 100644 --- a/components-io.html +++ b/components-io.html @@ -21,7 +21,7 @@ - + diff --git a/components-logic.html b/components-logic.html index d74c8852b8..8da803f3c8 100644 --- a/components-logic.html +++ b/components-logic.html @@ -21,7 +21,7 @@ - + diff --git a/components-memories.html b/components-memories.html index b2e87c4f4b..a798591471 100644 --- a/components-memories.html +++ b/components-memories.html @@ -21,7 +21,7 @@ - + diff --git a/components-models.html b/components-models.html index 269330ae0b..9e5335755e 100644 --- a/components-models.html +++ b/components-models.html @@ -21,7 +21,7 @@ - + diff --git a/components-processing.html b/components-processing.html index 6fa3bd1f02..e1210e2c72 100644 --- a/components-processing.html +++ b/components-processing.html @@ -21,7 +21,7 @@ - + diff --git a/components-prompts.html b/components-prompts.html index e5c9f31da5..a5d91b5dcd 100644 --- a/components-prompts.html +++ b/components-prompts.html @@ -21,7 +21,7 @@ - + diff --git a/components-tools.html b/components-tools.html index 880f9a1947..e0861abcec 100644 --- a/components-tools.html +++ b/components-tools.html @@ -21,7 +21,7 @@ - + diff --git a/components-vector-stores.html b/components-vector-stores.html index 742bef3160..49dececdf4 100644 --- a/components-vector-stores.html +++ b/components-vector-stores.html @@ -21,7 +21,7 @@ - + diff --git a/concepts-components.html b/concepts-components.html index e401574c5b..6dedd9bcad 100644 --- a/concepts-components.html +++ b/concepts-components.html @@ -21,7 +21,7 @@ - + diff --git a/concepts-file-management.html b/concepts-file-management.html index 08327b0a70..30852cd3e0 100644 --- a/concepts-file-management.html +++ b/concepts-file-management.html @@ -21,7 +21,7 @@ - + diff --git a/concepts-flows.html b/concepts-flows.html index 226d5f22e1..45e7a67c92 100644 --- a/concepts-flows.html +++ b/concepts-flows.html @@ -21,7 +21,7 @@ - + diff --git a/concepts-objects.html b/concepts-objects.html index 1312b6e1bd..a37cc93a63 100644 --- a/concepts-objects.html +++ b/concepts-objects.html @@ -21,7 +21,7 @@ - + diff --git a/concepts-overview.html b/concepts-overview.html index 9e8d65f639..24b74cb6ca 100644 --- a/concepts-overview.html +++ b/concepts-overview.html @@ -21,7 +21,7 @@ - + diff --git a/concepts-playground.html b/concepts-playground.html index 477f9e45e7..f059ec44bf 100644 --- a/concepts-playground.html +++ b/concepts-playground.html @@ -21,7 +21,7 @@ - + diff --git a/concepts-publish.html b/concepts-publish.html index dba658154a..64a1a05f60 100644 --- a/concepts-publish.html +++ b/concepts-publish.html @@ -21,7 +21,7 @@ - + diff --git a/concepts-voice-mode.html b/concepts-voice-mode.html index 4bd10fb8f3..2df3188de7 100644 --- a/concepts-voice-mode.html +++ b/concepts-voice-mode.html @@ -21,7 +21,7 @@ - + diff --git a/configuration-api-keys.html b/configuration-api-keys.html index a1ce223ba3..d3e26e5174 100644 --- a/configuration-api-keys.html +++ b/configuration-api-keys.html @@ -21,7 +21,7 @@ - + diff --git a/configuration-authentication.html b/configuration-authentication.html index f1cca9e88f..d058bf2d79 100644 --- a/configuration-authentication.html +++ b/configuration-authentication.html @@ -21,7 +21,7 @@ - + diff --git a/configuration-cli.html b/configuration-cli.html index 8733745a91..ceb4d6e3db 100644 --- a/configuration-cli.html +++ b/configuration-cli.html @@ -21,7 +21,7 @@ - + @@ -61,17 +61,17 @@ You can find this directory by running which langflow.

Run or test database migrations.


_10
langflow migration [OPTIONS]
_10
# or
_10
python -m langflow migration [OPTIONS]

Options

-
OptionDefaultValuesDescription
--testtrueBooleanRun migrations in test mode. Use --no-test to disable test mode.
--fixfalse (--no-fix)BooleanFix migrations. This is a destructive operation, and all affected data will be deleted. Only use this option if you know what you are doing.
--helpNot applicableNot applicableDisplay information about the command usage and its options and arguments.
+
OptionDefaultValuesDescription
--testtrueBooleanRun migrations in test mode. Use --no-test to disable test mode.
--fixfalse (--no-fix)BooleanFix migrations. This is a destructive operation, and all affected data will be deleted. Only use this option if you know what you are doing.
--helpNot applicableNot applicableDisplay information about the command usage and its options and arguments.

langflow run

Start the Langflow server.


_10
langflow run [OPTIONS]
_10
# or
_10
python -m langflow run [OPTIONS]

Options

-
OptionDefaultValuesDescription
--host127.0.0.1StringThe host on which the Langflow server will run.
See LANGFLOW_HOST variable.
--workers1IntegerNumber of worker processes.
See LANGFLOW_WORKERS variable.
--worker-timeout300IntegerWorker timeout in seconds.
See LANGFLOW_WORKER_TIMEOUT variable.
--port7860IntegerThe port on which the Langflow server will run. The server automatically selects a free port if the specified port is in use.
See LANGFLOW_PORT variable.
--components-pathlangflow/componentsStringPath to the directory containing custom components.
See LANGFLOW_COMPONENTS_PATH variable.
--env-fileNot setStringPath to the .env file containing environment variables.
See Import environment variables from a .env file.
--log-levelcriticaldebug
info
warning
error
critical
Set the logging level.
See LANGFLOW_LOG_LEVEL variable.
--log-filelogs/langflow.logStringSet the path to the log file for Langflow.
See LANGFLOW_LOG_FILE variable.
--cacheInMemoryCacheInMemoryCache
SQLiteCache
Type of cache to use.
See LANGFLOW_LANGCHAIN_CACHE variable.
--devfalse (--no-dev)BooleanRun Langflow in development mode (may contain bugs).
See LANGFLOW_DEV variable.
--frontend-path./frontendStringPath to the frontend directory containing build files. This is for development purposes only.
See LANGFLOW_FRONTEND_PATH variable.
--open-browsertrueBooleanOpen the system web browser on startup. Use --no-open-browser to disable opening the system web browser on startup.
See LANGFLOW_OPEN_BROWSER variable.
--remove-api-keysfalse (--no-remove-api-keys)BooleanRemove API keys from the projects saved in the database.
See LANGFLOW_REMOVE_API_KEYS variable.
--backend-onlyfalse (--no-backend-only)BooleanOnly run Langflow's backend server (no frontend).
See LANGFLOW_BACKEND_ONLY variable.
--storetrueBooleanEnable the Langflow Store features. Use --no-store to disable the Langflow Store features.
See LANGFLOW_STORE variable.
--auto-savingtrueBooleanEnable flow auto-saving. Use --no-auto-saving to disable flow auto-saving.
See LANGFLOW_AUTO_SAVING variable.
--auto-saving-interval1000IntegerSet the interval for flow auto-saving in milliseconds.
See LANGFLOW_AUTO_SAVING_INTERVAL variable.
--health-check-max-retries5IntegerSet the maximum number of retries for the health check. Use --no-health-check-max-retries to disable the maximum number of retries for the health check.
See LANGFLOW_HEALTH_CHECK_MAX_RETRIES variable.
--max-file-size-upload100IntegerSet the maximum file size for the upload in megabytes.
See LANGFLOW_MAX_FILE_SIZE_UPLOAD variable.
--ssl-cert-file-pathNot setStringPath to the SSL certificate file on the local system.
--ssl-key-file-pathNot setStringPath to the SSL key file on the local system.
--helpNot applicableNot applicableDisplay information about the command usage and its options and arguments.
+
OptionDefaultValuesDescription
--host127.0.0.1StringThe host on which the Langflow server will run.
See LANGFLOW_HOST variable.
--workers1IntegerNumber of worker processes.
See LANGFLOW_WORKERS variable.
--worker-timeout300IntegerWorker timeout in seconds.
See LANGFLOW_WORKER_TIMEOUT variable.
--port7860IntegerThe port on which the Langflow server will run. The server automatically selects a free port if the specified port is in use.
See LANGFLOW_PORT variable.
--components-pathlangflow/componentsStringPath to the directory containing custom components.
See LANGFLOW_COMPONENTS_PATH variable.
--env-fileNot setStringPath to the .env file containing environment variables.
See Import environment variables from a .env file.
--log-levelcriticaldebug
info
warning
error
critical
Set the logging level.
See LANGFLOW_LOG_LEVEL variable.
--log-filelogs/langflow.logStringSet the path to the log file for Langflow.
See LANGFLOW_LOG_FILE variable.
--cacheasyncasync
redis
memory
disk
Type of cache to use.
See LANGFLOW_CACHE_TYPE variable.
--frontend-path./frontendStringPath to the frontend directory containing build files. This is for development purposes only.
See LANGFLOW_FRONTEND_PATH variable.
--open-browsertrueBooleanOpen the system web browser on startup. Use --no-open-browser to disable opening the system web browser on startup.
See LANGFLOW_OPEN_BROWSER variable.
--remove-api-keysfalse (--no-remove-api-keys)BooleanRemove API keys from the projects saved in the database.
See LANGFLOW_REMOVE_API_KEYS variable.
--backend-onlyfalse (--no-backend-only)BooleanOnly run Langflow's backend server (no frontend).
See LANGFLOW_BACKEND_ONLY variable.
--storetrueBooleanEnable the Langflow Store features. Use --no-store to disable the Langflow Store features.
See LANGFLOW_STORE variable.
--auto-savingtrueBooleanEnable flow auto-saving. Use --no-auto-saving to disable flow auto-saving.
See LANGFLOW_AUTO_SAVING variable.
--auto-saving-interval1000IntegerSet the interval for flow auto-saving in milliseconds.
See LANGFLOW_AUTO_SAVING_INTERVAL variable.
--health-check-max-retries5IntegerSet the maximum number of retries for the health check. Use --no-health-check-max-retries to disable the maximum number of retries for the health check.
See LANGFLOW_HEALTH_CHECK_MAX_RETRIES variable.
--max-file-size-upload100IntegerSet the maximum file size for the upload in megabytes.
See LANGFLOW_MAX_FILE_SIZE_UPLOAD variable.
--ssl-cert-file-pathNot setStringPath to the SSL certificate file on the local system.
--ssl-key-file-pathNot setStringPath to the SSL key file on the local system.
--helpNot applicableNot applicableDisplay information about the command usage and its options and arguments.

langflow superuser

Create a superuser account.


_10
langflow superuser [OPTIONS]
_10
# or
_10
python -m langflow superuser [OPTIONS]

Options

-
OptionDefaultValuesDescription
--usernameRequiredStringSpecify the name for the superuser.
See LANGFLOW_SUPERUSER variable.
--passwordRequiredStringSpecify the password for the superuser.
See LANGFLOW_SUPERUSER_PASSWORD variable.
--log-levelcriticaldebug
info
warning
error
critical
Set the logging level.
+
OptionDefaultValuesDescription
--usernameRequiredStringSpecify the name for the superuser.
See LANGFLOW_SUPERUSER variable.
--passwordRequiredStringSpecify the password for the superuser.
See LANGFLOW_SUPERUSER_PASSWORD variable.

Precedence

Langflow CLI options override the values of corresponding environment variables.

For example, if you have LANGFLOW_PORT=7860 defined as an environment variable, but you run the CLI with --port 7880, Langflow sets the port to 7880, the value passed with the CLI.

diff --git a/configuration-custom-database.html b/configuration-custom-database.html index 201a55676d..04583accac 100644 --- a/configuration-custom-database.html +++ b/configuration-custom-database.html @@ -21,7 +21,7 @@ - + diff --git a/configuration-global-variables.html b/configuration-global-variables.html index 6d82c37140..a86c782425 100644 --- a/configuration-global-variables.html +++ b/configuration-global-variables.html @@ -21,7 +21,7 @@ - + diff --git a/contributing-bundles.html b/contributing-bundles.html index 365ec3f89a..d0002f59c7 100644 --- a/contributing-bundles.html +++ b/contributing-bundles.html @@ -21,7 +21,7 @@ - + diff --git a/contributing-community.html b/contributing-community.html index b1c620d297..64f7ce6c98 100644 --- a/contributing-community.html +++ b/contributing-community.html @@ -21,7 +21,7 @@ - + diff --git a/contributing-component-tests.html b/contributing-component-tests.html index fcc5a9fbb6..90ed70b26e 100644 --- a/contributing-component-tests.html +++ b/contributing-component-tests.html @@ -21,7 +21,7 @@ - + diff --git a/contributing-components.html b/contributing-components.html index b35006a8ed..df0a2c1705 100644 --- a/contributing-components.html +++ b/contributing-components.html @@ -21,7 +21,7 @@ - + diff --git a/contributing-github-discussions.html b/contributing-github-discussions.html index c9bad3735c..beac9ee37a 100644 --- a/contributing-github-discussions.html +++ b/contributing-github-discussions.html @@ -21,7 +21,7 @@ - + diff --git a/contributing-github-issues.html b/contributing-github-issues.html index 24fc166929..fbeee0c506 100644 --- a/contributing-github-issues.html +++ b/contributing-github-issues.html @@ -21,7 +21,7 @@ - + diff --git a/contributing-how-to-contribute.html b/contributing-how-to-contribute.html index 03b6d6cc1e..b4a84aef9f 100644 --- a/contributing-how-to-contribute.html +++ b/contributing-how-to-contribute.html @@ -21,7 +21,7 @@ - + diff --git a/contributing-telemetry.html b/contributing-telemetry.html index fde952c1b9..79f0866792 100644 --- a/contributing-telemetry.html +++ b/contributing-telemetry.html @@ -21,7 +21,7 @@ - + diff --git a/contributing-templates.html b/contributing-templates.html index d82b9582ac..904ee7605b 100644 --- a/contributing-templates.html +++ b/contributing-templates.html @@ -21,7 +21,7 @@ - + diff --git a/deployment-caddyfile.html b/deployment-caddyfile.html index cd75fba405..2d44fb341c 100644 --- a/deployment-caddyfile.html +++ b/deployment-caddyfile.html @@ -21,7 +21,7 @@ - + diff --git a/deployment-docker.html b/deployment-docker.html index c8ec35d9d9..1929f4cec7 100644 --- a/deployment-docker.html +++ b/deployment-docker.html @@ -21,7 +21,7 @@ - + diff --git a/deployment-gcp.html b/deployment-gcp.html index 5a6a263456..65fc95a27d 100644 --- a/deployment-gcp.html +++ b/deployment-gcp.html @@ -21,7 +21,7 @@ - + diff --git a/deployment-hugging-face-spaces.html b/deployment-hugging-face-spaces.html index f55081ff7a..142c8907e8 100644 --- a/deployment-hugging-face-spaces.html +++ b/deployment-hugging-face-spaces.html @@ -21,7 +21,7 @@ - + diff --git a/deployment-kubernetes-dev.html b/deployment-kubernetes-dev.html index 9664b19946..7bfd2116a5 100644 --- a/deployment-kubernetes-dev.html +++ b/deployment-kubernetes-dev.html @@ -21,7 +21,7 @@ - + diff --git a/deployment-kubernetes-prod.html b/deployment-kubernetes-prod.html index 26481d88ab..d608ded448 100644 --- a/deployment-kubernetes-prod.html +++ b/deployment-kubernetes-prod.html @@ -21,7 +21,7 @@ - + diff --git a/deployment-overview.html b/deployment-overview.html index 6622ad351d..5c2fbb4fc8 100644 --- a/deployment-overview.html +++ b/deployment-overview.html @@ -21,7 +21,7 @@ - + diff --git a/deployment-prod-best-practices.html b/deployment-prod-best-practices.html index 21313f574d..c0ced1039b 100644 --- a/deployment-prod-best-practices.html +++ b/deployment-prod-best-practices.html @@ -21,7 +21,7 @@ - + diff --git a/deployment-railway.html b/deployment-railway.html index 7ea81536c0..27ca73e34c 100644 --- a/deployment-railway.html +++ b/deployment-railway.html @@ -21,7 +21,7 @@ - + diff --git a/deployment-render.html b/deployment-render.html index ad39314b63..a9991db362 100644 --- a/deployment-render.html +++ b/deployment-render.html @@ -21,7 +21,7 @@ - + diff --git a/develop-application.html b/develop-application.html index 8001ec85b6..340d6d833c 100644 --- a/develop-application.html +++ b/develop-application.html @@ -21,7 +21,7 @@ - + diff --git a/develop-overview.html b/develop-overview.html index f6eeb4bdf4..c40988aa05 100644 --- a/develop-overview.html +++ b/develop-overview.html @@ -21,7 +21,7 @@ - + diff --git a/document-qa.html b/document-qa.html index 796fa31520..3e238be9f0 100644 --- a/document-qa.html +++ b/document-qa.html @@ -21,7 +21,7 @@ - + diff --git a/environment-variables.html b/environment-variables.html index 193439ecb6..002aad97a3 100644 --- a/environment-variables.html +++ b/environment-variables.html @@ -21,7 +21,7 @@ - + @@ -112,7 +112,7 @@ That means, if you happen to set the same environment variable in both your term white-space: nowrap; } -
VariableFormatDefaultDescription
DO_NOT_TRACKBooleanfalseIf this option is enabled, Langflow does not track telemetry.
LANGFLOW_AUTO_LOGINBooleantrueEnable automatic login for Langflow. Set to false to disable automatic login and require the login form to log into the Langflow UI. Setting to false requires LANGFLOW_SUPERUSER and LANGFLOW_SUPERUSER_PASSWORD to be set.
LANGFLOW_AUTO_SAVINGBooleantrueEnable flow auto-saving.
See --auto-saving option.
LANGFLOW_AUTO_SAVING_INTERVALInteger1000Set the interval for flow auto-saving in milliseconds.
See --auto-saving-interval option.
LANGFLOW_BACKEND_ONLYBooleanfalseOnly run Langflow's backend server (no frontend).
See --backend-only option.
LANGFLOW_BUNDLE_URLSList[String][]A list of URLs from which to load component bundles and flows. Supports GitHub URLs. If LANGFLOW_AUTO_LOGIN is enabled, flows from these bundles are loaded into the database.
LANGFLOW_CACHE_TYPEasync
redis
memory
disk
critical
asyncSet the cache type for Langflow.
If you set the type to redis, then you must also set the following environment variables: LANGFLOW_REDIS_HOST, LANGFLOW_REDIS_PORT, LANGFLOW_REDIS_DB, and LANGFLOW_REDIS_CACHE_EXPIRE.
LANGFLOW_COMPONENTS_PATHStringlangflow/componentsPath to the directory containing custom components.
See --components-path option.
LANGFLOW_CONFIG_DIRStringSee descriptionSet the Langflow configuration directory where files, logs, and the Langflow database are stored. Defaults: Linux/WSL: ~/.cache/langflow/
macOS: /Users/<username>/Library/Caches/langflow/
Windows: %LOCALAPPDATA%\langflow\langflow\Cache
LANGFLOW_DATABASE_URLStringNot setSet the database URL for Langflow. If not provided, Langflow uses a SQLite database.
LANGFLOW_DATABASE_CONNECTION_RETRYBooleanfalseIf True, Langflow tries to connect to the database again if it fails.
LANGFLOW_DB_POOL_SIZEInteger10DEPRECATED: Use LANGFLOW_DB_CONNECTION_SETTINGS instead. The number of connections to keep open in the connection pool.
LANGFLOW_DB_MAX_OVERFLOWInteger20DEPRECATED: Use LANGFLOW_DB_CONNECTION_SETTINGS instead. The number of connections to allow that can be opened beyond the pool size.
LANGFLOW_DB_CONNECT_TIMEOUTInteger20The number of seconds to wait before giving up on a lock to be released or establishing a connection to the database.
LANGFLOW_DB_CONNECTION_SETTINGSJSONNot setA JSON dictionary to centralize database connection parameters. Example: {"pool_size": 10, "max_overflow": 20}
LANGFLOW_DEVBooleanfalseRun Langflow in development mode (may contain bugs).
See --dev option.
LANGFLOW_ENABLE_LOG_RETRIEVALBooleanfalseEnable log retrieval functionality.
LANGFLOW_FALLBACK_TO_ENV_VARBooleantrueIf enabled, global variables set in the Langflow UI fall back to an environment variable with the same name when Langflow fails to retrieve the variable value.
LANGFLOW_FRONTEND_PATHString./frontendPath to the frontend directory containing build files. This is for development purposes only.
See --frontend-path option.
LANGFLOW_HEALTH_CHECK_MAX_RETRIESInteger5Set the maximum number of retries for the health check.
See --health-check-max-retries option.
LANGFLOW_HOSTString127.0.0.1The host on which the Langflow server will run.
See --host option.
LANGFLOW_LANGCHAIN_CACHEInMemoryCache
SQLiteCache
InMemoryCacheType of cache to use.
See --cache option.
LANGFLOW_LOG_LEVELDEBUG
INFO
WARNING
ERROR
CRITICAL
INFOSet the logging level for Langflow.
LANGFLOW_LOG_FILEStringNot setPath to the log file. If this option is not set, logs are written to stdout.
LANGFLOW_LOG_RETRIEVER_BUFFER_SIZEInteger10000Set the buffer size for log retrieval. Only used if LANGFLOW_ENABLE_LOG_RETRIEVAL is enabled.
LANGFLOW_MAX_FILE_SIZE_UPLOADInteger100Set the maximum file size for the upload in megabytes.
See --max-file-size-upload option.
LANGFLOW_MCP_SERVER_ENABLEDBooleantrueIf this option is set to False, Langflow does not enable the MCP server.
LANGFLOW_MCP_SERVER_ENABLE_PROGRESS_NOTIFICATIONSBooleanfalseIf this option is set to True, Langflow sends progress notifications in the MCP server.
LANGFLOW_NEW_USER_IS_ACTIVEBooleanfalseWhen enabled, new users are automatically activated and can log in without requiring explicit activation by the superuser.
LANGFLOW_OPEN_BROWSERBooleanfalseOpen the system web browser on startup.
See --open-browser option.
LANGFLOW_PORTInteger7860The port on which the Langflow server runs. The server automatically selects a free port if the specified port is in use.
See --port option.
LANGFLOW_PROMETHEUS_ENABLEDBooleanfalseExpose Prometheus metrics.
LANGFLOW_PROMETHEUS_PORTInteger9090Set the port on which Langflow exposes Prometheus metrics.
LANGFLOW_REDIS_CACHE_EXPIREInteger3600See LANGFLOW_CACHE_TYPE.
LANGFLOW_REDIS_DBInteger0See LANGFLOW_CACHE_TYPE.
LANGFLOW_REDIS_HOSTStringlocalhostSee LANGFLOW_CACHE_TYPE.
LANGFLOW_REDIS_PORTString6379See LANGFLOW_CACHE_TYPE.
LANGFLOW_REDIS_PASSWORDStringNot setPassword for Redis authentication when using Redis cache type.
LANGFLOW_REMOVE_API_KEYSBooleanfalseRemove API keys from the projects saved in the database.
See --remove-api-keys option.
LANGFLOW_SAVE_DB_IN_CONFIG_DIRBooleanfalseSave the Langflow database in LANGFLOW_CONFIG_DIR instead of in the Langflow package directory. Note, when this variable is set to default (false), the database isn't shared between different virtual environments and the database is deleted when you uninstall Langflow.
LANGFLOW_SECRET_KEYStringAuto-generatedKey used for encrypting sensitive data like API keys. If a key is not provided, a secure key is auto-generated. For production environments with multiple instances, you should explicitly set this to ensure consistent encryption across instances.
LANGFLOW_STOREBooleantrueEnable the Langflow Store.
See --store option.
LANGFLOW_STORE_ENVIRONMENT_VARIABLESBooleantrueStore environment variables as global variables in the database.
LANGFLOW_UPDATE_STARTER_PROJECTSBooleantrueIf this option is enabled, Langflow updates starter projects with the latest component versions when initializing.
LANGFLOW_SUPERUSERStringlangflowSet the name for the superuser. Required if LANGFLOW_AUTO_LOGIN is set to false.
See superuser --username option.
LANGFLOW_SUPERUSER_PASSWORDStringlangflowSet the password for the superuser. Required if LANGFLOW_AUTO_LOGIN is set to false.
See superuser --password option.
LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENTStringNot setComma-separated list of environment variables to get from the environment and store as global variables.
LANGFLOW_LOAD_FLOWS_PATHStringNot setPath to a directory containing flow JSON files to be loaded on startup. Note that this feature only works if LANGFLOW_AUTO_LOGIN is enabled.
LANGFLOW_WORKER_TIMEOUTInteger300Worker timeout in seconds.
See --worker-timeout option.
LANGFLOW_WORKERSInteger1Number of worker processes.
See --workers option.
LANGFLOW_SSL_CERT_FILEStringNot setPath to the SSL certificate file on the local system.
LANGFLOW_SSL_KEY_FILEStringNot setPath to the SSL key file on the local system.
+
VariableFormatDefaultDescription
DO_NOT_TRACKBooleanfalseIf this option is enabled, Langflow does not track telemetry.
LANGFLOW_AUTO_LOGINBooleantrueEnable automatic login for Langflow. Set to false to disable automatic login and require the login form to log into the Langflow UI. Setting to false requires LANGFLOW_SUPERUSER and LANGFLOW_SUPERUSER_PASSWORD to be set.
LANGFLOW_AUTO_SAVINGBooleantrueEnable flow auto-saving.
See --auto-saving option.
LANGFLOW_AUTO_SAVING_INTERVALInteger1000Set the interval for flow auto-saving in milliseconds.
See --auto-saving-interval option.
LANGFLOW_BACKEND_ONLYBooleanfalseOnly run Langflow's backend server (no frontend).
See --backend-only option.
LANGFLOW_BUNDLE_URLSList[String][]A list of URLs from which to load component bundles and flows. Supports GitHub URLs. If LANGFLOW_AUTO_LOGIN is enabled, flows from these bundles are loaded into the database.
LANGFLOW_CACHE_TYPEStringasyncSet the cache type for Langflow. Possible values: async, redis, memory, disk.
If you set the type to redis, then you must also set the following environment variables: LANGFLOW_REDIS_HOST, LANGFLOW_REDIS_PORT, LANGFLOW_REDIS_DB, and LANGFLOW_REDIS_CACHE_EXPIRE.
LANGFLOW_COMPONENTS_PATHStringlangflow/componentsPath to the directory containing custom components.
See --components-path option.
LANGFLOW_CONFIG_DIRStringSee descriptionSet the Langflow configuration directory where files, logs, and the Langflow database are stored. Defaults: Linux/WSL: ~/.cache/langflow/
macOS: /Users/<username>/Library/Caches/langflow/
Windows: %LOCALAPPDATA%\langflow\langflow\Cache
LANGFLOW_DATABASE_URLStringNot setSet the database URL for Langflow. If not provided, Langflow uses a SQLite database.
LANGFLOW_DATABASE_CONNECTION_RETRYBooleanfalseIf True, Langflow tries to connect to the database again if it fails.
LANGFLOW_DB_POOL_SIZEInteger10DEPRECATED: Use LANGFLOW_DB_CONNECTION_SETTINGS instead. The number of connections to keep open in the connection pool.
LANGFLOW_DB_MAX_OVERFLOWInteger20DEPRECATED: Use LANGFLOW_DB_CONNECTION_SETTINGS instead. The number of connections to allow that can be opened beyond the pool size.
LANGFLOW_DB_CONNECT_TIMEOUTInteger20The number of seconds to wait before giving up on a lock to be released or establishing a connection to the database.
LANGFLOW_DB_CONNECTION_SETTINGSJSONNot setA JSON dictionary to centralize database connection parameters. Example: {"pool_size": 10, "max_overflow": 20}
LANGFLOW_ENABLE_LOG_RETRIEVALBooleanfalseEnable log retrieval functionality.
LANGFLOW_FALLBACK_TO_ENV_VARBooleantrueIf enabled, global variables set in the Langflow UI fall back to an environment variable with the same name when Langflow fails to retrieve the variable value.
LANGFLOW_FRONTEND_PATHString./frontendPath to the frontend directory containing build files. This is for development purposes only.
See --frontend-path option.
LANGFLOW_HEALTH_CHECK_MAX_RETRIESInteger5Set the maximum number of retries for the health check.
See --health-check-max-retries option.
LANGFLOW_HOSTString127.0.0.1The host on which the Langflow server will run.
See --host option.
LANGFLOW_LANGCHAIN_CACHEStringInMemoryCacheType of cache to use. Possible values: InMemoryCache, SQLiteCache.
See --cache option.
LANGFLOW_LOG_LEVELStringINFOSet the logging level for Langflow. Possible values: DEBUG, INFO, WARNING, ERROR, CRITICAL.
LANGFLOW_LOG_FILEStringNot setPath to the log file. If this option is not set, logs are written to stdout.
LANGFLOW_LOG_RETRIEVER_BUFFER_SIZEInteger10000Set the buffer size for log retrieval. Only used if LANGFLOW_ENABLE_LOG_RETRIEVAL is enabled.
LANGFLOW_MAX_FILE_SIZE_UPLOADInteger100Set the maximum file size for the upload in megabytes.
See --max-file-size-upload option.
LANGFLOW_MCP_SERVER_ENABLEDBooleantrueIf this option is set to False, Langflow does not enable the MCP server.
LANGFLOW_MCP_SERVER_ENABLE_PROGRESS_NOTIFICATIONSBooleanfalseIf this option is set to True, Langflow sends progress notifications in the MCP server.
LANGFLOW_NEW_USER_IS_ACTIVEBooleanfalseWhen enabled, new users are automatically activated and can log in without requiring explicit activation by the superuser.
LANGFLOW_OPEN_BROWSERBooleanfalseOpen the system web browser on startup.
See --open-browser option.
LANGFLOW_PORTInteger7860The port on which the Langflow server runs. The server automatically selects a free port if the specified port is in use.
See --port option.
LANGFLOW_PROMETHEUS_ENABLEDBooleanfalseExpose Prometheus metrics.
LANGFLOW_PROMETHEUS_PORTInteger9090Set the port on which Langflow exposes Prometheus metrics.
LANGFLOW_REDIS_CACHE_EXPIREInteger3600See LANGFLOW_CACHE_TYPE.
LANGFLOW_REDIS_DBInteger0See LANGFLOW_CACHE_TYPE.
LANGFLOW_REDIS_HOSTStringlocalhostSee LANGFLOW_CACHE_TYPE.
LANGFLOW_REDIS_PORTString6379See LANGFLOW_CACHE_TYPE.
LANGFLOW_REDIS_PASSWORDStringNot setPassword for Redis authentication when using Redis cache type.
LANGFLOW_REMOVE_API_KEYSBooleanfalseRemove API keys from the projects saved in the database.
See --remove-api-keys option.
LANGFLOW_SAVE_DB_IN_CONFIG_DIRBooleanfalseSave the Langflow database in LANGFLOW_CONFIG_DIR instead of in the Langflow package directory. Note, when this variable is set to default (false), the database isn't shared between different virtual environments and the database is deleted when you uninstall Langflow.
LANGFLOW_SECRET_KEYStringAuto-generatedKey used for encrypting sensitive data like API keys. If a key is not provided, a secure key is auto-generated. For production environments with multiple instances, you should explicitly set this to ensure consistent encryption across instances.
LANGFLOW_STOREBooleantrueEnable the Langflow Store.
See --store option.
LANGFLOW_STORE_ENVIRONMENT_VARIABLESBooleantrueStore environment variables as global variables in the database.
LANGFLOW_UPDATE_STARTER_PROJECTSBooleantrueIf this option is enabled, Langflow updates starter projects with the latest component versions when initializing.
LANGFLOW_SUPERUSERStringlangflowSet the name for the superuser. Required if LANGFLOW_AUTO_LOGIN is set to false.
See superuser --username option.
LANGFLOW_SUPERUSER_PASSWORDStringlangflowSet the password for the superuser. Required if LANGFLOW_AUTO_LOGIN is set to false.
See superuser --password option.
LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENTStringNot setComma-separated list of environment variables to get from the environment and store as global variables.
LANGFLOW_LOAD_FLOWS_PATHStringNot setPath to a directory containing flow JSON files to be loaded on startup. Note that this feature only works if LANGFLOW_AUTO_LOGIN is enabled.
LANGFLOW_WORKER_TIMEOUTInteger300Worker timeout in seconds.
See --worker-timeout option.
LANGFLOW_WORKERSInteger1Number of worker processes.
See --workers option.
LANGFLOW_SSL_CERT_FILEStringNot setPath to the SSL certificate file on the local system.
LANGFLOW_SSL_KEY_FILEStringNot setPath to the SSL key file on the local system.

Configure .env, override.conf, and tasks.json files

The following examples show how to configure Langflow using environment variables in different scenarios.

The .env file is a text file that contains key-value pairs of environment variables.

Create or edit a file named .env in your project root directory and add your configuration:


_28
DO_NOT_TRACK=true
_28
LANGFLOW_AUTO_LOGIN=false
_28
LANGFLOW_AUTO_SAVING=true
_28
LANGFLOW_AUTO_SAVING_INTERVAL=1000
_28
LANGFLOW_BACKEND_ONLY=false
_28
LANGFLOW_BUNDLE_URLS=["https://github.com/user/repo/commit/hash"]
_28
LANGFLOW_CACHE_TYPE=async
_28
LANGFLOW_COMPONENTS_PATH=/path/to/components/
_28
LANGFLOW_CONFIG_DIR=/path/to/config/
_28
LANGFLOW_DATABASE_URL=postgresql://user:password@localhost:5432/langflow
_28
LANGFLOW_DEV=false
_28
LANGFLOW_FALLBACK_TO_ENV_VAR=false
_28
LANGFLOW_HEALTH_CHECK_MAX_RETRIES=5
_28
LANGFLOW_HOST=127.0.0.1
_28
LANGFLOW_LANGCHAIN_CACHE=InMemoryCache
_28
LANGFLOW_MAX_FILE_SIZE_UPLOAD=10000
_28
LANGFLOW_LOG_LEVEL=error
_28
LANGFLOW_OPEN_BROWSER=false
_28
LANGFLOW_PORT=7860
_28
LANGFLOW_REMOVE_API_KEYS=false
_28
LANGFLOW_SAVE_DB_IN_CONFIG_DIR=true
_28
LANGFLOW_SECRET_KEY=somesecretkey
_28
LANGFLOW_STORE=true
_28
LANGFLOW_STORE_ENVIRONMENT_VARIABLES=true
_28
LANGFLOW_SUPERUSER=adminuser
_28
LANGFLOW_SUPERUSER_PASSWORD=adminpass
_28
LANGFLOW_WORKER_TIMEOUT=60000
_28
LANGFLOW_WORKERS=3