diff --git a/404.html b/404.html index 207f51d870..b01e799414 100644 --- a/404.html +++ b/404.html @@ -16,8 +16,8 @@ - - + + diff --git a/Concepts/concepts-flows.html b/Concepts/concepts-flows.html index b205985cc2..54314d9ac7 100644 --- a/Concepts/concepts-flows.html +++ b/Concepts/concepts-flows.html @@ -16,8 +16,8 @@ - - + + @@ -25,7 +25,7 @@ -
Skip to main content

Flows

+

Flows

Flows in Langflow are fully serializable and can be saved and loaded from the file system. In this guide, we'll explore how to import and export flows.

Import Flow

If you've already got a Langflow JSON file, import it into Langflow by clicking on the project name and choosing Import Flow.

diff --git a/Deployment/deployment-docker.html b/Deployment/deployment-docker.html index 40eced0295..edb8692aab 100644 --- a/Deployment/deployment-docker.html +++ b/Deployment/deployment-docker.html @@ -16,8 +16,8 @@ - - + + @@ -25,7 +25,7 @@ -

Docker

This guide will help you get LangFlow up and running using Docker and Docker Compose.

+

Docker

This guide will help you get LangFlow up and running using Docker and Docker Compose.

Prerequisites


    diff --git a/agents-overview.html b/agents-overview.html index 2bfc4ffdcf..2c201ab1b5 100644 --- a/agents-overview.html +++ b/agents-overview.html @@ -16,8 +16,8 @@ - - + + @@ -25,7 +25,7 @@ -

    Agents overview

    Agents are AI systems that use LLMs as a brain to analyze problems and select external tools.

    +

    Agents overview

    Agents are AI systems that use LLMs as a brain to analyze problems and select external tools.

    Instead of developers having to create logical statements to direct every possible path of a program, an agent can operate with autonomy. An agent can leverage external tools and APIs to gather information and take action, demonstrate chain-of-thought reasoning, and generate tailored text for specific purposes.

    To simplify the development of agents, Langflow created a custom Tool calling agent component that simplifies configuration and lets developers focus on solving problems with agents.

    Tool calling agentcomponent

    diff --git a/agents-tool-calling-agent-component.html b/agents-tool-calling-agent-component.html index ad87a2e141..665395df2a 100644 --- a/agents-tool-calling-agent-component.html +++ b/agents-tool-calling-agent-component.html @@ -16,8 +16,8 @@ - - + + @@ -25,7 +25,7 @@ -

    Create a problem-solving agent

    +

    Create a problem-solving agent

    Developing agents in Langchain is complex.

    The AgentComponent is a component for easily creating an AI agent capable of analyzing tasks using tools you provide.

    The component contains all of the elements you'll need for creating an agent. Instead of managing LLM models and providers, pick your model and enter your API key. Instead of connecting a Prompt component, enter instructions in the component's Agent Instruction fields.

    diff --git a/api-reference-api-examples.html b/api-reference-api-examples.html index d73c3c0dd4..526bda8e36 100644 --- a/api-reference-api-examples.html +++ b/api-reference-api-examples.html @@ -16,8 +16,8 @@ - - + + @@ -25,7 +25,7 @@ -

    API examples

    +

    API examples

    This page provides examples and practices for managing Langflow using the Langflow API.

    The Langflow API's OpenAPI spec can be viewed and tested at your Langflow deployment's docs endpoint. diff --git a/api.html b/api.html index 7dac2a055a..002dcde9e8 100644 --- a/api.html +++ b/api.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/add-user.html b/api/add-user.html index 2bec37b6fc..ffc05827d5 100644 --- a/api/add-user.html +++ b/api/add-user.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/auto-login.html b/api/auto-login.html index 4007e269fa..82a5977a9f 100644 --- a/api/auto-login.html +++ b/api/auto-login.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/build-flow.html b/api/build-flow.html index 4141d728a5..076bdcade3 100644 --- a/api/build-flow.html +++ b/api/build-flow.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/build-vertex-stream.html b/api/build-vertex-stream.html index ce1b639465..18f6d47861 100644 --- a/api/build-vertex-stream.html +++ b/api/build-vertex-stream.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/build-vertex.html b/api/build-vertex.html index 1b9a85dab2..3ead88cfbc 100644 --- a/api/build-vertex.html +++ b/api/build-vertex.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/check-if-store-has-api-key.html b/api/check-if-store-has-api-key.html index 482fb28b3a..b61e61feb3 100644 --- a/api/check-if-store-has-api-key.html +++ b/api/check-if-store-has-api-key.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/check-if-store-is-enabled.html b/api/check-if-store-is-enabled.html index 1cbaca5857..1f0ef7f4c4 100644 --- a/api/check-if-store-is-enabled.html +++ b/api/check-if-store-is-enabled.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/create-api-key-route.html b/api/create-api-key-route.html index 31960d4298..4919d001c7 100644 --- a/api/create-api-key-route.html +++ b/api/create-api-key-route.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/create-flow.html b/api/create-flow.html index 418d45a2fc..f710a75074 100644 --- a/api/create-flow.html +++ b/api/create-flow.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/create-flows.html b/api/create-flows.html index 1dd1e3354d..fa9dde3ba9 100644 --- a/api/create-flows.html +++ b/api/create-flows.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/create-folder.html b/api/create-folder.html index d3a2124e51..ad15ab4382 100644 --- a/api/create-folder.html +++ b/api/create-folder.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/create-upload-file.html b/api/create-upload-file.html index 5424a026f3..18692e8b2b 100644 --- a/api/create-upload-file.html +++ b/api/create-upload-file.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/create-variable.html b/api/create-variable.html index 99eca473b7..958c472d3d 100644 --- a/api/create-variable.html +++ b/api/create-variable.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/custom-component-update.html b/api/custom-component-update.html index bf50a29420..3516f69cce 100644 --- a/api/custom-component-update.html +++ b/api/custom-component-update.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/custom-component.html b/api/custom-component.html index bcf25414ca..345adff246 100644 --- a/api/custom-component.html +++ b/api/custom-component.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/delete-api-key-route.html b/api/delete-api-key-route.html index 20cf9bf3ca..b0aa2ac094 100644 --- a/api/delete-api-key-route.html +++ b/api/delete-api-key-route.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/delete-file.html b/api/delete-file.html index d74729610d..71b27e95a7 100644 --- a/api/delete-file.html +++ b/api/delete-file.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/delete-flow.html b/api/delete-flow.html index dd6ccb6075..eadacda4f5 100644 --- a/api/delete-flow.html +++ b/api/delete-flow.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/delete-folder.html b/api/delete-folder.html index 922d019680..5e77a22ceb 100644 --- a/api/delete-folder.html +++ b/api/delete-folder.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/delete-messages-session.html b/api/delete-messages-session.html index 5a018858b6..d1883c035d 100644 --- a/api/delete-messages-session.html +++ b/api/delete-messages-session.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/delete-messages.html b/api/delete-messages.html index 6dc387399d..93495d6205 100644 --- a/api/delete-messages.html +++ b/api/delete-messages.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/delete-multiple-flows.html b/api/delete-multiple-flows.html index 5d1ad58740..3c40077d0a 100644 --- a/api/delete-multiple-flows.html +++ b/api/delete-multiple-flows.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/delete-user.html b/api/delete-user.html index df8d5781d3..43e9a294f6 100644 --- a/api/delete-user.html +++ b/api/delete-user.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/delete-variable.html b/api/delete-variable.html index 2938efef74..aa845068f9 100644 --- a/api/delete-variable.html +++ b/api/delete-variable.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/delete-vertex-builds.html b/api/delete-vertex-builds.html index ddcdbf26c6..81784be77d 100644 --- a/api/delete-vertex-builds.html +++ b/api/delete-vertex-builds.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/download-component.html b/api/download-component.html index 5942f1734f..2a954462b5 100644 --- a/api/download-component.html +++ b/api/download-component.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/download-file-1.html b/api/download-file-1.html index 279f173ad6..e0f9ae07fe 100644 --- a/api/download-file-1.html +++ b/api/download-file-1.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/download-file.html b/api/download-file.html index 5a82430dff..f6457bff3f 100644 --- a/api/download-file.html +++ b/api/download-file.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/download-image.html b/api/download-image.html index c4e023cfdf..082e87b29e 100644 --- a/api/download-image.html +++ b/api/download-image.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/download-multiple-file.html b/api/download-multiple-file.html index 025b32eb91..f1c77d0244 100644 --- a/api/download-multiple-file.html +++ b/api/download-multiple-file.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/download-profile-picture.html b/api/download-profile-picture.html index 1e8fcf156c..1739fec16b 100644 --- a/api/download-profile-picture.html +++ b/api/download-profile-picture.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/experimental-run-flow.html b/api/experimental-run-flow.html index e9fc315e1a..7d12c93393 100644 --- a/api/experimental-run-flow.html +++ b/api/experimental-run-flow.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/get-all.html b/api/get-all.html index 101582d043..bf1e781602 100644 --- a/api/get-all.html +++ b/api/get-all.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/get-api-keys-route.html b/api/get-api-keys-route.html index b16942fa72..713c3a9b5c 100644 --- a/api/get-api-keys-route.html +++ b/api/get-api-keys-route.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/get-components.html b/api/get-components.html index 1c1dcb0dc7..01b60503b6 100644 --- a/api/get-components.html +++ b/api/get-components.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/get-config.html b/api/get-config.html index 49eaf2c900..3d887bba4f 100644 --- a/api/get-config.html +++ b/api/get-config.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/get-list-of-components-liked-by-user.html b/api/get-list-of-components-liked-by-user.html index c7b869ea46..b5a8edf5eb 100644 --- a/api/get-list-of-components-liked-by-user.html +++ b/api/get-list-of-components-liked-by-user.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/get-messages.html b/api/get-messages.html index e76d909e69..968d8f1dc5 100644 --- a/api/get-messages.html +++ b/api/get-messages.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/get-starter-projects.html b/api/get-starter-projects.html index b2544063d7..c0ff85f513 100644 --- a/api/get-starter-projects.html +++ b/api/get-starter-projects.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/get-tags.html b/api/get-tags.html index 81afd07f14..d86330c727 100644 --- a/api/get-tags.html +++ b/api/get-tags.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/get-task-status.html b/api/get-task-status.html index 65a0e12bcd..892f29da3e 100644 --- a/api/get-task-status.html +++ b/api/get-task-status.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/get-transactions.html b/api/get-transactions.html index adf22e7502..5b0e67987f 100644 --- a/api/get-transactions.html +++ b/api/get-transactions.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/get-version.html b/api/get-version.html index 8d23eaeb9a..e7466300ed 100644 --- a/api/get-version.html +++ b/api/get-version.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/get-vertex-builds.html b/api/get-vertex-builds.html index cea4101bb4..4b42b9db9e 100644 --- a/api/get-vertex-builds.html +++ b/api/get-vertex-builds.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/handle-messages.html b/api/handle-messages.html index 12668a428c..b59a3e9979 100644 --- a/api/handle-messages.html +++ b/api/handle-messages.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/handle-sse.html b/api/handle-sse.html index 3ff5b2d4cd..6ba46a3a6c 100644 --- a/api/handle-sse.html +++ b/api/handle-sse.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/health-check.html b/api/health-check.html index e560a16b85..98891b927b 100644 --- a/api/health-check.html +++ b/api/health-check.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/health.html b/api/health.html index e13f96fcb0..74cb35a199 100644 --- a/api/health.html +++ b/api/health.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/like-component.html b/api/like-component.html index 8d2be53050..bb026e6f53 100644 --- a/api/like-component.html +++ b/api/like-component.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/list-files.html b/api/list-files.html index 3e60ed05d0..622c5ba6ea 100644 --- a/api/list-files.html +++ b/api/list-files.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/list-profile-pictures.html b/api/list-profile-pictures.html index 9dcba8ff82..ed5866ffee 100644 --- a/api/list-profile-pictures.html +++ b/api/list-profile-pictures.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/login-to-get-access-token.html b/api/login-to-get-access-token.html index a5eecff7e4..7b1d04143b 100644 --- a/api/login-to-get-access-token.html +++ b/api/login-to-get-access-token.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/logout.html b/api/logout.html index ddcad27751..235a487fce 100644 --- a/api/logout.html +++ b/api/logout.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/logs.html b/api/logs.html index 95f408083b..7e66e27b6b 100644 --- a/api/logs.html +++ b/api/logs.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/patch-user.html b/api/patch-user.html index a9076454b0..0ff5f1de14 100644 --- a/api/patch-user.html +++ b/api/patch-user.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/post-validate-code.html b/api/post-validate-code.html index e4a8c98444..00733e6340 100644 --- a/api/post-validate-code.html +++ b/api/post-validate-code.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/post-validate-prompt.html b/api/post-validate-prompt.html index 266c3202d1..6a39208003 100644 --- a/api/post-validate-prompt.html +++ b/api/post-validate-prompt.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/process-1.html b/api/process-1.html index 948d071eda..63e9404267 100644 --- a/api/process-1.html +++ b/api/process-1.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/process.html b/api/process.html index a14890beb7..3c52d65692 100644 --- a/api/process.html +++ b/api/process.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/read-all-users.html b/api/read-all-users.html index 2acd48d7ac..09f49d535e 100644 --- a/api/read-all-users.html +++ b/api/read-all-users.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/read-basic-examples.html b/api/read-basic-examples.html index b018cdfb9c..167f0c65de 100644 --- a/api/read-basic-examples.html +++ b/api/read-basic-examples.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/read-current-user.html b/api/read-current-user.html index eb41ef370a..cf3fae9321 100644 --- a/api/read-current-user.html +++ b/api/read-current-user.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/read-flow.html b/api/read-flow.html index 6e3086c4c5..53f7306fcb 100644 --- a/api/read-flow.html +++ b/api/read-flow.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/read-flows.html b/api/read-flows.html index 80df401b77..8b2d322eaf 100644 --- a/api/read-flows.html +++ b/api/read-flows.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/read-folder.html b/api/read-folder.html index 8075275897..6b6d322d57 100644 --- a/api/read-folder.html +++ b/api/read-folder.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/read-folders.html b/api/read-folders.html index 51cbf533ec..0ec09c917a 100644 --- a/api/read-folders.html +++ b/api/read-folders.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/read-variables.html b/api/read-variables.html index 5cb85d4808..f711c09826 100644 --- a/api/read-variables.html +++ b/api/read-variables.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/refresh-token.html b/api/refresh-token.html index 0dc2db5d47..079bad4ee9 100644 --- a/api/refresh-token.html +++ b/api/refresh-token.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/reset-password.html b/api/reset-password.html index de0e6d86bf..7b8d99f543 100644 --- a/api/reset-password.html +++ b/api/reset-password.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/retrieve-vertices-order.html b/api/retrieve-vertices-order.html index 7d4e0cef19..c0811aff51 100644 --- a/api/retrieve-vertices-order.html +++ b/api/retrieve-vertices-order.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/save-store-api-key.html b/api/save-store-api-key.html index 7629ba4c6a..74d854c659 100644 --- a/api/save-store-api-key.html +++ b/api/save-store-api-key.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/share-component.html b/api/share-component.html index 86e6cec4d6..6bec763b15 100644 --- a/api/share-component.html +++ b/api/share-component.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/simplified-run-flow.html b/api/simplified-run-flow.html index 640ce52eab..a685971ad7 100644 --- a/api/simplified-run-flow.html +++ b/api/simplified-run-flow.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/stream-logs.html b/api/stream-logs.html index dd12c8b8e2..8f7bddcb87 100644 --- a/api/stream-logs.html +++ b/api/stream-logs.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/update-flow.html b/api/update-flow.html index 2a8bfd6f31..4a94dd5fcb 100644 --- a/api/update-flow.html +++ b/api/update-flow.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/update-folder.html b/api/update-folder.html index 2b43c92bc1..d639110498 100644 --- a/api/update-folder.html +++ b/api/update-folder.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/update-message.html b/api/update-message.html index ea56f2aeba..5fde07e3e0 100644 --- a/api/update-message.html +++ b/api/update-message.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/update-session-id.html b/api/update-session-id.html index a21c7846dc..d456229c61 100644 --- a/api/update-session-id.html +++ b/api/update-session-id.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/update-shared-component.html b/api/update-shared-component.html index af76ef126c..8e4f3c99fe 100644 --- a/api/update-shared-component.html +++ b/api/update-shared-component.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/update-variable.html b/api/update-variable.html index e141a6bd75..c20dfa9540 100644 --- a/api/update-variable.html +++ b/api/update-variable.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/upload-file-1.html b/api/upload-file-1.html index 12322cfb44..e02f16a298 100644 --- a/api/upload-file-1.html +++ b/api/upload-file-1.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/upload-file-2.html b/api/upload-file-2.html index f6dc611d64..2345c98eaa 100644 --- a/api/upload-file-2.html +++ b/api/upload-file-2.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/upload-file.html b/api/upload-file.html index 1a1f990723..d35bcbda39 100644 --- a/api/upload-file.html +++ b/api/upload-file.html @@ -16,8 +16,8 @@ - - + + diff --git a/api/webhook-run-flow.html b/api/webhook-run-flow.html index 6d9a4f4549..e59f4aec46 100644 --- a/api/webhook-run-flow.html +++ b/api/webhook-run-flow.html @@ -16,8 +16,8 @@ - - + + diff --git a/assets/images/apify_agent_flow-4893aed54213b8b79d760ff091cbf467.png b/assets/images/apify_agent_flow-4893aed54213b8b79d760ff091cbf467.png new file mode 100644 index 0000000000..fb93d1ba14 Binary files /dev/null and b/assets/images/apify_agent_flow-4893aed54213b8b79d760ff091cbf467.png differ diff --git a/assets/images/apify_agent_flow_simple-6a14081c57b8328d7b225d80448e1793.png b/assets/images/apify_agent_flow_simple-6a14081c57b8328d7b225d80448e1793.png new file mode 100644 index 0000000000..ee6ca2b8f1 Binary files /dev/null and b/assets/images/apify_agent_flow_simple-6a14081c57b8328d7b225d80448e1793.png differ diff --git a/assets/images/apify_flow_wcc-4be614102f62d74ea2e4eb4975d8b72e.png b/assets/images/apify_flow_wcc-4be614102f62d74ea2e4eb4975d8b72e.png new file mode 100644 index 0000000000..776560b555 Binary files /dev/null and b/assets/images/apify_flow_wcc-4be614102f62d74ea2e4eb4975d8b72e.png differ diff --git a/assets/js/172b3cfb.51c275bf.js b/assets/js/172b3cfb.9368ba3d.js similarity index 71% rename from assets/js/172b3cfb.51c275bf.js rename to assets/js/172b3cfb.9368ba3d.js index 03bda42f7f..de8a064784 100644 --- a/assets/js/172b3cfb.51c275bf.js +++ b/assets/js/172b3cfb.9368ba3d.js @@ -1 +1 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[8929],{1975:(M,j,N)=>{N.d(j,{A:()=>D});const D="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUzIiBoZWlnaHQ9IjQwIiB2aWV3Qm94PSIwIDAgMTUzIDQwIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cmVjdCB3aWR0aD0iMTUzIiBoZWlnaHQ9IjQwIiBmaWxsPSIjOEEwNUZGIi8+CjxwYXRoIGQ9Ik0xNy41MDAxIDIxTDE4LjIwNTEgMjEuNzA1TDE5LjUwMDEgMjAuNDE1VjI2LjVIMjAuNTAwMVYyMC40MTVMMjEuNzk1MSAyMS43MDVMMjIuNTAwMSAyMUwyMC4wMDAxIDE4LjVMMTcuNTAwMSAyMVoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik0yMy43NTAxIDIzSDIzLjUwMDFWMjJIMjMuNzUwMUMyNC4zNDY4IDIyLjAyMzkgMjQuOTI4NiAyMS44MDk3IDI1LjM2NzQgMjEuNDA0N0MyNS44MDYyIDIwLjk5OTYgMjYuMDY2MiAyMC40MzY4IDI2LjA5MDEgMTkuODRDMjYuMTEzOSAxOS4yNDMzIDI1Ljg5OTggMTguNjYxNSAyNS40OTQ3IDE4LjIyMjdDMjUuMDg5NiAxNy43ODM4IDI0LjUyNjggMTcuNTIzOSAyMy45MzAxIDE3LjVIMjMuNTAwMUwyMy40NTAxIDE3LjA5QzIzLjMzOTEgMTYuMjQ4MyAyMi45MjYgMTUuNDc1NSAyMi4yODc2IDE0LjkxNTdDMjEuNjQ5MiAxNC4zNTU5IDIwLjgyOTEgMTQuMDQ3MyAxOS45ODAxIDE0LjA0NzNDMTkuMTMxIDE0LjA0NzMgMTguMzEwOSAxNC4zNTU5IDE3LjY3MjUgMTQuOTE1N0MxNy4wMzQxIDE1LjQ3NTUgMTYuNjIxIDE2LjI0ODMgMTYuNTEwMSAxNy4wOUwxNi41MDAxIDE3LjVIMTYuMDcwMUMxNS40NzMzIDE3LjUyMzkgMTQuOTEwNSAxNy43ODM4IDE0LjUwNTQgMTguMjIyN0MxNC4xMDAzIDE4LjY2MTUgMTMuODg2MiAxOS4yNDMzIDEzLjkxMDEgMTkuODRDMTMuOTMzOSAyMC40MzY4IDE0LjE5MzkgMjAuOTk5NiAxNC42MzI3IDIxLjQwNDdDMTUuMDcxNSAyMS44MDk3IDE1LjY1MzMgMjIuMDIzOSAxNi4yNTAxIDIySDE2LjUwMDFWMjNIMTYuMjUwMUMxNS40NDgzIDIyLjk5NSAxNC42NzY2IDIyLjY5MzcgMTQuMDgzNSAyMi4xNTQxQzEzLjQ5MDUgMjEuNjE0NSAxMy4xMTc4IDIwLjg3NDcgMTMuMDM3MSAyMC4wNzdDMTIuOTU2NSAxOS4yNzkyIDEzLjE3MzYgMTguNDc5OCAxMy42NDY3IDE3LjgzMjVDMTQuMTE5OCAxNy4xODUxIDE0LjgxNTUgMTYuNzM1NSAxNS42MDAxIDE2LjU3QzE1LjgxNTkgMTUuNTYzMyAxNi4zNzA1IDE0LjY2MSAxNy4xNzEyIDE0LjAxMzhDMTcuOTcxOSAxMy4zNjY1IDE4Ljk3MDQgMTMuMDEzNCAyMC4wMDAxIDEzLjAxMzRDMjEuMDI5NyAxMy4wMTM0IDIyLjAyODIgMTMuMzY2NSAyMi44Mjg5IDE0LjAxMzhDMjMuNjI5NiAxNC42NjEgMjQuMTg0MiAxNS41NjMzIDI0LjQwMDEgMTYuNTdDMjUuMTg0NiAxNi43MzU1IDI1Ljg4MDMgMTcuMTg1MSAyNi4zNTM0IDE3LjgzMjVDMjYuODI2NSAxOC40Nzk4IDI3LjA0MzYgMTkuMjc5MiAyNi45NjMgMjAuMDc3QzI2Ljg4MjMgMjAuODc0NyAyNi41MDk2IDIxLjYxNDUgMjUuOTE2NiAyMi4xNTQxQzI1LjMyMzUgMjIuNjkzNyAyNC41NTE4IDIyLjk5NSAyMy43NTAxIDIzWiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTM5LjA2MzIgMjVIMzUuNDM3MlYxNC45OUgzOS4wNjMyQzQxLjgyMTIgMTQuOTkgNDMuNTE1MiAxNi43ODIgNDMuNTE1MiAyMC4wMDJDNDMuNTE1MiAyMy4yMjIgNDEuODIxMiAyNSAzOS4wNjMyIDI1Wk0zNi42OTcyIDIzLjg4SDM5LjA2MzJDNDEuNjExMiAyMy44OCA0Mi4xOTkyIDIxLjk2MiA0Mi4xOTkyIDIwLjAwMkM0Mi4xOTkyIDE4LjA0MiA0MS42MTEyIDE2LjExIDM5LjA2MzIgMTYuMTFIMzYuNjk3MlYyMy44OFpNNTEuNDMwOSAyMS4xNjRDNTEuNDMwOSAyMS4zNzQgNTEuNDMwOSAyMS42MTIgNTEuNDE2OSAyMS43MjRINDUuODMwOUM0NS44NTg5IDIyLjk4NCA0Ni41NTg5IDI0LjI0NCA0OC4xNDA5IDI0LjI0NEM0OS41NDA5IDI0LjI0NCA1MC4wNzI5IDIzLjMwNiA1MC4xOTg5IDIyLjgwMkg1MS4zMzI5QzUwLjk2ODkgMjQuMTMyIDQ5Ljk2MDkgMjUuMjEgNDguMTI2OSAyNS4yMUM0NS44NzI5IDI1LjIxIDQ0LjY1NDkgMjMuNTg2IDQ0LjY1NDkgMjEuNDE2QzQ0LjY1NDkgMTkuMTM0IDQ2LjAxMjkgMTcuNjUgNDguMTI2OSAxNy42NUM1MC4yMTI5IDE3LjY1IDUxLjQzMDkgMTkuMDc4IDUxLjQzMDkgMjEuMTY0Wk00NS44MzA5IDIwLjc0NEg1MC4yNDA5QzUwLjI0MDkgMTkuNTY4IDQ5LjQwMDkgMTguNjE2IDQ4LjA3MDkgMTguNjE2QzQ2LjgzODkgMTguNjE2IDQ1LjkwMDkgMTkuNDk4IDQ1LjgzMDkgMjAuNzQ0Wk01Ni4xODk4IDE3LjY2NEM1Ny45ODE4IDE3LjY2NCA1OS40MDk4IDE5LjA3OCA1OS40MDk4IDIxLjQzQzU5LjQwOTggMjMuNzgyIDU3Ljk4MTggMjUuMTk2IDU2LjE4OTggMjUuMTk2QzU1LjA0MTggMjUuMTk2IDU0LjM2OTggMjQuNjkyIDUzLjk0OTggMjQuMDc2SDUzLjkyMThWMjcuNDc4SDUyLjgwMThWMTcuODZINTMuOTIxOFYxOC43NDJINTMuOTQ5OEM1NC4zNjk4IDE4LjE5NiA1NS4wNDE4IDE3LjY2NCA1Ni4xODk4IDE3LjY2NFpNNTYuMDc3OCAyNC4yMTZDNTcuNTQ3OCAyNC4yMTYgNTguMjMzOCAyMi44MyA1OC4yMzM4IDIxLjQzQzU4LjIzMzggMjAuMDMgNTcuNTQ3OCAxOC42NDQgNTYuMDc3OCAxOC42NDRDNTQuNzQ3OCAxOC42NDQgNTMuOTIxOCAxOS43NSA1My45MjE4IDIxLjQzQzUzLjkyMTggMjMuMTEgNTQuNzQ3OCAyNC4yMTYgNTYuMDc3OCAyNC4yMTZaTTYxLjkwOTQgMjVINjAuNzg5NFYxNC45OUg2MS45MDk0VjI1Wk02Ni43ODU1IDI1LjIxQzY0LjYwMTUgMjUuMjEgNjMuMjg1NSAyMy42NTYgNjMuMjg1NSAyMS40M0M2My4yODU1IDE5LjIwNCA2NC42MDE1IDE3LjY1IDY2Ljc4NTUgMTcuNjVDNjguOTU1NSAxNy42NSA3MC4yNzE1IDE5LjIwNCA3MC4yNzE1IDIxLjQzQzcwLjI3MTUgMjMuNjU2IDY4Ljk1NTUgMjUuMjEgNjYuNzg1NSAyNS4yMVpNNjYuNzg1NSAyNC4yM0M2OC4zODE1IDI0LjIzIDY5LjA5NTUgMjIuOTU2IDY5LjA5NTUgMjEuNDNDNjkuMDk1NSAxOS45MDQgNjguMzgxNSAxOC42MyA2Ni43ODU1IDE4LjYzQzY1LjE3NTUgMTguNjMgNjQuNDYxNSAxOS45MDQgNjQuNDYxNSAyMS40M0M2NC40NjE1IDIyLjk1NiA2NS4xNzU1IDI0LjIzIDY2Ljc4NTUgMjQuMjNaTTcyLjIwMiAyNy41MDZDNzEuOTUgMjcuNTA2IDcxLjc4MiAyNy40OTIgNzEuNDYgMjcuNDM2VjI2LjQ4NEM3MS42OTggMjYuNTEyIDcxLjgxIDI2LjUyNiA3Mi4wMiAyNi41MjZDNzIuNjA4IDI2LjUyNiA3My4yNTIgMjYuMTYyIDczLjU2IDI0LjkzTDcwLjY2MiAxNy44Nkg3MS45MjJMNzQuMTIgMjMuNTQ0SDc0LjE0OEw3Ni4yNDggMTcuODZINzcuNDUyTDc0LjU2OCAyNS4yMUM3My44NTQgMjcuMDE2IDczLjE2OCAyNy41MDYgNzIuMjAyIDI3LjUwNlpNODQuMjM3IDE3Ljg2VjE4Ljg0SDgyLjgzN1YyMy4xMzhDODIuODM3IDIzLjg5NCA4My4wMTkgMjQuMDkgODMuNjQ5IDI0LjA5QzgzLjg4NyAyNC4wOSA4My45OTkgMjQuMDc2IDg0LjIzNyAyNC4wNDhWMjVDODMuOTE1IDI1LjA1NiA4My43NDcgMjUuMDcgODMuNDk1IDI1LjA3QzgyLjQ0NSAyNS4wNyA4MS43MTcgMjQuNzA2IDgxLjcxNyAyMy4wODJWMTguODRIODAuNjY3VjE3Ljg2SDgxLjcxN1YxNS40OEg4Mi44MzdWMTcuODZIODQuMjM3Wk04OC41MDk1IDI1LjIxQzg2LjMyNTUgMjUuMjEgODUuMDA5NSAyMy42NTYgODUuMDA5NSAyMS40M0M4NS4wMDk1IDE5LjIwNCA4Ni4zMjU1IDE3LjY1IDg4LjUwOTUgMTcuNjVDOTAuNjc5NSAxNy42NSA5MS45OTU1IDE5LjIwNCA5MS45OTU1IDIxLjQzQzkxLjk5NTUgMjMuNjU2IDkwLjY3OTUgMjUuMjEgODguNTA5NSAyNS4yMVpNODguNTA5NSAyNC4yM0M5MC4xMDU1IDI0LjIzIDkwLjgxOTUgMjIuOTU2IDkwLjgxOTUgMjEuNDNDOTAuODE5NSAxOS45MDQgOTAuMTA1NSAxOC42MyA4OC41MDk1IDE4LjYzQzg2Ljg5OTUgMTguNjMgODYuMTg1NSAxOS45MDQgODYuMTg1NSAyMS40M0M4Ni4xODU1IDIyLjk1NiA4Ni44OTk1IDI0LjIzIDg4LjUwOTUgMjQuMjNaTTk3Ljk4IDI1SDk2LjcyVjE0Ljk5SDEwMC43MzhDMTAyLjkzNiAxNC45OSAxMDQuMDg0IDE2LjAyNiAxMDQuMDg0IDE3Ljg3NEMxMDQuMDg0IDE5LjEyIDEwMy4zMTQgMjAuMDcyIDEwMi4yNjQgMjAuMzI0VjIwLjM1MkMxMDQuNTE4IDIwLjc4NiAxMDMuNjkyIDI0Ljc0OCAxMDQuMjI0IDI0LjkxNlYyNUgxMDIuODY2QzEwMi40MzIgMjQuNTggMTAzLjM4NCAyMC45NTQgMTAwLjg1IDIwLjk1NEg5Ny45OFYyNVpNOTcuOTggMTkuODM0SDEwMC40NDRDMTAxLjk3IDE5LjgzNCAxMDIuODI0IDE5LjE0OCAxMDIuODI0IDE3LjkwMkMxMDIuODI0IDE2Ljc1NCAxMDIuMTggMTYuMTEgMTAwLjQ4NiAxNi4xMUg5Ny45OFYxOS44MzRaTTExMS45NjIgMjEuMTY0QzExMS45NjIgMjEuMzc0IDExMS45NjIgMjEuNjEyIDExMS45NDggMjEuNzI0SDEwNi4zNjJDMTA2LjM5IDIyLjk4NCAxMDcuMDkgMjQuMjQ0IDEwOC42NzIgMjQuMjQ0QzExMC4wNzIgMjQuMjQ0IDExMC42MDQgMjMuMzA2IDExMC43MyAyMi44MDJIMTExLjg2NEMxMTEuNSAyNC4xMzIgMTEwLjQ5MiAyNS4yMSAxMDguNjU4IDI1LjIxQzEwNi40MDQgMjUuMjEgMTA1LjE4NiAyMy41ODYgMTA1LjE4NiAyMS40MTZDMTA1LjE4NiAxOS4xMzQgMTA2LjU0NCAxNy42NSAxMDguNjU4IDE3LjY1QzExMC43NDQgMTcuNjUgMTExLjk2MiAxOS4wNzggMTExLjk2MiAyMS4xNjRaTTEwNi4zNjIgMjAuNzQ0SDExMC43NzJDMTEwLjc3MiAxOS41NjggMTA5LjkzMiAxOC42MTYgMTA4LjYwMiAxOC42MTZDMTA3LjM3IDE4LjYxNiAxMDYuNDMyIDE5LjQ5OCAxMDYuMzYyIDIwLjc0NFpNMTE2LjgzMyAxNy42NjRDMTE4LjEzNSAxNy42NjQgMTE5LjIyNyAxOC4zNzggMTE5LjIyNyAyMC4wMTZWMjVIMTE4LjEwN1YyMC4yOTZDMTE4LjEwNyAxOS4zNzIgMTE3LjY3MyAxOC42NDQgMTE2LjU1MyAxOC42NDRDMTE1LjI5MyAxOC42NDQgMTE0LjQ1MyAxOS40NDIgMTE0LjQ1MyAyMC41NDhWMjVIMTEzLjMzM1YxNy44NkgxMTQuNDUzVjE4LjcxNEgxMTQuNDgxQzExNC44NTkgMTguMjEgMTE1LjYxNSAxNy42NjQgMTE2LjgzMyAxNy42NjRaTTEyNi4wNDcgMTguNzg0VjE0Ljk5SDEyNy4xNjdWMjVIMTI2LjA0N1YyNC4xMThIMTI2LjAxOUMxMjUuNTk5IDI0LjY2NCAxMjQuOTI3IDI1LjE5NiAxMjMuNzc5IDI1LjE5NkMxMjEuOTg3IDI1LjE5NiAxMjAuNTU5IDIzLjc4MiAxMjAuNTU5IDIxLjQzQzEyMC41NTkgMTkuMDc4IDEyMS45ODcgMTcuNjY0IDEyMy43NzkgMTcuNjY0QzEyNC45MjcgMTcuNjY0IDEyNS41OTkgMTguMTY4IDEyNi4wMTkgMTguNzg0SDEyNi4wNDdaTTEyMy44OTEgMjQuMjE2QzEyNS4yMjEgMjQuMjE2IDEyNi4wNDcgMjMuMTEgMTI2LjA0NyAyMS40M0MxMjYuMDQ3IDE5Ljc1IDEyNS4yMjEgMTguNjQ0IDEyMy44OTEgMTguNjQ0QzEyMi40MjEgMTguNjQ0IDEyMS43MzUgMjAuMDMgMTIxLjczNSAyMS40M0MxMjEuNzM1IDIyLjgzIDEyMi40MjEgMjQuMjE2IDEyMy44OTEgMjQuMjE2Wk0xMzUuMzIzIDIxLjE2NEMxMzUuMzIzIDIxLjM3NCAxMzUuMzIzIDIxLjYxMiAxMzUuMzA5IDIxLjcyNEgxMjkuNzIzQzEyOS43NTEgMjIuOTg0IDEzMC40NTEgMjQuMjQ0IDEzMi4wMzMgMjQuMjQ0QzEzMy40MzMgMjQuMjQ0IDEzMy45NjUgMjMuMzA2IDEzNC4wOTEgMjIuODAySDEzNS4yMjVDMTM0Ljg2MSAyNC4xMzIgMTMzLjg1MyAyNS4yMSAxMzIuMDE5IDI1LjIxQzEyOS43NjUgMjUuMjEgMTI4LjU0NyAyMy41ODYgMTI4LjU0NyAyMS40MTZDMTI4LjU0NyAxOS4xMzQgMTI5LjkwNSAxNy42NSAxMzIuMDE5IDE3LjY1QzEzNC4xMDUgMTcuNjUgMTM1LjMyMyAxOS4wNzggMTM1LjMyMyAyMS4xNjRaTTEyOS43MjMgMjAuNzQ0SDEzNC4xMzNDMTM0LjEzMyAxOS41NjggMTMzLjI5MyAxOC42MTYgMTMxLjk2MyAxOC42MTZDMTMwLjczMSAxOC42MTYgMTI5Ljc5MyAxOS40OTggMTI5LjcyMyAyMC43NDRaTTEzOS44MTYgMTcuNjY0QzE0MC4wODIgMTcuNjY0IDE0MC4yNzggMTcuNjc4IDE0MC40NzQgMTcuNzA2VjE4LjgyNkMxNDAuMzA2IDE4Ljc5OCAxNDAuMTggMTguNzg0IDE0MC4wMTIgMTguNzg0QzEzOC42OTYgMTguNzg0IDEzNy44MTQgMTkuODIgMTM3LjgxNCAyMS4xOTJWMjVIMTM2LjY5NFYxNy44NkgxMzcuODE0VjE5LjI3NEgxMzcuODQyQzEzOC4yMiAxOC4zMzYgMTM4Ljc5NCAxNy42NjQgMTM5LjgxNiAxNy42NjRaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K"},18849:(M,j,N)=>{N.r(j),N.d(j,{assets:()=>u,contentTitle:()=>y,default:()=>x,frontMatter:()=>T,metadata:()=>D,toc:()=>e});const D=JSON.parse('{"id":"Deployment/deployment-render","title":"Render","description":"Deploy on Render","source":"@site/docs/Deployment/deployment-render.md","sourceDirName":"Deployment","slug":"/deployment-render","permalink":"/deployment-render","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{"title":"Render","slug":"/deployment-render"},"sidebar":"docs","previous":{"title":"Railway","permalink":"/deployment-railway"},"next":{"title":"AssemblyAI","permalink":"/integrations-assemblyai"}}');var I=N(74848),g=N(28453);const T={title:"Render",slug:"/deployment-render"},y=void 0,u={},e=[{value:"Deploy on Render",id:"20a959b7047e44e490cc129fd21895c0",level:2}];function A(M){const j={a:"a",code:"code",h2:"h2",hr:"hr",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",...(0,g.R)(),...M.components};return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(j.h2,{id:"20a959b7047e44e490cc129fd21895c0",children:"Deploy on Render"}),"\n",(0,I.jsx)(j.hr,{}),"\n",(0,I.jsxs)(j.p,{children:[(0,I.jsx)(j.a,{href:"http://render.com/",children:"Render.com"})," is a unified cloud platform designed to make deploying web applications, APIs, and static sites easy. It provides a streamlined experience with powerful features like automatic SSL, managed databases, and auto-deploy from Git, making it a popular choice for developers looking to simplify their deployment workflows."]}),"\n",(0,I.jsx)(j.p,{children:"Deploying Langflow to Render is a straightforward process that can be completed in just a few steps:"}),"\n",(0,I.jsxs)(j.ol,{children:["\n",(0,I.jsxs)(j.li,{children:["\n",(0,I.jsxs)(j.p,{children:[(0,I.jsx)(j.strong,{children:"Click the Button Below"}),": Start by clicking the deployment button provided below. This will redirect you to the Render platform."]}),"\n",(0,I.jsx)(j.p,{children:(0,I.jsx)(j.a,{href:"https://render.com/deploy?repo=https%3A%2F%2Fgithub.com%2Flangflow-ai%2Flangflow%2Ftree%2Fdev",children:(0,I.jsx)(j.img,{alt:"Deploy to Render",src:N(1975).A+"",width:"153",height:"40"})})}),"\n"]}),"\n",(0,I.jsxs)(j.li,{children:["\n",(0,I.jsxs)(j.p,{children:[(0,I.jsx)(j.strong,{children:"Select the Blueprint Configuration"}),": Once on the Render platform, you will be prompted to provide a blueprint name and to select the branch for your ",(0,I.jsx)(j.code,{children:"render.yaml"})," file in Langflow. This configuration file includes all the necessary settings and resources to deploy Langflow in Render. The default is ",(0,I.jsx)(j.code,{children:"main"}),"."]}),"\n"]}),"\n",(0,I.jsxs)(j.li,{children:["\n",(0,I.jsxs)(j.p,{children:["The ",(0,I.jsx)(j.code,{children:"render.yaml"})," file specifies a ",(0,I.jsx)(j.code,{children:"standard"})," Render instance, because Langflow requires at least 2 GB of RAM to run. This may require a credit card to sign up. Review the pricing details on the Render platform to understand any costs involved before proceeding. If you need to change your plan later, from the Render dashboard, go to ",(0,I.jsx)(j.strong,{children:"Settings"})," > ",(0,I.jsx)(j.strong,{children:"Instance Type"}),"."]}),"\n"]}),"\n",(0,I.jsxs)(j.li,{children:["\n",(0,I.jsxs)(j.p,{children:["Click ",(0,I.jsx)(j.strong,{children:"Deploy Blueprint"})," to deploy Langflow. Render will handle the rest, including setting up the database, deploying the Langflow instance, and starting the application."]}),"\n"]}),"\n"]}),"\n",(0,I.jsx)(j.p,{children:"By following these steps, your Langflow instance will be successfully deployed on Render."})]})}function x(M={}){const{wrapper:j}={...(0,g.R)(),...M.components};return j?(0,I.jsx)(j,{...M,children:(0,I.jsx)(A,{...M})}):A(M)}},28453:(M,j,N)=>{N.d(j,{R:()=>T,x:()=>y});var D=N(96540);const I={},g=D.createContext(I);function T(M){const j=D.useContext(g);return D.useMemo((function(){return"function"==typeof M?M(j):{...j,...M}}),[j,M])}function y(M){let j;return j=M.disableParentContext?"function"==typeof M.components?M.components(I):M.components||I:T(M.components),D.createElement(g.Provider,{value:j},M.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[8929],{1975:(M,j,N)=>{N.d(j,{A:()=>D});const D="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUzIiBoZWlnaHQ9IjQwIiB2aWV3Qm94PSIwIDAgMTUzIDQwIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cmVjdCB3aWR0aD0iMTUzIiBoZWlnaHQ9IjQwIiBmaWxsPSIjOEEwNUZGIi8+CjxwYXRoIGQ9Ik0xNy41MDAxIDIxTDE4LjIwNTEgMjEuNzA1TDE5LjUwMDEgMjAuNDE1VjI2LjVIMjAuNTAwMVYyMC40MTVMMjEuNzk1MSAyMS43MDVMMjIuNTAwMSAyMUwyMC4wMDAxIDE4LjVMMTcuNTAwMSAyMVoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik0yMy43NTAxIDIzSDIzLjUwMDFWMjJIMjMuNzUwMUMyNC4zNDY4IDIyLjAyMzkgMjQuOTI4NiAyMS44MDk3IDI1LjM2NzQgMjEuNDA0N0MyNS44MDYyIDIwLjk5OTYgMjYuMDY2MiAyMC40MzY4IDI2LjA5MDEgMTkuODRDMjYuMTEzOSAxOS4yNDMzIDI1Ljg5OTggMTguNjYxNSAyNS40OTQ3IDE4LjIyMjdDMjUuMDg5NiAxNy43ODM4IDI0LjUyNjggMTcuNTIzOSAyMy45MzAxIDE3LjVIMjMuNTAwMUwyMy40NTAxIDE3LjA5QzIzLjMzOTEgMTYuMjQ4MyAyMi45MjYgMTUuNDc1NSAyMi4yODc2IDE0LjkxNTdDMjEuNjQ5MiAxNC4zNTU5IDIwLjgyOTEgMTQuMDQ3MyAxOS45ODAxIDE0LjA0NzNDMTkuMTMxIDE0LjA0NzMgMTguMzEwOSAxNC4zNTU5IDE3LjY3MjUgMTQuOTE1N0MxNy4wMzQxIDE1LjQ3NTUgMTYuNjIxIDE2LjI0ODMgMTYuNTEwMSAxNy4wOUwxNi41MDAxIDE3LjVIMTYuMDcwMUMxNS40NzMzIDE3LjUyMzkgMTQuOTEwNSAxNy43ODM4IDE0LjUwNTQgMTguMjIyN0MxNC4xMDAzIDE4LjY2MTUgMTMuODg2MiAxOS4yNDMzIDEzLjkxMDEgMTkuODRDMTMuOTMzOSAyMC40MzY4IDE0LjE5MzkgMjAuOTk5NiAxNC42MzI3IDIxLjQwNDdDMTUuMDcxNSAyMS44MDk3IDE1LjY1MzMgMjIuMDIzOSAxNi4yNTAxIDIySDE2LjUwMDFWMjNIMTYuMjUwMUMxNS40NDgzIDIyLjk5NSAxNC42NzY2IDIyLjY5MzcgMTQuMDgzNSAyMi4xNTQxQzEzLjQ5MDUgMjEuNjE0NSAxMy4xMTc4IDIwLjg3NDcgMTMuMDM3MSAyMC4wNzdDMTIuOTU2NSAxOS4yNzkyIDEzLjE3MzYgMTguNDc5OCAxMy42NDY3IDE3LjgzMjVDMTQuMTE5OCAxNy4xODUxIDE0LjgxNTUgMTYuNzM1NSAxNS42MDAxIDE2LjU3QzE1LjgxNTkgMTUuNTYzMyAxNi4zNzA1IDE0LjY2MSAxNy4xNzEyIDE0LjAxMzhDMTcuOTcxOSAxMy4zNjY1IDE4Ljk3MDQgMTMuMDEzNCAyMC4wMDAxIDEzLjAxMzRDMjEuMDI5NyAxMy4wMTM0IDIyLjAyODIgMTMuMzY2NSAyMi44Mjg5IDE0LjAxMzhDMjMuNjI5NiAxNC42NjEgMjQuMTg0MiAxNS41NjMzIDI0LjQwMDEgMTYuNTdDMjUuMTg0NiAxNi43MzU1IDI1Ljg4MDMgMTcuMTg1MSAyNi4zNTM0IDE3LjgzMjVDMjYuODI2NSAxOC40Nzk4IDI3LjA0MzYgMTkuMjc5MiAyNi45NjMgMjAuMDc3QzI2Ljg4MjMgMjAuODc0NyAyNi41MDk2IDIxLjYxNDUgMjUuOTE2NiAyMi4xNTQxQzI1LjMyMzUgMjIuNjkzNyAyNC41NTE4IDIyLjk5NSAyMy43NTAxIDIzWiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTM5LjA2MzIgMjVIMzUuNDM3MlYxNC45OUgzOS4wNjMyQzQxLjgyMTIgMTQuOTkgNDMuNTE1MiAxNi43ODIgNDMuNTE1MiAyMC4wMDJDNDMuNTE1MiAyMy4yMjIgNDEuODIxMiAyNSAzOS4wNjMyIDI1Wk0zNi42OTcyIDIzLjg4SDM5LjA2MzJDNDEuNjExMiAyMy44OCA0Mi4xOTkyIDIxLjk2MiA0Mi4xOTkyIDIwLjAwMkM0Mi4xOTkyIDE4LjA0MiA0MS42MTEyIDE2LjExIDM5LjA2MzIgMTYuMTFIMzYuNjk3MlYyMy44OFpNNTEuNDMwOSAyMS4xNjRDNTEuNDMwOSAyMS4zNzQgNTEuNDMwOSAyMS42MTIgNTEuNDE2OSAyMS43MjRINDUuODMwOUM0NS44NTg5IDIyLjk4NCA0Ni41NTg5IDI0LjI0NCA0OC4xNDA5IDI0LjI0NEM0OS41NDA5IDI0LjI0NCA1MC4wNzI5IDIzLjMwNiA1MC4xOTg5IDIyLjgwMkg1MS4zMzI5QzUwLjk2ODkgMjQuMTMyIDQ5Ljk2MDkgMjUuMjEgNDguMTI2OSAyNS4yMUM0NS44NzI5IDI1LjIxIDQ0LjY1NDkgMjMuNTg2IDQ0LjY1NDkgMjEuNDE2QzQ0LjY1NDkgMTkuMTM0IDQ2LjAxMjkgMTcuNjUgNDguMTI2OSAxNy42NUM1MC4yMTI5IDE3LjY1IDUxLjQzMDkgMTkuMDc4IDUxLjQzMDkgMjEuMTY0Wk00NS44MzA5IDIwLjc0NEg1MC4yNDA5QzUwLjI0MDkgMTkuNTY4IDQ5LjQwMDkgMTguNjE2IDQ4LjA3MDkgMTguNjE2QzQ2LjgzODkgMTguNjE2IDQ1LjkwMDkgMTkuNDk4IDQ1LjgzMDkgMjAuNzQ0Wk01Ni4xODk4IDE3LjY2NEM1Ny45ODE4IDE3LjY2NCA1OS40MDk4IDE5LjA3OCA1OS40MDk4IDIxLjQzQzU5LjQwOTggMjMuNzgyIDU3Ljk4MTggMjUuMTk2IDU2LjE4OTggMjUuMTk2QzU1LjA0MTggMjUuMTk2IDU0LjM2OTggMjQuNjkyIDUzLjk0OTggMjQuMDc2SDUzLjkyMThWMjcuNDc4SDUyLjgwMThWMTcuODZINTMuOTIxOFYxOC43NDJINTMuOTQ5OEM1NC4zNjk4IDE4LjE5NiA1NS4wNDE4IDE3LjY2NCA1Ni4xODk4IDE3LjY2NFpNNTYuMDc3OCAyNC4yMTZDNTcuNTQ3OCAyNC4yMTYgNTguMjMzOCAyMi44MyA1OC4yMzM4IDIxLjQzQzU4LjIzMzggMjAuMDMgNTcuNTQ3OCAxOC42NDQgNTYuMDc3OCAxOC42NDRDNTQuNzQ3OCAxOC42NDQgNTMuOTIxOCAxOS43NSA1My45MjE4IDIxLjQzQzUzLjkyMTggMjMuMTEgNTQuNzQ3OCAyNC4yMTYgNTYuMDc3OCAyNC4yMTZaTTYxLjkwOTQgMjVINjAuNzg5NFYxNC45OUg2MS45MDk0VjI1Wk02Ni43ODU1IDI1LjIxQzY0LjYwMTUgMjUuMjEgNjMuMjg1NSAyMy42NTYgNjMuMjg1NSAyMS40M0M2My4yODU1IDE5LjIwNCA2NC42MDE1IDE3LjY1IDY2Ljc4NTUgMTcuNjVDNjguOTU1NSAxNy42NSA3MC4yNzE1IDE5LjIwNCA3MC4yNzE1IDIxLjQzQzcwLjI3MTUgMjMuNjU2IDY4Ljk1NTUgMjUuMjEgNjYuNzg1NSAyNS4yMVpNNjYuNzg1NSAyNC4yM0M2OC4zODE1IDI0LjIzIDY5LjA5NTUgMjIuOTU2IDY5LjA5NTUgMjEuNDNDNjkuMDk1NSAxOS45MDQgNjguMzgxNSAxOC42MyA2Ni43ODU1IDE4LjYzQzY1LjE3NTUgMTguNjMgNjQuNDYxNSAxOS45MDQgNjQuNDYxNSAyMS40M0M2NC40NjE1IDIyLjk1NiA2NS4xNzU1IDI0LjIzIDY2Ljc4NTUgMjQuMjNaTTcyLjIwMiAyNy41MDZDNzEuOTUgMjcuNTA2IDcxLjc4MiAyNy40OTIgNzEuNDYgMjcuNDM2VjI2LjQ4NEM3MS42OTggMjYuNTEyIDcxLjgxIDI2LjUyNiA3Mi4wMiAyNi41MjZDNzIuNjA4IDI2LjUyNiA3My4yNTIgMjYuMTYyIDczLjU2IDI0LjkzTDcwLjY2MiAxNy44Nkg3MS45MjJMNzQuMTIgMjMuNTQ0SDc0LjE0OEw3Ni4yNDggMTcuODZINzcuNDUyTDc0LjU2OCAyNS4yMUM3My44NTQgMjcuMDE2IDczLjE2OCAyNy41MDYgNzIuMjAyIDI3LjUwNlpNODQuMjM3IDE3Ljg2VjE4Ljg0SDgyLjgzN1YyMy4xMzhDODIuODM3IDIzLjg5NCA4My4wMTkgMjQuMDkgODMuNjQ5IDI0LjA5QzgzLjg4NyAyNC4wOSA4My45OTkgMjQuMDc2IDg0LjIzNyAyNC4wNDhWMjVDODMuOTE1IDI1LjA1NiA4My43NDcgMjUuMDcgODMuNDk1IDI1LjA3QzgyLjQ0NSAyNS4wNyA4MS43MTcgMjQuNzA2IDgxLjcxNyAyMy4wODJWMTguODRIODAuNjY3VjE3Ljg2SDgxLjcxN1YxNS40OEg4Mi44MzdWMTcuODZIODQuMjM3Wk04OC41MDk1IDI1LjIxQzg2LjMyNTUgMjUuMjEgODUuMDA5NSAyMy42NTYgODUuMDA5NSAyMS40M0M4NS4wMDk1IDE5LjIwNCA4Ni4zMjU1IDE3LjY1IDg4LjUwOTUgMTcuNjVDOTAuNjc5NSAxNy42NSA5MS45OTU1IDE5LjIwNCA5MS45OTU1IDIxLjQzQzkxLjk5NTUgMjMuNjU2IDkwLjY3OTUgMjUuMjEgODguNTA5NSAyNS4yMVpNODguNTA5NSAyNC4yM0M5MC4xMDU1IDI0LjIzIDkwLjgxOTUgMjIuOTU2IDkwLjgxOTUgMjEuNDNDOTAuODE5NSAxOS45MDQgOTAuMTA1NSAxOC42MyA4OC41MDk1IDE4LjYzQzg2Ljg5OTUgMTguNjMgODYuMTg1NSAxOS45MDQgODYuMTg1NSAyMS40M0M4Ni4xODU1IDIyLjk1NiA4Ni44OTk1IDI0LjIzIDg4LjUwOTUgMjQuMjNaTTk3Ljk4IDI1SDk2LjcyVjE0Ljk5SDEwMC43MzhDMTAyLjkzNiAxNC45OSAxMDQuMDg0IDE2LjAyNiAxMDQuMDg0IDE3Ljg3NEMxMDQuMDg0IDE5LjEyIDEwMy4zMTQgMjAuMDcyIDEwMi4yNjQgMjAuMzI0VjIwLjM1MkMxMDQuNTE4IDIwLjc4NiAxMDMuNjkyIDI0Ljc0OCAxMDQuMjI0IDI0LjkxNlYyNUgxMDIuODY2QzEwMi40MzIgMjQuNTggMTAzLjM4NCAyMC45NTQgMTAwLjg1IDIwLjk1NEg5Ny45OFYyNVpNOTcuOTggMTkuODM0SDEwMC40NDRDMTAxLjk3IDE5LjgzNCAxMDIuODI0IDE5LjE0OCAxMDIuODI0IDE3LjkwMkMxMDIuODI0IDE2Ljc1NCAxMDIuMTggMTYuMTEgMTAwLjQ4NiAxNi4xMUg5Ny45OFYxOS44MzRaTTExMS45NjIgMjEuMTY0QzExMS45NjIgMjEuMzc0IDExMS45NjIgMjEuNjEyIDExMS45NDggMjEuNzI0SDEwNi4zNjJDMTA2LjM5IDIyLjk4NCAxMDcuMDkgMjQuMjQ0IDEwOC42NzIgMjQuMjQ0QzExMC4wNzIgMjQuMjQ0IDExMC42MDQgMjMuMzA2IDExMC43MyAyMi44MDJIMTExLjg2NEMxMTEuNSAyNC4xMzIgMTEwLjQ5MiAyNS4yMSAxMDguNjU4IDI1LjIxQzEwNi40MDQgMjUuMjEgMTA1LjE4NiAyMy41ODYgMTA1LjE4NiAyMS40MTZDMTA1LjE4NiAxOS4xMzQgMTA2LjU0NCAxNy42NSAxMDguNjU4IDE3LjY1QzExMC43NDQgMTcuNjUgMTExLjk2MiAxOS4wNzggMTExLjk2MiAyMS4xNjRaTTEwNi4zNjIgMjAuNzQ0SDExMC43NzJDMTEwLjc3MiAxOS41NjggMTA5LjkzMiAxOC42MTYgMTA4LjYwMiAxOC42MTZDMTA3LjM3IDE4LjYxNiAxMDYuNDMyIDE5LjQ5OCAxMDYuMzYyIDIwLjc0NFpNMTE2LjgzMyAxNy42NjRDMTE4LjEzNSAxNy42NjQgMTE5LjIyNyAxOC4zNzggMTE5LjIyNyAyMC4wMTZWMjVIMTE4LjEwN1YyMC4yOTZDMTE4LjEwNyAxOS4zNzIgMTE3LjY3MyAxOC42NDQgMTE2LjU1MyAxOC42NDRDMTE1LjI5MyAxOC42NDQgMTE0LjQ1MyAxOS40NDIgMTE0LjQ1MyAyMC41NDhWMjVIMTEzLjMzM1YxNy44NkgxMTQuNDUzVjE4LjcxNEgxMTQuNDgxQzExNC44NTkgMTguMjEgMTE1LjYxNSAxNy42NjQgMTE2LjgzMyAxNy42NjRaTTEyNi4wNDcgMTguNzg0VjE0Ljk5SDEyNy4xNjdWMjVIMTI2LjA0N1YyNC4xMThIMTI2LjAxOUMxMjUuNTk5IDI0LjY2NCAxMjQuOTI3IDI1LjE5NiAxMjMuNzc5IDI1LjE5NkMxMjEuOTg3IDI1LjE5NiAxMjAuNTU5IDIzLjc4MiAxMjAuNTU5IDIxLjQzQzEyMC41NTkgMTkuMDc4IDEyMS45ODcgMTcuNjY0IDEyMy43NzkgMTcuNjY0QzEyNC45MjcgMTcuNjY0IDEyNS41OTkgMTguMTY4IDEyNi4wMTkgMTguNzg0SDEyNi4wNDdaTTEyMy44OTEgMjQuMjE2QzEyNS4yMjEgMjQuMjE2IDEyNi4wNDcgMjMuMTEgMTI2LjA0NyAyMS40M0MxMjYuMDQ3IDE5Ljc1IDEyNS4yMjEgMTguNjQ0IDEyMy44OTEgMTguNjQ0QzEyMi40MjEgMTguNjQ0IDEyMS43MzUgMjAuMDMgMTIxLjczNSAyMS40M0MxMjEuNzM1IDIyLjgzIDEyMi40MjEgMjQuMjE2IDEyMy44OTEgMjQuMjE2Wk0xMzUuMzIzIDIxLjE2NEMxMzUuMzIzIDIxLjM3NCAxMzUuMzIzIDIxLjYxMiAxMzUuMzA5IDIxLjcyNEgxMjkuNzIzQzEyOS43NTEgMjIuOTg0IDEzMC40NTEgMjQuMjQ0IDEzMi4wMzMgMjQuMjQ0QzEzMy40MzMgMjQuMjQ0IDEzMy45NjUgMjMuMzA2IDEzNC4wOTEgMjIuODAySDEzNS4yMjVDMTM0Ljg2MSAyNC4xMzIgMTMzLjg1MyAyNS4yMSAxMzIuMDE5IDI1LjIxQzEyOS43NjUgMjUuMjEgMTI4LjU0NyAyMy41ODYgMTI4LjU0NyAyMS40MTZDMTI4LjU0NyAxOS4xMzQgMTI5LjkwNSAxNy42NSAxMzIuMDE5IDE3LjY1QzEzNC4xMDUgMTcuNjUgMTM1LjMyMyAxOS4wNzggMTM1LjMyMyAyMS4xNjRaTTEyOS43MjMgMjAuNzQ0SDEzNC4xMzNDMTM0LjEzMyAxOS41NjggMTMzLjI5MyAxOC42MTYgMTMxLjk2MyAxOC42MTZDMTMwLjczMSAxOC42MTYgMTI5Ljc5MyAxOS40OTggMTI5LjcyMyAyMC43NDRaTTEzOS44MTYgMTcuNjY0QzE0MC4wODIgMTcuNjY0IDE0MC4yNzggMTcuNjc4IDE0MC40NzQgMTcuNzA2VjE4LjgyNkMxNDAuMzA2IDE4Ljc5OCAxNDAuMTggMTguNzg0IDE0MC4wMTIgMTguNzg0QzEzOC42OTYgMTguNzg0IDEzNy44MTQgMTkuODIgMTM3LjgxNCAyMS4xOTJWMjVIMTM2LjY5NFYxNy44NkgxMzcuODE0VjE5LjI3NEgxMzcuODQyQzEzOC4yMiAxOC4zMzYgMTM4Ljc5NCAxNy42NjQgMTM5LjgxNiAxNy42NjRaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K"},18849:(M,j,N)=>{N.r(j),N.d(j,{assets:()=>u,contentTitle:()=>y,default:()=>x,frontMatter:()=>T,metadata:()=>D,toc:()=>e});const D=JSON.parse('{"id":"Deployment/deployment-render","title":"Render","description":"Deploy on Render","source":"@site/docs/Deployment/deployment-render.md","sourceDirName":"Deployment","slug":"/deployment-render","permalink":"/deployment-render","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{"title":"Render","slug":"/deployment-render"},"sidebar":"docs","previous":{"title":"Railway","permalink":"/deployment-railway"},"next":{"title":"Apify","permalink":"/integrations-apify"}}');var I=N(74848),g=N(28453);const T={title:"Render",slug:"/deployment-render"},y=void 0,u={},e=[{value:"Deploy on Render",id:"20a959b7047e44e490cc129fd21895c0",level:2}];function A(M){const j={a:"a",code:"code",h2:"h2",hr:"hr",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",...(0,g.R)(),...M.components};return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(j.h2,{id:"20a959b7047e44e490cc129fd21895c0",children:"Deploy on Render"}),"\n",(0,I.jsx)(j.hr,{}),"\n",(0,I.jsxs)(j.p,{children:[(0,I.jsx)(j.a,{href:"http://render.com/",children:"Render.com"})," is a unified cloud platform designed to make deploying web applications, APIs, and static sites easy. It provides a streamlined experience with powerful features like automatic SSL, managed databases, and auto-deploy from Git, making it a popular choice for developers looking to simplify their deployment workflows."]}),"\n",(0,I.jsx)(j.p,{children:"Deploying Langflow to Render is a straightforward process that can be completed in just a few steps:"}),"\n",(0,I.jsxs)(j.ol,{children:["\n",(0,I.jsxs)(j.li,{children:["\n",(0,I.jsxs)(j.p,{children:[(0,I.jsx)(j.strong,{children:"Click the Button Below"}),": Start by clicking the deployment button provided below. This will redirect you to the Render platform."]}),"\n",(0,I.jsx)(j.p,{children:(0,I.jsx)(j.a,{href:"https://render.com/deploy?repo=https%3A%2F%2Fgithub.com%2Flangflow-ai%2Flangflow%2Ftree%2Fdev",children:(0,I.jsx)(j.img,{alt:"Deploy to Render",src:N(1975).A+"",width:"153",height:"40"})})}),"\n"]}),"\n",(0,I.jsxs)(j.li,{children:["\n",(0,I.jsxs)(j.p,{children:[(0,I.jsx)(j.strong,{children:"Select the Blueprint Configuration"}),": Once on the Render platform, you will be prompted to provide a blueprint name and to select the branch for your ",(0,I.jsx)(j.code,{children:"render.yaml"})," file in Langflow. This configuration file includes all the necessary settings and resources to deploy Langflow in Render. The default is ",(0,I.jsx)(j.code,{children:"main"}),"."]}),"\n"]}),"\n",(0,I.jsxs)(j.li,{children:["\n",(0,I.jsxs)(j.p,{children:["The ",(0,I.jsx)(j.code,{children:"render.yaml"})," file specifies a ",(0,I.jsx)(j.code,{children:"standard"})," Render instance, because Langflow requires at least 2 GB of RAM to run. This may require a credit card to sign up. Review the pricing details on the Render platform to understand any costs involved before proceeding. If you need to change your plan later, from the Render dashboard, go to ",(0,I.jsx)(j.strong,{children:"Settings"})," > ",(0,I.jsx)(j.strong,{children:"Instance Type"}),"."]}),"\n"]}),"\n",(0,I.jsxs)(j.li,{children:["\n",(0,I.jsxs)(j.p,{children:["Click ",(0,I.jsx)(j.strong,{children:"Deploy Blueprint"})," to deploy Langflow. Render will handle the rest, including setting up the database, deploying the Langflow instance, and starting the application."]}),"\n"]}),"\n"]}),"\n",(0,I.jsx)(j.p,{children:"By following these steps, your Langflow instance will be successfully deployed on Render."})]})}function x(M={}){const{wrapper:j}={...(0,g.R)(),...M.components};return j?(0,I.jsx)(j,{...M,children:(0,I.jsx)(A,{...M})}):A(M)}},28453:(M,j,N)=>{N.d(j,{R:()=>T,x:()=>y});var D=N(96540);const I={},g=D.createContext(I);function T(M){const j=D.useContext(g);return D.useMemo((function(){return"function"==typeof M?M(j):{...j,...M}}),[j,M])}function y(M){let j;return j=M.disableParentContext?"function"==typeof M.components?M.components(I):M.components||I:T(M.components),D.createElement(g.Provider,{value:j},M.children)}}}]); \ No newline at end of file diff --git a/assets/js/22dd74f7.0cad782c.js b/assets/js/22dd74f7.0cad782c.js new file mode 100644 index 0000000000..88cc881a1f --- /dev/null +++ b/assets/js/22dd74f7.0cad782c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[1567],{55226:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"docs":[{"type":"link","label":"Welcome to Langflow","href":"/","docId":"Get-Started/welcome-to-langflow","unlisted":false},{"type":"category","label":"Get started","items":[{"type":"link","label":"Install Langflow","href":"/get-started-installation","docId":"Get-Started/get-started-installation","unlisted":false},{"type":"link","label":"Quickstart","href":"/get-started-quickstart","docId":"Get-Started/get-started-quickstart","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Starter projects","items":[{"type":"link","label":"Basic prompting","href":"/starter-projects-basic-prompting","docId":"Starter-Projects/starter-projects-basic-prompting","unlisted":false},{"type":"link","label":"Vector store RAG","href":"/starter-projects-vector-store-rag","docId":"Starter-Projects/starter-projects-vector-store-rag","unlisted":false},{"type":"link","label":"Simple agent","href":"/starter-projects-simple-agent","docId":"Starter-Projects/starter-projects-simple-agent","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Tutorials","items":[{"type":"link","label":"Blog writer","href":"/tutorials-blog-writer","docId":"Tutorials/tutorials-blog-writer","unlisted":false},{"type":"link","label":"Document QA","href":"/tutorials-document-qa","docId":"Tutorials/tutorials-document-qa","unlisted":false},{"type":"link","label":"Memory chatbot","href":"/tutorials-memory-chatbot","docId":"Tutorials/tutorials-memory-chatbot","unlisted":false},{"type":"link","label":"Math agent","href":"/tutorials-math-agent","docId":"Tutorials/tutorials-math-agent","unlisted":false},{"type":"link","label":"Sequential tasks agent","href":"/tutorials-sequential-agent","docId":"Tutorials/tutorials-sequential-agent","unlisted":false},{"type":"link","label":"Travel planning agent","href":"/tutorials-travel-planning-agent","docId":"Tutorials/tutorials-travel-planning-agent","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Concepts","items":[{"type":"link","label":"Langflow overview","href":"/concepts-overview","docId":"Concepts/concepts-overview","unlisted":false},{"type":"link","label":"Playground","href":"/concepts-playground","docId":"Concepts/concepts-playground","unlisted":false},{"type":"link","label":"Components","href":"/concepts-components","docId":"Concepts/concepts-components","unlisted":false},{"type":"link","label":"Flows","href":"/Concepts/concepts-flows","docId":"Concepts/concepts-flows","unlisted":false},{"type":"link","label":"Langflow objects","href":"/concepts-objects","docId":"Concepts/concepts-objects","unlisted":false},{"type":"link","label":"API pane","href":"/concepts-api","docId":"Concepts/concepts-api","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Components","items":[{"type":"link","label":"Agents","href":"/components-agents","docId":"Components/components-agents","unlisted":false},{"type":"link","label":"Create custom Python components","href":"/components-custom-components","docId":"Components/components-custom-components","unlisted":false},{"type":"link","label":"Data","href":"/components-data","docId":"Components/components-data","unlisted":false},{"type":"link","label":"Embeddings","href":"/components-embedding-models","docId":"Components/components-embedding-models","unlisted":false},{"type":"link","label":"Helpers","href":"/components-helpers","docId":"Components/components-helpers","unlisted":false},{"type":"link","label":"Inputs and outputs","href":"/components-io","docId":"Components/components-io","unlisted":false},{"type":"link","label":"Loaders","href":"/components-loaders","docId":"Components/components-loaders","unlisted":false},{"type":"link","label":"Logic","href":"/components-logic","docId":"Components/components-logic","unlisted":false},{"type":"link","label":"Memories","href":"/components-memories","docId":"Components/components-memories","unlisted":false},{"type":"link","label":"Models","href":"/components-models","docId":"Components/components-models","unlisted":false},{"type":"link","label":"Processing","href":"/components-processing","docId":"Components/components-processing","unlisted":false},{"type":"link","label":"Prompts","href":"/components-prompts","docId":"Components/components-prompts","unlisted":false},{"type":"link","label":"Tools","href":"/components-tools","docId":"Components/components-tools","unlisted":false},{"type":"link","label":"Vector stores","href":"/components-vector-stores","docId":"Components/components-vector-stores","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Agents","items":[{"type":"link","label":"Agents overview","href":"/agents-overview","docId":"Agents/agents-overview","unlisted":false},{"type":"link","label":"Create a problem-solving agent","href":"/agents-tool-calling-agent-component","docId":"Agents/agent-tool-calling-agent-component","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Configuration","items":[{"type":"link","label":"API keys","href":"/configuration-api-keys","docId":"Configuration/configuration-api-keys","unlisted":false},{"type":"link","label":"Authentication","href":"/configuration-authentication","docId":"Configuration/configuration-authentication","unlisted":false},{"type":"link","label":"Auto-saving","href":"/configuration-auto-save","docId":"Configuration/configuration-auto-saving","unlisted":false},{"type":"link","label":"Run Langflow in backend-only mode","href":"/configuration-backend-only","docId":"Configuration/configuration-backend-only","unlisted":false},{"type":"link","label":"Langflow CLI","href":"/configuration-cli","docId":"Configuration/configuration-cli","unlisted":false},{"type":"link","label":"Global variables","href":"/configuration-global-variables","docId":"Configuration/configuration-global-variables","unlisted":false},{"type":"link","label":"Environment variables","href":"/environment-variables","docId":"Configuration/environment-variables","unlisted":false},{"type":"link","label":"Security best practices","href":"/configuration-security-best-practices","docId":"Configuration/configuration-security-best-practices","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Deployment","items":[{"type":"link","label":"Docker","href":"/Deployment/deployment-docker","docId":"Deployment/deployment-docker","unlisted":false},{"type":"link","label":"GCP","href":"/deployment-gcp","docId":"Deployment/deployment-gcp","unlisted":false},{"type":"link","label":"HuggingFace\xa0Spaces","href":"/deployment-hugging-face-spaces","docId":"Deployment/deployment-hugging-face-spaces","unlisted":false},{"type":"link","label":"Kubernetes","href":"/deployment-kubernetes","docId":"Deployment/deployment-kubernetes","unlisted":false},{"type":"link","label":"Railway","href":"/deployment-railway","docId":"Deployment/deployment-railway","unlisted":false},{"type":"link","label":"Render","href":"/deployment-render","docId":"Deployment/deployment-render","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Integrations","items":[{"type":"link","label":"Apify","href":"/integrations-apify","docId":"Integrations/Apify/integrations-apify","unlisted":false},{"type":"link","label":"AssemblyAI","href":"/integrations-assemblyai","docId":"Integrations/integrations-assemblyai","unlisted":false},{"type":"link","label":"Integrate Composio with Langflow","href":"/integrations-composio","docId":"Integrations/Composio/integrations-composio","unlisted":false},{"type":"link","label":"Langfuse","href":"/integrations-langfuse","docId":"Integrations/integrations-langfuse","unlisted":false},{"type":"link","label":"LangSmith","href":"/integrations-langsmith","docId":"Integrations/integrations-langsmith","unlisted":false},{"type":"link","label":"LangWatch","href":"/integrations-langwatch","docId":"Integrations/integrations-langwatch","unlisted":false},{"type":"category","label":"Google","items":[{"type":"link","label":"Integrate Google OAuth with Langflow","href":"/integrations-setup-google-oauth-langflow","docId":"Integrations/Google/integrations-setup-google-oauth-langflow","unlisted":false},{"type":"link","label":"Integrate Google Cloud Vertex AI with Langflow","href":"/integrations-setup-google-cloud-vertex-ai-langflow","docId":"Integrations/Google/integrations-setup-google-cloud-vertex-ai-langflow","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Notion","items":[{"type":"link","label":"Setup","href":"/integrations/notion/setup","docId":"Integrations/Notion/integrations-notion","unlisted":false},{"type":"link","label":"Notion Conversational Agent","href":"/integrations/notion/notion-agent-conversational","docId":"Integrations/Notion/notion-agent-conversational","unlisted":false},{"type":"link","label":"Notion Meeting Notes Agent","href":"/integrations/notion/notion-agent-meeting-notes","docId":"Integrations/Notion/notion-agent-meeting-notes","unlisted":false}],"collapsed":false,"collapsible":true}],"collapsed":false,"collapsible":true},{"type":"category","label":"Contributing","items":[{"type":"link","label":"Join the Langflow community","href":"/contributing-community","docId":"Contributing/contributing-community","unlisted":false},{"type":"link","label":"Contribute components","href":"/contributing-components","docId":"Contributing/contributing-components","unlisted":false},{"type":"link","label":"Ask for help on the Discussions board","href":"/contributing-github-discussions","docId":"Contributing/contributing-github-discussion-board","unlisted":false},{"type":"link","label":"Request an enhancement or report a bug","href":"/contributing-github-issues","docId":"Contributing/contributing-github-issues","unlisted":false},{"type":"link","label":"Contribute to Langflow","href":"/contributing-how-to-contribute","docId":"Contributing/contributing-how-to-contribute","unlisted":false},{"type":"link","label":"Telemetry","href":"/contributing-telemetry","docId":"Contributing/contributing-telemetry","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"API reference","items":[{"type":"link","label":"API documentation","href":"/api"},{"type":"link","label":"API examples","href":"/api-reference-api-examples","docId":"API-Reference/api-reference-api-examples","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Changelog","items":[{"type":"link","label":"Changelog","href":"https://github.com/langflow-ai/langflow/releases/latest"}],"collapsed":false,"collapsible":true}]},"docs":{"Agents/agent-tool-calling-agent-component":{"id":"Agents/agent-tool-calling-agent-component","title":"Create a problem-solving agent","description":"Developing agents in Langchain is complex.","sidebar":"docs"},"Agents/agents-overview":{"id":"Agents/agents-overview","title":"Agents overview","description":"Agents are AI systems that use LLMs as a brain to analyze problems and select external tools.","sidebar":"docs"},"API-Reference/api-reference-api-examples":{"id":"API-Reference/api-reference-api-examples","title":"API examples","description":"This page provides examples and practices for managing Langflow using the Langflow API.","sidebar":"docs"},"Components/components-agents":{"id":"Components/components-agents","title":"Agents","description":"Agent components define the behavior and capabilities of AI agents in your flow.","sidebar":"docs"},"Components/components-custom-components":{"id":"Components/components-custom-components","title":"Create custom Python components","description":"Custom components are created within Langflow and extend the platform\'s functionality with custom, reusable Python code.","sidebar":"docs"},"Components/components-data":{"id":"Components/components-data","title":"Data","description":"Data components load data from a source into your flow.","sidebar":"docs"},"Components/components-embedding-models":{"id":"Components/components-embedding-models","title":"Embeddings","description":"Embeddings models convert text into numerical vectors. These embeddings capture semantic meaning of the input text, and allow LLMs to understand context.","sidebar":"docs"},"Components/components-helpers":{"id":"Components/components-helpers","title":"Helpers","description":"Helper components provide utility functions to help manage data, tasks, and other components in your flow.","sidebar":"docs"},"Components/components-io":{"id":"Components/components-io","title":"Inputs and outputs","description":"This category of components defines where data enters and exits your flow. They dynamically alter the Playground and can be renamed to facilitate building and maintaining your flows.","sidebar":"docs"},"Components/components-loaders":{"id":"Components/components-loaders","title":"Loaders","description":"As of Langflow 1.1, loader components are now found in the Components menu under Bundles.","sidebar":"docs"},"Components/components-logic":{"id":"Components/components-logic","title":"Logic","description":"Logic components provide functionalities for routing, conditional processing, and flow management.","sidebar":"docs"},"Components/components-memories":{"id":"Components/components-memories","title":"Memories","description":"Memory components store and retrieve chat messages by session_id.","sidebar":"docs"},"Components/components-models":{"id":"Components/components-models","title":"Models","description":"Model components generate text using large language models.","sidebar":"docs"},"Components/components-processing":{"id":"Components/components-processing","title":"Processing","description":"Processing components process and transform data within a flow.","sidebar":"docs"},"Components/components-prompts":{"id":"Components/components-prompts","title":"Prompts","description":"A prompt is a structured input to a language model that instructs the model how to handle user inputs and variables.","sidebar":"docs"},"Components/components-tools":{"id":"Components/components-tools","title":"Tools","description":"Tools are typically connected to agent components at the Tools port. Agents use LLMs as a reasoning engine to decide which of the connected tool components to use to solve a problem.","sidebar":"docs"},"Components/components-vector-stores":{"id":"Components/components-vector-stores","title":"Vector stores","description":"Vector databases store vector data, which backs AI workloads like chatbots and Retrieval Augmented Generation.","sidebar":"docs"},"Concepts/concepts-api":{"id":"Concepts/concepts-api","title":"API pane","description":"The\xa0API\xa0pane presents code templates for integrating your flow into external applications.","sidebar":"docs"},"Concepts/concepts-components":{"id":"Concepts/concepts-components","title":"Components","description":"A\xa0component\xa0is a single building block within a flow with inputs, outputs, functions, and parameters that define its functionality. A single component is like a class within a larger application.","sidebar":"docs"},"Concepts/concepts-flows":{"id":"Concepts/concepts-flows","title":"Flows","description":"Flows in Langflow are fully serializable and can be saved and loaded from the file system. In this guide, we\'ll explore how to import and export flows.","sidebar":"docs"},"Concepts/concepts-objects":{"id":"Concepts/concepts-objects","title":"Langflow objects","description":"In Langflow, objects are Pydantic models that serve as structured, functional representations of data.","sidebar":"docs"},"Concepts/concepts-overview":{"id":"Concepts/concepts-overview","title":"Langflow overview","description":"This page explores the fundamental building blocks of Langflow, beginning with the question, \\"What is a flow?\\"","sidebar":"docs"},"Concepts/concepts-playground":{"id":"Concepts/concepts-playground","title":"Playground","description":"The\xa0Playground\xa0is a dynamic interface designed for real-time interaction with LLMs, allowing users to chat, access memories, and monitor inputs and outputs. Here, users can directly prototype their models, making adjustments and observing different outcomes.","sidebar":"docs"},"Configuration/configuration-api-keys":{"id":"Configuration/configuration-api-keys","title":"API keys","description":"Langflow provides an API key functionality that allows users to access their individual components and flows without traditional login authentication. The API key is a user-specific token that can be included in the request header, query parameter, or as a command line argument to authenticate API calls. This documentation outlines how to generate, use, and manage API keys in Langflow.","sidebar":"docs"},"Configuration/configuration-authentication":{"id":"Configuration/configuration-authentication","title":"Authentication","description":"The login functionality in Langflow serves to authenticate users and protect sensitive routes in the application.","sidebar":"docs"},"Configuration/configuration-auto-saving":{"id":"Configuration/configuration-auto-saving","title":"Auto-saving","description":"Langflow supports both manual and auto-saving functionality.","sidebar":"docs"},"Configuration/configuration-backend-only":{"id":"Configuration/configuration-backend-only","title":"Run Langflow in backend-only mode","description":"Langflow can run in --backend-only mode to expose a Langflow app as an API endpoint, without running the frontend UI.","sidebar":"docs"},"Configuration/configuration-cli":{"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.","sidebar":"docs"},"Configuration/configuration-custom-database":{"id":"Configuration/configuration-custom-database","title":"Configure an external PostgreSQL database","description":"Langflow\'s default database is SQLite, but you can configure Langflow to use PostgreSQL instead."},"Configuration/configuration-global-variables":{"id":"Configuration/configuration-global-variables","title":"Global variables","description":"Global variables let you store and reuse generic input values and credentials across your projects.","sidebar":"docs"},"Configuration/configuration-security-best-practices":{"id":"Configuration/configuration-security-best-practices","title":"Security best practices","description":"This guide outlines security best practices for deploying and managing Langflow.","sidebar":"docs"},"Configuration/environment-variables":{"id":"Configuration/environment-variables","title":"Environment variables","description":"Langflow lets you configure a number of settings using environment variables.","sidebar":"docs"},"Contributing/contributing-community":{"id":"Contributing/contributing-community","title":"Join the Langflow community","description":"Join the Langflow Discord server","sidebar":"docs"},"Contributing/contributing-components":{"id":"Contributing/contributing-components","title":"Contribute components","description":"New components are added as objects of the\xa0CustomComponent\xa0class.","sidebar":"docs"},"Contributing/contributing-github-discussion-board":{"id":"Contributing/contributing-github-discussion-board","title":"Ask for help on the Discussions board","description":"If you\'re looking for help with your code, consider posting a question on the Langflow\xa0GitHub Discussions board. The Langflow team cannot provide individual support via email. The team also believes that help is much more valuable if it\'s\xa0shared publicly, so that more people can benefit from it.","sidebar":"docs"},"Contributing/contributing-github-issues":{"id":"Contributing/contributing-github-issues","title":"Request an enhancement or report a bug","description":"The\xa0Issues page in the Langflow repo is kept up to date with bugs, improvements, and feature requests. Labels are used to help with sorting and discovery of issues of interest. For an overview of the system Langflow uses to tag issues and pull requests, see the Langflow repo\'s labels page.","sidebar":"docs"},"Contributing/contributing-how-to-contribute":{"id":"Contributing/contributing-how-to-contribute","title":"Contribute to Langflow","description":"This guide is intended to help you start contributing to Langflow.","sidebar":"docs"},"Contributing/contributing-telemetry":{"id":"Contributing/contributing-telemetry","title":"Telemetry","description":"Langflow uses anonymous telemetry to collect essential usage statistics to enhance functionality and the user experience. This data helps us identify popular features and areas that need improvement, and ensures development efforts align with what you need.","sidebar":"docs"},"Deployment/deployment-docker":{"id":"Deployment/deployment-docker","title":"Docker","description":"This guide will help you get LangFlow up and running using Docker and Docker Compose.","sidebar":"docs"},"Deployment/deployment-gcp":{"id":"Deployment/deployment-gcp","title":"GCP","description":"To deploy Langflow on Google Cloud Platform using Cloud Shell, use the below script.","sidebar":"docs"},"Deployment/deployment-hugging-face-spaces":{"id":"Deployment/deployment-hugging-face-spaces","title":"HuggingFace\xa0Spaces","description":"HuggingFace Spaces","sidebar":"docs"},"Deployment/deployment-kubernetes":{"id":"Deployment/deployment-kubernetes","title":"Kubernetes","description":"This guide will help you get LangFlow up and running in Kubernetes cluster, including the following steps:","sidebar":"docs"},"Deployment/deployment-railway":{"id":"Deployment/deployment-railway","title":"Railway","description":"Deploy on Railway","sidebar":"docs"},"Deployment/deployment-render":{"id":"Deployment/deployment-render","title":"Render","description":"Deploy on Render","sidebar":"docs"},"Get-Started/get-started-installation":{"id":"Get-Started/get-started-installation","title":"Install Langflow","description":"You can deploy Langflow either locally or as a hosted service with Datastax Langflow.","sidebar":"docs"},"Get-Started/get-started-quickstart":{"id":"Get-Started/get-started-quickstart","title":"Quickstart","description":"Get to know Langflow by building an OpenAI-powered chatbot application. After you\'ve constructed a chatbot, add Retrieval Augmented Generation (RAG) to chat with your own data.","sidebar":"docs"},"Get-Started/welcome-to-langflow":{"id":"Get-Started/welcome-to-langflow","title":"Welcome to Langflow","description":"Langflow is a new, visual framework for building multi-agent and RAG applications. It is open-source, Python-powered, fully customizable, and LLM and vector store agnostic.","sidebar":"docs"},"Integrations/Apify/integrations-apify":{"id":"Integrations/Apify/integrations-apify","title":"Apify","description":"Apify is a web scraping and data extraction platform. It provides an app store with more than three thousand ready-made cloud tools called Actors.","sidebar":"docs"},"Integrations/Composio/integrations-composio":{"id":"Integrations/Composio/integrations-composio","title":"Integrate Composio with Langflow","description":"Langflow integrates with Composio as a toolset for your Agent component.","sidebar":"docs"},"Integrations/Google/integrations-setup-google-cloud-vertex-ai-langflow":{"id":"Integrations/Google/integrations-setup-google-cloud-vertex-ai-langflow","title":"Integrate Google Cloud Vertex AI with Langflow","description":"A comprehensive guide on creating a Google OAuth app, obtaining tokens, and integrating them with Langflow\'s Google components.","sidebar":"docs"},"Integrations/Google/integrations-setup-google-oauth-langflow":{"id":"Integrations/Google/integrations-setup-google-oauth-langflow","title":"Integrate Google OAuth with Langflow","description":"A comprehensive guide on creating a Google OAuth app, obtaining tokens, and integrating them with Langflow\'s Google components.","sidebar":"docs"},"Integrations/integrations-assemblyai":{"id":"Integrations/integrations-assemblyai","title":"AssemblyAI","description":"The AssemblyAI components allow you to apply powerful Speech AI models to your app for tasks like:","sidebar":"docs"},"Integrations/integrations-langfuse":{"id":"Integrations/integrations-langfuse","title":"Langfuse","description":"Langfuse is an observability and analytics platform specifically designed for language models and AI applications.","sidebar":"docs"},"Integrations/integrations-langsmith":{"id":"Integrations/integrations-langsmith","title":"LangSmith","description":"LangSmith is a full-lifecycle DevOps service from LangChain that provides monitoring and observability. To integrate with Langflow, just add your LangChain API key as a Langflow environment variable and you are good to go!","sidebar":"docs"},"Integrations/integrations-langwatch":{"id":"Integrations/integrations-langwatch","title":"LangWatch","description":"938674091aac4d9d9aa4aa6eb5c215b4}","sidebar":"docs"},"Integrations/Notion/integrations-notion":{"id":"Integrations/Notion/integrations-notion","title":"Setup","description":"To use Notion components in Langflow, you first need to create a Notion integration and configure it with the necessary capabilities. This guide will walk you through the process of setting up a Notion integration and granting it access to your Notion databases.","sidebar":"docs"},"Integrations/Notion/notion-agent-conversational":{"id":"Integrations/Notion/notion-agent-conversational","title":"Notion Conversational Agent","description":"The Notion Conversational Agent is an AI-powered assistant that interacts with your Notion workspace through natural language conversations. This flow performs Notion-related tasks like creating pages, searching for information, and managing content, all through a chat interface.","sidebar":"docs"},"Integrations/Notion/notion-agent-meeting-notes":{"id":"Integrations/Notion/notion-agent-meeting-notes","title":"Notion Meeting Notes Agent","description":"The Notion Agent for Meeting Notes is an AI-powered tool that automatically processes meeting transcripts and updates your Notion workspace. It identifies tasks, action items, and key points from your meetings, then creates new tasks or updates existing ones in Notion without manual input.","sidebar":"docs"},"Starter-Projects/starter-projects-basic-prompting":{"id":"Starter-Projects/starter-projects-basic-prompting","title":"Basic prompting","description":"Prompts serve as the inputs to a large language model (LLM), acting as the interface between human instructions and computational tasks.","sidebar":"docs"},"Starter-Projects/starter-projects-simple-agent":{"id":"Starter-Projects/starter-projects-simple-agent","title":"Simple agent","description":"Build a Simple Agent flow for an agentic application using the Tool-calling agent component.","sidebar":"docs"},"Starter-Projects/starter-projects-vector-store-rag":{"id":"Starter-Projects/starter-projects-vector-store-rag","title":"Vector store RAG","description":"Retrieval Augmented Generation, or RAG, is a pattern for training LLMs on your data and querying it.","sidebar":"docs"},"Tutorials/tutorials-blog-writer":{"id":"Tutorials/tutorials-blog-writer","title":"Blog writer","description":"Build a Blog Writer flow for a one-shot application using OpenAI.","sidebar":"docs"},"Tutorials/tutorials-document-qa":{"id":"Tutorials/tutorials-document-qa","title":"Document QA","description":"Build a question-and-answer chatbot with a document loaded from local memory.","sidebar":"docs"},"Tutorials/tutorials-math-agent":{"id":"Tutorials/tutorials-math-agent","title":"Math agent","description":"Build a Math Agent flow for an agentic application using the Tool-calling agent component.","sidebar":"docs"},"Tutorials/tutorials-memory-chatbot":{"id":"Tutorials/tutorials-memory-chatbot","title":"Memory chatbot","description":"This flow extends the\xa0basic prompting flow\xa0with a Chat memory component that stores up to 100 previous chat messages and uses them to provide context for the current conversation.","sidebar":"docs"},"Tutorials/tutorials-sequential-agent":{"id":"Tutorials/tutorials-sequential-agent","title":"Sequential tasks agent","description":"Build a Sequential Tasks Agent flow for a multi-agent application using multiple Agent components.","sidebar":"docs"},"Tutorials/tutorials-travel-planning-agent":{"id":"Tutorials/tutorials-travel-planning-agent","title":"Travel planning agent","description":"Build a Travel Planning Agent flow for an agentic application using the multiple Tool-calling agents.","sidebar":"docs"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/22dd74f7.4c9447ec.js b/assets/js/22dd74f7.4c9447ec.js deleted file mode 100644 index 2681066307..0000000000 --- a/assets/js/22dd74f7.4c9447ec.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[1567],{55226:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"docs":[{"type":"link","label":"Welcome to Langflow","href":"/","docId":"Get-Started/welcome-to-langflow","unlisted":false},{"type":"category","label":"Get started","items":[{"type":"link","label":"Install Langflow","href":"/get-started-installation","docId":"Get-Started/get-started-installation","unlisted":false},{"type":"link","label":"Quickstart","href":"/get-started-quickstart","docId":"Get-Started/get-started-quickstart","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Starter projects","items":[{"type":"link","label":"Basic prompting","href":"/starter-projects-basic-prompting","docId":"Starter-Projects/starter-projects-basic-prompting","unlisted":false},{"type":"link","label":"Vector store RAG","href":"/starter-projects-vector-store-rag","docId":"Starter-Projects/starter-projects-vector-store-rag","unlisted":false},{"type":"link","label":"Simple agent","href":"/starter-projects-simple-agent","docId":"Starter-Projects/starter-projects-simple-agent","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Tutorials","items":[{"type":"link","label":"Blog writer","href":"/tutorials-blog-writer","docId":"Tutorials/tutorials-blog-writer","unlisted":false},{"type":"link","label":"Document QA","href":"/tutorials-document-qa","docId":"Tutorials/tutorials-document-qa","unlisted":false},{"type":"link","label":"Memory chatbot","href":"/tutorials-memory-chatbot","docId":"Tutorials/tutorials-memory-chatbot","unlisted":false},{"type":"link","label":"Math agent","href":"/tutorials-math-agent","docId":"Tutorials/tutorials-math-agent","unlisted":false},{"type":"link","label":"Sequential tasks agent","href":"/tutorials-sequential-agent","docId":"Tutorials/tutorials-sequential-agent","unlisted":false},{"type":"link","label":"Travel planning agent","href":"/tutorials-travel-planning-agent","docId":"Tutorials/tutorials-travel-planning-agent","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Concepts","items":[{"type":"link","label":"Langflow overview","href":"/concepts-overview","docId":"Concepts/concepts-overview","unlisted":false},{"type":"link","label":"Playground","href":"/concepts-playground","docId":"Concepts/concepts-playground","unlisted":false},{"type":"link","label":"Components","href":"/concepts-components","docId":"Concepts/concepts-components","unlisted":false},{"type":"link","label":"Flows","href":"/Concepts/concepts-flows","docId":"Concepts/concepts-flows","unlisted":false},{"type":"link","label":"Langflow objects","href":"/concepts-objects","docId":"Concepts/concepts-objects","unlisted":false},{"type":"link","label":"API pane","href":"/concepts-api","docId":"Concepts/concepts-api","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Components","items":[{"type":"link","label":"Agents","href":"/components-agents","docId":"Components/components-agents","unlisted":false},{"type":"link","label":"Create custom Python components","href":"/components-custom-components","docId":"Components/components-custom-components","unlisted":false},{"type":"link","label":"Data","href":"/components-data","docId":"Components/components-data","unlisted":false},{"type":"link","label":"Embeddings","href":"/components-embedding-models","docId":"Components/components-embedding-models","unlisted":false},{"type":"link","label":"Helpers","href":"/components-helpers","docId":"Components/components-helpers","unlisted":false},{"type":"link","label":"Inputs and outputs","href":"/components-io","docId":"Components/components-io","unlisted":false},{"type":"link","label":"Loaders","href":"/components-loaders","docId":"Components/components-loaders","unlisted":false},{"type":"link","label":"Logic","href":"/components-logic","docId":"Components/components-logic","unlisted":false},{"type":"link","label":"Memories","href":"/components-memories","docId":"Components/components-memories","unlisted":false},{"type":"link","label":"Models","href":"/components-models","docId":"Components/components-models","unlisted":false},{"type":"link","label":"Processing","href":"/components-processing","docId":"Components/components-processing","unlisted":false},{"type":"link","label":"Prompts","href":"/components-prompts","docId":"Components/components-prompts","unlisted":false},{"type":"link","label":"Tools","href":"/components-tools","docId":"Components/components-tools","unlisted":false},{"type":"link","label":"Vector stores","href":"/components-vector-stores","docId":"Components/components-vector-stores","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Agents","items":[{"type":"link","label":"Agents overview","href":"/agents-overview","docId":"Agents/agents-overview","unlisted":false},{"type":"link","label":"Create a problem-solving agent","href":"/agents-tool-calling-agent-component","docId":"Agents/agent-tool-calling-agent-component","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Configuration","items":[{"type":"link","label":"API keys","href":"/configuration-api-keys","docId":"Configuration/configuration-api-keys","unlisted":false},{"type":"link","label":"Authentication","href":"/configuration-authentication","docId":"Configuration/configuration-authentication","unlisted":false},{"type":"link","label":"Auto-saving","href":"/configuration-auto-save","docId":"Configuration/configuration-auto-saving","unlisted":false},{"type":"link","label":"Run Langflow in backend-only mode","href":"/configuration-backend-only","docId":"Configuration/configuration-backend-only","unlisted":false},{"type":"link","label":"Langflow CLI","href":"/configuration-cli","docId":"Configuration/configuration-cli","unlisted":false},{"type":"link","label":"Global variables","href":"/configuration-global-variables","docId":"Configuration/configuration-global-variables","unlisted":false},{"type":"link","label":"Environment variables","href":"/environment-variables","docId":"Configuration/environment-variables","unlisted":false},{"type":"link","label":"Security best practices","href":"/configuration-security-best-practices","docId":"Configuration/configuration-security-best-practices","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Deployment","items":[{"type":"link","label":"Docker","href":"/Deployment/deployment-docker","docId":"Deployment/deployment-docker","unlisted":false},{"type":"link","label":"GCP","href":"/deployment-gcp","docId":"Deployment/deployment-gcp","unlisted":false},{"type":"link","label":"HuggingFace\xa0Spaces","href":"/deployment-hugging-face-spaces","docId":"Deployment/deployment-hugging-face-spaces","unlisted":false},{"type":"link","label":"Kubernetes","href":"/deployment-kubernetes","docId":"Deployment/deployment-kubernetes","unlisted":false},{"type":"link","label":"Railway","href":"/deployment-railway","docId":"Deployment/deployment-railway","unlisted":false},{"type":"link","label":"Render","href":"/deployment-render","docId":"Deployment/deployment-render","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Integrations","items":[{"type":"link","label":"AssemblyAI","href":"/integrations-assemblyai","docId":"Integrations/integrations-assemblyai","unlisted":false},{"type":"link","label":"Integrate Composio with Langflow","href":"/integrations-composio","docId":"Integrations/Composio/integrations-composio","unlisted":false},{"type":"link","label":"Langfuse","href":"/integrations-langfuse","docId":"Integrations/integrations-langfuse","unlisted":false},{"type":"link","label":"LangSmith","href":"/integrations-langsmith","docId":"Integrations/integrations-langsmith","unlisted":false},{"type":"link","label":"LangWatch","href":"/integrations-langwatch","docId":"Integrations/integrations-langwatch","unlisted":false},{"type":"category","label":"Google","items":[{"type":"link","label":"Integrate Google OAuth with Langflow","href":"/integrations-setup-google-oauth-langflow","docId":"Integrations/Google/integrations-setup-google-oauth-langflow","unlisted":false},{"type":"link","label":"Integrate Google Cloud Vertex AI with Langflow","href":"/integrations-setup-google-cloud-vertex-ai-langflow","docId":"Integrations/Google/integrations-setup-google-cloud-vertex-ai-langflow","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Notion","items":[{"type":"link","label":"Setup","href":"/integrations/notion/setup","docId":"Integrations/Notion/integrations-notion","unlisted":false},{"type":"link","label":"Notion Conversational Agent","href":"/integrations/notion/notion-agent-conversational","docId":"Integrations/Notion/notion-agent-conversational","unlisted":false},{"type":"link","label":"Notion Meeting Notes Agent","href":"/integrations/notion/notion-agent-meeting-notes","docId":"Integrations/Notion/notion-agent-meeting-notes","unlisted":false}],"collapsed":false,"collapsible":true}],"collapsed":false,"collapsible":true},{"type":"category","label":"Contributing","items":[{"type":"link","label":"Join the Langflow community","href":"/contributing-community","docId":"Contributing/contributing-community","unlisted":false},{"type":"link","label":"Contribute components","href":"/contributing-components","docId":"Contributing/contributing-components","unlisted":false},{"type":"link","label":"Ask for help on the Discussions board","href":"/contributing-github-discussions","docId":"Contributing/contributing-github-discussion-board","unlisted":false},{"type":"link","label":"Request an enhancement or report a bug","href":"/contributing-github-issues","docId":"Contributing/contributing-github-issues","unlisted":false},{"type":"link","label":"Contribute to Langflow","href":"/contributing-how-to-contribute","docId":"Contributing/contributing-how-to-contribute","unlisted":false},{"type":"link","label":"Telemetry","href":"/contributing-telemetry","docId":"Contributing/contributing-telemetry","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"API reference","items":[{"type":"link","label":"API documentation","href":"/api"},{"type":"link","label":"API examples","href":"/api-reference-api-examples","docId":"API-Reference/api-reference-api-examples","unlisted":false}],"collapsed":false,"collapsible":true},{"type":"category","label":"Changelog","items":[{"type":"link","label":"Changelog","href":"https://github.com/langflow-ai/langflow/releases/latest"}],"collapsed":false,"collapsible":true}]},"docs":{"Agents/agent-tool-calling-agent-component":{"id":"Agents/agent-tool-calling-agent-component","title":"Create a problem-solving agent","description":"Developing agents in Langchain is complex.","sidebar":"docs"},"Agents/agents-overview":{"id":"Agents/agents-overview","title":"Agents overview","description":"Agents are AI systems that use LLMs as a brain to analyze problems and select external tools.","sidebar":"docs"},"API-Reference/api-reference-api-examples":{"id":"API-Reference/api-reference-api-examples","title":"API examples","description":"This page provides examples and practices for managing Langflow using the Langflow API.","sidebar":"docs"},"Components/components-agents":{"id":"Components/components-agents","title":"Agents","description":"Agent components define the behavior and capabilities of AI agents in your flow.","sidebar":"docs"},"Components/components-custom-components":{"id":"Components/components-custom-components","title":"Create custom Python components","description":"Custom components are created within Langflow and extend the platform\'s functionality with custom, reusable Python code.","sidebar":"docs"},"Components/components-data":{"id":"Components/components-data","title":"Data","description":"Data components load data from a source into your flow.","sidebar":"docs"},"Components/components-embedding-models":{"id":"Components/components-embedding-models","title":"Embeddings","description":"Embeddings models convert text into numerical vectors. These embeddings capture semantic meaning of the input text, and allow LLMs to understand context.","sidebar":"docs"},"Components/components-helpers":{"id":"Components/components-helpers","title":"Helpers","description":"Helper components provide utility functions to help manage data, tasks, and other components in your flow.","sidebar":"docs"},"Components/components-io":{"id":"Components/components-io","title":"Inputs and outputs","description":"This category of components defines where data enters and exits your flow. They dynamically alter the Playground and can be renamed to facilitate building and maintaining your flows.","sidebar":"docs"},"Components/components-loaders":{"id":"Components/components-loaders","title":"Loaders","description":"As of Langflow 1.1, loader components are now found in the Components menu under Bundles.","sidebar":"docs"},"Components/components-logic":{"id":"Components/components-logic","title":"Logic","description":"Logic components provide functionalities for routing, conditional processing, and flow management.","sidebar":"docs"},"Components/components-memories":{"id":"Components/components-memories","title":"Memories","description":"Memory components store and retrieve chat messages by session_id.","sidebar":"docs"},"Components/components-models":{"id":"Components/components-models","title":"Models","description":"Model components generate text using large language models.","sidebar":"docs"},"Components/components-processing":{"id":"Components/components-processing","title":"Processing","description":"Processing components process and transform data within a flow.","sidebar":"docs"},"Components/components-prompts":{"id":"Components/components-prompts","title":"Prompts","description":"A prompt is a structured input to a language model that instructs the model how to handle user inputs and variables.","sidebar":"docs"},"Components/components-tools":{"id":"Components/components-tools","title":"Tools","description":"Tools are typically connected to agent components at the Tools port. Agents use LLMs as a reasoning engine to decide which of the connected tool components to use to solve a problem.","sidebar":"docs"},"Components/components-vector-stores":{"id":"Components/components-vector-stores","title":"Vector stores","description":"Vector databases store vector data, which backs AI workloads like chatbots and Retrieval Augmented Generation.","sidebar":"docs"},"Concepts/concepts-api":{"id":"Concepts/concepts-api","title":"API pane","description":"The\xa0API\xa0pane presents code templates for integrating your flow into external applications.","sidebar":"docs"},"Concepts/concepts-components":{"id":"Concepts/concepts-components","title":"Components","description":"A\xa0component\xa0is a single building block within a flow with inputs, outputs, functions, and parameters that define its functionality. A single component is like a class within a larger application.","sidebar":"docs"},"Concepts/concepts-flows":{"id":"Concepts/concepts-flows","title":"Flows","description":"Flows in Langflow are fully serializable and can be saved and loaded from the file system. In this guide, we\'ll explore how to import and export flows.","sidebar":"docs"},"Concepts/concepts-objects":{"id":"Concepts/concepts-objects","title":"Langflow objects","description":"In Langflow, objects are Pydantic models that serve as structured, functional representations of data.","sidebar":"docs"},"Concepts/concepts-overview":{"id":"Concepts/concepts-overview","title":"Langflow overview","description":"This page explores the fundamental building blocks of Langflow, beginning with the question, \\"What is a flow?\\"","sidebar":"docs"},"Concepts/concepts-playground":{"id":"Concepts/concepts-playground","title":"Playground","description":"The\xa0Playground\xa0is a dynamic interface designed for real-time interaction with LLMs, allowing users to chat, access memories, and monitor inputs and outputs. Here, users can directly prototype their models, making adjustments and observing different outcomes.","sidebar":"docs"},"Configuration/configuration-api-keys":{"id":"Configuration/configuration-api-keys","title":"API keys","description":"Langflow provides an API key functionality that allows users to access their individual components and flows without traditional login authentication. The API key is a user-specific token that can be included in the request header, query parameter, or as a command line argument to authenticate API calls. This documentation outlines how to generate, use, and manage API keys in Langflow.","sidebar":"docs"},"Configuration/configuration-authentication":{"id":"Configuration/configuration-authentication","title":"Authentication","description":"The login functionality in Langflow serves to authenticate users and protect sensitive routes in the application.","sidebar":"docs"},"Configuration/configuration-auto-saving":{"id":"Configuration/configuration-auto-saving","title":"Auto-saving","description":"Langflow supports both manual and auto-saving functionality.","sidebar":"docs"},"Configuration/configuration-backend-only":{"id":"Configuration/configuration-backend-only","title":"Run Langflow in backend-only mode","description":"Langflow can run in --backend-only mode to expose a Langflow app as an API endpoint, without running the frontend UI.","sidebar":"docs"},"Configuration/configuration-cli":{"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.","sidebar":"docs"},"Configuration/configuration-custom-database":{"id":"Configuration/configuration-custom-database","title":"Configure an external PostgreSQL database","description":"Langflow\'s default database is SQLite, but you can configure Langflow to use PostgreSQL instead."},"Configuration/configuration-global-variables":{"id":"Configuration/configuration-global-variables","title":"Global variables","description":"Global variables let you store and reuse generic input values and credentials across your projects.","sidebar":"docs"},"Configuration/configuration-security-best-practices":{"id":"Configuration/configuration-security-best-practices","title":"Security best practices","description":"This guide outlines security best practices for deploying and managing Langflow.","sidebar":"docs"},"Configuration/environment-variables":{"id":"Configuration/environment-variables","title":"Environment variables","description":"Langflow lets you configure a number of settings using environment variables.","sidebar":"docs"},"Contributing/contributing-community":{"id":"Contributing/contributing-community","title":"Join the Langflow community","description":"Join the Langflow Discord server","sidebar":"docs"},"Contributing/contributing-components":{"id":"Contributing/contributing-components","title":"Contribute components","description":"New components are added as objects of the\xa0CustomComponent\xa0class.","sidebar":"docs"},"Contributing/contributing-github-discussion-board":{"id":"Contributing/contributing-github-discussion-board","title":"Ask for help on the Discussions board","description":"If you\'re looking for help with your code, consider posting a question on the Langflow\xa0GitHub Discussions board. The Langflow team cannot provide individual support via email. The team also believes that help is much more valuable if it\'s\xa0shared publicly, so that more people can benefit from it.","sidebar":"docs"},"Contributing/contributing-github-issues":{"id":"Contributing/contributing-github-issues","title":"Request an enhancement or report a bug","description":"The\xa0Issues page in the Langflow repo is kept up to date with bugs, improvements, and feature requests. Labels are used to help with sorting and discovery of issues of interest. For an overview of the system Langflow uses to tag issues and pull requests, see the Langflow repo\'s labels page.","sidebar":"docs"},"Contributing/contributing-how-to-contribute":{"id":"Contributing/contributing-how-to-contribute","title":"Contribute to Langflow","description":"This guide is intended to help you start contributing to Langflow.","sidebar":"docs"},"Contributing/contributing-telemetry":{"id":"Contributing/contributing-telemetry","title":"Telemetry","description":"Langflow uses anonymous telemetry to collect essential usage statistics to enhance functionality and the user experience. This data helps us identify popular features and areas that need improvement, and ensures development efforts align with what you need.","sidebar":"docs"},"Deployment/deployment-docker":{"id":"Deployment/deployment-docker","title":"Docker","description":"This guide will help you get LangFlow up and running using Docker and Docker Compose.","sidebar":"docs"},"Deployment/deployment-gcp":{"id":"Deployment/deployment-gcp","title":"GCP","description":"To deploy Langflow on Google Cloud Platform using Cloud Shell, use the below script.","sidebar":"docs"},"Deployment/deployment-hugging-face-spaces":{"id":"Deployment/deployment-hugging-face-spaces","title":"HuggingFace\xa0Spaces","description":"HuggingFace Spaces","sidebar":"docs"},"Deployment/deployment-kubernetes":{"id":"Deployment/deployment-kubernetes","title":"Kubernetes","description":"This guide will help you get LangFlow up and running in Kubernetes cluster, including the following steps:","sidebar":"docs"},"Deployment/deployment-railway":{"id":"Deployment/deployment-railway","title":"Railway","description":"Deploy on Railway","sidebar":"docs"},"Deployment/deployment-render":{"id":"Deployment/deployment-render","title":"Render","description":"Deploy on Render","sidebar":"docs"},"Get-Started/get-started-installation":{"id":"Get-Started/get-started-installation","title":"Install Langflow","description":"You can deploy Langflow either locally or as a hosted service with Datastax Langflow.","sidebar":"docs"},"Get-Started/get-started-quickstart":{"id":"Get-Started/get-started-quickstart","title":"Quickstart","description":"Get to know Langflow by building an OpenAI-powered chatbot application. After you\'ve constructed a chatbot, add Retrieval Augmented Generation (RAG) to chat with your own data.","sidebar":"docs"},"Get-Started/welcome-to-langflow":{"id":"Get-Started/welcome-to-langflow","title":"Welcome to Langflow","description":"Langflow is a new, visual framework for building multi-agent and RAG applications. It is open-source, Python-powered, fully customizable, and LLM and vector store agnostic.","sidebar":"docs"},"Integrations/Composio/integrations-composio":{"id":"Integrations/Composio/integrations-composio","title":"Integrate Composio with Langflow","description":"Langflow integrates with Composio as a toolset for your Agent component.","sidebar":"docs"},"Integrations/Google/integrations-setup-google-cloud-vertex-ai-langflow":{"id":"Integrations/Google/integrations-setup-google-cloud-vertex-ai-langflow","title":"Integrate Google Cloud Vertex AI with Langflow","description":"A comprehensive guide on creating a Google OAuth app, obtaining tokens, and integrating them with Langflow\'s Google components.","sidebar":"docs"},"Integrations/Google/integrations-setup-google-oauth-langflow":{"id":"Integrations/Google/integrations-setup-google-oauth-langflow","title":"Integrate Google OAuth with Langflow","description":"A comprehensive guide on creating a Google OAuth app, obtaining tokens, and integrating them with Langflow\'s Google components.","sidebar":"docs"},"Integrations/integrations-assemblyai":{"id":"Integrations/integrations-assemblyai","title":"AssemblyAI","description":"The AssemblyAI components allow you to apply powerful Speech AI models to your app for tasks like:","sidebar":"docs"},"Integrations/integrations-langfuse":{"id":"Integrations/integrations-langfuse","title":"Langfuse","description":"Langfuse is an observability and analytics platform specifically designed for language models and AI applications.","sidebar":"docs"},"Integrations/integrations-langsmith":{"id":"Integrations/integrations-langsmith","title":"LangSmith","description":"LangSmith is a full-lifecycle DevOps service from LangChain that provides monitoring and observability. To integrate with Langflow, just add your LangChain API key as a Langflow environment variable and you are good to go!","sidebar":"docs"},"Integrations/integrations-langwatch":{"id":"Integrations/integrations-langwatch","title":"LangWatch","description":"938674091aac4d9d9aa4aa6eb5c215b4}","sidebar":"docs"},"Integrations/Notion/integrations-notion":{"id":"Integrations/Notion/integrations-notion","title":"Setup","description":"To use Notion components in Langflow, you first need to create a Notion integration and configure it with the necessary capabilities. This guide will walk you through the process of setting up a Notion integration and granting it access to your Notion databases.","sidebar":"docs"},"Integrations/Notion/notion-agent-conversational":{"id":"Integrations/Notion/notion-agent-conversational","title":"Notion Conversational Agent","description":"The Notion Conversational Agent is an AI-powered assistant that interacts with your Notion workspace through natural language conversations. This flow performs Notion-related tasks like creating pages, searching for information, and managing content, all through a chat interface.","sidebar":"docs"},"Integrations/Notion/notion-agent-meeting-notes":{"id":"Integrations/Notion/notion-agent-meeting-notes","title":"Notion Meeting Notes Agent","description":"The Notion Agent for Meeting Notes is an AI-powered tool that automatically processes meeting transcripts and updates your Notion workspace. It identifies tasks, action items, and key points from your meetings, then creates new tasks or updates existing ones in Notion without manual input.","sidebar":"docs"},"Starter-Projects/starter-projects-basic-prompting":{"id":"Starter-Projects/starter-projects-basic-prompting","title":"Basic prompting","description":"Prompts serve as the inputs to a large language model (LLM), acting as the interface between human instructions and computational tasks.","sidebar":"docs"},"Starter-Projects/starter-projects-simple-agent":{"id":"Starter-Projects/starter-projects-simple-agent","title":"Simple agent","description":"Build a Simple Agent flow for an agentic application using the Tool-calling agent component.","sidebar":"docs"},"Starter-Projects/starter-projects-vector-store-rag":{"id":"Starter-Projects/starter-projects-vector-store-rag","title":"Vector store RAG","description":"Retrieval Augmented Generation, or RAG, is a pattern for training LLMs on your data and querying it.","sidebar":"docs"},"Tutorials/tutorials-blog-writer":{"id":"Tutorials/tutorials-blog-writer","title":"Blog writer","description":"Build a Blog Writer flow for a one-shot application using OpenAI.","sidebar":"docs"},"Tutorials/tutorials-document-qa":{"id":"Tutorials/tutorials-document-qa","title":"Document QA","description":"Build a question-and-answer chatbot with a document loaded from local memory.","sidebar":"docs"},"Tutorials/tutorials-math-agent":{"id":"Tutorials/tutorials-math-agent","title":"Math agent","description":"Build a Math Agent flow for an agentic application using the Tool-calling agent component.","sidebar":"docs"},"Tutorials/tutorials-memory-chatbot":{"id":"Tutorials/tutorials-memory-chatbot","title":"Memory chatbot","description":"This flow extends the\xa0basic prompting flow\xa0with a Chat memory component that stores up to 100 previous chat messages and uses them to provide context for the current conversation.","sidebar":"docs"},"Tutorials/tutorials-sequential-agent":{"id":"Tutorials/tutorials-sequential-agent","title":"Sequential tasks agent","description":"Build a Sequential Tasks Agent flow for a multi-agent application using multiple Agent components.","sidebar":"docs"},"Tutorials/tutorials-travel-planning-agent":{"id":"Tutorials/tutorials-travel-planning-agent","title":"Travel planning agent","description":"Build a Travel Planning Agent flow for an agentic application using the multiple Tool-calling agents.","sidebar":"docs"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/2ab0d4f5.3effb72b.js b/assets/js/2ab0d4f5.3effb72b.js new file mode 100644 index 0000000000..5899a33da7 --- /dev/null +++ b/assets/js/2ab0d4f5.3effb72b.js @@ -0,0 +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.1.4"},"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 \\"eu9cb\\": \\"\\",\\n \\"cupidatat_0\\": \\"\\"\\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/2ab0d4f5.f09c7b4f.js b/assets/js/2ab0d4f5.f09c7b4f.js deleted file mode 100644 index 2a0358b679..0000000000 --- a/assets/js/2ab0d4f5.f09c7b4f.js +++ /dev/null @@ -1 +0,0 @@ -"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.1.4"},"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 \\"anim35_\\": \\"\\",\\n \\"sed0c\\": \\"\\",\\n \\"esse_863\\": \\"\\"\\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/537e1953.4dc45868.js b/assets/js/537e1953.4dc45868.js new file mode 100644 index 0000000000..5f0d30f7ba --- /dev/null +++ b/assets/js/537e1953.4dc45868.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[9789],{28453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>s});var i=n(96540);const a={},r=i.createContext(a);function o(e){const t=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),i.createElement(r.Provider,{value:t},e.children)}},44347:(e,t,n)=>{n.d(t,{A:()=>i});const i=n.p+"assets/images/apify_agent_flow_simple-6a14081c57b8328d7b225d80448e1793.png"},54998:(e,t,n)=>{n.d(t,{A:()=>i});const i=n.p+"assets/images/apify_flow_wcc-4be614102f62d74ea2e4eb4975d8b72e.png"},77907:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>s,default:()=>p,frontMatter:()=>o,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"id":"Integrations/Apify/integrations-apify","title":"Apify","description":"Apify is a web scraping and data extraction platform. It provides an app store with more than three thousand ready-made cloud tools called Actors.","source":"@site/docs/Integrations/Apify/integrations-apify.md","sourceDirName":"Integrations/Apify","slug":"/integrations-apify","permalink":"/integrations-apify","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{"title":"Apify","slug":"/integrations-apify"},"sidebar":"docs","previous":{"title":"Render","permalink":"/deployment-render"},"next":{"title":"AssemblyAI","permalink":"/integrations-assemblyai"}}');var a=n(74848),r=n(28453);const o={title:"Apify",slug:"/integrations-apify"},s="Integrate Apify with Langflow",c={},l=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"Example flows",id:"example-flows",level:2},{value:"Extract website text content in Markdown format",id:"extract-website-text-content-in-markdown-format",level:3},{value:"Analyze and process website content with an Agent",id:"analyze-and-process-website-content-with-an-agent",level:3},{value:"Search and analyze social media profiles with an Agent",id:"search-and-analyze-social-media-profiles-with-an-agent",level:3},{value:"Components",id:"components",level:2},{value:"Apify Actors",id:"apify-actors",level:3},{value:"How to use Apify Actors in Langflow",id:"how-to-use-apify-actors-in-langflow",level:2}];function h(e){const t={a:"a",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.header,{children:(0,a.jsx)(t.h1,{id:"integrate-apify-with-langflow",children:"Integrate Apify with Langflow"})}),"\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.a,{href:"https://apify.com/",children:"Apify"})," is a web scraping and data extraction platform. It provides an app store with more than three thousand ready-made cloud tools called Actors."]}),"\n",(0,a.jsx)(t.p,{children:"The Apify components allow you to run Apify Actors in your flow to accomplish tasks such as:"}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsx)(t.li,{children:"Crawling websites and extracting text content"}),"\n",(0,a.jsx)(t.li,{children:"Scraping social media platforms like Instagram and Facebook"}),"\n",(0,a.jsx)(t.li,{children:"Extracting data from Google Maps"}),"\n",(0,a.jsx)(t.li,{children:"Inserting data into a PostgreSQL/MySQL/MSSQL database"}),"\n",(0,a.jsx)(t.li,{children:"Running various other automation tasks"}),"\n"]}),"\n",(0,a.jsx)(t.p,{children:"More info about Apify:"}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsx)(t.li,{children:(0,a.jsx)(t.a,{href:"https://apify.com/",children:"Website"})}),"\n",(0,a.jsx)(t.li,{children:(0,a.jsx)(t.a,{href:"https://apify.com/store",children:"Apify Actor Store"})}),"\n",(0,a.jsx)(t.li,{children:(0,a.jsx)(t.a,{href:"https://whitepaper.actor/",children:"Actor Whitepaper"})}),"\n"]}),"\n",(0,a.jsx)(t.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,a.jsxs)(t.p,{children:["You need an ",(0,a.jsx)(t.strong,{children:"Apify API token"}),". You can create a free account on ",(0,a.jsx)(t.a,{href:"https://apify.com/",children:"Apify"})," and generate your API key in the Apify Console. ",(0,a.jsx)(t.a,{href:"https://docs.apify.com/platform/integrations/api",children:"Get a Free API key here"}),"."]}),"\n",(0,a.jsxs)(t.p,{children:["Enter the key in the ",(0,a.jsx)(t.em,{children:"Apify Token"})," field in all components that require the key."]}),"\n",(0,a.jsx)(t.h2,{id:"example-flows",children:"Example flows"}),"\n",(0,a.jsx)(t.h3,{id:"extract-website-text-content-in-markdown-format",children:"Extract website text content in Markdown format"}),"\n",(0,a.jsxs)(t.p,{children:["Use the ",(0,a.jsx)(t.a,{href:"https://apify.com/apify/website-content-crawler",children:"Website Content Crawler Actor"})," to extract text content in Markdown format from a website and process it in your flow.\n",(0,a.jsx)(t.img,{alt:"Apify Flow - Website Content Crawler",src:n(54998).A+"",width:"699",height:"643"})]}),"\n",(0,a.jsx)(t.h3,{id:"analyze-and-process-website-content-with-an-agent",children:"Analyze and process website content with an Agent"}),"\n",(0,a.jsxs)(t.p,{children:["Building on the previous example, this flow not only extracts website content using the ",(0,a.jsx)(t.a,{href:"https://apify.com/apify/website-content-crawler",children:"Website Content Crawler Actor"})," but also processes and analyzes it with an agent. The agent takes the extracted data and transforms it into summaries, insights, or structured responses, making the information more actionable. Unlike simple extraction, this approach enables automated content understanding and contextual processing.\n",(0,a.jsx)(t.img,{alt:"Apify Agent Flow - Simple",src:n(44347).A+"",width:"919",height:"713"})]}),"\n",(0,a.jsx)(t.h3,{id:"search-and-analyze-social-media-profiles-with-an-agent",children:"Search and analyze social media profiles with an Agent"}),"\n",(0,a.jsxs)(t.p,{children:["Perform comprehensive social media research with multiple Apify Actors. Start with the ",(0,a.jsx)(t.a,{href:"https://apify.com/apify/google-search-scraper",children:"Google Search Results Scraper Actor"})," to find relevant social media profiles, then use the ",(0,a.jsx)(t.a,{href:"https://apify.com/clockworks/free-tiktok-scraper",children:"TikTok Data Extractor Actor"})," to gather data and videos. The agent streamlines the process by collecting links from Google and retrieving content from TikTok, enabling deeper analysis of a person, brand, or topic.\n",(0,a.jsx)(t.img,{alt:"Apify Agent Flow",src:n(89976).A+"",width:"964",height:"864"})]}),"\n",(0,a.jsx)(t.h2,{id:"components",children:"Components"}),"\n",(0,a.jsx)(t.h3,{id:"apify-actors",children:"Apify Actors"}),"\n",(0,a.jsx)(t.p,{children:"This component allows you to run Apify Actors in your flow. It can be used manually by providing run input or integrated as a tool for an AI Agent. When used with an AI Agent, the agent can leverage the Apify Actors to perform various tasks."}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsxs)(t.li,{children:["\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.strong,{children:"Input"}),":"]}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsx)(t.li,{children:"Apify Token: Your API key."}),"\n",(0,a.jsxs)(t.li,{children:["Actor: The Apify Actor to run. Example: ",(0,a.jsx)(t.code,{children:"apify/website-content-crawler"}),"."]}),"\n",(0,a.jsx)(t.li,{children:"Run Input: The JSON input for configuring the Actor run."}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(t.li,{children:["\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.strong,{children:"Output"}),":"]}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsx)(t.li,{children:"Actor Run Result: The JSON response containing the output of the Actor run."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,a.jsx)(t.h2,{id:"how-to-use-apify-actors-in-langflow",children:"How to use Apify Actors in Langflow"}),"\n",(0,a.jsxs)(t.p,{children:["First, you need to pick an Actor that you want to use in your flow from the ",(0,a.jsx)(t.a,{href:"https://apify.com/store",children:"Apify Actor Store"}),". Then, create the ",(0,a.jsx)(t.strong,{children:"Apify Actors"})," component and input your Apify API token and the Actor ID. You can find the Actor ID in the Apify Actor Store, for instance, the ",(0,a.jsx)(t.a,{href:"https://apify.com/apify/website-content-crawler",children:"Website Content Crawler"})," has Actor ID ",(0,a.jsx)(t.code,{children:"apify/website-content-crawler"}),". Now you can either connect the ",(0,a.jsx)(t.strong,{children:"Tool"})," output to an AI Agent or configure the Run input JSON manually and run the component to retrieve data from the ",(0,a.jsx)(t.strong,{children:"Output Data"}),". Example Run input can be obtained from the Actor details page in the Apify Actor Store. See the ",(0,a.jsx)(t.strong,{children:"JSON Example"})," in the input schema section ",(0,a.jsx)(t.a,{href:"https://apify.com/apify/website-content-crawler/input-schema",children:"here"}),"."]})]})}function p(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(h,{...e})}):h(e)}},89976:(e,t,n)=>{n.d(t,{A:()=>i});const i=n.p+"assets/images/apify_agent_flow-4893aed54213b8b79d760ff091cbf467.png"}}]); \ No newline at end of file diff --git a/assets/js/829ff4d2.f47c9da7.js b/assets/js/829ff4d2.c1f6124f.js similarity index 99% rename from assets/js/829ff4d2.f47c9da7.js rename to assets/js/829ff4d2.c1f6124f.js index 235c805c0f..cee00ad1bd 100644 --- a/assets/js/829ff4d2.f47c9da7.js +++ b/assets/js/829ff4d2.c1f6124f.js @@ -1 +1 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[3964],{17835:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/assemblyai-components-b88c7c97e04114bf658898f7fc633e23.png"},28453:(e,n,s)=>{s.d(n,{R:()=>r,x:()=>o});var t=s(96540);const i={},l=t.createContext(i);function r(e){const n=t.useContext(l);return t.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(i):e.components||i:r(e.components),t.createElement(l.Provider,{value:n},e.children)}},28618:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/files/AssemblyAI_Flow-368be24ae9542f0b8b5253cc9d97b42f.json"},32352:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>o,default:()=>d,frontMatter:()=>r,metadata:()=>t,toc:()=>c});const t=JSON.parse('{"id":"Integrations/integrations-assemblyai","title":"AssemblyAI","description":"The AssemblyAI components allow you to apply powerful Speech AI models to your app for tasks like:","source":"@site/docs/Integrations/integrations-assemblyai.md","sourceDirName":"Integrations","slug":"/integrations-assemblyai","permalink":"/integrations-assemblyai","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{"title":"AssemblyAI","slug":"/integrations-assemblyai"},"sidebar":"docs","previous":{"title":"Render","permalink":"/deployment-render"},"next":{"title":"Integrate Composio with Langflow","permalink":"/integrations-composio"}}');var i=s(74848),l=s(28453);const r={title:"AssemblyAI",slug:"/integrations-assemblyai"},o="AssemblyAI",a={},c=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"Components",id:"components",level:2},{value:"AssemblyAI Start Transcript",id:"assemblyai-start-transcript",level:3},{value:"AssemblyAI Poll Transcript",id:"assemblyai-poll-transcript",level:3},{value:"AssemblyAI Get Subtitles",id:"assemblyai-get-subtitles",level:3},{value:"AssemblyAI LeMUR",id:"assemblyai-lemur",level:3},{value:"AssemblyAI List Transcripts",id:"assemblyai-list-transcripts",level:3},{value:"Flow Process",id:"flow-process",level:2},{value:"Run the Transcription and Speech AI Flow",id:"run-the-transcription-and-speech-ai-flow",level:2},{value:"Customization",id:"customization",level:2},{value:"Troubleshooting",id:"troubleshooting",level:2}];function h(e){const n={a:"a",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,l.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"assemblyai",children:"AssemblyAI"})}),"\n",(0,i.jsx)(n.p,{children:"The AssemblyAI components allow you to apply powerful Speech AI models to your app for tasks like:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Transcribing audio and video files"}),"\n",(0,i.jsx)(n.li,{children:"Formatting transcripts"}),"\n",(0,i.jsx)(n.li,{children:"Generating subtitles"}),"\n",(0,i.jsx)(n.li,{children:"Applying LLMs to audio files"}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"More info about AssemblyAI:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.assemblyai.com/",children:"Website"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.assemblyai.com/docs",children:"AssemblyAI API Docs"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.assemblyai.com/dashboard/signup",children:"Get a Free API key"})}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,i.jsxs)(n.p,{children:["You need an ",(0,i.jsx)(n.strong,{children:"AssemblyAI API key"}),". After creating a free account, you'll find the API key in your dashboard. ",(0,i.jsx)(n.a,{href:"https://www.assemblyai.com/dashboard/signup",children:"Get a Free API key here"}),"."]}),"\n",(0,i.jsxs)(n.p,{children:["Enter the key in the ",(0,i.jsx)(n.em,{children:"AssemblyAI API Key"})," field in all components that require the key."]}),"\n",(0,i.jsx)(n.p,{children:"(Optional): To use LeMUR, you need to upgrade your AssemblyAI account, since this is not included in the free account."}),"\n",(0,i.jsx)(n.h2,{id:"components",children:"Components"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"AssemblyAI Components",src:s(17835).A+"",width:"1494",height:"1048"})}),"\n",(0,i.jsx)(n.h3,{id:"assemblyai-start-transcript",children:"AssemblyAI Start Transcript"}),"\n",(0,i.jsx)(n.p,{children:"This component allows you to submit an audio or video file for transcription."}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Tip"}),": You can freeze the path of this component to only submit the file once."]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Input"}),":"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"AssemblyAI API Key: Your API key."}),"\n",(0,i.jsx)(n.li,{children:"Audio File: The audio or video file to transcribe."}),"\n",(0,i.jsxs)(n.li,{children:["Speech Model (Optional): Select the class of models. Default is ",(0,i.jsx)(n.em,{children:"Best"}),". See ",(0,i.jsx)(n.a,{href:"https://www.assemblyai.com/docs/speech-to-text/speech-recognition#select-the-speech-model-with-best-and-nano",children:"speech models"})," for more info."]}),"\n",(0,i.jsx)(n.li,{children:"Automatic Language Detection (Optional): Enable automatic language detection."}),"\n",(0,i.jsxs)(n.li,{children:["Language (Optional): The language of the audio file. Can be set manually if automatic language detection is disabled.\nSee ",(0,i.jsx)(n.a,{href:"https://www.assemblyai.com/docs/getting-started/supported-languages",children:"supported languages"})," for a list of supported language codes."]}),"\n",(0,i.jsx)(n.li,{children:"Enable Speaker Labels (Optional): Detect speakers in an audio file and what each speaker said."}),"\n",(0,i.jsx)(n.li,{children:"Expected Number of Speakers (Optional): Set the expected number of speakers, if Speaker Labels is enabled."}),"\n",(0,i.jsxs)(n.li,{children:["Audio File URL (Optional): The URL of the audio or video file to transcribe. Can be used instead of ",(0,i.jsx)(n.em,{children:"Audio File"}),"."]}),"\n",(0,i.jsx)(n.li,{children:"Punctuate (Optional): Apply punctuation. Default is true."}),"\n",(0,i.jsx)(n.li,{children:"Format Text (Optional): Apply casing and text formatting. Default is true."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Output"}),":"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Transcript ID: The id of the transcript"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"assemblyai-poll-transcript",children:"AssemblyAI Poll Transcript"}),"\n",(0,i.jsx)(n.p,{children:"This components allows you to poll the transcripts. It checks the status of the transcript every few seconds until the transcription is completed."}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Input"}),":"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"AssemblyAI API Key: Your API key."}),"\n",(0,i.jsx)(n.li,{children:"Polling Interval (Optional): The polling interval in seconds. Default is 3."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Output"}),":"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Transcription Result: The AssemblyAI JSON response of a completed transcript. Contains the text and other info."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"assemblyai-get-subtitles",children:"AssemblyAI Get Subtitles"}),"\n",(0,i.jsx)(n.p,{children:"This component allows you to generate subtitles in SRT or VTT format."}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Input"}),":"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"AssemblyAI API Key: Your API key."}),"\n",(0,i.jsxs)(n.li,{children:["Transcription Result: The output of the ",(0,i.jsx)(n.em,{children:"Poll Transcript"})," component."]}),"\n",(0,i.jsx)(n.li,{children:"Subtitle Format: The format of the captions (SRT or VTT)."}),"\n",(0,i.jsx)(n.li,{children:"Character per Caption (Optional): The maximum number of characters per caption (0 for no limit)."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Output"}),":"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Subtitles: A JSON response with the ",(0,i.jsx)(n.code,{children:"subtitles"})," field containing the captions in SRT or VTT format."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"assemblyai-lemur",children:"AssemblyAI LeMUR"}),"\n",(0,i.jsxs)(n.p,{children:["This component allows you to apply Large Language Models to spoken data using the ",(0,i.jsx)(n.a,{href:"https://www.assemblyai.com/docs/lemur",children:"AssemblyAI LeMUR framework"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"LeMUR automatically ingests the transcript as additional context, making it easy to apply LLMs to audio data. You can use it for tasks like summarizing audio, extracting insights, or asking questions."}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Input"}),":"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"AssemblyAI API Key: Your API key."}),"\n",(0,i.jsxs)(n.li,{children:["Transcription Result: The output of the ",(0,i.jsx)(n.em,{children:"Poll Transcript"})," component."]}),"\n",(0,i.jsxs)(n.li,{children:["Input Prompt: The text to prompt the model. You can type your prompt in this field or connect it to a ",(0,i.jsx)(n.em,{children:"Prompt"})," component."]}),"\n",(0,i.jsx)(n.li,{children:"Final Model: The model that is used for the final prompt after compression is performed. Default is Claude 3.5 Sonnet."}),"\n",(0,i.jsx)(n.li,{children:"Temperature (Optional): The temperature to use for the model. Default is 0.0."}),"\n",(0,i.jsx)(n.li,{children:"Max Output Size (Optional): Max output size in tokens, up to 4000. Default is 2000."}),"\n",(0,i.jsxs)(n.li,{children:['Endpoint (Optional): The LeMUR endpoint to use. Default is "task". For "summary" and "question-answer", no prompt input is needed. See ',(0,i.jsx)(n.a,{href:"https://www.assemblyai.com/docs/api-reference/lemur/",children:"LeMUR API docs"})," for more info."]}),"\n",(0,i.jsxs)(n.li,{children:["Questions (Optional): Comma-separated list of your questions. Only used if ",(0,i.jsx)(n.em,{children:"Endpoint"}),' is "question-answer".']}),"\n",(0,i.jsxs)(n.li,{children:["Transcript IDs (Optional): Comma-separated list of transcript IDs. LeMUR can perform actions over multiple transcripts. If provided, the ",(0,i.jsx)(n.em,{children:"Transcription Result"})," is ignored."]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Output"}),":"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"LeMUR Response: The generated LLM response."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"assemblyai-list-transcripts",children:"AssemblyAI List Transcripts"}),"\n",(0,i.jsx)(n.p,{children:"This component can be used as a standalone component to list all previously generated transcripts."}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Input"}),":"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"AssemblyAI API Key: Your API key."}),"\n",(0,i.jsx)(n.li,{children:"Limit (Optional): Maximum number of transcripts to retrieve. Default is 20, use 0 for all."}),"\n",(0,i.jsx)(n.li,{children:"Filter (Optional): Filter by transcript status."}),"\n",(0,i.jsx)(n.li,{children:"Created On (Optional): Only get transcripts created on this date (YYYY-MM-DD)."}),"\n",(0,i.jsx)(n.li,{children:"Throttled Only (Optional): Only get throttled transcripts, overrides the status filter"}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Output"}),":"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Transcript List: A list of all transcripts with info such as the transcript ID, the status, and the data."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"flow-process",children:"Flow Process"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"The user inputs an audio or video file."}),"\n",(0,i.jsx)(n.li,{children:"The user can also input an LLM prompt. In this example, we want to generate a summary of the transcript."}),"\n",(0,i.jsx)(n.li,{children:"The flow submits the audio file for transcription."}),"\n",(0,i.jsx)(n.li,{children:"The flow checks the status of the transcript every few seconds until transcription is completed."}),"\n",(0,i.jsx)(n.li,{children:"The flow parses the transcription result and outputs the transcribed text."}),"\n",(0,i.jsx)(n.li,{children:"The flow also generates subtitles."}),"\n",(0,i.jsx)(n.li,{children:"The flow applies the LLM prompt to generate a summary."}),"\n",(0,i.jsx)(n.li,{children:"As a standalone component, all transcripts can be listed."}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"run-the-transcription-and-speech-ai-flow",children:"Run the Transcription and Speech AI Flow"}),"\n",(0,i.jsx)(n.p,{children:"To run the Transcription and Speech AI Flow:"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"Open Langflow and create a new project."}),"\n",(0,i.jsxs)(n.li,{children:["Add the components listed above to your flow canvas, or download the ",(0,i.jsx)(n.a,{target:"_blank","data-noBrokenLinkCheck":!0,href:s(28618).A+"",children:"AssemblyAI Transcription and Speech AI Flow"}),"(Download link) and ",(0,i.jsx)(n.strong,{children:"Import"})," the JSON file into Langflow."]}),"\n",(0,i.jsxs)(n.li,{children:["Connect the components as shown in the flow diagram. ",(0,i.jsx)(n.strong,{children:"Tip"}),": Freeze the path of the ",(0,i.jsx)(n.em,{children:"Start Transcript"})," component to only submit the file once."]}),"\n",(0,i.jsx)(n.li,{children:"Input the AssemblyAI API key in in all components that require the key (Start Transcript, Poll Transcript, Get Subtitles, LeMUR, List Transcripts)."}),"\n",(0,i.jsxs)(n.li,{children:["Select an audio or video file in the ",(0,i.jsx)(n.em,{children:"Start Transcript"})," component."]}),"\n",(0,i.jsxs)(n.li,{children:["Run the flow by clicking ",(0,i.jsx)(n.strong,{children:"Play"})," on the ",(0,i.jsx)(n.em,{children:"Parse Data"})," component. Make sure that the specified template is ",(0,i.jsx)(n.code,{children:"{text}"}),"."]}),"\n",(0,i.jsxs)(n.li,{children:["To generate subtitles, click ",(0,i.jsx)(n.strong,{children:"Play"})," on the ",(0,i.jsx)(n.em,{children:"Get Subtitles"})," component."]}),"\n",(0,i.jsxs)(n.li,{children:["To apply an LLM to your audio file, click ",(0,i.jsx)(n.strong,{children:"Play"})," on the ",(0,i.jsx)(n.em,{children:"LeMUR"})," component. Note that you need an upgraded AssemblyAI account to use LeMUR."]}),"\n",(0,i.jsxs)(n.li,{children:["To list all transcripts, click ",(0,i.jsx)(n.strong,{children:"Play"})," on the ",(0,i.jsx)(n.em,{children:"List Transcript"})," component."]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"customization",children:"Customization"}),"\n",(0,i.jsx)(n.p,{children:"The flow can be customized by:"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["Modifying the parameters in the ",(0,i.jsx)(n.em,{children:"Start Transcript"})," component."]}),"\n",(0,i.jsxs)(n.li,{children:["Modifying the subtitle format in the ",(0,i.jsx)(n.em,{children:"Get Subtitles"})," component."]}),"\n",(0,i.jsxs)(n.li,{children:["Modifying the LLM prompt for input of the ",(0,i.jsx)(n.em,{children:"LeMUR"})," component."]}),"\n",(0,i.jsxs)(n.li,{children:["Modifying the LLM parameters (e.g., temperature) in the ",(0,i.jsx)(n.em,{children:"LeMUR"})," component."]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"troubleshooting",children:"Troubleshooting"}),"\n",(0,i.jsx)(n.p,{children:"If you encounter issues:"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"Ensure the API key is correctly set in all components that require the key."}),"\n",(0,i.jsx)(n.li,{children:"To use LeMUR, you need to upgrade your AssemblyAI account, since this is not included in the free account."}),"\n",(0,i.jsx)(n.li,{children:"Verify that all components are properly connected in the flow."}),"\n",(0,i.jsx)(n.li,{children:"Review the Langflow logs for any error messages."}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["For more advanced usage, refer to the ",(0,i.jsx)(n.a,{href:"https://www.assemblyai.com/docs/",children:"AssemblyAI API documentation"}),". If you need more help, you can reach out to the ",(0,i.jsx)(n.a,{href:"https://www.assemblyai.com/contact/support",children:"AssemblyAI support"}),"."]})]})}function d(e={}){const{wrapper:n}={...(0,l.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}}}]); \ No newline at end of file +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[3964],{17835:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/assemblyai-components-b88c7c97e04114bf658898f7fc633e23.png"},28453:(e,n,s)=>{s.d(n,{R:()=>r,x:()=>o});var t=s(96540);const i={},l=t.createContext(i);function r(e){const n=t.useContext(l);return t.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(i):e.components||i:r(e.components),t.createElement(l.Provider,{value:n},e.children)}},28618:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/files/AssemblyAI_Flow-368be24ae9542f0b8b5253cc9d97b42f.json"},32352:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>o,default:()=>d,frontMatter:()=>r,metadata:()=>t,toc:()=>c});const t=JSON.parse('{"id":"Integrations/integrations-assemblyai","title":"AssemblyAI","description":"The AssemblyAI components allow you to apply powerful Speech AI models to your app for tasks like:","source":"@site/docs/Integrations/integrations-assemblyai.md","sourceDirName":"Integrations","slug":"/integrations-assemblyai","permalink":"/integrations-assemblyai","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{"title":"AssemblyAI","slug":"/integrations-assemblyai"},"sidebar":"docs","previous":{"title":"Apify","permalink":"/integrations-apify"},"next":{"title":"Integrate Composio with Langflow","permalink":"/integrations-composio"}}');var i=s(74848),l=s(28453);const r={title:"AssemblyAI",slug:"/integrations-assemblyai"},o="AssemblyAI",a={},c=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"Components",id:"components",level:2},{value:"AssemblyAI Start Transcript",id:"assemblyai-start-transcript",level:3},{value:"AssemblyAI Poll Transcript",id:"assemblyai-poll-transcript",level:3},{value:"AssemblyAI Get Subtitles",id:"assemblyai-get-subtitles",level:3},{value:"AssemblyAI LeMUR",id:"assemblyai-lemur",level:3},{value:"AssemblyAI List Transcripts",id:"assemblyai-list-transcripts",level:3},{value:"Flow Process",id:"flow-process",level:2},{value:"Run the Transcription and Speech AI Flow",id:"run-the-transcription-and-speech-ai-flow",level:2},{value:"Customization",id:"customization",level:2},{value:"Troubleshooting",id:"troubleshooting",level:2}];function h(e){const n={a:"a",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,l.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"assemblyai",children:"AssemblyAI"})}),"\n",(0,i.jsx)(n.p,{children:"The AssemblyAI components allow you to apply powerful Speech AI models to your app for tasks like:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Transcribing audio and video files"}),"\n",(0,i.jsx)(n.li,{children:"Formatting transcripts"}),"\n",(0,i.jsx)(n.li,{children:"Generating subtitles"}),"\n",(0,i.jsx)(n.li,{children:"Applying LLMs to audio files"}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"More info about AssemblyAI:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.assemblyai.com/",children:"Website"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.assemblyai.com/docs",children:"AssemblyAI API Docs"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.assemblyai.com/dashboard/signup",children:"Get a Free API key"})}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,i.jsxs)(n.p,{children:["You need an ",(0,i.jsx)(n.strong,{children:"AssemblyAI API key"}),". After creating a free account, you'll find the API key in your dashboard. ",(0,i.jsx)(n.a,{href:"https://www.assemblyai.com/dashboard/signup",children:"Get a Free API key here"}),"."]}),"\n",(0,i.jsxs)(n.p,{children:["Enter the key in the ",(0,i.jsx)(n.em,{children:"AssemblyAI API Key"})," field in all components that require the key."]}),"\n",(0,i.jsx)(n.p,{children:"(Optional): To use LeMUR, you need to upgrade your AssemblyAI account, since this is not included in the free account."}),"\n",(0,i.jsx)(n.h2,{id:"components",children:"Components"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"AssemblyAI Components",src:s(17835).A+"",width:"1494",height:"1048"})}),"\n",(0,i.jsx)(n.h3,{id:"assemblyai-start-transcript",children:"AssemblyAI Start Transcript"}),"\n",(0,i.jsx)(n.p,{children:"This component allows you to submit an audio or video file for transcription."}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Tip"}),": You can freeze the path of this component to only submit the file once."]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Input"}),":"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"AssemblyAI API Key: Your API key."}),"\n",(0,i.jsx)(n.li,{children:"Audio File: The audio or video file to transcribe."}),"\n",(0,i.jsxs)(n.li,{children:["Speech Model (Optional): Select the class of models. Default is ",(0,i.jsx)(n.em,{children:"Best"}),". See ",(0,i.jsx)(n.a,{href:"https://www.assemblyai.com/docs/speech-to-text/speech-recognition#select-the-speech-model-with-best-and-nano",children:"speech models"})," for more info."]}),"\n",(0,i.jsx)(n.li,{children:"Automatic Language Detection (Optional): Enable automatic language detection."}),"\n",(0,i.jsxs)(n.li,{children:["Language (Optional): The language of the audio file. Can be set manually if automatic language detection is disabled.\nSee ",(0,i.jsx)(n.a,{href:"https://www.assemblyai.com/docs/getting-started/supported-languages",children:"supported languages"})," for a list of supported language codes."]}),"\n",(0,i.jsx)(n.li,{children:"Enable Speaker Labels (Optional): Detect speakers in an audio file and what each speaker said."}),"\n",(0,i.jsx)(n.li,{children:"Expected Number of Speakers (Optional): Set the expected number of speakers, if Speaker Labels is enabled."}),"\n",(0,i.jsxs)(n.li,{children:["Audio File URL (Optional): The URL of the audio or video file to transcribe. Can be used instead of ",(0,i.jsx)(n.em,{children:"Audio File"}),"."]}),"\n",(0,i.jsx)(n.li,{children:"Punctuate (Optional): Apply punctuation. Default is true."}),"\n",(0,i.jsx)(n.li,{children:"Format Text (Optional): Apply casing and text formatting. Default is true."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Output"}),":"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Transcript ID: The id of the transcript"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"assemblyai-poll-transcript",children:"AssemblyAI Poll Transcript"}),"\n",(0,i.jsx)(n.p,{children:"This components allows you to poll the transcripts. It checks the status of the transcript every few seconds until the transcription is completed."}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Input"}),":"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"AssemblyAI API Key: Your API key."}),"\n",(0,i.jsx)(n.li,{children:"Polling Interval (Optional): The polling interval in seconds. Default is 3."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Output"}),":"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Transcription Result: The AssemblyAI JSON response of a completed transcript. Contains the text and other info."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"assemblyai-get-subtitles",children:"AssemblyAI Get Subtitles"}),"\n",(0,i.jsx)(n.p,{children:"This component allows you to generate subtitles in SRT or VTT format."}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Input"}),":"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"AssemblyAI API Key: Your API key."}),"\n",(0,i.jsxs)(n.li,{children:["Transcription Result: The output of the ",(0,i.jsx)(n.em,{children:"Poll Transcript"})," component."]}),"\n",(0,i.jsx)(n.li,{children:"Subtitle Format: The format of the captions (SRT or VTT)."}),"\n",(0,i.jsx)(n.li,{children:"Character per Caption (Optional): The maximum number of characters per caption (0 for no limit)."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Output"}),":"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Subtitles: A JSON response with the ",(0,i.jsx)(n.code,{children:"subtitles"})," field containing the captions in SRT or VTT format."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"assemblyai-lemur",children:"AssemblyAI LeMUR"}),"\n",(0,i.jsxs)(n.p,{children:["This component allows you to apply Large Language Models to spoken data using the ",(0,i.jsx)(n.a,{href:"https://www.assemblyai.com/docs/lemur",children:"AssemblyAI LeMUR framework"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"LeMUR automatically ingests the transcript as additional context, making it easy to apply LLMs to audio data. You can use it for tasks like summarizing audio, extracting insights, or asking questions."}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Input"}),":"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"AssemblyAI API Key: Your API key."}),"\n",(0,i.jsxs)(n.li,{children:["Transcription Result: The output of the ",(0,i.jsx)(n.em,{children:"Poll Transcript"})," component."]}),"\n",(0,i.jsxs)(n.li,{children:["Input Prompt: The text to prompt the model. You can type your prompt in this field or connect it to a ",(0,i.jsx)(n.em,{children:"Prompt"})," component."]}),"\n",(0,i.jsx)(n.li,{children:"Final Model: The model that is used for the final prompt after compression is performed. Default is Claude 3.5 Sonnet."}),"\n",(0,i.jsx)(n.li,{children:"Temperature (Optional): The temperature to use for the model. Default is 0.0."}),"\n",(0,i.jsx)(n.li,{children:"Max Output Size (Optional): Max output size in tokens, up to 4000. Default is 2000."}),"\n",(0,i.jsxs)(n.li,{children:['Endpoint (Optional): The LeMUR endpoint to use. Default is "task". For "summary" and "question-answer", no prompt input is needed. See ',(0,i.jsx)(n.a,{href:"https://www.assemblyai.com/docs/api-reference/lemur/",children:"LeMUR API docs"})," for more info."]}),"\n",(0,i.jsxs)(n.li,{children:["Questions (Optional): Comma-separated list of your questions. Only used if ",(0,i.jsx)(n.em,{children:"Endpoint"}),' is "question-answer".']}),"\n",(0,i.jsxs)(n.li,{children:["Transcript IDs (Optional): Comma-separated list of transcript IDs. LeMUR can perform actions over multiple transcripts. If provided, the ",(0,i.jsx)(n.em,{children:"Transcription Result"})," is ignored."]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Output"}),":"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"LeMUR Response: The generated LLM response."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"assemblyai-list-transcripts",children:"AssemblyAI List Transcripts"}),"\n",(0,i.jsx)(n.p,{children:"This component can be used as a standalone component to list all previously generated transcripts."}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Input"}),":"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"AssemblyAI API Key: Your API key."}),"\n",(0,i.jsx)(n.li,{children:"Limit (Optional): Maximum number of transcripts to retrieve. Default is 20, use 0 for all."}),"\n",(0,i.jsx)(n.li,{children:"Filter (Optional): Filter by transcript status."}),"\n",(0,i.jsx)(n.li,{children:"Created On (Optional): Only get transcripts created on this date (YYYY-MM-DD)."}),"\n",(0,i.jsx)(n.li,{children:"Throttled Only (Optional): Only get throttled transcripts, overrides the status filter"}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Output"}),":"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Transcript List: A list of all transcripts with info such as the transcript ID, the status, and the data."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"flow-process",children:"Flow Process"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"The user inputs an audio or video file."}),"\n",(0,i.jsx)(n.li,{children:"The user can also input an LLM prompt. In this example, we want to generate a summary of the transcript."}),"\n",(0,i.jsx)(n.li,{children:"The flow submits the audio file for transcription."}),"\n",(0,i.jsx)(n.li,{children:"The flow checks the status of the transcript every few seconds until transcription is completed."}),"\n",(0,i.jsx)(n.li,{children:"The flow parses the transcription result and outputs the transcribed text."}),"\n",(0,i.jsx)(n.li,{children:"The flow also generates subtitles."}),"\n",(0,i.jsx)(n.li,{children:"The flow applies the LLM prompt to generate a summary."}),"\n",(0,i.jsx)(n.li,{children:"As a standalone component, all transcripts can be listed."}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"run-the-transcription-and-speech-ai-flow",children:"Run the Transcription and Speech AI Flow"}),"\n",(0,i.jsx)(n.p,{children:"To run the Transcription and Speech AI Flow:"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"Open Langflow and create a new project."}),"\n",(0,i.jsxs)(n.li,{children:["Add the components listed above to your flow canvas, or download the ",(0,i.jsx)(n.a,{target:"_blank","data-noBrokenLinkCheck":!0,href:s(28618).A+"",children:"AssemblyAI Transcription and Speech AI Flow"}),"(Download link) and ",(0,i.jsx)(n.strong,{children:"Import"})," the JSON file into Langflow."]}),"\n",(0,i.jsxs)(n.li,{children:["Connect the components as shown in the flow diagram. ",(0,i.jsx)(n.strong,{children:"Tip"}),": Freeze the path of the ",(0,i.jsx)(n.em,{children:"Start Transcript"})," component to only submit the file once."]}),"\n",(0,i.jsx)(n.li,{children:"Input the AssemblyAI API key in in all components that require the key (Start Transcript, Poll Transcript, Get Subtitles, LeMUR, List Transcripts)."}),"\n",(0,i.jsxs)(n.li,{children:["Select an audio or video file in the ",(0,i.jsx)(n.em,{children:"Start Transcript"})," component."]}),"\n",(0,i.jsxs)(n.li,{children:["Run the flow by clicking ",(0,i.jsx)(n.strong,{children:"Play"})," on the ",(0,i.jsx)(n.em,{children:"Parse Data"})," component. Make sure that the specified template is ",(0,i.jsx)(n.code,{children:"{text}"}),"."]}),"\n",(0,i.jsxs)(n.li,{children:["To generate subtitles, click ",(0,i.jsx)(n.strong,{children:"Play"})," on the ",(0,i.jsx)(n.em,{children:"Get Subtitles"})," component."]}),"\n",(0,i.jsxs)(n.li,{children:["To apply an LLM to your audio file, click ",(0,i.jsx)(n.strong,{children:"Play"})," on the ",(0,i.jsx)(n.em,{children:"LeMUR"})," component. Note that you need an upgraded AssemblyAI account to use LeMUR."]}),"\n",(0,i.jsxs)(n.li,{children:["To list all transcripts, click ",(0,i.jsx)(n.strong,{children:"Play"})," on the ",(0,i.jsx)(n.em,{children:"List Transcript"})," component."]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"customization",children:"Customization"}),"\n",(0,i.jsx)(n.p,{children:"The flow can be customized by:"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["Modifying the parameters in the ",(0,i.jsx)(n.em,{children:"Start Transcript"})," component."]}),"\n",(0,i.jsxs)(n.li,{children:["Modifying the subtitle format in the ",(0,i.jsx)(n.em,{children:"Get Subtitles"})," component."]}),"\n",(0,i.jsxs)(n.li,{children:["Modifying the LLM prompt for input of the ",(0,i.jsx)(n.em,{children:"LeMUR"})," component."]}),"\n",(0,i.jsxs)(n.li,{children:["Modifying the LLM parameters (e.g., temperature) in the ",(0,i.jsx)(n.em,{children:"LeMUR"})," component."]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"troubleshooting",children:"Troubleshooting"}),"\n",(0,i.jsx)(n.p,{children:"If you encounter issues:"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"Ensure the API key is correctly set in all components that require the key."}),"\n",(0,i.jsx)(n.li,{children:"To use LeMUR, you need to upgrade your AssemblyAI account, since this is not included in the free account."}),"\n",(0,i.jsx)(n.li,{children:"Verify that all components are properly connected in the flow."}),"\n",(0,i.jsx)(n.li,{children:"Review the Langflow logs for any error messages."}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["For more advanced usage, refer to the ",(0,i.jsx)(n.a,{href:"https://www.assemblyai.com/docs/",children:"AssemblyAI API documentation"}),". If you need more help, you can reach out to the ",(0,i.jsx)(n.a,{href:"https://www.assemblyai.com/contact/support",children:"AssemblyAI support"}),"."]})]})}function d(e={}){const{wrapper:n}={...(0,l.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}}}]); \ No newline at end of file diff --git a/assets/js/e6c6a4d2.45d23aba.js b/assets/js/e6c6a4d2.f4418579.js similarity index 55% rename from assets/js/e6c6a4d2.45d23aba.js rename to assets/js/e6c6a4d2.f4418579.js index f95ad80254..44bccb2496 100644 --- a/assets/js/e6c6a4d2.45d23aba.js +++ b/assets/js/e6c6a4d2.f4418579.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.1.4"},"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 \\"eta12\\": \\"\\",\\n \\"dolor_2_\\": \\"\\",\\n \\"magna_8c\\": \\"\\"\\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.1.4"},"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 \\"velit85\\": \\"\\"\\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/main.9d10f1e7.js b/assets/js/main.9d10f1e7.js new file mode 100644 index 0000000000..57f24cc788 --- /dev/null +++ b/assets/js/main.9d10f1e7.js @@ -0,0 +1,2 @@ +/*! For license information please see main.9d10f1e7.js.LICENSE.txt */ +(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[8792],{204:(e,t,n)=>{"use strict";n.d(t,{G:()=>r});const r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",blogAuthorsListPage:"blog-authors-list-page",blogAuthorsPostsPage:"blog-authors-posts-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",unlistedBanner:"theme-unlisted-banner",draftBanner:"theme-draft-banner",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{blogFooterTagsRow:"theme-blog-footer-tags-row",blogFooterEditMetaRow:"theme-blog-footer-edit-meta-row"},pages:{pageFooterEditMetaRow:"theme-pages-footer-edit-meta-row"}}},1093:e=>{"use strict";var t=Object.prototype.toString;e.exports=function(e){var n=t.call(e),r="[object Arguments]"===n;return r||(r="[object Array]"!==n&&null!==e&&"object"==typeof e&&"number"==typeof e.length&&e.length>=0&&"[object Function]"===t.call(e.callee)),r}},1189:(e,t,n)=>{"use strict";var r=Array.prototype.slice,o=n(1093),a=Object.keys,i=a?function(e){return a(e)}:n(28875),l=Object.keys;i.shim=function(){if(Object.keys){var e=function(){var e=Object.keys(arguments);return e&&e.length===arguments.length}(1,2);e||(Object.keys=function(e){return o(e)?l(r.call(e)):l(e)})}else Object.keys=i;return Object.keys||i},e.exports=i},2694:(e,t,n)=>{"use strict";var r=n(6925);function o(){}function a(){}a.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,a,i){if(i!==r){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:o};return n.PropTypes=n,n}},2833:e=>{e.exports=function(e,t,n,r){var o=n?n.call(r,e,t):void 0;if(void 0!==o)return!!o;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var a=Object.keys(e),i=Object.keys(t);if(a.length!==i.length)return!1;for(var l=Object.prototype.hasOwnProperty.bind(t),s=0;s{"use strict";var r=n(65606);function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function a(e){for(var t=1;te.length)&&(n=e.length),e.substring(n-t.length,n)===t}var w="",k="",x="",S="",E={deepStrictEqual:"Expected values to be strictly deep-equal:",strictEqual:"Expected values to be strictly equal:",strictEqualObject:'Expected "actual" to be reference-equal to "expected":',deepEqual:"Expected values to be loosely deep-equal:",equal:"Expected values to be loosely equal:",notDeepStrictEqual:'Expected "actual" not to be strictly deep-equal to:',notStrictEqual:'Expected "actual" to be strictly unequal to:',notStrictEqualObject:'Expected "actual" not to be reference-equal to "expected":',notDeepEqual:'Expected "actual" not to be loosely deep-equal to:',notEqual:'Expected "actual" to be loosely unequal to:',notIdentical:"Values identical but not reference-equal:"};function _(e){var t=Object.keys(e),n=Object.create(Object.getPrototypeOf(e));return t.forEach((function(t){n[t]=e[t]})),Object.defineProperty(n,"message",{value:e.message}),n}function j(e){return y(e,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}function O(e,t,n){var o="",a="",i=0,l="",s=!1,c=j(e),u=c.split("\n"),p=j(t).split("\n"),d=0,f="";if("strictEqual"===n&&"object"===h(e)&&"object"===h(t)&&null!==e&&null!==t&&(n="strictEqualObject"),1===u.length&&1===p.length&&u[0]!==p[0]){var m=u[0].length+p[0].length;if(m<=10){if(!("object"===h(e)&&null!==e||"object"===h(t)&&null!==t||0===e&&0===t))return"".concat(E[n],"\n\n")+"".concat(u[0]," !== ").concat(p[0],"\n")}else if("strictEqualObject"!==n){if(m<(r.stderr&&r.stderr.isTTY?r.stderr.columns:80)){for(;u[0][d]===p[0][d];)d++;d>2&&(f="\n ".concat(function(e,t){if(t=Math.floor(t),0==e.length||0==t)return"";var n=e.length*t;for(t=Math.floor(Math.log(t)/Math.log(2));t;)e+=e,t--;return e+e.substring(0,n-e.length)}(" ",d),"^"),d=0)}}}for(var g=u[u.length-1],y=p[p.length-1];g===y&&(d++<2?l="\n ".concat(g).concat(l):o=g,u.pop(),p.pop(),0!==u.length&&0!==p.length);)g=u[u.length-1],y=p[p.length-1];var b=Math.max(u.length,p.length);if(0===b){var _=c.split("\n");if(_.length>30)for(_[26]="".concat(w,"...").concat(S);_.length>27;)_.pop();return"".concat(E.notIdentical,"\n\n").concat(_.join("\n"),"\n")}d>3&&(l="\n".concat(w,"...").concat(S).concat(l),s=!0),""!==o&&(l="\n ".concat(o).concat(l),o="");var O=0,A=E[n]+"\n".concat(k,"+ actual").concat(S," ").concat(x,"- expected").concat(S),C=" ".concat(w,"...").concat(S," Lines skipped");for(d=0;d1&&d>2&&(P>4?(a+="\n".concat(w,"...").concat(S),s=!0):P>3&&(a+="\n ".concat(p[d-2]),O++),a+="\n ".concat(p[d-1]),O++),i=d,o+="\n".concat(x,"-").concat(S," ").concat(p[d]),O++;else if(p.length1&&d>2&&(P>4?(a+="\n".concat(w,"...").concat(S),s=!0):P>3&&(a+="\n ".concat(u[d-2]),O++),a+="\n ".concat(u[d-1]),O++),i=d,a+="\n".concat(k,"+").concat(S," ").concat(u[d]),O++;else{var T=p[d],I=u[d],R=I!==T&&(!v(I,",")||I.slice(0,-1)!==T);R&&v(T,",")&&T.slice(0,-1)===I&&(R=!1,I+=","),R?(P>1&&d>2&&(P>4?(a+="\n".concat(w,"...").concat(S),s=!0):P>3&&(a+="\n ".concat(u[d-2]),O++),a+="\n ".concat(u[d-1]),O++),i=d,a+="\n".concat(k,"+").concat(S," ").concat(I),o+="\n".concat(x,"-").concat(S," ").concat(T),O+=2):(a+=o,o="",1!==P&&0!==d||(a+="\n ".concat(I),O++))}if(O>20&&d30)for(f[26]="".concat(w,"...").concat(S);f.length>27;)f.pop();t=1===f.length?d.call(this,"".concat(p," ").concat(f[0])):d.call(this,"".concat(p,"\n\n").concat(f.join("\n"),"\n"))}else{var m=j(i),g="",y=E[o];"notDeepEqual"===o||"notEqual"===o?(m="".concat(E[o],"\n\n").concat(m)).length>1024&&(m="".concat(m.slice(0,1021),"...")):(g="".concat(j(l)),m.length>512&&(m="".concat(m.slice(0,509),"...")),g.length>512&&(g="".concat(g.slice(0,509),"...")),"deepEqual"===o||"equal"===o?m="".concat(y,"\n\n").concat(m,"\n\nshould equal\n\n"):g=" ".concat(o," ").concat(g)),t=d.call(this,"".concat(m).concat(g))}return Error.stackTraceLimit=s,t.generatedMessage=!n,Object.defineProperty(u(t),"name",{value:"AssertionError [ERR_ASSERTION]",enumerable:!1,writable:!0,configurable:!0}),t.code="ERR_ASSERTION",t.actual=i,t.expected=l,t.operator=o,Error.captureStackTrace&&Error.captureStackTrace(u(t),a),t.stack,t.name="AssertionError",c(t)}return i=v,(s=[{key:"toString",value:function(){return"".concat(this.name," [").concat(this.code,"]: ").concat(this.message)}},{key:t,value:function(e,t){return y(this,a(a({},t),{},{customInspect:!1,depth:0}))}}])&&l(i.prototype,s),p&&l(i,p),Object.defineProperty(i,"prototype",{writable:!1}),v}(p(Error),y.custom);e.exports=A},4023:(e,t,n)=>{"use strict";n.d(t,{A:()=>g});var r=n(96540),o=n(61934),a=n(27143),i=n(30099),l=n(54051),s=n(75313),c=n(74848);function u(e){let{error:t,tryAgain:n}=e;return(0,c.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,c.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,c.jsx)("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,c.jsx)(p,{error:t})]})}function p(e){let{error:t}=e;const n=(0,i.rA)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,c.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:n})}function d(e){let{children:t}=e;return(0,c.jsx)(s.W,{value:{plugin:{name:"docusaurus-core-error-boundary",id:"default"}},children:t})}function f(e){let{error:t,tryAgain:n}=e;return(0,c.jsx)(d,{children:(0,c.jsxs)(g,{fallback:()=>(0,c.jsx)(u,{error:t,tryAgain:n}),children:[(0,c.jsx)(a.A,{children:(0,c.jsx)("title",{children:"Page Error"})}),(0,c.jsx)(l.A,{children:(0,c.jsx)(u,{error:t,tryAgain:n})})]})})}const m=e=>(0,c.jsx)(f,{...e});class g extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){o.A.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??m)(e)}return e??null}}},4146:(e,t,n)=>{"use strict";var r=n(44363),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},a={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},l={};function s(e){return r.isMemo(e)?i:l[e.$$typeof]||o}l[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},l[r.Memo]=i;var c=Object.defineProperty,u=Object.getOwnPropertyNames,p=Object.getOwnPropertySymbols,d=Object.getOwnPropertyDescriptor,f=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(m){var o=f(n);o&&o!==m&&e(t,o,r)}var i=u(n);p&&(i=i.concat(p(n)));for(var l=s(t),g=s(n),h=0;h{"use strict";n.d(t,{A:()=>r});const r={title:"Langflow Documentation",tagline:"Langflow is a low-code app builder for RAG and multi-agent AI applications.",favicon:"img/favicon.ico",url:"https://docs.langflow.org",baseUrl:"/",onBrokenLinks:"throw",onBrokenMarkdownLinks:"warn",onBrokenAnchors:"warn",organizationName:"langflow-ai",projectName:"langflow",trailingSlash:!1,staticDirectories:["static"],i18n:{defaultLocale:"en",locales:["en"],path:"i18n",localeConfigs:{}},presets:[["docusaurus-preset-openapi",{api:{path:"openapi.json",routeBasePath:"/api"},docs:{routeBasePath:"/",sidebarPath:"/home/runner/work/langflow/langflow/docs/sidebars.js",sidebarCollapsed:!1,beforeDefaultRemarkPlugins:[[null,{theme:"github-dark",showCopyButton:!0,lineNumbers:!0}]]},sitemap:{lastmod:"datetime",changefreq:null,priority:null},gtag:{trackingID:"G-XHC7G628ZP",anonymizeIP:!0},googleTagManager:{containerId:"GTM-NK5M4ZT8"},blog:!1,theme:{customCss:["/home/runner/work/langflow/langflow/docs/node_modules/@code-hike/mdx/dist/index.css","/home/runner/work/langflow/langflow/docs/css/custom.css","/home/runner/work/langflow/langflow/docs/css/docu-notion-styles.css","/home/runner/work/langflow/langflow/docs/css/gifplayer.css"]}}]],plugins:[["docusaurus-node-polyfills",{excludeAliases:["console"]}],"docusaurus-plugin-image-zoom",["@docusaurus/plugin-client-redirects",{redirects:[{to:"/",from:["/whats-new-a-new-chapter-langflow","/\ud83d\udc4b Welcome-to-Langflow","/getting-started-welcome-to-langflow","/guides-new-to-llms"]},{to:"/get-started-installation",from:["/getting-started-installation","/getting-started-common-installation-issues"]},{to:"/get-started-quickstart",from:"/getting-started-quickstart"},{to:"/tutorials-travel-planning-agent",from:["/starter-projects-dynamic-agent/","/starter-projects-travel-planning-agent"]},{to:"concepts-overview",from:["/workspace-overview","/365085a8-a90a-43f9-a779-f8769ec7eca1","/My-Collection","/workspace","/settings-project-general-settings"]},{to:"/concepts-components",from:["/components","/components-overview"]},{to:"/configuration-global-variables",from:"/settings-global-variables"},{to:"/concepts-playground",from:["/workspace-playground","/workspace-logs","/guides-chat-memory"]},{to:"/concepts-objects",from:["/guides-data-message","/configuration-objects"]},{to:"/tutorials-sequential-agent",from:"/starter-projects-sequential-agent"},{to:"/tutorials-blog-writer",from:"/starter-projects-blog-writer"},{to:"/tutorials-memory-chatbot",from:"/starter-projects-memory-chatbot"},{to:"/tutorials-document-qa",from:"/starter-projects-document-qa"},{to:"/components-vector-stores",from:"/components-rag"},{to:"/concepts-api",from:"/workspace-api"},{to:"/components-custom-components",from:"/components/custom"}]}],null],themeConfig:{navbar:{hideOnScroll:!0,logo:{alt:"Langflow",src:"img/langflow-logo-black.svg",srcDark:"img/langflow-logo-white.svg"},items:[{position:"right",href:"https://github.com/langflow-ai/langflow",className:"header-github-link",target:"_blank",rel:null},{position:"right",href:"https://twitter.com/langflow_ai",className:"header-twitter-link",target:"_blank",rel:null},{position:"right",href:"https://discord.gg/EqksyE2EX9",className:"header-discord-link",target:"_blank",rel:null}]},colorMode:{defaultMode:"light",disableSwitch:!1,respectPrefersColorScheme:!0},prism:{theme:{plain:{color:"#393A34",backgroundColor:"#f6f8fa"},styles:[{types:["comment","prolog","doctype","cdata"],style:{color:"#999988",fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}},{types:["string","attr-value"],style:{color:"#e3116c"}},{types:["punctuation","operator"],style:{color:"#393A34"}},{types:["entity","url","symbol","number","boolean","variable","constant","property","regex","inserted"],style:{color:"#36acaa"}},{types:["atrule","keyword","attr-name","selector"],style:{color:"#00a4db"}},{types:["function","deleted","tag"],style:{color:"#d73a49"}},{types:["function-variable"],style:{color:"#6f42c1"}},{types:["tag","selector","keyword"],style:{color:"#00009f"}}]},darkTheme:{plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},additionalLanguages:[],magicComments:[{className:"theme-code-block-highlighted-line",line:"highlight-next-line",block:{start:"highlight-start",end:"highlight-end"}}]},zoom:{selector:".markdown :not(a) > img:not(.no-zoom)",background:{light:"rgba(240, 240, 240, 0.9)"},config:{}},docs:{sidebar:{hideable:!1,autoCollapseCategories:!1},versionPersistence:"localStorage"},algolia:{appId:"UZK6BDPCVY",apiKey:"adbd7686dceb1cd510d5ce20d04bf74c",indexName:"langflow",contextualSearch:!0,searchParameters:{},searchPagePath:"search"},blog:{sidebar:{groupByYear:!0}},metadata:[],tableOfContents:{minHeadingLevel:2,maxHeadingLevel:3}},baseUrlIssueBanner:!0,future:{experimental_faster:{swcJsLoader:!1,swcJsMinimizer:!1,swcHtmlMinimizer:!1,lightningCssMinimizer:!1,mdxCrossCompilerCache:!1,rspackBundler:!1},experimental_storage:{type:"localStorage",namespace:!1},experimental_router:"browser"},onDuplicateRoutes:"warn",customFields:{},themes:[],scripts:[],headTags:[],stylesheets:[],clientModules:[],titleDelimiter:"|",noIndex:!1,markdown:{format:"mdx",mermaid:!1,mdx1Compat:{comments:!0,admonitions:!0,headingIds:!0},anchors:{maintainCase:!1}}}},5338:(e,t,n)=>{"use strict";var r=n(40961);t.createRoot=r.createRoot,t.hydrateRoot=r.hydrateRoot},5528:(e,t,n)=>{"use strict";n.d(t,{M:()=>f,e:()=>d});var r=n(96540),o=n(63065),a=n(86682),i=n(30604),l=n(53115),s=n(26849),c=n(74848);const u=r.createContext(void 0);function p(){const e=function(){const e=(0,o.YL)(),{items:t}=(0,l.p)().navbar;return 0===t.length&&!e.component}(),t=(0,a.l)(),n=!e&&"mobile"===t,[s,c]=(0,r.useState)(!1);(0,i.$Z)((()=>{if(s)return c(!1),!1}));const u=(0,r.useCallback)((()=>{c((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&c(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:u,shown:s})),[e,n,u,s])}function d(e){let{children:t}=e;const n=p();return(0,c.jsx)(u.Provider,{value:n,children:t})}function f(){const e=r.useContext(u);if(void 0===e)throw new s.dV("NavbarMobileSidebarProvider");return e}},5556:(e,t,n)=>{e.exports=n(2694)()},5947:function(e,t,n){var r,o;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'

    '};function o(e,t,n){return en?n:e}function a(e){return 100*(-1+e)}function i(e,t,n){var o;return(o="translate3d"===r.positionUsing?{transform:"translate3d("+a(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+a(e)+"%,0)"}:{"margin-left":a(e)+"%"}).transition="all "+t+"ms "+n,o}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=o(e,r.minimum,1),n.status=1===e?null:e;var a=n.render(!t),c=a.querySelector(r.barSelector),u=r.speed,p=r.easing;return a.offsetWidth,l((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),s(c,i(e,u,p)),1===e?(s(a,{transition:"none",opacity:1}),a.offsetWidth,setTimeout((function(){s(a,{transition:"all "+u+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),u)}),u)):setTimeout(t,u)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*o(Math.random()*t,.1,.95)),t=o(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var o,i=t.querySelector(r.barSelector),l=e?"-100":a(n.status||0),c=document.querySelector(r.parent);return s(i,{transition:"all 0 linear",transform:"translate3d("+l+"%,0,0)"}),r.showSpinner||(o=t.querySelector(r.spinnerSelector))&&f(o),c!=document.body&&u(c,"nprogress-custom-parent"),c.appendChild(t),t},n.remove=function(){p(document.documentElement,"nprogress-busy"),p(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&f(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var l=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),s=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,o=e.length,a=t.charAt(0).toUpperCase()+t.slice(1);o--;)if((r=e[o]+a)in n)return r;return t}function o(e){return e=n(e),t[e]||(t[e]=r(e))}function a(e,t,n){t=o(t),e.style[t]=n}return function(e,t){var n,r,o=arguments;if(2==o.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&a(e,n,r);else a(e,o[1],o[2])}}();function c(e,t){return("string"==typeof e?e:d(e)).indexOf(" "+t+" ")>=0}function u(e,t){var n=d(e),r=n+t;c(n,t)||(e.className=r.substring(1))}function p(e,t){var n,r=d(e);c(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function d(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function f(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(o="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=o)},6188:e=>{"use strict";e.exports=Math.max},6549:e=>{"use strict";e.exports=Object.getOwnPropertyDescriptor},6925:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},6969:e=>{e.exports&&(e.exports={core:{meta:{path:"components/prism-core.js",option:"mandatory"},core:"Core"},themes:{meta:{path:"themes/{id}.css",link:"index.html?theme={id}",exclusive:!0},prism:{title:"Default",option:"default"},"prism-dark":"Dark","prism-funky":"Funky","prism-okaidia":{title:"Okaidia",owner:"ocodia"},"prism-twilight":{title:"Twilight",owner:"remybach"},"prism-coy":{title:"Coy",owner:"tshedor"},"prism-solarizedlight":{title:"Solarized Light",owner:"hectormatos2011 "},"prism-tomorrow":{title:"Tomorrow Night",owner:"Rosey"}},languages:{meta:{path:"components/prism-{id}",noCSS:!0,examplesPath:"examples/prism-{id}",addCheckAll:!0},markup:{title:"Markup",alias:["html","xml","svg","mathml","ssml","atom","rss"],aliasTitles:{html:"HTML",xml:"XML",svg:"SVG",mathml:"MathML",ssml:"SSML",atom:"Atom",rss:"RSS"},option:"default"},css:{title:"CSS",option:"default",modify:"markup"},clike:{title:"C-like",option:"default"},javascript:{title:"JavaScript",require:"clike",modify:"markup",optional:"regex",alias:"js",option:"default"},abap:{title:"ABAP",owner:"dellagustin"},abnf:{title:"ABNF",owner:"RunDevelopment"},actionscript:{title:"ActionScript",require:"javascript",modify:"markup",owner:"Golmote"},ada:{title:"Ada",owner:"Lucretia"},agda:{title:"Agda",owner:"xy-ren"},al:{title:"AL",owner:"RunDevelopment"},antlr4:{title:"ANTLR4",alias:"g4",owner:"RunDevelopment"},apacheconf:{title:"Apache Configuration",owner:"GuiTeK"},apex:{title:"Apex",require:["clike","sql"],owner:"RunDevelopment"},apl:{title:"APL",owner:"ngn"},applescript:{title:"AppleScript",owner:"Golmote"},aql:{title:"AQL",owner:"RunDevelopment"},arduino:{title:"Arduino",require:"cpp",alias:"ino",owner:"dkern"},arff:{title:"ARFF",owner:"Golmote"},armasm:{title:"ARM Assembly",alias:"arm-asm",owner:"RunDevelopment"},arturo:{title:"Arturo",alias:"art",optional:["bash","css","javascript","markup","markdown","sql"],owner:"drkameleon"},asciidoc:{alias:"adoc",title:"AsciiDoc",owner:"Golmote"},aspnet:{title:"ASP.NET (C#)",require:["markup","csharp"],owner:"nauzilus"},asm6502:{title:"6502 Assembly",owner:"kzurawel"},asmatmel:{title:"Atmel AVR Assembly",owner:"cerkit"},autohotkey:{title:"AutoHotkey",owner:"aviaryan"},autoit:{title:"AutoIt",owner:"Golmote"},avisynth:{title:"AviSynth",alias:"avs",owner:"Zinfidel"},"avro-idl":{title:"Avro IDL",alias:"avdl",owner:"RunDevelopment"},awk:{title:"AWK",alias:"gawk",aliasTitles:{gawk:"GAWK"},owner:"RunDevelopment"},bash:{title:"Bash",alias:["sh","shell"],aliasTitles:{sh:"Shell",shell:"Shell"},owner:"zeitgeist87"},basic:{title:"BASIC",owner:"Golmote"},batch:{title:"Batch",owner:"Golmote"},bbcode:{title:"BBcode",alias:"shortcode",aliasTitles:{shortcode:"Shortcode"},owner:"RunDevelopment"},bbj:{title:"BBj",owner:"hyyan"},bicep:{title:"Bicep",owner:"johnnyreilly"},birb:{title:"Birb",require:"clike",owner:"Calamity210"},bison:{title:"Bison",require:"c",owner:"Golmote"},bnf:{title:"BNF",alias:"rbnf",aliasTitles:{rbnf:"RBNF"},owner:"RunDevelopment"},bqn:{title:"BQN",owner:"yewscion"},brainfuck:{title:"Brainfuck",owner:"Golmote"},brightscript:{title:"BrightScript",owner:"RunDevelopment"},bro:{title:"Bro",owner:"wayward710"},bsl:{title:"BSL (1C:Enterprise)",alias:"oscript",aliasTitles:{oscript:"OneScript"},owner:"Diversus23"},c:{title:"C",require:"clike",owner:"zeitgeist87"},csharp:{title:"C#",require:"clike",alias:["cs","dotnet"],owner:"mvalipour"},cpp:{title:"C++",require:"c",owner:"zeitgeist87"},cfscript:{title:"CFScript",require:"clike",alias:"cfc",owner:"mjclemente"},chaiscript:{title:"ChaiScript",require:["clike","cpp"],owner:"RunDevelopment"},cil:{title:"CIL",owner:"sbrl"},cilkc:{title:"Cilk/C",require:"c",alias:"cilk-c",owner:"OpenCilk"},cilkcpp:{title:"Cilk/C++",require:"cpp",alias:["cilk-cpp","cilk"],owner:"OpenCilk"},clojure:{title:"Clojure",owner:"troglotit"},cmake:{title:"CMake",owner:"mjrogozinski"},cobol:{title:"COBOL",owner:"RunDevelopment"},coffeescript:{title:"CoffeeScript",require:"javascript",alias:"coffee",owner:"R-osey"},concurnas:{title:"Concurnas",alias:"conc",owner:"jasontatton"},csp:{title:"Content-Security-Policy",owner:"ScottHelme"},cooklang:{title:"Cooklang",owner:"ahue"},coq:{title:"Coq",owner:"RunDevelopment"},crystal:{title:"Crystal",require:"ruby",owner:"MakeNowJust"},"css-extras":{title:"CSS Extras",require:"css",modify:"css",owner:"milesj"},csv:{title:"CSV",owner:"RunDevelopment"},cue:{title:"CUE",owner:"RunDevelopment"},cypher:{title:"Cypher",owner:"RunDevelopment"},d:{title:"D",require:"clike",owner:"Golmote"},dart:{title:"Dart",require:"clike",owner:"Golmote"},dataweave:{title:"DataWeave",owner:"machaval"},dax:{title:"DAX",owner:"peterbud"},dhall:{title:"Dhall",owner:"RunDevelopment"},diff:{title:"Diff",owner:"uranusjr"},django:{title:"Django/Jinja2",require:"markup-templating",alias:"jinja2",owner:"romanvm"},"dns-zone-file":{title:"DNS zone file",owner:"RunDevelopment",alias:"dns-zone"},docker:{title:"Docker",alias:"dockerfile",owner:"JustinBeckwith"},dot:{title:"DOT (Graphviz)",alias:"gv",optional:"markup",owner:"RunDevelopment"},ebnf:{title:"EBNF",owner:"RunDevelopment"},editorconfig:{title:"EditorConfig",owner:"osipxd"},eiffel:{title:"Eiffel",owner:"Conaclos"},ejs:{title:"EJS",require:["javascript","markup-templating"],owner:"RunDevelopment",alias:"eta",aliasTitles:{eta:"Eta"}},elixir:{title:"Elixir",owner:"Golmote"},elm:{title:"Elm",owner:"zwilias"},etlua:{title:"Embedded Lua templating",require:["lua","markup-templating"],owner:"RunDevelopment"},erb:{title:"ERB",require:["ruby","markup-templating"],owner:"Golmote"},erlang:{title:"Erlang",owner:"Golmote"},"excel-formula":{title:"Excel Formula",alias:["xlsx","xls"],owner:"RunDevelopment"},fsharp:{title:"F#",require:"clike",owner:"simonreynolds7"},factor:{title:"Factor",owner:"catb0t"},false:{title:"False",owner:"edukisto"},"firestore-security-rules":{title:"Firestore security rules",require:"clike",owner:"RunDevelopment"},flow:{title:"Flow",require:"javascript",owner:"Golmote"},fortran:{title:"Fortran",owner:"Golmote"},ftl:{title:"FreeMarker Template Language",require:"markup-templating",owner:"RunDevelopment"},gml:{title:"GameMaker Language",alias:"gamemakerlanguage",require:"clike",owner:"LiarOnce"},gap:{title:"GAP (CAS)",owner:"RunDevelopment"},gcode:{title:"G-code",owner:"RunDevelopment"},gdscript:{title:"GDScript",owner:"RunDevelopment"},gedcom:{title:"GEDCOM",owner:"Golmote"},gettext:{title:"gettext",alias:"po",owner:"RunDevelopment"},gherkin:{title:"Gherkin",owner:"hason"},git:{title:"Git",owner:"lgiraudel"},glsl:{title:"GLSL",require:"c",owner:"Golmote"},gn:{title:"GN",alias:"gni",owner:"RunDevelopment"},"linker-script":{title:"GNU Linker Script",alias:"ld",owner:"RunDevelopment"},go:{title:"Go",require:"clike",owner:"arnehormann"},"go-module":{title:"Go module",alias:"go-mod",owner:"RunDevelopment"},gradle:{title:"Gradle",require:"clike",owner:"zeabdelkhalek-badido18"},graphql:{title:"GraphQL",optional:"markdown",owner:"Golmote"},groovy:{title:"Groovy",require:"clike",owner:"robfletcher"},haml:{title:"Haml",require:"ruby",optional:["css","css-extras","coffeescript","erb","javascript","less","markdown","scss","textile"],owner:"Golmote"},handlebars:{title:"Handlebars",require:"markup-templating",alias:["hbs","mustache"],aliasTitles:{mustache:"Mustache"},owner:"Golmote"},haskell:{title:"Haskell",alias:"hs",owner:"bholst"},haxe:{title:"Haxe",require:"clike",optional:"regex",owner:"Golmote"},hcl:{title:"HCL",owner:"outsideris"},hlsl:{title:"HLSL",require:"c",owner:"RunDevelopment"},hoon:{title:"Hoon",owner:"matildepark"},http:{title:"HTTP",optional:["csp","css","hpkp","hsts","javascript","json","markup","uri"],owner:"danielgtaylor"},hpkp:{title:"HTTP Public-Key-Pins",owner:"ScottHelme"},hsts:{title:"HTTP Strict-Transport-Security",owner:"ScottHelme"},ichigojam:{title:"IchigoJam",owner:"BlueCocoa"},icon:{title:"Icon",owner:"Golmote"},"icu-message-format":{title:"ICU Message Format",owner:"RunDevelopment"},idris:{title:"Idris",alias:"idr",owner:"KeenS",require:"haskell"},ignore:{title:".ignore",owner:"osipxd",alias:["gitignore","hgignore","npmignore"],aliasTitles:{gitignore:".gitignore",hgignore:".hgignore",npmignore:".npmignore"}},inform7:{title:"Inform 7",owner:"Golmote"},ini:{title:"Ini",owner:"aviaryan"},io:{title:"Io",owner:"AlesTsurko"},j:{title:"J",owner:"Golmote"},java:{title:"Java",require:"clike",owner:"sherblot"},javadoc:{title:"JavaDoc",require:["markup","java","javadoclike"],modify:"java",optional:"scala",owner:"RunDevelopment"},javadoclike:{title:"JavaDoc-like",modify:["java","javascript","php"],owner:"RunDevelopment"},javastacktrace:{title:"Java stack trace",owner:"RunDevelopment"},jexl:{title:"Jexl",owner:"czosel"},jolie:{title:"Jolie",require:"clike",owner:"thesave"},jq:{title:"JQ",owner:"RunDevelopment"},jsdoc:{title:"JSDoc",require:["javascript","javadoclike","typescript"],modify:"javascript",optional:["actionscript","coffeescript"],owner:"RunDevelopment"},"js-extras":{title:"JS Extras",require:"javascript",modify:"javascript",optional:["actionscript","coffeescript","flow","n4js","typescript"],owner:"RunDevelopment"},json:{title:"JSON",alias:"webmanifest",aliasTitles:{webmanifest:"Web App Manifest"},owner:"CupOfTea696"},json5:{title:"JSON5",require:"json",owner:"RunDevelopment"},jsonp:{title:"JSONP",require:"json",owner:"RunDevelopment"},jsstacktrace:{title:"JS stack trace",owner:"sbrl"},"js-templates":{title:"JS Templates",require:"javascript",modify:"javascript",optional:["css","css-extras","graphql","markdown","markup","sql"],owner:"RunDevelopment"},julia:{title:"Julia",owner:"cdagnino"},keepalived:{title:"Keepalived Configure",owner:"dev-itsheng"},keyman:{title:"Keyman",owner:"mcdurdin"},kotlin:{title:"Kotlin",alias:["kt","kts"],aliasTitles:{kts:"Kotlin Script"},require:"clike",owner:"Golmote"},kumir:{title:"KuMir (\u041a\u0443\u041c\u0438\u0440)",alias:"kum",owner:"edukisto"},kusto:{title:"Kusto",owner:"RunDevelopment"},latex:{title:"LaTeX",alias:["tex","context"],aliasTitles:{tex:"TeX",context:"ConTeXt"},owner:"japborst"},latte:{title:"Latte",require:["clike","markup-templating","php"],owner:"nette"},less:{title:"Less",require:"css",optional:"css-extras",owner:"Golmote"},lilypond:{title:"LilyPond",require:"scheme",alias:"ly",owner:"RunDevelopment"},liquid:{title:"Liquid",require:"markup-templating",owner:"cinhtau"},lisp:{title:"Lisp",alias:["emacs","elisp","emacs-lisp"],owner:"JuanCaicedo"},livescript:{title:"LiveScript",owner:"Golmote"},llvm:{title:"LLVM IR",owner:"porglezomp"},log:{title:"Log file",optional:"javastacktrace",owner:"RunDevelopment"},lolcode:{title:"LOLCODE",owner:"Golmote"},lua:{title:"Lua",owner:"Golmote"},magma:{title:"Magma (CAS)",owner:"RunDevelopment"},makefile:{title:"Makefile",owner:"Golmote"},markdown:{title:"Markdown",require:"markup",optional:"yaml",alias:"md",owner:"Golmote"},"markup-templating":{title:"Markup templating",require:"markup",owner:"Golmote"},mata:{title:"Mata",owner:"RunDevelopment"},matlab:{title:"MATLAB",owner:"Golmote"},maxscript:{title:"MAXScript",owner:"RunDevelopment"},mel:{title:"MEL",owner:"Golmote"},mermaid:{title:"Mermaid",owner:"RunDevelopment"},metafont:{title:"METAFONT",owner:"LaeriExNihilo"},mizar:{title:"Mizar",owner:"Golmote"},mongodb:{title:"MongoDB",owner:"airs0urce",require:"javascript"},monkey:{title:"Monkey",owner:"Golmote"},moonscript:{title:"MoonScript",alias:"moon",owner:"RunDevelopment"},n1ql:{title:"N1QL",owner:"TMWilds"},n4js:{title:"N4JS",require:"javascript",optional:"jsdoc",alias:"n4jsd",owner:"bsmith-n4"},"nand2tetris-hdl":{title:"Nand To Tetris HDL",owner:"stephanmax"},naniscript:{title:"Naninovel Script",owner:"Elringus",alias:"nani"},nasm:{title:"NASM",owner:"rbmj"},neon:{title:"NEON",owner:"nette"},nevod:{title:"Nevod",owner:"nezaboodka"},nginx:{title:"nginx",owner:"volado"},nim:{title:"Nim",owner:"Golmote"},nix:{title:"Nix",owner:"Golmote"},nsis:{title:"NSIS",owner:"idleberg"},objectivec:{title:"Objective-C",require:"c",alias:"objc",owner:"uranusjr"},ocaml:{title:"OCaml",owner:"Golmote"},odin:{title:"Odin",owner:"edukisto"},opencl:{title:"OpenCL",require:"c",modify:["c","cpp"],owner:"Milania1"},openqasm:{title:"OpenQasm",alias:"qasm",owner:"RunDevelopment"},oz:{title:"Oz",owner:"Golmote"},parigp:{title:"PARI/GP",owner:"Golmote"},parser:{title:"Parser",require:"markup",owner:"Golmote"},pascal:{title:"Pascal",alias:"objectpascal",aliasTitles:{objectpascal:"Object Pascal"},owner:"Golmote"},pascaligo:{title:"Pascaligo",owner:"DefinitelyNotAGoat"},psl:{title:"PATROL Scripting Language",owner:"bertysentry"},pcaxis:{title:"PC-Axis",alias:"px",owner:"RunDevelopment"},peoplecode:{title:"PeopleCode",alias:"pcode",owner:"RunDevelopment"},perl:{title:"Perl",owner:"Golmote"},php:{title:"PHP",require:"markup-templating",owner:"milesj"},phpdoc:{title:"PHPDoc",require:["php","javadoclike"],modify:"php",owner:"RunDevelopment"},"php-extras":{title:"PHP Extras",require:"php",modify:"php",owner:"milesj"},"plant-uml":{title:"PlantUML",alias:"plantuml",owner:"RunDevelopment"},plsql:{title:"PL/SQL",require:"sql",owner:"Golmote"},powerquery:{title:"PowerQuery",alias:["pq","mscript"],owner:"peterbud"},powershell:{title:"PowerShell",owner:"nauzilus"},processing:{title:"Processing",require:"clike",owner:"Golmote"},prolog:{title:"Prolog",owner:"Golmote"},promql:{title:"PromQL",owner:"arendjr"},properties:{title:".properties",owner:"Golmote"},protobuf:{title:"Protocol Buffers",require:"clike",owner:"just-boris"},pug:{title:"Pug",require:["markup","javascript"],optional:["coffeescript","ejs","handlebars","less","livescript","markdown","scss","stylus","twig"],owner:"Golmote"},puppet:{title:"Puppet",owner:"Golmote"},pure:{title:"Pure",optional:["c","cpp","fortran"],owner:"Golmote"},purebasic:{title:"PureBasic",require:"clike",alias:"pbfasm",owner:"HeX0R101"},purescript:{title:"PureScript",require:"haskell",alias:"purs",owner:"sriharshachilakapati"},python:{title:"Python",alias:"py",owner:"multipetros"},qsharp:{title:"Q#",require:"clike",alias:"qs",owner:"fedonman"},q:{title:"Q (kdb+ database)",owner:"Golmote"},qml:{title:"QML",require:"javascript",owner:"RunDevelopment"},qore:{title:"Qore",require:"clike",owner:"temnroegg"},r:{title:"R",owner:"Golmote"},racket:{title:"Racket",require:"scheme",alias:"rkt",owner:"RunDevelopment"},cshtml:{title:"Razor C#",alias:"razor",require:["markup","csharp"],optional:["css","css-extras","javascript","js-extras"],owner:"RunDevelopment"},jsx:{title:"React JSX",require:["markup","javascript"],optional:["jsdoc","js-extras","js-templates"],owner:"vkbansal"},tsx:{title:"React TSX",require:["jsx","typescript"]},reason:{title:"Reason",require:"clike",owner:"Golmote"},regex:{title:"Regex",owner:"RunDevelopment"},rego:{title:"Rego",owner:"JordanSh"},renpy:{title:"Ren'py",alias:"rpy",owner:"HyuchiaDiego"},rescript:{title:"ReScript",alias:"res",owner:"vmarcosp"},rest:{title:"reST (reStructuredText)",owner:"Golmote"},rip:{title:"Rip",owner:"ravinggenius"},roboconf:{title:"Roboconf",owner:"Golmote"},robotframework:{title:"Robot Framework",alias:"robot",owner:"RunDevelopment"},ruby:{title:"Ruby",require:"clike",alias:"rb",owner:"samflores"},rust:{title:"Rust",owner:"Golmote"},sas:{title:"SAS",optional:["groovy","lua","sql"],owner:"Golmote"},sass:{title:"Sass (Sass)",require:"css",optional:"css-extras",owner:"Golmote"},scss:{title:"Sass (SCSS)",require:"css",optional:"css-extras",owner:"MoOx"},scala:{title:"Scala",require:"java",owner:"jozic"},scheme:{title:"Scheme",owner:"bacchus123"},"shell-session":{title:"Shell session",require:"bash",alias:["sh-session","shellsession"],owner:"RunDevelopment"},smali:{title:"Smali",owner:"RunDevelopment"},smalltalk:{title:"Smalltalk",owner:"Golmote"},smarty:{title:"Smarty",require:"markup-templating",optional:"php",owner:"Golmote"},sml:{title:"SML",alias:"smlnj",aliasTitles:{smlnj:"SML/NJ"},owner:"RunDevelopment"},solidity:{title:"Solidity (Ethereum)",alias:"sol",require:"clike",owner:"glachaud"},"solution-file":{title:"Solution file",alias:"sln",owner:"RunDevelopment"},soy:{title:"Soy (Closure Template)",require:"markup-templating",owner:"Golmote"},sparql:{title:"SPARQL",require:"turtle",owner:"Triply-Dev",alias:"rq"},"splunk-spl":{title:"Splunk SPL",owner:"RunDevelopment"},sqf:{title:"SQF: Status Quo Function (Arma 3)",require:"clike",owner:"RunDevelopment"},sql:{title:"SQL",owner:"multipetros"},squirrel:{title:"Squirrel",require:"clike",owner:"RunDevelopment"},stan:{title:"Stan",owner:"RunDevelopment"},stata:{title:"Stata Ado",require:["mata","java","python"],owner:"RunDevelopment"},iecst:{title:"Structured Text (IEC 61131-3)",owner:"serhioromano"},stylus:{title:"Stylus",owner:"vkbansal"},supercollider:{title:"SuperCollider",alias:"sclang",owner:"RunDevelopment"},swift:{title:"Swift",owner:"chrischares"},systemd:{title:"Systemd configuration file",owner:"RunDevelopment"},"t4-templating":{title:"T4 templating",owner:"RunDevelopment"},"t4-cs":{title:"T4 Text Templates (C#)",require:["t4-templating","csharp"],alias:"t4",owner:"RunDevelopment"},"t4-vb":{title:"T4 Text Templates (VB)",require:["t4-templating","vbnet"],owner:"RunDevelopment"},tap:{title:"TAP",owner:"isaacs",require:"yaml"},tcl:{title:"Tcl",owner:"PeterChaplin"},tt2:{title:"Template Toolkit 2",require:["clike","markup-templating"],owner:"gflohr"},textile:{title:"Textile",require:"markup",optional:"css",owner:"Golmote"},toml:{title:"TOML",owner:"RunDevelopment"},tremor:{title:"Tremor",alias:["trickle","troy"],owner:"darach",aliasTitles:{trickle:"trickle",troy:"troy"}},turtle:{title:"Turtle",alias:"trig",aliasTitles:{trig:"TriG"},owner:"jakubklimek"},twig:{title:"Twig",require:"markup-templating",owner:"brandonkelly"},typescript:{title:"TypeScript",require:"javascript",optional:"js-templates",alias:"ts",owner:"vkbansal"},typoscript:{title:"TypoScript",alias:"tsconfig",aliasTitles:{tsconfig:"TSConfig"},owner:"dkern"},unrealscript:{title:"UnrealScript",alias:["uscript","uc"],owner:"RunDevelopment"},uorazor:{title:"UO Razor Script",owner:"jaseowns"},uri:{title:"URI",alias:"url",aliasTitles:{url:"URL"},owner:"RunDevelopment"},v:{title:"V",require:"clike",owner:"taggon"},vala:{title:"Vala",require:"clike",optional:"regex",owner:"TemplarVolk"},vbnet:{title:"VB.Net",require:"basic",owner:"Bigsby"},velocity:{title:"Velocity",require:"markup",owner:"Golmote"},verilog:{title:"Verilog",owner:"a-rey"},vhdl:{title:"VHDL",owner:"a-rey"},vim:{title:"vim",owner:"westonganger"},"visual-basic":{title:"Visual Basic",alias:["vb","vba"],aliasTitles:{vba:"VBA"},owner:"Golmote"},warpscript:{title:"WarpScript",owner:"RunDevelopment"},wasm:{title:"WebAssembly",owner:"Golmote"},"web-idl":{title:"Web IDL",alias:"webidl",owner:"RunDevelopment"},wgsl:{title:"WGSL",owner:"Dr4gonthree"},wiki:{title:"Wiki markup",require:"markup",owner:"Golmote"},wolfram:{title:"Wolfram language",alias:["mathematica","nb","wl"],aliasTitles:{mathematica:"Mathematica",nb:"Mathematica Notebook"},owner:"msollami"},wren:{title:"Wren",owner:"clsource"},xeora:{title:"Xeora",require:"markup",alias:"xeoracube",aliasTitles:{xeoracube:"XeoraCube"},owner:"freakmaxi"},"xml-doc":{title:"XML doc (.net)",require:"markup",modify:["csharp","fsharp","vbnet"],owner:"RunDevelopment"},xojo:{title:"Xojo (REALbasic)",owner:"Golmote"},xquery:{title:"XQuery",require:"markup",owner:"Golmote"},yaml:{title:"YAML",alias:"yml",owner:"hason"},yang:{title:"YANG",owner:"RunDevelopment"},zig:{title:"Zig",owner:"RunDevelopment"}},plugins:{meta:{path:"plugins/{id}/prism-{id}",link:"plugins/{id}/"},"line-highlight":{title:"Line Highlight",description:"Highlights specific lines and/or line ranges."},"line-numbers":{title:"Line Numbers",description:"Line number at the beginning of code lines.",owner:"kuba-kubula"},"show-invisibles":{title:"Show Invisibles",description:"Show hidden characters such as tabs and line breaks.",optional:["autolinker","data-uri-highlight"]},autolinker:{title:"Autolinker",description:"Converts URLs and emails in code to clickable links. Parses Markdown links in comments."},wpd:{title:"WebPlatform Docs",description:'Makes tokens link to WebPlatform.org documentation. The links open in a new tab.'},"custom-class":{title:"Custom Class",description:"This plugin allows you to prefix Prism's default classes (.comment can become .namespace--comment) or replace them with your defined ones (like .editor__comment). You can even add new classes.",owner:"dvkndn",noCSS:!0},"file-highlight":{title:"File Highlight",description:"Fetch external files and highlight them with Prism. Used on the Prism website itself.",noCSS:!0},"show-language":{title:"Show Language",description:"Display the highlighted language in code blocks (inline code does not show the label).",owner:"nauzilus",noCSS:!0,require:"toolbar"},"jsonp-highlight":{title:"JSONP Highlight",description:"Fetch content with JSONP and highlight some interesting content (e.g. GitHub/Gists or Bitbucket API).",noCSS:!0,owner:"nauzilus"},"highlight-keywords":{title:"Highlight Keywords",description:"Adds special CSS classes for each keyword for fine-grained highlighting.",owner:"vkbansal",noCSS:!0},"remove-initial-line-feed":{title:"Remove initial line feed",description:"Removes the initial line feed in code blocks.",owner:"Golmote",noCSS:!0},"inline-color":{title:"Inline color",description:"Adds a small inline preview for colors in style sheets.",require:"css-extras",owner:"RunDevelopment"},previewers:{title:"Previewers",description:"Previewers for angles, colors, gradients, easing and time.",require:"css-extras",owner:"Golmote"},autoloader:{title:"Autoloader",description:"Automatically loads the needed languages to highlight the code blocks.",owner:"Golmote",noCSS:!0},"keep-markup":{title:"Keep Markup",description:"Prevents custom markup from being dropped out during highlighting.",owner:"Golmote",optional:"normalize-whitespace",noCSS:!0},"command-line":{title:"Command Line",description:"Display a command line with a prompt and, optionally, the output/response from the commands.",owner:"chriswells0"},"unescaped-markup":{title:"Unescaped Markup",description:"Write markup without having to escape anything."},"normalize-whitespace":{title:"Normalize Whitespace",description:"Supports multiple operations to normalize whitespace in code blocks.",owner:"zeitgeist87",optional:"unescaped-markup",noCSS:!0},"data-uri-highlight":{title:"Data-URI Highlight",description:"Highlights data-URI contents.",owner:"Golmote",noCSS:!0},toolbar:{title:"Toolbar",description:"Attach a toolbar for plugins to easily register buttons on the top of a code block.",owner:"mAAdhaTTah"},"copy-to-clipboard":{title:"Copy to Clipboard Button",description:"Add a button that copies the code block to the clipboard when clicked.",owner:"mAAdhaTTah",require:"toolbar",noCSS:!0},"download-button":{title:"Download Button",description:"A button in the toolbar of a code block adding a convenient way to download a code file.",owner:"Golmote",require:"toolbar",noCSS:!0},"match-braces":{title:"Match braces",description:"Highlights matching braces.",owner:"RunDevelopment"},"diff-highlight":{title:"Diff Highlight",description:"Highlights the code inside diff blocks.",owner:"RunDevelopment",require:"diff"},"filter-highlight-all":{title:"Filter highlightAll",description:"Filters the elements the highlightAll and highlightAllUnder methods actually highlight.",owner:"RunDevelopment",noCSS:!0},treeview:{title:"Treeview",description:"A language with special styles to highlight file system tree structures.",owner:"Golmote"}}})},7176:(e,t,n)=>{"use strict";var r,o=n(73126),a=n(75795);try{r=[].__proto__===Array.prototype}catch(c){if(!c||"object"!=typeof c||!("code"in c)||"ERR_PROTO_ACCESS"!==c.code)throw c}var i=!!r&&a&&a(Object.prototype,"__proto__"),l=Object,s=l.getPrototypeOf;e.exports=i&&"function"==typeof i.get?o([i.get]):"function"==typeof s&&function(e){return s(null==e?e:l(e))}},7463:(e,t,n)=>{"use strict";var r=n(96763);function o(e,t){var n=e.length;e.push(t);e:for(;0>>1,o=e[r];if(!(0>>1;rl(s,n))cl(u,s)?(e[r]=u,e[c]=n,r=c):(e[r]=s,e[i]=n,r=i);else{if(!(cl(u,n)))break e;e[r]=u,e[c]=n,r=c}}}return t}function l(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if("object"==typeof performance&&"function"==typeof performance.now){var s=performance;t.unstable_now=function(){return s.now()}}else{var c=Date,u=c.now();t.unstable_now=function(){return c.now()-u}}var p=[],d=[],f=1,m=null,g=3,h=!1,y=!1,b=!1,v="function"==typeof setTimeout?setTimeout:null,w="function"==typeof clearTimeout?clearTimeout:null,k="undefined"!=typeof setImmediate?setImmediate:null;function x(e){for(var t=a(d);null!==t;){if(null===t.callback)i(d);else{if(!(t.startTime<=e))break;i(d),t.sortIndex=t.expirationTime,o(p,t)}t=a(d)}}function S(e){if(b=!1,x(e),!y)if(null!==a(p))y=!0,D(E);else{var t=a(d);null!==t&&L(S,t.startTime-e)}}function E(e,n){y=!1,b&&(b=!1,w(A),A=-1),h=!0;var r=g;try{for(x(n),m=a(p);null!==m&&(!(m.expirationTime>n)||e&&!T());){var o=m.callback;if("function"==typeof o){m.callback=null,g=m.priorityLevel;var l=o(m.expirationTime<=n);n=t.unstable_now(),"function"==typeof l?m.callback=l:m===a(p)&&i(p),x(n)}else i(p);m=a(p)}if(null!==m)var s=!0;else{var c=a(d);null!==c&&L(S,c.startTime-n),s=!1}return s}finally{m=null,g=r,h=!1}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var _,j=!1,O=null,A=-1,C=5,P=-1;function T(){return!(t.unstable_now()-Pe||125i?(e.sortIndex=r,o(d,e),null===a(p)&&e===a(d)&&(b?(w(A),A=-1):b=!0,L(S,r-i))):(e.sortIndex=l,o(p,e),y||h||(y=!0,D(E))),e},t.unstable_shouldYield=T,t.unstable_wrapCallback=function(e){var t=g;return function(){var n=g;g=t;try{return e.apply(this,arguments)}finally{g=n}}}},8505:(e,t,n)=>{var r=n(64634);e.exports=m,e.exports.parse=a,e.exports.compile=function(e,t){return s(a(e,t),t)},e.exports.tokensToFunction=s,e.exports.tokensToRegExp=f;var o=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function a(e,t){for(var n,r=[],a=0,l=0,s="",c=t&&t.delimiter||"/";null!=(n=o.exec(e));){var p=n[0],d=n[1],f=n.index;if(s+=e.slice(l,f),l=f+p.length,d)s+=d[1];else{var m=e[l],g=n[2],h=n[3],y=n[4],b=n[5],v=n[6],w=n[7];s&&(r.push(s),s="");var k=null!=g&&null!=m&&m!==g,x="+"===v||"*"===v,S="?"===v||"*"===v,E=g||c,_=y||b,j=g||("string"==typeof r[r.length-1]?r[r.length-1]:"");r.push({name:h||a++,prefix:g||"",delimiter:E,optional:S,repeat:x,partial:k,asterisk:!!w,pattern:_?u(_):w?".*":i(E,j)})}}return l-1?"[^"+c(e)+"]+?":c(t)+"|(?:(?!"+c(t)+")[^"+c(e)+"])+?"}function l(e){return encodeURI(e).replace(/[\/?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function s(e,t){for(var n=new Array(e.length),o=0;o{"use strict";n.d(t,{G:()=>y,a:()=>h});var r=n(96540),o=n(61934),a=n(26849),i=n(78749),l=n(53115),s=n(74848);const c=r.createContext(void 0),u="theme",p=(0,i.Wf)(u),d={light:"light",dark:"dark"},f=e=>e===d.dark?d.dark:d.light,m=e=>o.A.canUseDOM?f(document.documentElement.getAttribute("data-theme")):f(e),g=e=>{p.set(f(e))};function h(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,l.p)(),[o,a]=(0,r.useState)(m(e));(0,r.useEffect)((()=>{t&&p.del()}),[t]);const i=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:o=!0}=r;t?(a(t),o&&g(t)):(a(n?window.matchMedia("(prefers-color-scheme: dark)").matches?d.dark:d.light:e),p.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",f(o))}),[o]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==u)return;const t=p.get();null!==t&&i(f(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,i]);const s=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{window.matchMedia("print").matches||s.current?s.current=window.matchMedia("print").matches:i(null)};return e.addListener(r),()=>e.removeListener(r)}),[i,t,n]),(0,r.useMemo)((()=>({colorMode:o,setColorMode:i,get isDarkTheme(){return o===d.dark},setLightTheme(){i(d.light)},setDarkTheme(){i(d.dark)}})),[o,i])}();return(0,s.jsx)(c.Provider,{value:n,children:t})}function y(){const e=(0,r.useContext)(c);if(null==e)throw new a.dV("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},8722:(e,t,n)=>{var r=n(96763);const o=n(6969),a=n(98380),i=new Set;function l(e){void 0===e?e=Object.keys(o.languages).filter((e=>"meta"!=e)):Array.isArray(e)||(e=[e]);const t=[...i,...Object.keys(Prism.languages)];a(o,e,t).load((e=>{if(!(e in o.languages))return void(l.silent||r.warn("Language does not exist: "+e));const t="./prism-"+e;delete n.c[n(63157).resolve(t)],delete Prism.languages[e],n(63157)(t),i.add(e)}))}l.silent=!1,e.exports=l},9136:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(96540),o=n(84974);function a(){return(0,r.useContext)(o.o)}},9303:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});n(96540);var r=n(18215),o=n(50539),a=n(53115),i=n(56289),l=n(25246);const s={anchorWithStickyNavbar:"anchorWithStickyNavbar_LWe7",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_WYt5"};var c=n(74848);function u(e){let{as:t,id:n,...u}=e;const p=(0,l.A)(),{navbar:{hideOnScroll:d}}=(0,a.p)();if("h1"===t||!n)return(0,c.jsx)(t,{...u,id:void 0});p.collectAnchor(n);const f=(0,o.T)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof u.children?u.children:n});return(0,c.jsxs)(t,{...u,className:(0,r.A)("anchor",d?s.anchorWithHideOnScrollNavbar:s.anchorWithStickyNavbar,u.className),id:n,children:[u.children,(0,c.jsx)(i.A,{className:"hash-link",to:`#${n}`,"aria-label":f,title:f,children:"\u200b"})]})}},9394:(e,t,n)=>{"use strict";var r=n(89211);e.exports=function(){return"function"==typeof Object.is?Object.is:r}},9957:(e,t,n)=>{"use strict";var r=Function.prototype.call,o=Object.prototype.hasOwnProperty,a=n(66743);e.exports=a.call(r,o)},10076:e=>{"use strict";e.exports=Function.prototype.call},10487:(e,t,n)=>{"use strict";var r=n(96897),o=n(30655),a=n(73126),i=n(12205);e.exports=function(e){var t=a(arguments),n=e.length-(arguments.length-1);return r(t,1+(n>0?n:0),!0)},o?o(e.exports,"apply",{value:i}):e.exports.apply=i},11002:e=>{"use strict";e.exports=Function.prototype.apply},11514:(e,t,n)=>{"use strict";var r=n(38403);e.exports=function(){return Object.assign?function(){if(!Object.assign)return!1;for(var e="abcdefghijklmnopqrst",t=e.split(""),n={},r=0;r{"use strict";n.d(t,{A:()=>a});var r=!0,o="Invariant failed";function a(e,t){if(!e){if(r)throw new Error(o);var n="function"==typeof t?t():t,a=n?"".concat(o,": ").concat(n):o;throw new Error(a)}}},11835:(e,t,n)=>{"use strict";n.d(t,{c:()=>o});var r=n(40797);function o(){const{siteConfig:{themeConfig:e}}=(0,r.A)();return e}},11861:(e,t,n)=>{"use strict";function r(e,t){return void 0===t&&(t=(e,t)=>e===t),e.filter(((n,r)=>e.findIndex((e=>t(e,n)))!==r))}function o(e){return Array.from(new Set(e))}n.d(t,{XI:()=>r,sb:()=>o})},12205:(e,t,n)=>{"use strict";var r=n(66743),o=n(11002),a=n(13144);e.exports=function(){return a(r,o,arguments)}},12862:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});n(96540);var r=n(56289),o=n(29030),a=n(40797),i=n(53115),l=n(39324),s=n(74848);function c(e){let{logo:t,alt:n,imageClassName:r}=e;const a={light:(0,o.Ay)(t.src),dark:(0,o.Ay)(t.srcDark||t.src)},i=(0,s.jsx)(l.A,{className:t.className,sources:a,height:t.height,width:t.width,alt:n,style:t.style});return r?(0,s.jsx)("div",{className:r,children:i}):i}function u(e){const{siteConfig:{title:t}}=(0,a.A)(),{navbar:{title:n,logo:l}}=(0,i.p)(),{imageClassName:u,titleClassName:p,...d}=e,f=(0,o.Ay)(l?.href||"/"),m=n?"":t,g=l?.alt??m;return(0,s.jsxs)(r.A,{to:f,...d,...l?.target&&{target:l.target},children:[l&&(0,s.jsx)(c,{logo:l,alt:g,imageClassName:u}),null!=n&&(0,s.jsx)("b",{className:p,children:n})]})}},13003:e=>{"use strict";e.exports=function(e){return e!=e}},13144:(e,t,n)=>{"use strict";var r=n(66743),o=n(11002),a=n(10076),i=n(47119);e.exports=i||r.call(a,o)},13722:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});const r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function o(e){const t={};return function e(n,o){Object.entries(n).forEach((n=>{let[a,i]=n;const l=o?`${o}.${a}`:a;r(i)?e(i,l):t[l]=i}))}(e),t}},14035:(e,t,n)=>{"use strict";var r,o=n(36556),a=n(49092)(),i=n(9957),l=n(75795);if(a){var s=o("RegExp.prototype.exec"),c={},u=function(){throw c},p={toString:u,valueOf:u};"symbol"==typeof Symbol.toPrimitive&&(p[Symbol.toPrimitive]=u),r=function(e){if(!e||"object"!=typeof e)return!1;var t=l(e,"lastIndex");if(!(t&&i(t,"value")))return!1;try{s(e,p)}catch(n){return n===c}}}else{var d=o("Object.prototype.toString");r=function(e){return!(!e||"object"!=typeof e&&"function"!=typeof e)&&"[object RegExp]"===d(e)}}e.exports=r},15066:(e,t,n)=>{"use strict";function r(e){var t,n,o="";if("string"==typeof e||"number"==typeof e)o+=e;else if("object"==typeof e)if(Array.isArray(e)){var a=e.length;for(t=0;to});const o=function(){for(var e,t,n=0,o="",a=arguments.length;n{"use strict";var n=Symbol.for("react.element"),r=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),l=Symbol.for("react.provider"),s=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),d=Symbol.for("react.lazy"),f=Symbol.iterator;var m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,h={};function y(e,t,n){this.props=e,this.context=t,this.refs=h,this.updater=n||m}function b(){}function v(e,t,n){this.props=e,this.context=t,this.refs=h,this.updater=n||m}y.prototype.isReactComponent={},y.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},y.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},b.prototype=y.prototype;var w=v.prototype=new b;w.constructor=v,g(w,y.prototype),w.isPureReactComponent=!0;var k=Array.isArray,x=Object.prototype.hasOwnProperty,S={current:null},E={key:!0,ref:!0,__self:!0,__source:!0};function _(e,t,r){var o,a={},i=null,l=null;if(null!=t)for(o in void 0!==t.ref&&(l=t.ref),void 0!==t.key&&(i=""+t.key),t)x.call(t,o)&&!E.hasOwnProperty(o)&&(a[o]=t[o]);var s=arguments.length-2;if(1===s)a.children=r;else if(1{"use strict";n.d(t,{A:()=>a});n(96540);const r={iconExternalLink:"iconExternalLink_nPIU"};var o=n(74848);function a(e){let{width:t=13.5,height:n=13.5}=e;return(0,o.jsx)("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:r.iconExternalLink,children:(0,o.jsx)("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"})})}},18215:(e,t,n)=>{"use strict";function r(e){var t,n,o="";if("string"==typeof e||"number"==typeof e)o+=e;else if("object"==typeof e)if(Array.isArray(e)){var a=e.length;for(t=0;to});const o=function(){for(var e,t,n=0,o="",a=arguments.length;n{var r={"./":8722};function o(e){var t=a(e);return n(t)}function a(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=a,e.exports=o,o.id=18692},19700:()=>{!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,o,a){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(o,(function(e){if("function"==typeof a&&!a(e))return e;for(var o,l=i.length;-1!==n.code.indexOf(o=t(r,l));)++l;return i[l]=e,o})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var o=0,a=Object.keys(n.tokenStack);!function i(l){for(var s=0;s=a.length);s++){var c=l[s];if("string"==typeof c||c.content&&"string"==typeof c.content){var u=a[o],p=n.tokenStack[u],d="string"==typeof c?c:c.content,f=t(r,u),m=d.indexOf(f);if(m>-1){++o;var g=d.substring(0,m),h=new e.Token(r,e.tokenize(p,n.grammar),"language-"+r,p),y=d.substring(m+f.length),b=[];g&&b.push.apply(b,i([g])),b.push(h),y&&b.push.apply(b,i([y])),"string"==typeof c?l.splice.apply(l,[s,1].concat(b)):c.content=b}}else c.content&&i(c.content)}return l}(n.tokens)}}}})}(Prism)},20311:e=>{"use strict";e.exports=function(e,t,n,r,o,a,i,l){if(!e){var s;if(void 0===t)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,o,a,i,l],u=0;(s=new Error(t.replace(/%s/g,(function(){return c[u++]})))).name="Invariant Violation"}throw s.framesToPop=1,s}}},21020:(e,t,n)=>{"use strict";var r=n(96540),o=Symbol.for("react.element"),a=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,l=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s={key:!0,ref:!0,__self:!0,__source:!0};function c(e,t,n){var r,a={},c=null,u=null;for(r in void 0!==n&&(c=""+n),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(u=t.ref),t)i.call(t,r)&&!s.hasOwnProperty(r)&&(a[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===a[r]&&(a[r]=t[r]);return{$$typeof:o,type:e,key:c,ref:u,props:a,_owner:l.current}}t.Fragment=a,t.jsx=c,t.jsxs=c},21683:(e,t,n)=>{"use strict";n.r(t)},21858:(e,t,n)=>{"use strict";n.d(t,{n:()=>l,r:()=>s});var r=n(96540),o=n(26849),a=n(74848);const i=r.createContext(null);function l(e){let{children:t,version:n}=e;return(0,a.jsx)(i.Provider,{value:n,children:t})}function s(){const e=(0,r.useContext)(i);if(null===e)throw new o.dV("DocsVersionProvider");return e}},22306:(e,t,n)=>{"use strict";n.d(t,{V:()=>s,t:()=>c});var r=n(96540),o=n(26849),a=n(74848);const i=Symbol("EmptyContext"),l=r.createContext(i);function s(e){let{children:t,name:n,items:o}=e;const i=(0,r.useMemo)((()=>n&&o?{name:n,items:o}:null),[n,o]);return(0,a.jsx)(l.Provider,{value:i,children:t})}function c(){const e=(0,r.useContext)(l);if(e===i)throw new o.dV("DocsSidebarProvider");return e}},22551:(e,t,n)=>{"use strict";var r=n(96763),o=n(96540),a=n(69982);function i(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n