From fe57695a292825b757b550a8ffb0988166b1f650 Mon Sep 17 00:00:00 2001 From: "github-merge-queue[bot]" Date: Thu, 17 Apr 2025 17:34:14 +0000 Subject: [PATCH] deploy: b69175086ebfee2da4718c3d777c73bf4e6907d5 --- 404.html | 2 +- agents-overview.html | 2 +- agents-tool-calling-agent-component.html | 2 +- api-reference-api-examples.html | 2 +- api.html | 2 +- api/add-user.html | 2 +- api/auto-login.html | 2 +- api/build-flow.html | 2 +- api/build-public-tmp.html | 2 +- api/build-vertex-stream.html | 2 +- api/build-vertex.html | 2 +- api/cancel-build.html | 2 +- api/check-if-store-has-api-key.html | 2 +- api/check-if-store-is-enabled.html | 2 +- api/create-api-key-route.html | 2 +- api/create-flow.html | 2 +- api/create-flows.html | 2 +- api/create-folder.html | 2 +- api/create-upload-file.html | 2 +- api/create-variable.html | 2 +- api/custom-component-update.html | 2 +- api/custom-component.html | 2 +- api/delete-all-files.html | 2 +- api/delete-api-key-route.html | 2 +- api/delete-file-1.html | 2 +- api/delete-file.html | 2 +- api/delete-flow.html | 2 +- api/delete-folder.html | 2 +- api/delete-messages-session.html | 2 +- api/delete-messages.html | 2 +- api/delete-multiple-flows.html | 2 +- api/delete-user.html | 2 +- api/delete-variable.html | 2 +- api/delete-vertex-builds.html | 2 +- api/download-component.html | 2 +- api/download-file-1.html | 2 +- api/download-file-2.html | 2 +- api/download-file.html | 2 +- api/download-image.html | 2 +- api/download-multiple-file.html | 2 +- api/download-profile-picture.html | 2 +- api/edit-file-name.html | 2 +- api/experimental-run-flow.html | 2 +- api/get-all.html | 2 +- api/get-api-keys-route.html | 2 +- api/get-build-events.html | 2 +- api/get-components.html | 2 +- api/get-config.html | 2 +- api/get-elevenlabs-voice-ids.html | 2 +- api/get-list-of-components-liked-by-user.html | 2 +- api/get-messages.html | 2 +- api/get-starter-projects.html | 2 +- api/get-tags.html | 2 +- api/get-task-status.html | 2 +- api/get-transactions.html | 2 +- api/get-version.html | 2 +- api/get-vertex-builds.html | 2 +- api/handle-messages-1.html | 2 +- api/handle-messages.html | 2 +- api/handle-sse-1.html | 2 +- api/handle-sse.html | 2 +- api/health-check.html | 2 +- api/health.html | 2 +- api/like-component.html | 2 +- api/list-files-1.html | 2 +- api/list-files.html | 2 +- api/list-profile-pictures.html | 2 +- api/login-to-get-access-token.html | 2 +- api/logout.html | 2 +- api/logs.html | 2 +- api/patch-user.html | 2 +- api/post-validate-code.html | 2 +- api/post-validate-prompt.html | 2 +- api/process-1.html | 2 +- api/process.html | 2 +- api/read-all-users.html | 2 +- api/read-basic-examples.html | 2 +- api/read-current-user.html | 2 +- api/read-flow.html | 2 +- api/read-flows.html | 2 +- api/read-folder.html | 2 +- api/read-folders.html | 2 +- api/read-public-flow.html | 2 +- api/read-variables.html | 2 +- api/refresh-token.html | 2 +- api/reset-password.html | 2 +- api/retrieve-vertices-order.html | 2 +- api/save-store-api-key.html | 2 +- api/share-component.html | 2 +- api/simplified-run-flow.html | 2 +- api/stream-logs.html | 2 +- api/update-flow.html | 2 +- api/update-folder.html | 2 +- api/update-message.html | 2 +- api/update-session-id.html | 2 +- api/update-shared-component.html | 2 +- api/update-variable.html | 2 +- api/upload-file-1.html | 2 +- api/upload-file-2.html | 2 +- api/upload-file.html | 2 +- api/upload-user-file.html | 2 +- api/webhook-run-flow.html | 2 +- ...hroma-591e45d59ab635d1e1e68ab8036cfed7.png | Bin 0 -> 292571 bytes ...0d4f5.c98bf358.js => 2ab0d4f5.1a12f90a.js} | 2 +- assets/js/921b5fc1.57ad214f.js | 1 + assets/js/921b5fc1.ce0affd3.js | 1 - ...6a4d2.dd602f32.js => e6c6a4d2.1123095a.js} | 2 +- ...n.75277ae5.js => runtime~main.0cb749b2.js} | 2 +- blog-writer.html | 2 +- components-agents.html | 2 +- components-bundle-components.html | 2 +- components-custom-components.html | 2 +- components-data.html | 2 +- components-embedding-models.html | 54 ++++++++++++------ components-helpers.html | 2 +- components-io.html | 2 +- components-loaders.html | 2 +- components-logic.html | 2 +- components-memories.html | 2 +- components-models.html | 2 +- components-processing.html | 2 +- components-prompts.html | 2 +- components-tools.html | 2 +- components-vector-stores.html | 2 +- concepts-components.html | 2 +- concepts-file-management.html | 2 +- concepts-flows.html | 2 +- concepts-objects.html | 2 +- concepts-overview.html | 2 +- concepts-playground.html | 2 +- concepts-publish.html | 2 +- concepts-voice-mode.html | 2 +- configuration-api-keys.html | 2 +- configuration-authentication.html | 2 +- configuration-cli.html | 2 +- configuration-custom-database.html | 2 +- configuration-global-variables.html | 2 +- contributing-community.html | 2 +- contributing-component-tests.html | 2 +- contributing-components.html | 2 +- contributing-github-discussions.html | 2 +- contributing-github-issues.html | 2 +- contributing-how-to-contribute.html | 2 +- contributing-telemetry.html | 2 +- deployment-docker.html | 2 +- deployment-gcp.html | 2 +- deployment-hugging-face-spaces.html | 2 +- deployment-kubernetes.html | 2 +- deployment-overview.html | 2 +- deployment-railway.html | 2 +- deployment-render.html | 2 +- develop-application.html | 2 +- develop-overview.html | 2 +- document-qa.html | 2 +- environment-variables.html | 2 +- get-started-installation.html | 2 +- get-started-quickstart.html | 2 +- img/component-watsonx-embeddings-chroma.png | Bin 0 -> 292571 bytes index.html | 2 +- install-custom-dependencies.html | 2 +- integrations-apify.html | 2 +- integrations-arize.html | 2 +- integrations-assemblyai.html | 2 +- integrations-composio.html | 2 +- integrations-langfuse.html | 2 +- integrations-langsmith.html | 2 +- integrations-langwatch.html | 2 +- integrations-mcp.html | 2 +- integrations-nvidia-ingest-wsl2.html | 2 +- integrations-nvidia-ingest.html | 2 +- integrations-opik.html | 2 +- ...setup-google-cloud-vertex-ai-langflow.html | 2 +- integrations-setup-google-oauth-langflow.html | 2 +- .../notion/notion-agent-conversational.html | 2 +- .../notion/notion-agent-meeting-notes.html | 2 +- integrations/notion/setup.html | 2 +- logging.html | 2 +- luna-for-langflow.html | 2 +- mcp-component-astra.html | 2 +- memory-chatbot.html | 2 +- memory.html | 2 +- search.html | 2 +- sequential-agent.html | 2 +- session-id.html | 2 +- sitemap.xml | 2 +- starter-projects-basic-prompting.html | 2 +- starter-projects-simple-agent.html | 2 +- starter-projects-vector-store-rag.html | 2 +- travel-planning-agent.html | 2 +- webhook.html | 2 +- 190 files changed, 224 insertions(+), 202 deletions(-) create mode 100644 assets/images/component-watsonx-embeddings-chroma-591e45d59ab635d1e1e68ab8036cfed7.png rename assets/js/{2ab0d4f5.c98bf358.js => 2ab0d4f5.1a12f90a.js} (51%) create mode 100644 assets/js/921b5fc1.57ad214f.js delete mode 100644 assets/js/921b5fc1.ce0affd3.js rename assets/js/{e6c6a4d2.dd602f32.js => e6c6a4d2.1123095a.js} (55%) rename assets/js/{runtime~main.75277ae5.js => runtime~main.0cb749b2.js} (97%) create mode 100644 img/component-watsonx-embeddings-chroma.png diff --git a/404.html b/404.html index 8f4f5f3b97..2922af694b 100644 --- a/404.html +++ b/404.html @@ -21,7 +21,7 @@ - + diff --git a/agents-overview.html b/agents-overview.html index c677c29292..bbd9c45c48 100644 --- a/agents-overview.html +++ b/agents-overview.html @@ -21,7 +21,7 @@ - + diff --git a/agents-tool-calling-agent-component.html b/agents-tool-calling-agent-component.html index 1ab0f7f735..ae7820f4c9 100644 --- a/agents-tool-calling-agent-component.html +++ b/agents-tool-calling-agent-component.html @@ -21,7 +21,7 @@ - + diff --git a/api-reference-api-examples.html b/api-reference-api-examples.html index 43e30aa0ce..2d9df57c9f 100644 --- a/api-reference-api-examples.html +++ b/api-reference-api-examples.html @@ -21,7 +21,7 @@ - + diff --git a/api.html b/api.html index 8f6c87322c..93029a2164 100644 --- a/api.html +++ b/api.html @@ -21,7 +21,7 @@ - + diff --git a/api/add-user.html b/api/add-user.html index 035378d99f..1743c5aea3 100644 --- a/api/add-user.html +++ b/api/add-user.html @@ -21,7 +21,7 @@ - + diff --git a/api/auto-login.html b/api/auto-login.html index 5b76d176a0..c1a699bde9 100644 --- a/api/auto-login.html +++ b/api/auto-login.html @@ -21,7 +21,7 @@ - + diff --git a/api/build-flow.html b/api/build-flow.html index b99f163379..4a5b4944d3 100644 --- a/api/build-flow.html +++ b/api/build-flow.html @@ -21,7 +21,7 @@ - + diff --git a/api/build-public-tmp.html b/api/build-public-tmp.html index fc27bc7131..0ced8224c5 100644 --- a/api/build-public-tmp.html +++ b/api/build-public-tmp.html @@ -21,7 +21,7 @@ - + diff --git a/api/build-vertex-stream.html b/api/build-vertex-stream.html index 9460a2efa6..418ece258e 100644 --- a/api/build-vertex-stream.html +++ b/api/build-vertex-stream.html @@ -21,7 +21,7 @@ - + diff --git a/api/build-vertex.html b/api/build-vertex.html index c1beb3d68d..ab22537c94 100644 --- a/api/build-vertex.html +++ b/api/build-vertex.html @@ -21,7 +21,7 @@ - + diff --git a/api/cancel-build.html b/api/cancel-build.html index 584dcdbf3b..7fe15a267d 100644 --- a/api/cancel-build.html +++ b/api/cancel-build.html @@ -21,7 +21,7 @@ - + diff --git a/api/check-if-store-has-api-key.html b/api/check-if-store-has-api-key.html index 54ba7303b6..16e821d41e 100644 --- a/api/check-if-store-has-api-key.html +++ b/api/check-if-store-has-api-key.html @@ -21,7 +21,7 @@ - + diff --git a/api/check-if-store-is-enabled.html b/api/check-if-store-is-enabled.html index bc2ae78eb7..6ab16c0ad9 100644 --- a/api/check-if-store-is-enabled.html +++ b/api/check-if-store-is-enabled.html @@ -21,7 +21,7 @@ - + diff --git a/api/create-api-key-route.html b/api/create-api-key-route.html index 5f0695bf97..a75326c3b8 100644 --- a/api/create-api-key-route.html +++ b/api/create-api-key-route.html @@ -21,7 +21,7 @@ - + diff --git a/api/create-flow.html b/api/create-flow.html index 015c421402..dfc81be704 100644 --- a/api/create-flow.html +++ b/api/create-flow.html @@ -21,7 +21,7 @@ - + diff --git a/api/create-flows.html b/api/create-flows.html index bae0b2eccb..2afdbc1e5c 100644 --- a/api/create-flows.html +++ b/api/create-flows.html @@ -21,7 +21,7 @@ - + diff --git a/api/create-folder.html b/api/create-folder.html index 3585f9cd5c..f0e9e3f5ea 100644 --- a/api/create-folder.html +++ b/api/create-folder.html @@ -21,7 +21,7 @@ - + diff --git a/api/create-upload-file.html b/api/create-upload-file.html index 68ecb888ed..2368c0bf72 100644 --- a/api/create-upload-file.html +++ b/api/create-upload-file.html @@ -21,7 +21,7 @@ - + diff --git a/api/create-variable.html b/api/create-variable.html index 7fb0855df0..2a9477770c 100644 --- a/api/create-variable.html +++ b/api/create-variable.html @@ -21,7 +21,7 @@ - + diff --git a/api/custom-component-update.html b/api/custom-component-update.html index 399a42eeff..490833fcd2 100644 --- a/api/custom-component-update.html +++ b/api/custom-component-update.html @@ -21,7 +21,7 @@ - + diff --git a/api/custom-component.html b/api/custom-component.html index cb8185b058..7d980176e5 100644 --- a/api/custom-component.html +++ b/api/custom-component.html @@ -21,7 +21,7 @@ - + diff --git a/api/delete-all-files.html b/api/delete-all-files.html index 7841f5ff32..a83413a67e 100644 --- a/api/delete-all-files.html +++ b/api/delete-all-files.html @@ -21,7 +21,7 @@ - + diff --git a/api/delete-api-key-route.html b/api/delete-api-key-route.html index 8e3296a371..d23d248ef8 100644 --- a/api/delete-api-key-route.html +++ b/api/delete-api-key-route.html @@ -21,7 +21,7 @@ - + diff --git a/api/delete-file-1.html b/api/delete-file-1.html index e164dcc3a4..1f17e4e085 100644 --- a/api/delete-file-1.html +++ b/api/delete-file-1.html @@ -21,7 +21,7 @@ - + diff --git a/api/delete-file.html b/api/delete-file.html index 7f18d87449..77ac35df30 100644 --- a/api/delete-file.html +++ b/api/delete-file.html @@ -21,7 +21,7 @@ - + diff --git a/api/delete-flow.html b/api/delete-flow.html index 36b26076d1..ec83c2ba02 100644 --- a/api/delete-flow.html +++ b/api/delete-flow.html @@ -21,7 +21,7 @@ - + diff --git a/api/delete-folder.html b/api/delete-folder.html index ac19893b09..58fa72c179 100644 --- a/api/delete-folder.html +++ b/api/delete-folder.html @@ -21,7 +21,7 @@ - + diff --git a/api/delete-messages-session.html b/api/delete-messages-session.html index 0f159ffc60..39e9250270 100644 --- a/api/delete-messages-session.html +++ b/api/delete-messages-session.html @@ -21,7 +21,7 @@ - + diff --git a/api/delete-messages.html b/api/delete-messages.html index e8bac1ff21..1a06e126d9 100644 --- a/api/delete-messages.html +++ b/api/delete-messages.html @@ -21,7 +21,7 @@ - + diff --git a/api/delete-multiple-flows.html b/api/delete-multiple-flows.html index f21cf9079d..b9821b0b95 100644 --- a/api/delete-multiple-flows.html +++ b/api/delete-multiple-flows.html @@ -21,7 +21,7 @@ - + diff --git a/api/delete-user.html b/api/delete-user.html index c92e602ad6..60fcc7d190 100644 --- a/api/delete-user.html +++ b/api/delete-user.html @@ -21,7 +21,7 @@ - + diff --git a/api/delete-variable.html b/api/delete-variable.html index 3ee387a3c8..58f8d73256 100644 --- a/api/delete-variable.html +++ b/api/delete-variable.html @@ -21,7 +21,7 @@ - + diff --git a/api/delete-vertex-builds.html b/api/delete-vertex-builds.html index 2bb1e3227e..a9388a38e0 100644 --- a/api/delete-vertex-builds.html +++ b/api/delete-vertex-builds.html @@ -21,7 +21,7 @@ - + diff --git a/api/download-component.html b/api/download-component.html index 17d3e185ce..f5b5b5aefa 100644 --- a/api/download-component.html +++ b/api/download-component.html @@ -21,7 +21,7 @@ - + diff --git a/api/download-file-1.html b/api/download-file-1.html index 0e9c701405..206dcc2b77 100644 --- a/api/download-file-1.html +++ b/api/download-file-1.html @@ -21,7 +21,7 @@ - + diff --git a/api/download-file-2.html b/api/download-file-2.html index 30f7c33264..13cb30dcaa 100644 --- a/api/download-file-2.html +++ b/api/download-file-2.html @@ -21,7 +21,7 @@ - + diff --git a/api/download-file.html b/api/download-file.html index c1323dd4d8..7b107f7101 100644 --- a/api/download-file.html +++ b/api/download-file.html @@ -21,7 +21,7 @@ - + diff --git a/api/download-image.html b/api/download-image.html index 646ec70a1f..a43e62762c 100644 --- a/api/download-image.html +++ b/api/download-image.html @@ -21,7 +21,7 @@ - + diff --git a/api/download-multiple-file.html b/api/download-multiple-file.html index f4e5066919..b016429790 100644 --- a/api/download-multiple-file.html +++ b/api/download-multiple-file.html @@ -21,7 +21,7 @@ - + diff --git a/api/download-profile-picture.html b/api/download-profile-picture.html index 37aa4b979a..424cd1e01b 100644 --- a/api/download-profile-picture.html +++ b/api/download-profile-picture.html @@ -21,7 +21,7 @@ - + diff --git a/api/edit-file-name.html b/api/edit-file-name.html index cc20c5e2e7..bc9a0f7550 100644 --- a/api/edit-file-name.html +++ b/api/edit-file-name.html @@ -21,7 +21,7 @@ - + diff --git a/api/experimental-run-flow.html b/api/experimental-run-flow.html index 6c939c7d7b..7d703b39b9 100644 --- a/api/experimental-run-flow.html +++ b/api/experimental-run-flow.html @@ -21,7 +21,7 @@ - + diff --git a/api/get-all.html b/api/get-all.html index bf597cdfae..a2f82269b3 100644 --- a/api/get-all.html +++ b/api/get-all.html @@ -21,7 +21,7 @@ - + diff --git a/api/get-api-keys-route.html b/api/get-api-keys-route.html index 1415c3856a..15388415da 100644 --- a/api/get-api-keys-route.html +++ b/api/get-api-keys-route.html @@ -21,7 +21,7 @@ - + diff --git a/api/get-build-events.html b/api/get-build-events.html index 87163fe6b1..dd70d4a741 100644 --- a/api/get-build-events.html +++ b/api/get-build-events.html @@ -21,7 +21,7 @@ - + diff --git a/api/get-components.html b/api/get-components.html index aad274594b..c3ab894db6 100644 --- a/api/get-components.html +++ b/api/get-components.html @@ -21,7 +21,7 @@ - + diff --git a/api/get-config.html b/api/get-config.html index 3b247f8584..fac6f6991e 100644 --- a/api/get-config.html +++ b/api/get-config.html @@ -21,7 +21,7 @@ - + diff --git a/api/get-elevenlabs-voice-ids.html b/api/get-elevenlabs-voice-ids.html index 801a6762e0..55586e4962 100644 --- a/api/get-elevenlabs-voice-ids.html +++ b/api/get-elevenlabs-voice-ids.html @@ -21,7 +21,7 @@ - + diff --git a/api/get-list-of-components-liked-by-user.html b/api/get-list-of-components-liked-by-user.html index 7c0efe4f6c..60730e4221 100644 --- a/api/get-list-of-components-liked-by-user.html +++ b/api/get-list-of-components-liked-by-user.html @@ -21,7 +21,7 @@ - + diff --git a/api/get-messages.html b/api/get-messages.html index 6afaad2983..63ca39292b 100644 --- a/api/get-messages.html +++ b/api/get-messages.html @@ -21,7 +21,7 @@ - + diff --git a/api/get-starter-projects.html b/api/get-starter-projects.html index bb4da0a0bd..94d25df1b2 100644 --- a/api/get-starter-projects.html +++ b/api/get-starter-projects.html @@ -21,7 +21,7 @@ - + diff --git a/api/get-tags.html b/api/get-tags.html index 15663095cb..dfdd790ecd 100644 --- a/api/get-tags.html +++ b/api/get-tags.html @@ -21,7 +21,7 @@ - + diff --git a/api/get-task-status.html b/api/get-task-status.html index d3eafe0344..513323720b 100644 --- a/api/get-task-status.html +++ b/api/get-task-status.html @@ -21,7 +21,7 @@ - + diff --git a/api/get-transactions.html b/api/get-transactions.html index bed78dd1a4..32ef6dd3f5 100644 --- a/api/get-transactions.html +++ b/api/get-transactions.html @@ -21,7 +21,7 @@ - + diff --git a/api/get-version.html b/api/get-version.html index cd0a6e81bb..57bc712412 100644 --- a/api/get-version.html +++ b/api/get-version.html @@ -21,7 +21,7 @@ - + diff --git a/api/get-vertex-builds.html b/api/get-vertex-builds.html index daa8256f84..e451ab3a02 100644 --- a/api/get-vertex-builds.html +++ b/api/get-vertex-builds.html @@ -21,7 +21,7 @@ - + diff --git a/api/handle-messages-1.html b/api/handle-messages-1.html index 9ee3d6d502..bd764f78a6 100644 --- a/api/handle-messages-1.html +++ b/api/handle-messages-1.html @@ -21,7 +21,7 @@ - + diff --git a/api/handle-messages.html b/api/handle-messages.html index ad73bf66d7..68e64da302 100644 --- a/api/handle-messages.html +++ b/api/handle-messages.html @@ -21,7 +21,7 @@ - + diff --git a/api/handle-sse-1.html b/api/handle-sse-1.html index 5e5202d674..692b12e8be 100644 --- a/api/handle-sse-1.html +++ b/api/handle-sse-1.html @@ -21,7 +21,7 @@ - + diff --git a/api/handle-sse.html b/api/handle-sse.html index ef0b915ff0..e875614625 100644 --- a/api/handle-sse.html +++ b/api/handle-sse.html @@ -21,7 +21,7 @@ - + diff --git a/api/health-check.html b/api/health-check.html index 4e3c9b12ec..1a74a77b32 100644 --- a/api/health-check.html +++ b/api/health-check.html @@ -21,7 +21,7 @@ - + diff --git a/api/health.html b/api/health.html index 35176699d3..05997e4bf8 100644 --- a/api/health.html +++ b/api/health.html @@ -21,7 +21,7 @@ - + diff --git a/api/like-component.html b/api/like-component.html index f1a31ec814..c7c9aa85d3 100644 --- a/api/like-component.html +++ b/api/like-component.html @@ -21,7 +21,7 @@ - + diff --git a/api/list-files-1.html b/api/list-files-1.html index d7d51064a1..650322e234 100644 --- a/api/list-files-1.html +++ b/api/list-files-1.html @@ -21,7 +21,7 @@ - + diff --git a/api/list-files.html b/api/list-files.html index 9fd94586be..9a8ad04f60 100644 --- a/api/list-files.html +++ b/api/list-files.html @@ -21,7 +21,7 @@ - + diff --git a/api/list-profile-pictures.html b/api/list-profile-pictures.html index c190fc027b..2d03af8590 100644 --- a/api/list-profile-pictures.html +++ b/api/list-profile-pictures.html @@ -21,7 +21,7 @@ - + diff --git a/api/login-to-get-access-token.html b/api/login-to-get-access-token.html index d30929381a..44a023dac1 100644 --- a/api/login-to-get-access-token.html +++ b/api/login-to-get-access-token.html @@ -21,7 +21,7 @@ - + diff --git a/api/logout.html b/api/logout.html index f3c653e772..f056f9bfe4 100644 --- a/api/logout.html +++ b/api/logout.html @@ -21,7 +21,7 @@ - + diff --git a/api/logs.html b/api/logs.html index 006e12c1b7..cc1dc2bd94 100644 --- a/api/logs.html +++ b/api/logs.html @@ -21,7 +21,7 @@ - + diff --git a/api/patch-user.html b/api/patch-user.html index 58205c7723..5291b7113a 100644 --- a/api/patch-user.html +++ b/api/patch-user.html @@ -21,7 +21,7 @@ - + diff --git a/api/post-validate-code.html b/api/post-validate-code.html index 064fdc9aa6..bee8e1b49c 100644 --- a/api/post-validate-code.html +++ b/api/post-validate-code.html @@ -21,7 +21,7 @@ - + diff --git a/api/post-validate-prompt.html b/api/post-validate-prompt.html index 2bdc7b8aa6..c7bacac0d6 100644 --- a/api/post-validate-prompt.html +++ b/api/post-validate-prompt.html @@ -21,7 +21,7 @@ - + diff --git a/api/process-1.html b/api/process-1.html index e70b541d76..57589b5f7a 100644 --- a/api/process-1.html +++ b/api/process-1.html @@ -21,7 +21,7 @@ - + diff --git a/api/process.html b/api/process.html index 3296048bec..37670bca77 100644 --- a/api/process.html +++ b/api/process.html @@ -21,7 +21,7 @@ - + diff --git a/api/read-all-users.html b/api/read-all-users.html index a542e17eed..c5f7367eaf 100644 --- a/api/read-all-users.html +++ b/api/read-all-users.html @@ -21,7 +21,7 @@ - + diff --git a/api/read-basic-examples.html b/api/read-basic-examples.html index 85c93fc9b1..7d84afa527 100644 --- a/api/read-basic-examples.html +++ b/api/read-basic-examples.html @@ -21,7 +21,7 @@ - + diff --git a/api/read-current-user.html b/api/read-current-user.html index 3a831b03bc..9f069da00a 100644 --- a/api/read-current-user.html +++ b/api/read-current-user.html @@ -21,7 +21,7 @@ - + diff --git a/api/read-flow.html b/api/read-flow.html index 58992e83db..72d68ab505 100644 --- a/api/read-flow.html +++ b/api/read-flow.html @@ -21,7 +21,7 @@ - + diff --git a/api/read-flows.html b/api/read-flows.html index 4f425c69e3..fd1dd18215 100644 --- a/api/read-flows.html +++ b/api/read-flows.html @@ -21,7 +21,7 @@ - + diff --git a/api/read-folder.html b/api/read-folder.html index 96a846f5b8..17915f86d5 100644 --- a/api/read-folder.html +++ b/api/read-folder.html @@ -21,7 +21,7 @@ - + diff --git a/api/read-folders.html b/api/read-folders.html index a4a0c7763b..de19f4bca4 100644 --- a/api/read-folders.html +++ b/api/read-folders.html @@ -21,7 +21,7 @@ - + diff --git a/api/read-public-flow.html b/api/read-public-flow.html index 106155fa80..2092826c4d 100644 --- a/api/read-public-flow.html +++ b/api/read-public-flow.html @@ -21,7 +21,7 @@ - + diff --git a/api/read-variables.html b/api/read-variables.html index f0445ec40c..ca297d67e0 100644 --- a/api/read-variables.html +++ b/api/read-variables.html @@ -21,7 +21,7 @@ - + diff --git a/api/refresh-token.html b/api/refresh-token.html index a6a3d9c4e0..fb2e438e45 100644 --- a/api/refresh-token.html +++ b/api/refresh-token.html @@ -21,7 +21,7 @@ - + diff --git a/api/reset-password.html b/api/reset-password.html index 36af930beb..cd3c26b5fa 100644 --- a/api/reset-password.html +++ b/api/reset-password.html @@ -21,7 +21,7 @@ - + diff --git a/api/retrieve-vertices-order.html b/api/retrieve-vertices-order.html index 1af2edcf4e..7eec6fc92d 100644 --- a/api/retrieve-vertices-order.html +++ b/api/retrieve-vertices-order.html @@ -21,7 +21,7 @@ - + diff --git a/api/save-store-api-key.html b/api/save-store-api-key.html index 58f6c52099..05e2b1b828 100644 --- a/api/save-store-api-key.html +++ b/api/save-store-api-key.html @@ -21,7 +21,7 @@ - + diff --git a/api/share-component.html b/api/share-component.html index a764fc468b..73ed5d4afa 100644 --- a/api/share-component.html +++ b/api/share-component.html @@ -21,7 +21,7 @@ - + diff --git a/api/simplified-run-flow.html b/api/simplified-run-flow.html index 0601101d0a..dfc3e79e05 100644 --- a/api/simplified-run-flow.html +++ b/api/simplified-run-flow.html @@ -21,7 +21,7 @@ - + diff --git a/api/stream-logs.html b/api/stream-logs.html index b8e17a4c9a..1a98fa8dd8 100644 --- a/api/stream-logs.html +++ b/api/stream-logs.html @@ -21,7 +21,7 @@ - + diff --git a/api/update-flow.html b/api/update-flow.html index df045e445b..3e44a724ff 100644 --- a/api/update-flow.html +++ b/api/update-flow.html @@ -21,7 +21,7 @@ - + diff --git a/api/update-folder.html b/api/update-folder.html index b25477db10..6d9f515e49 100644 --- a/api/update-folder.html +++ b/api/update-folder.html @@ -21,7 +21,7 @@ - + diff --git a/api/update-message.html b/api/update-message.html index 1120faf0d4..c29274a631 100644 --- a/api/update-message.html +++ b/api/update-message.html @@ -21,7 +21,7 @@ - + diff --git a/api/update-session-id.html b/api/update-session-id.html index e548f2a19d..a435216b09 100644 --- a/api/update-session-id.html +++ b/api/update-session-id.html @@ -21,7 +21,7 @@ - + diff --git a/api/update-shared-component.html b/api/update-shared-component.html index 70daa3a264..9ceab0ddda 100644 --- a/api/update-shared-component.html +++ b/api/update-shared-component.html @@ -21,7 +21,7 @@ - + diff --git a/api/update-variable.html b/api/update-variable.html index 33de4e7960..6745df117a 100644 --- a/api/update-variable.html +++ b/api/update-variable.html @@ -21,7 +21,7 @@ - + diff --git a/api/upload-file-1.html b/api/upload-file-1.html index 94ede48d73..9d1af1ac86 100644 --- a/api/upload-file-1.html +++ b/api/upload-file-1.html @@ -21,7 +21,7 @@ - + diff --git a/api/upload-file-2.html b/api/upload-file-2.html index 755f9cc4e2..a698b4aa79 100644 --- a/api/upload-file-2.html +++ b/api/upload-file-2.html @@ -21,7 +21,7 @@ - + diff --git a/api/upload-file.html b/api/upload-file.html index 7b1e00bffe..2f5adaa8ec 100644 --- a/api/upload-file.html +++ b/api/upload-file.html @@ -21,7 +21,7 @@ - + diff --git a/api/upload-user-file.html b/api/upload-user-file.html index d5949172e5..21024a4163 100644 --- a/api/upload-user-file.html +++ b/api/upload-user-file.html @@ -21,7 +21,7 @@ - + diff --git a/api/webhook-run-flow.html b/api/webhook-run-flow.html index df1e8b0772..311323fc76 100644 --- a/api/webhook-run-flow.html +++ b/api/webhook-run-flow.html @@ -21,7 +21,7 @@ - + diff --git a/assets/images/component-watsonx-embeddings-chroma-591e45d59ab635d1e1e68ab8036cfed7.png b/assets/images/component-watsonx-embeddings-chroma-591e45d59ab635d1e1e68ab8036cfed7.png new file mode 100644 index 0000000000000000000000000000000000000000..a117eb73ce1da8a096b8ce44b8e27d3e8b60c9bc GIT binary patch literal 292571 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 z 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.d(n,{R:()=>a,x:()=>o});var i=t(96540);const s={},r=i.createContext(s);function a(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),i.createElement(r.Provider,{value:n},e.children)}},83640:(e,n,t)=>{t.r(n),t.d(n,{contentTitle:()=>o,default:()=>c,frontMatter:()=>a,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"type":"api","id":"simplified-run-flow","title":"Simplified Run Flow","description":"","slug":"/simplified-run-flow","frontMatter":{},"api":{"tags":["Base"],"description":"Executes a specified flow by ID with support for streaming and telemetry.\\n\\nThis endpoint executes a flow identified by ID or name, with options for streaming the response\\nand tracking execution metrics. It handles both streaming and non-streaming execution modes.\\n\\nArgs:\\n background_tasks (BackgroundTasks): FastAPI background task manager\\n flow (FlowRead | None): The flow to execute, loaded via dependency\\n input_request (SimplifiedAPIRequest | None): Input parameters for the flow\\n stream (bool): Whether to stream the response\\n api_key_user (UserRead): Authenticated user from API key\\n request (Request): The incoming HTTP request\\n\\nReturns:\\n Union[StreamingResponse, RunResponse]: Either a streaming response for real-time results\\n or a RunResponse with the complete execution results\\n\\nRaises:\\n HTTPException: For flow not found (404) or invalid input (400)\\n APIException: For internal execution errors (500)\\n\\nNotes:\\n - Supports both streaming and non-streaming execution modes\\n - Tracks execution time and success/failure via telemetry\\n - Handles graceful client disconnection in streaming mode\\n - Provides detailed error handling with appropriate HTTP status codes\\n - In streaming mode, uses EventManager to handle events:\\n - \\"add_message\\": New messages during execution\\n - \\"token\\": Individual tokens during streaming\\n - \\"end\\": Final execution result","operationId":"simplified_run_flow_api_v1_run__flow_id_or_name__post","security":[{"API key query":[]},{"API key header":[]}],"parameters":[{"name":"flow_id_or_name","in":"path","required":true,"schema":{"type":"string","title":"Flow Id Or Name"}},{"name":"stream","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Stream"}},{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"properties":{"input_value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input Value","description":"The input value"},"input_type":{"anyOf":[{"type":"string","enum":["chat","text","any"]},{"type":"null"}],"title":"Input Type","description":"The input type","default":"chat"},"output_type":{"anyOf":[{"type":"string","enum":["chat","text","any","debug"]},{"type":"null"}],"title":"Output Type","description":"The output type","default":"chat"},"output_component":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output Component","description":"If there are multiple output components, you can specify the component to get the output from.","default":""},"tweaks":{"anyOf":[{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"object"}]},"type":"object","title":"Tweaks","description":"A dictionary of tweaks to adjust the flow\'s execution. Allows customizing flow behavior dynamically. All tweaks are overridden by the input values.","examples":[{"Component Name":{"parameter_name":"value"},"component_id":{"parameter_name":"value"},"parameter_name":"value"}]},{"type":"null"}],"description":"The tweaks"},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id","description":"The session id"}},"type":"object","title":"SimplifiedAPIRequest"},{"type":"null"}],"title":"Input Request"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"}}}}},"method":"post","path":"/api/v1/run/{flow_id_or_name}","securitySchemes":{"OAuth2PasswordBearer":{"type":"oauth2","flows":{"password":{"scopes":{},"tokenUrl":"api/v1/login"}}},"API key query":{"type":"apiKey","in":"query","name":"x-api-key"},"API key header":{"type":"apiKey","in":"header","name":"x-api-key"}},"info":{"title":"Langflow","version":"1.3.2"},"postman":{"name":"Simplified Run Flow","description":{"content":"Executes a specified flow by ID with support for streaming and telemetry.\\n\\nThis endpoint executes a flow identified by ID or name, with options for streaming the response\\nand tracking execution metrics. It handles both streaming and non-streaming execution modes.\\n\\nArgs:\\n background_tasks (BackgroundTasks): FastAPI background task manager\\n flow (FlowRead | None): The flow to execute, loaded via dependency\\n input_request (SimplifiedAPIRequest | None): Input parameters for the flow\\n stream (bool): Whether to stream the response\\n api_key_user (UserRead): Authenticated user from API key\\n request (Request): The incoming HTTP request\\n\\nReturns:\\n Union[StreamingResponse, RunResponse]: Either a streaming response for real-time results\\n or a RunResponse with the complete execution results\\n\\nRaises:\\n HTTPException: For flow not found (404) or invalid input (400)\\n APIException: For internal execution errors (500)\\n\\nNotes:\\n - Supports both streaming and non-streaming execution modes\\n - Tracks execution time and success/failure via telemetry\\n - Handles graceful client disconnection in streaming mode\\n - Provides detailed error handling with appropriate HTTP status codes\\n - In streaming mode, uses EventManager to handle events:\\n - \\"add_message\\": New messages during execution\\n - \\"token\\": Individual tokens during streaming\\n - \\"end\\": Final execution result","type":"text/plain"},"url":{"path":["api","v1","run",":flow_id_or_name"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"key":"stream","value":"false"},{"disabled":false,"key":"user_id","value":""}],"variable":[{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"flow_id_or_name"}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"{\\n \\"input_value\\": \\"\\",\\n \\"input_type\\": \\"\\",\\n \\"output_type\\": \\"\\",\\n \\"output_component\\": \\"\\",\\n \\"tweaks\\": {\\n \\"do486\\": \\"\\"\\n },\\n \\"session_id\\": \\"\\"\\n}","options":{"raw":{"language":"json"}}},"auth":{"type":"apikey","apikey":[{"type":"any","value":"x-api-key","key":"key"},{"type":"any","value":"{{apiKey}}","key":"value"},{"type":"any","value":"query","key":"in"}]}}},"source":"@site/openapi.json","sourceDirName":".","permalink":"/api/simplified-run-flow","previous":{"title":"Get All","permalink":"/api/get-all"},"next":{"title":"Webhook Run Flow","permalink":"/api/webhook-run-flow"}}');var s=t(74848),r=t(28453);const a={},o="Simplified Run Flow",l=[];function d(e){const n={h1:"h1",header:"header",li:"li",p:"p",ul:"ul",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"simplified-run-flow",children:"Simplified Run Flow"})}),"\n",(0,s.jsx)(n.p,{children:"Executes a specified flow by ID with support for streaming and telemetry."}),"\n",(0,s.jsx)(n.p,{children:"This endpoint executes a flow identified by ID or name, with options for streaming the response\nand tracking execution metrics. It handles both streaming and non-streaming execution modes."}),"\n",(0,s.jsx)(n.p,{children:"Args:\nbackground_tasks (BackgroundTasks): FastAPI background task manager\nflow (FlowRead | None): The flow to execute, loaded via dependency\ninput_request (SimplifiedAPIRequest | None): Input parameters for the flow\nstream (bool): Whether to stream the response\napi_key_user (UserRead): Authenticated user from API key\nrequest (Request): The incoming HTTP request"}),"\n",(0,s.jsx)(n.p,{children:"Returns:\nUnion[StreamingResponse, RunResponse]: Either a streaming response for real-time results\nor a RunResponse with the complete execution results"}),"\n",(0,s.jsx)(n.p,{children:"Raises:\nHTTPException: For flow not found (404) or invalid input (400)\nAPIException: For internal execution errors (500)"}),"\n",(0,s.jsx)(n.p,{children:"Notes:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Supports both streaming and non-streaming execution modes"}),"\n",(0,s.jsx)(n.li,{children:"Tracks execution time and success/failure via telemetry"}),"\n",(0,s.jsx)(n.li,{children:"Handles graceful client disconnection in streaming mode"}),"\n",(0,s.jsx)(n.li,{children:"Provides detailed error handling with appropriate HTTP status codes"}),"\n",(0,s.jsxs)(n.li,{children:["In streaming mode, uses EventManager to handle events:","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:'"add_message": New messages during execution'}),"\n",(0,s.jsx)(n.li,{children:'"token": Individual tokens during streaming'}),"\n",(0,s.jsx)(n.li,{children:'"end": Final execution result'}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)("table",{style:{display:"table",width:"100%"},children:[(0,s.jsx)("thead",{children:(0,s.jsx)("tr",{children:(0,s.jsx)("th",{style:{textAlign:"left"},children:"Path Parameters"})})}),(0,s.jsx)("tbody",{children:(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsx)("code",{children:"flow_id_or_name"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" Flow Id Or Name"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,s.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-required)"},children:" REQUIRED"})]})})})]}),"\n",(0,s.jsxs)("table",{style:{display:"table",width:"100%"},children:[(0,s.jsx)("thead",{children:(0,s.jsx)("tr",{children:(0,s.jsx)("th",{style:{textAlign:"left"},children:"Query Parameters"})})}),(0,s.jsxs)("tbody",{children:[(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsx)("code",{children:"stream"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" Stream"})]})}),(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsx)("code",{children:"user_id"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" User Id"})]})})]})]}),"\n",(0,s.jsxs)("table",{style:{display:"table",width:"100%"},children:[(0,s.jsx)("thead",{children:(0,s.jsx)("tr",{children:(0,s.jsxs)("th",{style:{textAlign:"left"},children:[(0,s.jsx)("span",{children:"Request Body "}),(0,s.jsx)("div",{})]})})}),(0,s.jsx)("tbody",{children:(0,s.jsx)("tr",{children:(0,s.jsx)("td",{children:(0,s.jsx)("span",{style:{opacity:"0.6"},children:" undefined"})})})})]}),"\n",(0,s.jsxs)("table",{style:{display:"table",width:"100%"},children:[(0,s.jsx)("thead",{children:(0,s.jsx)("tr",{children:(0,s.jsx)("th",{style:{textAlign:"left"},children:"Responses"})})}),(0,s.jsxs)("tbody",{children:[(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsxs)("div",{style:{display:"flex"},children:[(0,s.jsx)("div",{style:{marginRight:"var(--ifm-table-cell-padding)"},children:(0,s.jsx)("code",{children:"200"})}),(0,s.jsx)("div",{children:(0,s.jsx)(n.p,{children:"Successful Response"})})]}),(0,s.jsx)("div",{children:(0,s.jsxs)("table",{style:{display:"table",width:"100%",marginTop:"var(--ifm-table-cell-padding)",marginBottom:"0px"},children:[(0,s.jsx)("thead",{children:(0,s.jsx)("tr",{children:(0,s.jsxs)("th",{style:{textAlign:"left"},children:[(0,s.jsx)("span",{children:"Schema "}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,s.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"}),(0,s.jsx)("div",{})]})})}),(0,s.jsx)("tbody",{children:(0,s.jsx)("tr",{children:(0,s.jsx)("td",{children:(0,s.jsx)("span",{style:{opacity:"0.6"},children:" undefined"})})})})]})})]})}),(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsxs)("div",{style:{display:"flex"},children:[(0,s.jsx)("div",{style:{marginRight:"var(--ifm-table-cell-padding)"},children:(0,s.jsx)("code",{children:"422"})}),(0,s.jsx)("div",{children:(0,s.jsx)(n.p,{children:"Validation Error"})})]}),(0,s.jsx)("div",{children:(0,s.jsxs)("table",{style:{display:"table",width:"100%",marginTop:"var(--ifm-table-cell-padding)",marginBottom:"0px"},children:[(0,s.jsx)("thead",{children:(0,s.jsx)("tr",{children:(0,s.jsxs)("th",{style:{textAlign:"left"},children:[(0,s.jsx)("span",{children:"Schema "}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,s.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"}),(0,s.jsx)("div",{})]})})}),(0,s.jsx)("tbody",{children:(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsx)("code",{children:"detail"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" object[]"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,s.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"}),(0,s.jsx)("table",{style:{display:"table",width:"100%",marginTop:"var(--ifm-table-cell-padding)",marginBottom:"0px"},children:(0,s.jsxs)("tbody",{children:[(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsx)("code",{children:"loc"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" undefined[]"})]})}),(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsx)("code",{children:"msg"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" Message"})]})}),(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{children:[(0,s.jsx)("code",{children:"type"}),(0,s.jsx)("span",{style:{opacity:"0.6"},children:" Error Type"})]})})]})})]})})})]})})]})})]})]})]})}function c(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}}}]); \ No newline at end of file +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[1845],{28453:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>o});var i=t(96540);const s={},r=i.createContext(s);function a(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),i.createElement(r.Provider,{value:n},e.children)}},83640:(e,n,t)=>{t.r(n),t.d(n,{contentTitle:()=>o,default:()=>c,frontMatter:()=>a,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"type":"api","id":"simplified-run-flow","title":"Simplified Run Flow","description":"","slug":"/simplified-run-flow","frontMatter":{},"api":{"tags":["Base"],"description":"Executes a specified flow by ID with support for streaming and telemetry.\\n\\nThis endpoint executes a flow identified by ID or name, with options for streaming the response\\nand tracking execution metrics. It handles both streaming and non-streaming execution modes.\\n\\nArgs:\\n background_tasks (BackgroundTasks): FastAPI background task manager\\n flow (FlowRead | None): The flow to execute, loaded via dependency\\n input_request (SimplifiedAPIRequest | None): Input parameters for the flow\\n stream (bool): Whether to stream the response\\n api_key_user (UserRead): Authenticated user from API key\\n request (Request): The incoming HTTP request\\n\\nReturns:\\n Union[StreamingResponse, RunResponse]: Either a streaming response for real-time results\\n or a RunResponse with the complete execution results\\n\\nRaises:\\n HTTPException: For flow not found (404) or invalid input (400)\\n APIException: For internal execution errors (500)\\n\\nNotes:\\n - Supports both streaming and non-streaming execution modes\\n - Tracks execution time and success/failure via telemetry\\n - Handles graceful client disconnection in streaming mode\\n - Provides detailed error handling with appropriate HTTP status codes\\n - In streaming mode, uses EventManager to handle events:\\n - \\"add_message\\": New messages during execution\\n - \\"token\\": Individual tokens during streaming\\n - \\"end\\": Final execution result","operationId":"simplified_run_flow_api_v1_run__flow_id_or_name__post","security":[{"API key query":[]},{"API key header":[]}],"parameters":[{"name":"flow_id_or_name","in":"path","required":true,"schema":{"type":"string","title":"Flow Id Or Name"}},{"name":"stream","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Stream"}},{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"properties":{"input_value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input Value","description":"The input value"},"input_type":{"anyOf":[{"type":"string","enum":["chat","text","any"]},{"type":"null"}],"title":"Input Type","description":"The input type","default":"chat"},"output_type":{"anyOf":[{"type":"string","enum":["chat","text","any","debug"]},{"type":"null"}],"title":"Output Type","description":"The output type","default":"chat"},"output_component":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output Component","description":"If there are multiple output components, you can specify the component to get the output from.","default":""},"tweaks":{"anyOf":[{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"object"}]},"type":"object","title":"Tweaks","description":"A dictionary of tweaks to adjust the flow\'s execution. Allows customizing flow behavior dynamically. All tweaks are overridden by the input values.","examples":[{"Component Name":{"parameter_name":"value"},"component_id":{"parameter_name":"value"},"parameter_name":"value"}]},{"type":"null"}],"description":"The tweaks"},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id","description":"The session id"}},"type":"object","title":"SimplifiedAPIRequest"},{"type":"null"}],"title":"Input Request"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"}}}}},"method":"post","path":"/api/v1/run/{flow_id_or_name}","securitySchemes":{"OAuth2PasswordBearer":{"type":"oauth2","flows":{"password":{"scopes":{},"tokenUrl":"api/v1/login"}}},"API key query":{"type":"apiKey","in":"query","name":"x-api-key"},"API key header":{"type":"apiKey","in":"header","name":"x-api-key"}},"info":{"title":"Langflow","version":"1.3.2"},"postman":{"name":"Simplified Run Flow","description":{"content":"Executes a specified flow by ID with support for streaming and telemetry.\\n\\nThis endpoint executes a flow identified by ID or name, with options for streaming the response\\nand tracking execution metrics. It handles both streaming and non-streaming execution modes.\\n\\nArgs:\\n background_tasks (BackgroundTasks): FastAPI background task manager\\n flow (FlowRead | None): The flow to execute, loaded via dependency\\n input_request (SimplifiedAPIRequest | None): Input parameters for the flow\\n stream (bool): Whether to stream the response\\n api_key_user (UserRead): Authenticated user from API key\\n request (Request): The incoming HTTP request\\n\\nReturns:\\n Union[StreamingResponse, RunResponse]: Either a streaming response for real-time results\\n or a RunResponse with the complete execution results\\n\\nRaises:\\n HTTPException: For flow not found (404) or invalid input (400)\\n APIException: For internal execution errors (500)\\n\\nNotes:\\n - Supports both streaming and non-streaming execution modes\\n - Tracks execution time and success/failure via telemetry\\n - Handles graceful client disconnection in streaming mode\\n - Provides detailed error handling with appropriate HTTP status codes\\n - In streaming mode, uses EventManager to handle events:\\n - \\"add_message\\": New messages during execution\\n - \\"token\\": Individual tokens during streaming\\n - \\"end\\": Final execution result","type":"text/plain"},"url":{"path":["api","v1","run",":flow_id_or_name"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"key":"stream","value":"false"},{"disabled":false,"key":"user_id","value":""}],"variable":[{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"flow_id_or_name"}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"{\\n \\"input_value\\": \\"\\",\\n \\"input_type\\": \\"\\",\\n \\"output_type\\": \\"\\",\\n \\"output_component\\": \\"\\",\\n \\"tweaks\\": {\\n \\"eua\\": \\"\\"\\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/921b5fc1.57ad214f.js b/assets/js/921b5fc1.57ad214f.js new file mode 100644 index 0000000000..6e6ce23ae1 --- /dev/null +++ b/assets/js/921b5fc1.57ad214f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[7462],{28453:(e,d,n)=>{n.d(d,{R:()=>r,x:()=>l});var s=n(96540);const t={},i=s.createContext(t);function r(e){const d=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(d):{...d,...e}}),[d,e])}function l(e){let d;return d=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:r(e.components),s.createElement(i.Provider,{value:d},e.children)}},56088:(e,d,n)=>{n.r(d),n.d(d,{assets:()=>h,contentTitle:()=>l,default:()=>a,frontMatter:()=>r,metadata:()=>s,toc:()=>c});const s=JSON.parse('{"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.","source":"@site/docs/Components/components-embedding-models.md","sourceDirName":"Components","slug":"/components-embedding-models","permalink":"/components-embedding-models","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{"title":"Embeddings","slug":"/components-embedding-models"},"sidebar":"docs","previous":{"title":"Data","permalink":"/components-data"},"next":{"title":"Helpers","permalink":"/components-helpers"}}');var t=n(74848),i=n(28453);const r={title:"Embeddings",slug:"/components-embedding-models"},l="Embeddings models in Langflow",h={},c=[{value:"Use an embeddings model component in a flow",id:"use-an-embeddings-model-component-in-a-flow",level:2},{value:"AI/ML",id:"aiml",level:2},{value:"Inputs",id:"inputs",level:3},{value:"Outputs",id:"outputs",level:3},{value:"Amazon Bedrock Embeddings",id:"amazon-bedrock-embeddings",level:2},{value:"Inputs",id:"inputs-1",level:3},{value:"Outputs",id:"outputs-1",level:3},{value:"Astra DB vectorize",id:"astra-db-vectorize",level:2},{value:"Inputs",id:"inputs-2",level:3},{value:"Outputs",id:"outputs-2",level:3},{value:"Azure OpenAI Embeddings",id:"azure-openai-embeddings",level:2},{value:"Inputs",id:"inputs-3",level:3},{value:"Outputs",id:"outputs-3",level:3},{value:"Cloudflare Workers AI Embeddings",id:"cloudflare-workers-ai-embeddings",level:2},{value:"Inputs",id:"inputs-4",level:3},{value:"Outputs",id:"outputs-4",level:3},{value:"Cohere Embeddings",id:"cohere-embeddings",level:2},{value:"Inputs",id:"inputs-5",level:3},{value:"Outputs",id:"outputs-5",level:3},{value:"Embedding similarity",id:"embedding-similarity",level:2},{value:"Inputs",id:"inputs-6",level:3},{value:"Outputs",id:"outputs-6",level:3},{value:"Google generative AI embeddings",id:"google-generative-ai-embeddings",level:2},{value:"Inputs",id:"inputs-7",level:3},{value:"Outputs",id:"outputs-7",level:3},{value:"Hugging Face Embeddings",id:"hugging-face-embeddings",level:2},{value:"Inputs",id:"inputs-8",level:3},{value:"Outputs",id:"outputs-8",level:3},{value:"Hugging Face embeddings inference",id:"hugging-face-embeddings-inference",level:2},{value:"Inputs",id:"inputs-9",level:3},{value:"Outputs",id:"outputs-9",level:3},{value:"Connect the Hugging Face component to a local embeddings model",id:"connect-the-hugging-face-component-to-a-local-embeddings-model",level:3},{value:"IBM watsonx embeddings",id:"ibm-watsonx-embeddings",level:2},{value:"Default models",id:"default-models",level:3},{value:"Inputs",id:"inputs-10",level:3},{value:"Outputs",id:"outputs-10",level:3},{value:"LM Studio Embeddings",id:"lm-studio-embeddings",level:2},{value:"Inputs",id:"inputs-11",level:3},{value:"Outputs",id:"outputs-11",level:3},{value:"MistralAI",id:"mistralai",level:2},{value:"Inputs",id:"inputs-12",level:3},{value:"Outputs",id:"outputs-12",level:3},{value:"NVIDIA",id:"nvidia",level:2},{value:"Inputs",id:"inputs-13",level:3},{value:"Outputs",id:"outputs-13",level:3},{value:"Ollama Embeddings",id:"ollama-embeddings",level:2},{value:"Inputs",id:"inputs-14",level:3},{value:"Outputs",id:"outputs-14",level:3},{value:"OpenAI Embeddings",id:"openai-embeddings",level:2},{value:"Inputs",id:"inputs-15",level:3},{value:"Outputs",id:"outputs-15",level:3},{value:"Text embedder",id:"text-embedder",level:2},{value:"Inputs",id:"inputs-16",level:3},{value:"Outputs",id:"outputs-16",level:3},{value:"VertexAI Embeddings",id:"vertexai-embeddings",level:2},{value:"Inputs",id:"inputs-17",level:3},{value:"Outputs",id:"outputs-17",level:3}];function o(e){const d={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(d.header,{children:(0,t.jsx)(d.h1,{id:"embeddings-models-in-langflow",children:"Embeddings models in Langflow"})}),"\n",(0,t.jsx)(d.p,{children:"Embeddings models convert text into numerical vectors. These embeddings capture semantic meaning of the input text, and allow LLMs to understand context."}),"\n",(0,t.jsx)(d.p,{children:"Refer to your specific component's documentation for more information on parameters."}),"\n",(0,t.jsx)(d.h2,{id:"use-an-embeddings-model-component-in-a-flow",children:"Use an embeddings model component in a flow"}),"\n",(0,t.jsxs)(d.p,{children:["In this example of a document ingestion pipeline, the ",(0,t.jsx)(d.strong,{children:"OpenAI"})," embeddings model is connected to a vector database. The component converts the text chunks into vectors and stores them in the vector database. The vectorized data can be used to inform AI workloads like chatbots, similarity searches, and agents."]}),"\n",(0,t.jsx)(d.p,{children:"This embeddings component uses an OpenAI API key for authentication. Refer to your specific embeddings component's documentation for more information on authentication."}),"\n",(0,t.jsx)(d.p,{children:(0,t.jsx)(d.img,{alt:"URL component in a data ingestion pipeline",src:n(80352).A+"",width:"2306",height:"1632"})}),"\n",(0,t.jsx)(d.h2,{id:"aiml",children:"AI/ML"}),"\n",(0,t.jsxs)(d.p,{children:["This component generates embeddings using the ",(0,t.jsx)(d.a,{href:"https://docs.aimlapi.com/api-overview/embeddings",children:"AI/ML API"}),"."]}),"\n",(0,t.jsx)(d.h3,{id:"inputs",children:"Inputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Type"}),(0,t.jsx)(d.th,{children:"Description"})]})}),(0,t.jsxs)(d.tbody,{children:[(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"model_name"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsx)(d.td,{children:"The name of the AI/ML embedding model to use"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"aiml_api_key"}),(0,t.jsx)(d.td,{children:"SecretString"}),(0,t.jsx)(d.td,{children:"API key for authenticating with the AI/ML service"})]})]})]}),"\n",(0,t.jsx)(d.h3,{id:"outputs",children:"Outputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Type"}),(0,t.jsx)(d.th,{children:"Description"})]})}),(0,t.jsx)(d.tbody,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"embeddings"}),(0,t.jsx)(d.td,{children:"Embeddings"}),(0,t.jsx)(d.td,{children:"An instance of AIMLEmbeddingsImpl for generating embeddings"})]})})]}),"\n",(0,t.jsx)(d.h2,{id:"amazon-bedrock-embeddings",children:"Amazon Bedrock Embeddings"}),"\n",(0,t.jsxs)(d.p,{children:["This component is used to load embedding models from ",(0,t.jsx)(d.a,{href:"https://aws.amazon.com/bedrock/",children:"Amazon Bedrock"}),"."]}),"\n",(0,t.jsx)(d.h3,{id:"inputs-1",children:"Inputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Type"}),(0,t.jsx)(d.th,{children:"Description"})]})}),(0,t.jsxs)(d.tbody,{children:[(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"credentials_profile_name"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsx)(d.td,{children:"Name of the AWS credentials profile in ~/.aws/credentials or ~/.aws/config, which has access keys or role information"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"model_id"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsxs)(d.td,{children:["ID of the model to call, e.g., ",(0,t.jsx)(d.code,{children:"amazon.titan-embed-text-v1"}),". This is equivalent to the ",(0,t.jsx)(d.code,{children:"modelId"})," property in the ",(0,t.jsx)(d.code,{children:"list-foundation-models"})," API"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"endpoint_url"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsx)(d.td,{children:"URL to set a specific service endpoint other than the default AWS endpoint"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"region_name"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsxs)(d.td,{children:["AWS region to use, e.g., ",(0,t.jsx)(d.code,{children:"us-west-2"}),". Falls back to ",(0,t.jsx)(d.code,{children:"AWS_DEFAULT_REGION"})," environment variable or region specified in ~/.aws/config if not provided"]})]})]})]}),"\n",(0,t.jsx)(d.h3,{id:"outputs-1",children:"Outputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Type"}),(0,t.jsx)(d.th,{children:"Description"})]})}),(0,t.jsx)(d.tbody,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"embeddings"}),(0,t.jsx)(d.td,{children:"Embeddings"}),(0,t.jsx)(d.td,{children:"An instance for generating embeddings using Amazon Bedrock"})]})})]}),"\n",(0,t.jsx)(d.h2,{id:"astra-db-vectorize",children:"Astra DB vectorize"}),"\n",(0,t.jsx)(d.admonition,{type:"important",children:(0,t.jsxs)(d.p,{children:["This component is deprecated as of Langflow version 1.1.2.\nInstead, use the ",(0,t.jsx)(d.a,{href:"/components-vector-stores#astra-db-vector-store",children:"Astra DB vector store component"})]})}),"\n",(0,t.jsxs)(d.p,{children:["Connect this component to the ",(0,t.jsx)(d.strong,{children:"Embeddings"})," port of the ",(0,t.jsx)(d.a,{href:"/components-vector-stores#astra-db-vector-store",children:"Astra DB vector store component"})," to generate embeddings."]}),"\n",(0,t.jsxs)(d.p,{children:["This component requires that your Astra DB database has a collection that uses a vectorize embedding provider integration.\nFor more information and instructions, see ",(0,t.jsx)(d.a,{href:"https://docs.datastax.com/en/astra-db-serverless/databases/embedding-generation.html",children:"Embedding Generation"}),"."]}),"\n",(0,t.jsx)(d.h3,{id:"inputs-2",children:"Inputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Display Name"}),(0,t.jsx)(d.th,{children:"Info"})]})}),(0,t.jsxs)(d.tbody,{children:[(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"provider"}),(0,t.jsx)(d.td,{children:"Embedding Provider"}),(0,t.jsx)(d.td,{children:"The embedding provider to use"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"model_name"}),(0,t.jsx)(d.td,{children:"Model Name"}),(0,t.jsx)(d.td,{children:"The embedding model to use"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"authentication"}),(0,t.jsx)(d.td,{children:"Authentication"}),(0,t.jsxs)(d.td,{children:["The name of the API key in Astra that stores your ",(0,t.jsx)(d.a,{href:"https://docs.datastax.com/en/astra-db-serverless/databases/embedding-generation.html#embedding-provider-authentication",children:"vectorize embedding provider credentials"}),". (Not required if using an ",(0,t.jsx)(d.a,{href:"https://docs.datastax.com/en/astra-db-serverless/databases/embedding-generation.html#supported-embedding-providers",children:"Astra-hosted embedding provider"}),".)"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"provider_api_key"}),(0,t.jsx)(d.td,{children:"Provider API Key"}),(0,t.jsxs)(d.td,{children:["As an alternative to ",(0,t.jsx)(d.code,{children:"authentication"}),", directly provide your embedding provider credentials."]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"model_parameters"}),(0,t.jsx)(d.td,{children:"Model Parameters"}),(0,t.jsx)(d.td,{children:"Additional model parameters"})]})]})]}),"\n",(0,t.jsx)(d.h3,{id:"outputs-2",children:"Outputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Type"}),(0,t.jsx)(d.th,{children:"Description"})]})}),(0,t.jsx)(d.tbody,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"embeddings"}),(0,t.jsx)(d.td,{children:"Embeddings"}),(0,t.jsx)(d.td,{children:"An instance for generating embeddings using Astra vectorize"})]})})]}),"\n",(0,t.jsx)(d.h2,{id:"azure-openai-embeddings",children:"Azure OpenAI Embeddings"}),"\n",(0,t.jsx)(d.p,{children:"This component generates embeddings using Azure OpenAI models."}),"\n",(0,t.jsx)(d.h3,{id:"inputs-3",children:"Inputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Type"}),(0,t.jsx)(d.th,{children:"Description"})]})}),(0,t.jsxs)(d.tbody,{children:[(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Model"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsxs)(d.td,{children:["Name of the model to use (default: ",(0,t.jsx)(d.code,{children:"text-embedding-3-small"}),")"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Azure Endpoint"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsxs)(d.td,{children:["Your Azure endpoint, including the resource. Example: ",(0,t.jsx)(d.code,{children:"https://example-resource.azure.openai.com/"})]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Deployment Name"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsx)(d.td,{children:"The name of the deployment"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"API Version"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsx)(d.td,{children:"The API version to use, options include various dates"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"API Key"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsx)(d.td,{children:"The API key to access the Azure OpenAI service"})]})]})]}),"\n",(0,t.jsx)(d.h3,{id:"outputs-3",children:"Outputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Type"}),(0,t.jsx)(d.th,{children:"Description"})]})}),(0,t.jsx)(d.tbody,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"embeddings"}),(0,t.jsx)(d.td,{children:"Embeddings"}),(0,t.jsx)(d.td,{children:"An instance for generating embeddings using Azure OpenAI"})]})})]}),"\n",(0,t.jsx)(d.h2,{id:"cloudflare-workers-ai-embeddings",children:"Cloudflare Workers AI Embeddings"}),"\n",(0,t.jsxs)(d.p,{children:["This component generates embeddings using ",(0,t.jsx)(d.a,{href:"https://developers.cloudflare.com/workers-ai/",children:"Cloudflare Workers AI models"}),"."]}),"\n",(0,t.jsx)(d.h3,{id:"inputs-4",children:"Inputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Display Name"}),(0,t.jsx)(d.th,{children:"Info"})]})}),(0,t.jsxs)(d.tbody,{children:[(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"account_id"}),(0,t.jsx)(d.td,{children:"Cloudflare account ID"}),(0,t.jsx)(d.td,{children:(0,t.jsx)(d.a,{href:"https://developers.cloudflare.com/fundamentals/setup/find-account-and-zone-ids/#find-account-id-workers-and-pages",children:"Find your Cloudflare account ID"})})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"api_token"}),(0,t.jsx)(d.td,{children:"Cloudflare API token"}),(0,t.jsx)(d.td,{children:(0,t.jsx)(d.a,{href:"https://developers.cloudflare.com/fundamentals/api/get-started/create-token/",children:"Create an API token"})})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"model_name"}),(0,t.jsx)(d.td,{children:"Model Name"}),(0,t.jsx)(d.td,{children:(0,t.jsx)(d.a,{href:"https://developers.cloudflare.com/workers-ai/models/#text-embeddings",children:"List of supported models"})})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"strip_new_lines"}),(0,t.jsx)(d.td,{children:"Strip New Lines"}),(0,t.jsx)(d.td,{children:"Whether to strip new lines from the input text"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"batch_size"}),(0,t.jsx)(d.td,{children:"Batch Size"}),(0,t.jsx)(d.td,{children:"Number of texts to embed in each batch"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"api_base_url"}),(0,t.jsx)(d.td,{children:"Cloudflare API base URL"}),(0,t.jsx)(d.td,{children:"Base URL for the Cloudflare API"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"headers"}),(0,t.jsx)(d.td,{children:"Headers"}),(0,t.jsx)(d.td,{children:"Additional request headers"})]})]})]}),"\n",(0,t.jsx)(d.h3,{id:"outputs-4",children:"Outputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Display Name"}),(0,t.jsx)(d.th,{children:"Info"})]})}),(0,t.jsx)(d.tbody,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"embeddings"}),(0,t.jsx)(d.td,{children:"Embeddings"}),(0,t.jsx)(d.td,{children:"An instance for generating embeddings using Cloudflare Workers"})]})})]}),"\n",(0,t.jsx)(d.h2,{id:"cohere-embeddings",children:"Cohere Embeddings"}),"\n",(0,t.jsxs)(d.p,{children:["This component is used to load embedding models from ",(0,t.jsx)(d.a,{href:"https://cohere.com/",children:"Cohere"}),"."]}),"\n",(0,t.jsx)(d.h3,{id:"inputs-5",children:"Inputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Type"}),(0,t.jsx)(d.th,{children:"Description"})]})}),(0,t.jsxs)(d.tbody,{children:[(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"cohere_api_key"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsx)(d.td,{children:"API key required to authenticate with the Cohere service"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"model"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsxs)(d.td,{children:["Language model used for embedding text documents and performing queries (default: ",(0,t.jsx)(d.code,{children:"embed-english-v2.0"}),")"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"truncate"}),(0,t.jsx)(d.td,{children:"Boolean"}),(0,t.jsxs)(d.td,{children:["Whether to truncate the input text to fit within the model's constraints (default: ",(0,t.jsx)(d.code,{children:"False"}),")"]})]})]})]}),"\n",(0,t.jsx)(d.h3,{id:"outputs-5",children:"Outputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Type"}),(0,t.jsx)(d.th,{children:"Description"})]})}),(0,t.jsx)(d.tbody,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"embeddings"}),(0,t.jsx)(d.td,{children:"Embeddings"}),(0,t.jsx)(d.td,{children:"An instance for generating embeddings using Cohere"})]})})]}),"\n",(0,t.jsx)(d.h2,{id:"embedding-similarity",children:"Embedding similarity"}),"\n",(0,t.jsx)(d.p,{children:"This component computes selected forms of similarity between two embedding vectors."}),"\n",(0,t.jsx)(d.h3,{id:"inputs-6",children:"Inputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Display Name"}),(0,t.jsx)(d.th,{children:"Info"})]})}),(0,t.jsxs)(d.tbody,{children:[(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"embedding_vectors"}),(0,t.jsx)(d.td,{children:"Embedding Vectors"}),(0,t.jsx)(d.td,{children:"A list containing exactly two data objects with embedding vectors to compare."})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"similarity_metric"}),(0,t.jsx)(d.td,{children:"Similarity Metric"}),(0,t.jsx)(d.td,{children:'Select the similarity metric to use. Options: "Cosine Similarity", "Euclidean Distance", "Manhattan Distance".'})]})]})]}),"\n",(0,t.jsx)(d.h3,{id:"outputs-6",children:"Outputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Display Name"}),(0,t.jsx)(d.th,{children:"Info"})]})}),(0,t.jsx)(d.tbody,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"similarity_data"}),(0,t.jsx)(d.td,{children:"Similarity Data"}),(0,t.jsx)(d.td,{children:"Data object containing the computed similarity score and additional information."})]})})]}),"\n",(0,t.jsx)(d.h2,{id:"google-generative-ai-embeddings",children:"Google generative AI embeddings"}),"\n",(0,t.jsxs)(d.p,{children:["This component connects to Google's generative AI embedding service using the GoogleGenerativeAIEmbeddings class from the ",(0,t.jsx)(d.code,{children:"langchain-google-genai"})," package."]}),"\n",(0,t.jsx)(d.h3,{id:"inputs-7",children:"Inputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Display Name"}),(0,t.jsx)(d.th,{children:"Info"})]})}),(0,t.jsxs)(d.tbody,{children:[(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"api_key"}),(0,t.jsx)(d.td,{children:"API Key"}),(0,t.jsx)(d.td,{children:"Secret API key for accessing Google's generative AI service (required)"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"model_name"}),(0,t.jsx)(d.td,{children:"Model Name"}),(0,t.jsx)(d.td,{children:'Name of the embedding model to use (default: "models/text-embedding-004")'})]})]})]}),"\n",(0,t.jsx)(d.h3,{id:"outputs-7",children:"Outputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Display Name"}),(0,t.jsx)(d.th,{children:"Info"})]})}),(0,t.jsx)(d.tbody,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"embeddings"}),(0,t.jsx)(d.td,{children:"Embeddings"}),(0,t.jsx)(d.td,{children:"Built GoogleGenerativeAIEmbeddings object"})]})})]}),"\n",(0,t.jsx)(d.h2,{id:"hugging-face-embeddings",children:"Hugging Face Embeddings"}),"\n",(0,t.jsx)(d.admonition,{type:"note",children:(0,t.jsxs)(d.p,{children:["This component is deprecated as of Langflow version 1.0.18.\nInstead, use the ",(0,t.jsx)(d.a,{href:"#hugging-face-embeddings-inference",children:"Hugging Face Embeddings Inference component"}),"."]})}),"\n",(0,t.jsx)(d.p,{children:"This component loads embedding models from HuggingFace."}),"\n",(0,t.jsx)(d.p,{children:"Use this component to generate embeddings using locally downloaded Hugging Face models. Ensure you have sufficient computational resources to run the models."}),"\n",(0,t.jsx)(d.h3,{id:"inputs-8",children:"Inputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Display Name"}),(0,t.jsx)(d.th,{children:"Info"})]})}),(0,t.jsxs)(d.tbody,{children:[(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Cache Folder"}),(0,t.jsx)(d.td,{children:"Cache Folder"}),(0,t.jsx)(d.td,{children:"Folder path to cache HuggingFace models"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Encode Kwargs"}),(0,t.jsx)(d.td,{children:"Encoding Arguments"}),(0,t.jsx)(d.td,{children:"Additional arguments for the encoding process"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Model Kwargs"}),(0,t.jsx)(d.td,{children:"Model Arguments"}),(0,t.jsx)(d.td,{children:"Additional arguments for the model"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Model Name"}),(0,t.jsx)(d.td,{children:"Model Name"}),(0,t.jsx)(d.td,{children:"Name of the HuggingFace model to use"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Multi Process"}),(0,t.jsx)(d.td,{children:"Multi-Process"}),(0,t.jsx)(d.td,{children:"Whether to use multiple processes"})]})]})]}),"\n",(0,t.jsx)(d.h3,{id:"outputs-8",children:"Outputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Display Name"}),(0,t.jsx)(d.th,{children:"Info"})]})}),(0,t.jsx)(d.tbody,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"embeddings"}),(0,t.jsx)(d.td,{children:"Embeddings"}),(0,t.jsx)(d.td,{children:"The generated embeddings"})]})})]}),"\n",(0,t.jsx)(d.h2,{id:"hugging-face-embeddings-inference",children:"Hugging Face embeddings inference"}),"\n",(0,t.jsxs)(d.p,{children:["This component generates embeddings using ",(0,t.jsx)(d.a,{href:"https://huggingface.co/",children:"Hugging Face Inference API models"})," and requires a ",(0,t.jsx)(d.a,{href:"https://huggingface.co/docs/hub/security-tokens",children:"Hugging Face API token"})," to authenticate. Local inference models do not require an API key."]}),"\n",(0,t.jsx)(d.p,{children:"Use this component to create embeddings with Hugging Face's hosted models, or to connect to your own locally hosted models."}),"\n",(0,t.jsx)(d.h3,{id:"inputs-9",children:"Inputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Display Name"}),(0,t.jsx)(d.th,{children:"Info"})]})}),(0,t.jsxs)(d.tbody,{children:[(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"API Key"}),(0,t.jsx)(d.td,{children:"API Key"}),(0,t.jsx)(d.td,{children:"The API key for accessing the Hugging Face Inference API."})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"API URL"}),(0,t.jsx)(d.td,{children:"API URL"}),(0,t.jsx)(d.td,{children:"The URL of the Hugging Face Inference API."})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Model Name"}),(0,t.jsx)(d.td,{children:"Model Name"}),(0,t.jsx)(d.td,{children:"The name of the model to use for embeddings."})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Cache Folder"}),(0,t.jsx)(d.td,{children:"Cache Folder"}),(0,t.jsx)(d.td,{children:"The folder path to cache Hugging Face models."})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Encode Kwargs"}),(0,t.jsx)(d.td,{children:"Encoding Arguments"}),(0,t.jsx)(d.td,{children:"Additional arguments for the encoding process."})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Model Kwargs"}),(0,t.jsx)(d.td,{children:"Model Arguments"}),(0,t.jsx)(d.td,{children:"Additional arguments for the model."})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Multi Process"}),(0,t.jsx)(d.td,{children:"Multi-Process"}),(0,t.jsx)(d.td,{children:"Whether to use multiple processes."})]})]})]}),"\n",(0,t.jsx)(d.h3,{id:"outputs-9",children:"Outputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Display Name"}),(0,t.jsx)(d.th,{children:"Info"})]})}),(0,t.jsx)(d.tbody,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"embeddings"}),(0,t.jsx)(d.td,{children:"Embeddings"}),(0,t.jsx)(d.td,{children:"The generated embeddings."})]})})]}),"\n",(0,t.jsx)(d.h3,{id:"connect-the-hugging-face-component-to-a-local-embeddings-model",children:"Connect the Hugging Face component to a local embeddings model"}),"\n",(0,t.jsxs)(d.p,{children:["To run an embeddings inference locally, see the ",(0,t.jsx)(d.a,{href:"https://huggingface.co/docs/text-embeddings-inference/local_cpu",children:"HuggingFace documentation"}),"."]}),"\n",(0,t.jsxs)(d.p,{children:["To connect the local Hugging Face model to the ",(0,t.jsx)(d.strong,{children:"Hugging Face embeddings inference"})," component and use it in a flow, follow these steps:"]}),"\n",(0,t.jsxs)(d.ol,{children:["\n",(0,t.jsxs)(d.li,{children:["Create a ",(0,t.jsx)(d.a,{href:"/starter-projects-vector-store-rag",children:"Vector store RAG flow"}),".\nThere are two embeddings models in this flow that you can replace with ",(0,t.jsx)(d.strong,{children:"Hugging Face"})," embeddings inference components."]}),"\n",(0,t.jsxs)(d.li,{children:["Replace both ",(0,t.jsx)(d.strong,{children:"OpenAI"})," embeddings model components with ",(0,t.jsx)(d.strong,{children:"Hugging Face"})," model components."]}),"\n",(0,t.jsxs)(d.li,{children:["Connect both ",(0,t.jsx)(d.strong,{children:"Hugging Face"})," components to the ",(0,t.jsx)(d.strong,{children:"Embeddings"})," ports of the ",(0,t.jsx)(d.strong,{children:"Astra DB vector store"})," components."]}),"\n",(0,t.jsxs)(d.li,{children:["In the ",(0,t.jsx)(d.strong,{children:"Hugging Face"})," components, set the ",(0,t.jsx)(d.strong,{children:"Inference Endpoint"})," field to the URL of your local inference model. ",(0,t.jsxs)(d.strong,{children:["The ",(0,t.jsx)(d.strong,{children:"API Key"})," field is not required for local inference."]})]}),"\n",(0,t.jsx)(d.li,{children:"Run the flow. The local inference models generate embeddings for the input text."}),"\n"]}),"\n",(0,t.jsx)(d.h2,{id:"ibm-watsonx-embeddings",children:"IBM watsonx embeddings"}),"\n",(0,t.jsxs)(d.p,{children:["This component generates text using ",(0,t.jsx)(d.a,{href:"https://www.ibm.com/watsonx",children:"IBM watsonx.ai"})," foundation models."]}),"\n",(0,t.jsxs)(d.p,{children:["To use ",(0,t.jsx)(d.strong,{children:"IBM watsonx.ai"})," embeddings components, replace an embeddings component with the IBM watsonx.ai component in a flow."]}),"\n",(0,t.jsx)(d.p,{children:"An example document processing flow looks like the following:"}),"\n",(0,t.jsx)(d.p,{children:(0,t.jsx)(d.img,{alt:"IBM watsonx embeddings model loading a chroma-db with split text",src:n(96425).A+"",width:"1714",height:"1486"})}),"\n",(0,t.jsx)(d.p,{children:"This flow loads a PDF file from local storage and splits the text into chunks."}),"\n",(0,t.jsxs)(d.p,{children:["The ",(0,t.jsx)(d.strong,{children:"IBM watsonx"})," embeddings component converts the text chunks into embeddings, which are then stored in a Chroma DB vector store."]}),"\n",(0,t.jsxs)(d.p,{children:["The values for ",(0,t.jsx)(d.strong,{children:"API endpoint"}),", ",(0,t.jsx)(d.strong,{children:"Project ID"}),", ",(0,t.jsx)(d.strong,{children:"API key"}),", and ",(0,t.jsx)(d.strong,{children:"Model Name"})," are found in your IBM watsonx.ai deployment.\nFor more information, see the ",(0,t.jsx)(d.a,{href:"https://python.langchain.com/docs/integrations/text_embedding/ibm_watsonx/",children:"Langchain documentation"}),"."]}),"\n",(0,t.jsx)(d.h3,{id:"default-models",children:"Default models"}),"\n",(0,t.jsx)(d.p,{children:"The component supports several default models with the following vector dimensions:"}),"\n",(0,t.jsxs)(d.ul,{children:["\n",(0,t.jsxs)(d.li,{children:[(0,t.jsx)(d.code,{children:"sentence-transformers/all-minilm-l12-v2"}),": 384-dimensional embeddings"]}),"\n",(0,t.jsxs)(d.li,{children:[(0,t.jsx)(d.code,{children:"ibm/slate-125m-english-rtrvr-v2"}),": 768-dimensional embeddings"]}),"\n",(0,t.jsxs)(d.li,{children:[(0,t.jsx)(d.code,{children:"ibm/slate-30m-english-rtrvr-v2"}),": 768-dimensional embeddings"]}),"\n",(0,t.jsxs)(d.li,{children:[(0,t.jsx)(d.code,{children:"intfloat/multilingual-e5-large"}),": 1024-dimensional embeddings"]}),"\n"]}),"\n",(0,t.jsx)(d.p,{children:"The component automatically fetches and updates the list of available models from your watsonx.ai instance when you provide your API endpoint and credentials."}),"\n",(0,t.jsx)(d.h3,{id:"inputs-10",children:"Inputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Display Name"}),(0,t.jsx)(d.th,{children:"Info"})]})}),(0,t.jsxs)(d.tbody,{children:[(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"url"}),(0,t.jsx)(d.td,{children:"watsonx API Endpoint"}),(0,t.jsx)(d.td,{children:"The base URL of the API."})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"project_id"}),(0,t.jsx)(d.td,{children:"watsonx project id"}),(0,t.jsx)(d.td,{children:"The project ID for your watsonx.ai instance."})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"api_key"}),(0,t.jsx)(d.td,{children:"API Key"}),(0,t.jsx)(d.td,{children:"The API Key to use for the model."})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"model_name"}),(0,t.jsx)(d.td,{children:"Model Name"}),(0,t.jsx)(d.td,{children:"The name of the embedding model to use."})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"truncate_input_tokens"}),(0,t.jsx)(d.td,{children:"Truncate Input Tokens"}),(0,t.jsxs)(d.td,{children:["The maximum number of tokens to process. Default: ",(0,t.jsx)(d.code,{children:"200"}),"."]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"input_text"}),(0,t.jsx)(d.td,{children:"Include the original text in the output"}),(0,t.jsxs)(d.td,{children:["Determines if the original text is included in the output. Default: ",(0,t.jsx)(d.code,{children:"True"}),"."]})]})]})]}),"\n",(0,t.jsx)(d.h3,{id:"outputs-10",children:"Outputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Display Name"}),(0,t.jsx)(d.th,{children:"Info"})]})}),(0,t.jsx)(d.tbody,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"embeddings"}),(0,t.jsx)(d.td,{children:"Embeddings"}),(0,t.jsx)(d.td,{children:"An instance for generating embeddings using watsonx.ai"})]})})]}),"\n",(0,t.jsx)(d.h2,{id:"lm-studio-embeddings",children:"LM Studio Embeddings"}),"\n",(0,t.jsxs)(d.p,{children:["This component generates embeddings using ",(0,t.jsx)(d.a,{href:"https://lmstudio.ai/docs",children:"LM Studio"})," models."]}),"\n",(0,t.jsx)(d.h3,{id:"inputs-11",children:"Inputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Display Name"}),(0,t.jsx)(d.th,{children:"Info"})]})}),(0,t.jsxs)(d.tbody,{children:[(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"model"}),(0,t.jsx)(d.td,{children:"Model"}),(0,t.jsx)(d.td,{children:"The LM Studio model to use for generating embeddings"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"base_url"}),(0,t.jsx)(d.td,{children:"LM Studio Base URL"}),(0,t.jsx)(d.td,{children:"The base URL for the LM Studio API"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"api_key"}),(0,t.jsx)(d.td,{children:"LM Studio API Key"}),(0,t.jsx)(d.td,{children:"API key for authentication with LM Studio"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"temperature"}),(0,t.jsx)(d.td,{children:"Model Temperature"}),(0,t.jsx)(d.td,{children:"Temperature setting for the model"})]})]})]}),"\n",(0,t.jsx)(d.h3,{id:"outputs-11",children:"Outputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Display Name"}),(0,t.jsx)(d.th,{children:"Info"})]})}),(0,t.jsx)(d.tbody,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"embeddings"}),(0,t.jsx)(d.td,{children:"Embeddings"}),(0,t.jsx)(d.td,{children:"The generated embeddings"})]})})]}),"\n",(0,t.jsx)(d.h2,{id:"mistralai",children:"MistralAI"}),"\n",(0,t.jsxs)(d.p,{children:["This component generates embeddings using ",(0,t.jsx)(d.a,{href:"https://docs.mistral.ai/",children:"MistralAI"})," models."]}),"\n",(0,t.jsx)(d.h3,{id:"inputs-12",children:"Inputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Type"}),(0,t.jsx)(d.th,{children:"Description"})]})}),(0,t.jsxs)(d.tbody,{children:[(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"model"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsx)(d.td,{children:'The MistralAI model to use (default: "mistral-embed")'})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"mistral_api_key"}),(0,t.jsx)(d.td,{children:"SecretString"}),(0,t.jsx)(d.td,{children:"API key for authenticating with MistralAI"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"max_concurrent_requests"}),(0,t.jsx)(d.td,{children:"Integer"}),(0,t.jsx)(d.td,{children:"Maximum number of concurrent API requests (default: 64)"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"max_retries"}),(0,t.jsx)(d.td,{children:"Integer"}),(0,t.jsx)(d.td,{children:"Maximum number of retry attempts for failed requests (default: 5)"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"timeout"}),(0,t.jsx)(d.td,{children:"Integer"}),(0,t.jsx)(d.td,{children:"Request timeout in seconds (default: 120)"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"endpoint"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsxs)(d.td,{children:["Custom API endpoint URL (default: ",(0,t.jsx)(d.code,{children:"https://api.mistral.ai/v1/"}),")"]})]})]})]}),"\n",(0,t.jsx)(d.h3,{id:"outputs-12",children:"Outputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Type"}),(0,t.jsx)(d.th,{children:"Description"})]})}),(0,t.jsx)(d.tbody,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"embeddings"}),(0,t.jsx)(d.td,{children:"Embeddings"}),(0,t.jsx)(d.td,{children:"MistralAIEmbeddings instance for generating embeddings"})]})})]}),"\n",(0,t.jsx)(d.h2,{id:"nvidia",children:"NVIDIA"}),"\n",(0,t.jsxs)(d.p,{children:["This component generates embeddings using ",(0,t.jsx)(d.a,{href:"https://docs.nvidia.com",children:"NVIDIA models"}),"."]}),"\n",(0,t.jsx)(d.h3,{id:"inputs-13",children:"Inputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Type"}),(0,t.jsx)(d.th,{children:"Description"})]})}),(0,t.jsxs)(d.tbody,{children:[(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"model"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsxs)(d.td,{children:["The NVIDIA model to use for embeddings (e.g., ",(0,t.jsx)(d.code,{children:"nvidia/nv-embed-v1"}),")"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"base_url"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsxs)(d.td,{children:["Base URL for the NVIDIA API (default: ",(0,t.jsx)(d.code,{children:"https://integrate.api.nvidia.com/v1"}),")"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"nvidia_api_key"}),(0,t.jsx)(d.td,{children:"SecretString"}),(0,t.jsx)(d.td,{children:"API key for authenticating with NVIDIA's service"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"temperature"}),(0,t.jsx)(d.td,{children:"Float"}),(0,t.jsxs)(d.td,{children:["Model temperature for embedding generation (default: ",(0,t.jsx)(d.code,{children:"0.1"}),")"]})]})]})]}),"\n",(0,t.jsx)(d.h3,{id:"outputs-13",children:"Outputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Type"}),(0,t.jsx)(d.th,{children:"Description"})]})}),(0,t.jsx)(d.tbody,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"embeddings"}),(0,t.jsx)(d.td,{children:"Embeddings"}),(0,t.jsx)(d.td,{children:"NVIDIAEmbeddings instance for generating embeddings"})]})})]}),"\n",(0,t.jsx)(d.h2,{id:"ollama-embeddings",children:"Ollama Embeddings"}),"\n",(0,t.jsxs)(d.p,{children:["This component generates embeddings using ",(0,t.jsx)(d.a,{href:"https://ollama.com/",children:"Ollama models"}),"."]}),"\n",(0,t.jsx)(d.h3,{id:"inputs-14",children:"Inputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Type"}),(0,t.jsx)(d.th,{children:"Description"})]})}),(0,t.jsxs)(d.tbody,{children:[(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Ollama Model"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsxs)(d.td,{children:["Name of the Ollama model to use (default: ",(0,t.jsx)(d.code,{children:"llama2"}),")"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Ollama Base URL"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsxs)(d.td,{children:["Base URL of the Ollama API (default: ",(0,t.jsx)(d.code,{children:"http://localhost:11434"}),")"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Model Temperature"}),(0,t.jsx)(d.td,{children:"Float"}),(0,t.jsx)(d.td,{children:"Temperature parameter for the model. Adjusts the randomness in the generated embeddings"})]})]})]}),"\n",(0,t.jsx)(d.h3,{id:"outputs-14",children:"Outputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Type"}),(0,t.jsx)(d.th,{children:"Description"})]})}),(0,t.jsx)(d.tbody,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"embeddings"}),(0,t.jsx)(d.td,{children:"Embeddings"}),(0,t.jsx)(d.td,{children:"An instance for generating embeddings using Ollama"})]})})]}),"\n",(0,t.jsx)(d.h2,{id:"openai-embeddings",children:"OpenAI Embeddings"}),"\n",(0,t.jsxs)(d.p,{children:["This component is used to load embedding models from ",(0,t.jsx)(d.a,{href:"https://openai.com/",children:"OpenAI"}),"."]}),"\n",(0,t.jsx)(d.h3,{id:"inputs-15",children:"Inputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Type"}),(0,t.jsx)(d.th,{children:"Description"})]})}),(0,t.jsxs)(d.tbody,{children:[(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"OpenAI API Key"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsx)(d.td,{children:"The API key to use for accessing the OpenAI API"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Default Headers"}),(0,t.jsx)(d.td,{children:"Dict"}),(0,t.jsx)(d.td,{children:"Default headers for the HTTP requests"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Default Query"}),(0,t.jsx)(d.td,{children:"NestedDict"}),(0,t.jsx)(d.td,{children:"Default query parameters for the HTTP requests"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Allowed Special"}),(0,t.jsx)(d.td,{children:"List"}),(0,t.jsxs)(d.td,{children:["Special tokens allowed for processing (default: ",(0,t.jsx)(d.code,{children:"[]"}),")"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Disallowed Special"}),(0,t.jsx)(d.td,{children:"List"}),(0,t.jsxs)(d.td,{children:["Special tokens disallowed for processing (default: ",(0,t.jsx)(d.code,{children:'["all"]'}),")"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Chunk Size"}),(0,t.jsx)(d.td,{children:"Integer"}),(0,t.jsxs)(d.td,{children:["Chunk size for processing (default: ",(0,t.jsx)(d.code,{children:"1000"}),")"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Client"}),(0,t.jsx)(d.td,{children:"Any"}),(0,t.jsx)(d.td,{children:"HTTP client for making requests"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Deployment"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsxs)(d.td,{children:["Deployment name for the model (default: ",(0,t.jsx)(d.code,{children:"text-embedding-3-small"}),")"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Embedding Context Length"}),(0,t.jsx)(d.td,{children:"Integer"}),(0,t.jsxs)(d.td,{children:["Length of embedding context (default: ",(0,t.jsx)(d.code,{children:"8191"}),")"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Max Retries"}),(0,t.jsx)(d.td,{children:"Integer"}),(0,t.jsxs)(d.td,{children:["Maximum number of retries for failed requests (default: ",(0,t.jsx)(d.code,{children:"6"}),")"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Model"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsxs)(d.td,{children:["Name of the model to use (default: ",(0,t.jsx)(d.code,{children:"text-embedding-3-small"}),")"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Model Kwargs"}),(0,t.jsx)(d.td,{children:"NestedDict"}),(0,t.jsx)(d.td,{children:"Additional keyword arguments for the model"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"OpenAI API Base"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsx)(d.td,{children:"Base URL of the OpenAI API"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"OpenAI API Type"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsx)(d.td,{children:"Type of the OpenAI API"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"OpenAI API Version"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsx)(d.td,{children:"Version of the OpenAI API"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"OpenAI Organization"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsx)(d.td,{children:"Organization associated with the API key"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"OpenAI Proxy"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsx)(d.td,{children:"Proxy server for the requests"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Request Timeout"}),(0,t.jsx)(d.td,{children:"Float"}),(0,t.jsx)(d.td,{children:"Timeout for the HTTP requests"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Show Progress Bar"}),(0,t.jsx)(d.td,{children:"Boolean"}),(0,t.jsxs)(d.td,{children:["Whether to show a progress bar for processing (default: ",(0,t.jsx)(d.code,{children:"False"}),")"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Skip Empty"}),(0,t.jsx)(d.td,{children:"Boolean"}),(0,t.jsxs)(d.td,{children:["Whether to skip empty inputs (default: ",(0,t.jsx)(d.code,{children:"False"}),")"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"TikToken Enable"}),(0,t.jsx)(d.td,{children:"Boolean"}),(0,t.jsxs)(d.td,{children:["Whether to enable TikToken (default: ",(0,t.jsx)(d.code,{children:"True"}),")"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"TikToken Model Name"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsx)(d.td,{children:"Name of the TikToken model"})]})]})]}),"\n",(0,t.jsx)(d.h3,{id:"outputs-15",children:"Outputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Type"}),(0,t.jsx)(d.th,{children:"Description"})]})}),(0,t.jsx)(d.tbody,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"embeddings"}),(0,t.jsx)(d.td,{children:"Embeddings"}),(0,t.jsx)(d.td,{children:"An instance for generating embeddings using OpenAI"})]})})]}),"\n",(0,t.jsx)(d.h2,{id:"text-embedder",children:"Text embedder"}),"\n",(0,t.jsx)(d.p,{children:"This component generates embeddings for a given message using a specified embedding model."}),"\n",(0,t.jsx)(d.h3,{id:"inputs-16",children:"Inputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Display Name"}),(0,t.jsx)(d.th,{children:"Info"})]})}),(0,t.jsxs)(d.tbody,{children:[(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"embedding_model"}),(0,t.jsx)(d.td,{children:"Embedding Model"}),(0,t.jsx)(d.td,{children:"The embedding model to use for generating embeddings."})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"message"}),(0,t.jsx)(d.td,{children:"Message"}),(0,t.jsx)(d.td,{children:"The message for which to generate embeddings."})]})]})]}),"\n",(0,t.jsx)(d.h3,{id:"outputs-16",children:"Outputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Display Name"}),(0,t.jsx)(d.th,{children:"Info"})]})}),(0,t.jsx)(d.tbody,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"embeddings"}),(0,t.jsx)(d.td,{children:"Embedding Data"}),(0,t.jsx)(d.td,{children:"Data object containing the original text and its embedding vector."})]})})]}),"\n",(0,t.jsx)(d.h2,{id:"vertexai-embeddings",children:"VertexAI Embeddings"}),"\n",(0,t.jsxs)(d.p,{children:["This component is a wrapper around ",(0,t.jsx)(d.a,{href:"https://cloud.google.com/vertex-ai",children:"Google Vertex AI"})," ",(0,t.jsx)(d.a,{href:"https://cloud.google.com/vertex-ai/docs/generative-ai/embeddings/get-text-embeddings",children:"Embeddings API"}),"."]}),"\n",(0,t.jsx)(d.h3,{id:"inputs-17",children:"Inputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Type"}),(0,t.jsx)(d.th,{children:"Description"})]})}),(0,t.jsxs)(d.tbody,{children:[(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"credentials"}),(0,t.jsx)(d.td,{children:"Credentials"}),(0,t.jsx)(d.td,{children:"The default custom credentials to use"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"location"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsxs)(d.td,{children:["The default location to use when making API calls (default: ",(0,t.jsx)(d.code,{children:"us-central1"}),")"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"max_output_tokens"}),(0,t.jsx)(d.td,{children:"Integer"}),(0,t.jsxs)(d.td,{children:["Token limit determines the maximum amount of text output from one prompt (default: ",(0,t.jsx)(d.code,{children:"128"}),")"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"model_name"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsxs)(d.td,{children:["The name of the Vertex AI large language model (default: ",(0,t.jsx)(d.code,{children:"text-bison"}),")"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"project"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsx)(d.td,{children:"The default GCP project to use when making Vertex API calls"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"request_parallelism"}),(0,t.jsx)(d.td,{children:"Integer"}),(0,t.jsxs)(d.td,{children:["The amount of parallelism allowed for requests issued to VertexAI models (default: ",(0,t.jsx)(d.code,{children:"5"}),")"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"temperature"}),(0,t.jsx)(d.td,{children:"Float"}),(0,t.jsxs)(d.td,{children:["Tunes the degree of randomness in text generations. Should be a non-negative value (default: ",(0,t.jsx)(d.code,{children:"0"}),")"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"top_k"}),(0,t.jsx)(d.td,{children:"Integer"}),(0,t.jsxs)(d.td,{children:["How the model selects tokens for output, the next token is selected from the top ",(0,t.jsx)(d.code,{children:"k"})," tokens (default: ",(0,t.jsx)(d.code,{children:"40"}),")"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"top_p"}),(0,t.jsx)(d.td,{children:"Float"}),(0,t.jsxs)(d.td,{children:["Tokens are selected from the most probable to least until the sum of their probabilities exceeds the top ",(0,t.jsx)(d.code,{children:"p"})," value (default: ",(0,t.jsx)(d.code,{children:"0.95"}),")"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"tuned_model_name"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsxs)(d.td,{children:["The name of a tuned model. If provided, ",(0,t.jsx)(d.code,{children:"model_name"})," is ignored"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"verbose"}),(0,t.jsx)(d.td,{children:"Boolean"}),(0,t.jsxs)(d.td,{children:["This parameter controls the level of detail in the output. When set to ",(0,t.jsx)(d.code,{children:"True"}),", it prints internal states of the chain to help debug (default: ",(0,t.jsx)(d.code,{children:"False"}),")"]})]})]})]}),"\n",(0,t.jsx)(d.h3,{id:"outputs-17",children:"Outputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Type"}),(0,t.jsx)(d.th,{children:"Description"})]})}),(0,t.jsx)(d.tbody,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"embeddings"}),(0,t.jsx)(d.td,{children:"Embeddings"}),(0,t.jsx)(d.td,{children:"An instance for generating embeddings using VertexAI"})]})})]})]})}function a(e={}){const{wrapper:d}={...(0,i.R)(),...e.components};return d?(0,t.jsx)(d,{...e,children:(0,t.jsx)(o,{...e})}):o(e)}},80352:(e,d,n)=>{n.d(d,{A:()=>s});const s=n.p+"assets/images/url-component-fb712df73581345c0f344013ce6ff2fd.png"},96425:(e,d,n)=>{n.d(d,{A:()=>s});const s=n.p+"assets/images/component-watsonx-embeddings-chroma-591e45d59ab635d1e1e68ab8036cfed7.png"}}]); \ No newline at end of file diff --git a/assets/js/921b5fc1.ce0affd3.js b/assets/js/921b5fc1.ce0affd3.js deleted file mode 100644 index c448bdd0c7..0000000000 --- a/assets/js/921b5fc1.ce0affd3.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[7462],{28453:(e,d,n)=>{n.d(d,{R:()=>r,x:()=>l});var s=n(96540);const t={},i=s.createContext(t);function r(e){const d=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(d):{...d,...e}}),[d,e])}function l(e){let d;return d=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:r(e.components),s.createElement(i.Provider,{value:d},e.children)}},56088:(e,d,n)=>{n.r(d),n.d(d,{assets:()=>h,contentTitle:()=>l,default:()=>a,frontMatter:()=>r,metadata:()=>s,toc:()=>c});const s=JSON.parse('{"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.","source":"@site/docs/Components/components-embedding-models.md","sourceDirName":"Components","slug":"/components-embedding-models","permalink":"/components-embedding-models","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{"title":"Embeddings","slug":"/components-embedding-models"},"sidebar":"docs","previous":{"title":"Data","permalink":"/components-data"},"next":{"title":"Helpers","permalink":"/components-helpers"}}');var t=n(74848),i=n(28453);const r={title:"Embeddings",slug:"/components-embedding-models"},l="Embeddings models in Langflow",h={},c=[{value:"Use an embeddings model component in a flow",id:"use-an-embeddings-model-component-in-a-flow",level:2},{value:"AI/ML",id:"aiml",level:2},{value:"Inputs",id:"inputs",level:3},{value:"Outputs",id:"outputs",level:3},{value:"Amazon Bedrock Embeddings",id:"amazon-bedrock-embeddings",level:2},{value:"Inputs",id:"inputs-1",level:3},{value:"Outputs",id:"outputs-1",level:3},{value:"Astra DB vectorize",id:"astra-db-vectorize",level:2},{value:"Inputs",id:"inputs-2",level:3},{value:"Outputs",id:"outputs-2",level:3},{value:"Azure OpenAI Embeddings",id:"azure-openai-embeddings",level:2},{value:"Inputs",id:"inputs-3",level:3},{value:"Outputs",id:"outputs-3",level:3},{value:"Cloudflare Workers AI Embeddings",id:"cloudflare-workers-ai-embeddings",level:2},{value:"Inputs",id:"inputs-4",level:3},{value:"Outputs",id:"outputs-4",level:3},{value:"Cohere Embeddings",id:"cohere-embeddings",level:2},{value:"Inputs",id:"inputs-5",level:3},{value:"Outputs",id:"outputs-5",level:3},{value:"Embedding similarity",id:"embedding-similarity",level:2},{value:"Inputs",id:"inputs-6",level:3},{value:"Outputs",id:"outputs-6",level:3},{value:"Google generative AI embeddings",id:"google-generative-ai-embeddings",level:2},{value:"Inputs",id:"inputs-7",level:3},{value:"Outputs",id:"outputs-7",level:3},{value:"Hugging Face Embeddings",id:"hugging-face-embeddings",level:2},{value:"Inputs",id:"inputs-8",level:3},{value:"Outputs",id:"outputs-8",level:3},{value:"Hugging Face embeddings inference",id:"hugging-face-embeddings-inference",level:2},{value:"Inputs",id:"inputs-9",level:3},{value:"Outputs",id:"outputs-9",level:3},{value:"Connect the Hugging Face component to a local embeddings model",id:"connect-the-hugging-face-component-to-a-local-embeddings-model",level:3},{value:"LM Studio Embeddings",id:"lm-studio-embeddings",level:2},{value:"Inputs",id:"inputs-10",level:3},{value:"Outputs",id:"outputs-10",level:3},{value:"MistralAI",id:"mistralai",level:2},{value:"Inputs",id:"inputs-11",level:3},{value:"Outputs",id:"outputs-11",level:3},{value:"NVIDIA",id:"nvidia",level:2},{value:"Inputs",id:"inputs-12",level:3},{value:"Outputs",id:"outputs-12",level:3},{value:"Ollama Embeddings",id:"ollama-embeddings",level:2},{value:"Inputs",id:"inputs-13",level:3},{value:"Outputs",id:"outputs-13",level:3},{value:"OpenAI Embeddings",id:"openai-embeddings",level:2},{value:"Inputs",id:"inputs-14",level:3},{value:"Outputs",id:"outputs-14",level:3},{value:"Text embedder",id:"text-embedder",level:2},{value:"Inputs",id:"inputs-15",level:3},{value:"Outputs",id:"outputs-15",level:3},{value:"VertexAI Embeddings",id:"vertexai-embeddings",level:2},{value:"Inputs",id:"inputs-16",level:3},{value:"Outputs",id:"outputs-16",level:3}];function o(e){const d={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(d.header,{children:(0,t.jsx)(d.h1,{id:"embeddings-models-in-langflow",children:"Embeddings models in Langflow"})}),"\n",(0,t.jsx)(d.p,{children:"Embeddings models convert text into numerical vectors. These embeddings capture semantic meaning of the input text, and allow LLMs to understand context."}),"\n",(0,t.jsx)(d.p,{children:"Refer to your specific component's documentation for more information on parameters."}),"\n",(0,t.jsx)(d.h2,{id:"use-an-embeddings-model-component-in-a-flow",children:"Use an embeddings model component in a flow"}),"\n",(0,t.jsxs)(d.p,{children:["In this example of a document ingestion pipeline, the ",(0,t.jsx)(d.strong,{children:"OpenAI"})," embeddings model is connected to a vector database. The component converts the text chunks into vectors and stores them in the vector database. The vectorized data can be used to inform AI workloads like chatbots, similarity searches, and agents."]}),"\n",(0,t.jsx)(d.p,{children:"This embeddings component uses an OpenAI API key for authentication. Refer to your specific embeddings component's documentation for more information on authentication."}),"\n",(0,t.jsx)(d.p,{children:(0,t.jsx)(d.img,{alt:"URL component in a data ingestion pipeline",src:n(80352).A+"",width:"2306",height:"1632"})}),"\n",(0,t.jsx)(d.h2,{id:"aiml",children:"AI/ML"}),"\n",(0,t.jsxs)(d.p,{children:["This component generates embeddings using the ",(0,t.jsx)(d.a,{href:"https://docs.aimlapi.com/api-overview/embeddings",children:"AI/ML API"}),"."]}),"\n",(0,t.jsx)(d.h3,{id:"inputs",children:"Inputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Type"}),(0,t.jsx)(d.th,{children:"Description"})]})}),(0,t.jsxs)(d.tbody,{children:[(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"model_name"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsx)(d.td,{children:"The name of the AI/ML embedding model to use"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"aiml_api_key"}),(0,t.jsx)(d.td,{children:"SecretString"}),(0,t.jsx)(d.td,{children:"API key for authenticating with the AI/ML service"})]})]})]}),"\n",(0,t.jsx)(d.h3,{id:"outputs",children:"Outputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Type"}),(0,t.jsx)(d.th,{children:"Description"})]})}),(0,t.jsx)(d.tbody,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"embeddings"}),(0,t.jsx)(d.td,{children:"Embeddings"}),(0,t.jsx)(d.td,{children:"An instance of AIMLEmbeddingsImpl for generating embeddings"})]})})]}),"\n",(0,t.jsx)(d.h2,{id:"amazon-bedrock-embeddings",children:"Amazon Bedrock Embeddings"}),"\n",(0,t.jsxs)(d.p,{children:["This component is used to load embedding models from ",(0,t.jsx)(d.a,{href:"https://aws.amazon.com/bedrock/",children:"Amazon Bedrock"}),"."]}),"\n",(0,t.jsx)(d.h3,{id:"inputs-1",children:"Inputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Type"}),(0,t.jsx)(d.th,{children:"Description"})]})}),(0,t.jsxs)(d.tbody,{children:[(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"credentials_profile_name"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsx)(d.td,{children:"Name of the AWS credentials profile in ~/.aws/credentials or ~/.aws/config, which has access keys or role information"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"model_id"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsxs)(d.td,{children:["ID of the model to call, e.g., ",(0,t.jsx)(d.code,{children:"amazon.titan-embed-text-v1"}),". This is equivalent to the ",(0,t.jsx)(d.code,{children:"modelId"})," property in the ",(0,t.jsx)(d.code,{children:"list-foundation-models"})," API"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"endpoint_url"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsx)(d.td,{children:"URL to set a specific service endpoint other than the default AWS endpoint"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"region_name"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsxs)(d.td,{children:["AWS region to use, e.g., ",(0,t.jsx)(d.code,{children:"us-west-2"}),". Falls back to ",(0,t.jsx)(d.code,{children:"AWS_DEFAULT_REGION"})," environment variable or region specified in ~/.aws/config if not provided"]})]})]})]}),"\n",(0,t.jsx)(d.h3,{id:"outputs-1",children:"Outputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Type"}),(0,t.jsx)(d.th,{children:"Description"})]})}),(0,t.jsx)(d.tbody,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"embeddings"}),(0,t.jsx)(d.td,{children:"Embeddings"}),(0,t.jsx)(d.td,{children:"An instance for generating embeddings using Amazon Bedrock"})]})})]}),"\n",(0,t.jsx)(d.h2,{id:"astra-db-vectorize",children:"Astra DB vectorize"}),"\n",(0,t.jsx)(d.admonition,{type:"important",children:(0,t.jsxs)(d.p,{children:["This component is deprecated as of Langflow version 1.1.2.\nInstead, use the ",(0,t.jsx)(d.a,{href:"/components-vector-stores#astra-db-vector-store",children:"Astra DB vector store component"})]})}),"\n",(0,t.jsxs)(d.p,{children:["Connect this component to the ",(0,t.jsx)(d.strong,{children:"Embeddings"})," port of the ",(0,t.jsx)(d.a,{href:"/components-vector-stores#astra-db-vector-store",children:"Astra DB vector store component"})," to generate embeddings."]}),"\n",(0,t.jsxs)(d.p,{children:["This component requires that your Astra DB database has a collection that uses a vectorize embedding provider integration.\nFor more information and instructions, see ",(0,t.jsx)(d.a,{href:"https://docs.datastax.com/en/astra-db-serverless/databases/embedding-generation.html",children:"Embedding Generation"}),"."]}),"\n",(0,t.jsx)(d.h3,{id:"inputs-2",children:"Inputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Display Name"}),(0,t.jsx)(d.th,{children:"Info"})]})}),(0,t.jsxs)(d.tbody,{children:[(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"provider"}),(0,t.jsx)(d.td,{children:"Embedding Provider"}),(0,t.jsx)(d.td,{children:"The embedding provider to use"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"model_name"}),(0,t.jsx)(d.td,{children:"Model Name"}),(0,t.jsx)(d.td,{children:"The embedding model to use"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"authentication"}),(0,t.jsx)(d.td,{children:"Authentication"}),(0,t.jsxs)(d.td,{children:["The name of the API key in Astra that stores your ",(0,t.jsx)(d.a,{href:"https://docs.datastax.com/en/astra-db-serverless/databases/embedding-generation.html#embedding-provider-authentication",children:"vectorize embedding provider credentials"}),". (Not required if using an ",(0,t.jsx)(d.a,{href:"https://docs.datastax.com/en/astra-db-serverless/databases/embedding-generation.html#supported-embedding-providers",children:"Astra-hosted embedding provider"}),".)"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"provider_api_key"}),(0,t.jsx)(d.td,{children:"Provider API Key"}),(0,t.jsxs)(d.td,{children:["As an alternative to ",(0,t.jsx)(d.code,{children:"authentication"}),", directly provide your embedding provider credentials."]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"model_parameters"}),(0,t.jsx)(d.td,{children:"Model Parameters"}),(0,t.jsx)(d.td,{children:"Additional model parameters"})]})]})]}),"\n",(0,t.jsx)(d.h3,{id:"outputs-2",children:"Outputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Type"}),(0,t.jsx)(d.th,{children:"Description"})]})}),(0,t.jsx)(d.tbody,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"embeddings"}),(0,t.jsx)(d.td,{children:"Embeddings"}),(0,t.jsx)(d.td,{children:"An instance for generating embeddings using Astra vectorize"})]})})]}),"\n",(0,t.jsx)(d.h2,{id:"azure-openai-embeddings",children:"Azure OpenAI Embeddings"}),"\n",(0,t.jsx)(d.p,{children:"This component generates embeddings using Azure OpenAI models."}),"\n",(0,t.jsx)(d.h3,{id:"inputs-3",children:"Inputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Type"}),(0,t.jsx)(d.th,{children:"Description"})]})}),(0,t.jsxs)(d.tbody,{children:[(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Model"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsxs)(d.td,{children:["Name of the model to use (default: ",(0,t.jsx)(d.code,{children:"text-embedding-3-small"}),")"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Azure Endpoint"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsxs)(d.td,{children:["Your Azure endpoint, including the resource. Example: ",(0,t.jsx)(d.code,{children:"https://example-resource.azure.openai.com/"})]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Deployment Name"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsx)(d.td,{children:"The name of the deployment"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"API Version"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsx)(d.td,{children:"The API version to use, options include various dates"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"API Key"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsx)(d.td,{children:"The API key to access the Azure OpenAI service"})]})]})]}),"\n",(0,t.jsx)(d.h3,{id:"outputs-3",children:"Outputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Type"}),(0,t.jsx)(d.th,{children:"Description"})]})}),(0,t.jsx)(d.tbody,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"embeddings"}),(0,t.jsx)(d.td,{children:"Embeddings"}),(0,t.jsx)(d.td,{children:"An instance for generating embeddings using Azure OpenAI"})]})})]}),"\n",(0,t.jsx)(d.h2,{id:"cloudflare-workers-ai-embeddings",children:"Cloudflare Workers AI Embeddings"}),"\n",(0,t.jsxs)(d.p,{children:["This component generates embeddings using ",(0,t.jsx)(d.a,{href:"https://developers.cloudflare.com/workers-ai/",children:"Cloudflare Workers AI models"}),"."]}),"\n",(0,t.jsx)(d.h3,{id:"inputs-4",children:"Inputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Display Name"}),(0,t.jsx)(d.th,{children:"Info"})]})}),(0,t.jsxs)(d.tbody,{children:[(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"account_id"}),(0,t.jsx)(d.td,{children:"Cloudflare account ID"}),(0,t.jsx)(d.td,{children:(0,t.jsx)(d.a,{href:"https://developers.cloudflare.com/fundamentals/setup/find-account-and-zone-ids/#find-account-id-workers-and-pages",children:"Find your Cloudflare account ID"})})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"api_token"}),(0,t.jsx)(d.td,{children:"Cloudflare API token"}),(0,t.jsx)(d.td,{children:(0,t.jsx)(d.a,{href:"https://developers.cloudflare.com/fundamentals/api/get-started/create-token/",children:"Create an API token"})})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"model_name"}),(0,t.jsx)(d.td,{children:"Model Name"}),(0,t.jsx)(d.td,{children:(0,t.jsx)(d.a,{href:"https://developers.cloudflare.com/workers-ai/models/#text-embeddings",children:"List of supported models"})})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"strip_new_lines"}),(0,t.jsx)(d.td,{children:"Strip New Lines"}),(0,t.jsx)(d.td,{children:"Whether to strip new lines from the input text"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"batch_size"}),(0,t.jsx)(d.td,{children:"Batch Size"}),(0,t.jsx)(d.td,{children:"Number of texts to embed in each batch"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"api_base_url"}),(0,t.jsx)(d.td,{children:"Cloudflare API base URL"}),(0,t.jsx)(d.td,{children:"Base URL for the Cloudflare API"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"headers"}),(0,t.jsx)(d.td,{children:"Headers"}),(0,t.jsx)(d.td,{children:"Additional request headers"})]})]})]}),"\n",(0,t.jsx)(d.h3,{id:"outputs-4",children:"Outputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Display Name"}),(0,t.jsx)(d.th,{children:"Info"})]})}),(0,t.jsx)(d.tbody,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"embeddings"}),(0,t.jsx)(d.td,{children:"Embeddings"}),(0,t.jsx)(d.td,{children:"An instance for generating embeddings using Cloudflare Workers"})]})})]}),"\n",(0,t.jsx)(d.h2,{id:"cohere-embeddings",children:"Cohere Embeddings"}),"\n",(0,t.jsxs)(d.p,{children:["This component is used to load embedding models from ",(0,t.jsx)(d.a,{href:"https://cohere.com/",children:"Cohere"}),"."]}),"\n",(0,t.jsx)(d.h3,{id:"inputs-5",children:"Inputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Type"}),(0,t.jsx)(d.th,{children:"Description"})]})}),(0,t.jsxs)(d.tbody,{children:[(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"cohere_api_key"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsx)(d.td,{children:"API key required to authenticate with the Cohere service"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"model"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsxs)(d.td,{children:["Language model used for embedding text documents and performing queries (default: ",(0,t.jsx)(d.code,{children:"embed-english-v2.0"}),")"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"truncate"}),(0,t.jsx)(d.td,{children:"Boolean"}),(0,t.jsxs)(d.td,{children:["Whether to truncate the input text to fit within the model's constraints (default: ",(0,t.jsx)(d.code,{children:"False"}),")"]})]})]})]}),"\n",(0,t.jsx)(d.h3,{id:"outputs-5",children:"Outputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Type"}),(0,t.jsx)(d.th,{children:"Description"})]})}),(0,t.jsx)(d.tbody,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"embeddings"}),(0,t.jsx)(d.td,{children:"Embeddings"}),(0,t.jsx)(d.td,{children:"An instance for generating embeddings using Cohere"})]})})]}),"\n",(0,t.jsx)(d.h2,{id:"embedding-similarity",children:"Embedding similarity"}),"\n",(0,t.jsx)(d.p,{children:"This component computes selected forms of similarity between two embedding vectors."}),"\n",(0,t.jsx)(d.h3,{id:"inputs-6",children:"Inputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Display Name"}),(0,t.jsx)(d.th,{children:"Info"})]})}),(0,t.jsxs)(d.tbody,{children:[(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"embedding_vectors"}),(0,t.jsx)(d.td,{children:"Embedding Vectors"}),(0,t.jsx)(d.td,{children:"A list containing exactly two data objects with embedding vectors to compare."})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"similarity_metric"}),(0,t.jsx)(d.td,{children:"Similarity Metric"}),(0,t.jsx)(d.td,{children:'Select the similarity metric to use. Options: "Cosine Similarity", "Euclidean Distance", "Manhattan Distance".'})]})]})]}),"\n",(0,t.jsx)(d.h3,{id:"outputs-6",children:"Outputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Display Name"}),(0,t.jsx)(d.th,{children:"Info"})]})}),(0,t.jsx)(d.tbody,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"similarity_data"}),(0,t.jsx)(d.td,{children:"Similarity Data"}),(0,t.jsx)(d.td,{children:"Data object containing the computed similarity score and additional information."})]})})]}),"\n",(0,t.jsx)(d.h2,{id:"google-generative-ai-embeddings",children:"Google generative AI embeddings"}),"\n",(0,t.jsxs)(d.p,{children:["This component connects to Google's generative AI embedding service using the GoogleGenerativeAIEmbeddings class from the ",(0,t.jsx)(d.code,{children:"langchain-google-genai"})," package."]}),"\n",(0,t.jsx)(d.h3,{id:"inputs-7",children:"Inputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Display Name"}),(0,t.jsx)(d.th,{children:"Info"})]})}),(0,t.jsxs)(d.tbody,{children:[(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"api_key"}),(0,t.jsx)(d.td,{children:"API Key"}),(0,t.jsx)(d.td,{children:"Secret API key for accessing Google's generative AI service (required)"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"model_name"}),(0,t.jsx)(d.td,{children:"Model Name"}),(0,t.jsx)(d.td,{children:'Name of the embedding model to use (default: "models/text-embedding-004")'})]})]})]}),"\n",(0,t.jsx)(d.h3,{id:"outputs-7",children:"Outputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Display Name"}),(0,t.jsx)(d.th,{children:"Info"})]})}),(0,t.jsx)(d.tbody,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"embeddings"}),(0,t.jsx)(d.td,{children:"Embeddings"}),(0,t.jsx)(d.td,{children:"Built GoogleGenerativeAIEmbeddings object"})]})})]}),"\n",(0,t.jsx)(d.h2,{id:"hugging-face-embeddings",children:"Hugging Face Embeddings"}),"\n",(0,t.jsx)(d.admonition,{type:"note",children:(0,t.jsxs)(d.p,{children:["This component is deprecated as of Langflow version 1.0.18.\nInstead, use the ",(0,t.jsx)(d.a,{href:"#hugging-face-embeddings-inference",children:"Hugging Face Embeddings Inference component"}),"."]})}),"\n",(0,t.jsx)(d.p,{children:"This component loads embedding models from HuggingFace."}),"\n",(0,t.jsx)(d.p,{children:"Use this component to generate embeddings using locally downloaded Hugging Face models. Ensure you have sufficient computational resources to run the models."}),"\n",(0,t.jsx)(d.h3,{id:"inputs-8",children:"Inputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Display Name"}),(0,t.jsx)(d.th,{children:"Info"})]})}),(0,t.jsxs)(d.tbody,{children:[(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Cache Folder"}),(0,t.jsx)(d.td,{children:"Cache Folder"}),(0,t.jsx)(d.td,{children:"Folder path to cache HuggingFace models"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Encode Kwargs"}),(0,t.jsx)(d.td,{children:"Encoding Arguments"}),(0,t.jsx)(d.td,{children:"Additional arguments for the encoding process"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Model Kwargs"}),(0,t.jsx)(d.td,{children:"Model Arguments"}),(0,t.jsx)(d.td,{children:"Additional arguments for the model"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Model Name"}),(0,t.jsx)(d.td,{children:"Model Name"}),(0,t.jsx)(d.td,{children:"Name of the HuggingFace model to use"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Multi Process"}),(0,t.jsx)(d.td,{children:"Multi-Process"}),(0,t.jsx)(d.td,{children:"Whether to use multiple processes"})]})]})]}),"\n",(0,t.jsx)(d.h3,{id:"outputs-8",children:"Outputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Display Name"}),(0,t.jsx)(d.th,{children:"Info"})]})}),(0,t.jsx)(d.tbody,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"embeddings"}),(0,t.jsx)(d.td,{children:"Embeddings"}),(0,t.jsx)(d.td,{children:"The generated embeddings"})]})})]}),"\n",(0,t.jsx)(d.h2,{id:"hugging-face-embeddings-inference",children:"Hugging Face embeddings inference"}),"\n",(0,t.jsxs)(d.p,{children:["This component generates embeddings using ",(0,t.jsx)(d.a,{href:"https://huggingface.co/",children:"Hugging Face Inference API models"})," and requires a ",(0,t.jsx)(d.a,{href:"https://huggingface.co/docs/hub/security-tokens",children:"Hugging Face API token"})," to authenticate. Local inference models do not require an API key."]}),"\n",(0,t.jsx)(d.p,{children:"Use this component to create embeddings with Hugging Face's hosted models, or to connect to your own locally hosted models."}),"\n",(0,t.jsx)(d.h3,{id:"inputs-9",children:"Inputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Display Name"}),(0,t.jsx)(d.th,{children:"Info"})]})}),(0,t.jsxs)(d.tbody,{children:[(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"API Key"}),(0,t.jsx)(d.td,{children:"API Key"}),(0,t.jsx)(d.td,{children:"The API key for accessing the Hugging Face Inference API."})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"API URL"}),(0,t.jsx)(d.td,{children:"API URL"}),(0,t.jsx)(d.td,{children:"The URL of the Hugging Face Inference API."})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Model Name"}),(0,t.jsx)(d.td,{children:"Model Name"}),(0,t.jsx)(d.td,{children:"The name of the model to use for embeddings."})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Cache Folder"}),(0,t.jsx)(d.td,{children:"Cache Folder"}),(0,t.jsx)(d.td,{children:"The folder path to cache Hugging Face models."})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Encode Kwargs"}),(0,t.jsx)(d.td,{children:"Encoding Arguments"}),(0,t.jsx)(d.td,{children:"Additional arguments for the encoding process."})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Model Kwargs"}),(0,t.jsx)(d.td,{children:"Model Arguments"}),(0,t.jsx)(d.td,{children:"Additional arguments for the model."})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Multi Process"}),(0,t.jsx)(d.td,{children:"Multi-Process"}),(0,t.jsx)(d.td,{children:"Whether to use multiple processes."})]})]})]}),"\n",(0,t.jsx)(d.h3,{id:"outputs-9",children:"Outputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Display Name"}),(0,t.jsx)(d.th,{children:"Info"})]})}),(0,t.jsx)(d.tbody,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"embeddings"}),(0,t.jsx)(d.td,{children:"Embeddings"}),(0,t.jsx)(d.td,{children:"The generated embeddings."})]})})]}),"\n",(0,t.jsx)(d.h3,{id:"connect-the-hugging-face-component-to-a-local-embeddings-model",children:"Connect the Hugging Face component to a local embeddings model"}),"\n",(0,t.jsxs)(d.p,{children:["To run an embeddings inference locally, see the ",(0,t.jsx)(d.a,{href:"https://huggingface.co/docs/text-embeddings-inference/local_cpu",children:"HuggingFace documentation"}),"."]}),"\n",(0,t.jsxs)(d.p,{children:["To connect the local Hugging Face model to the ",(0,t.jsx)(d.strong,{children:"Hugging Face embeddings inference"})," component and use it in a flow, follow these steps:"]}),"\n",(0,t.jsxs)(d.ol,{children:["\n",(0,t.jsxs)(d.li,{children:["Create a ",(0,t.jsx)(d.a,{href:"/starter-projects-vector-store-rag",children:"Vector store RAG flow"}),".\nThere are two embeddings models in this flow that you can replace with ",(0,t.jsx)(d.strong,{children:"Hugging Face"})," embeddings inference components."]}),"\n",(0,t.jsxs)(d.li,{children:["Replace both ",(0,t.jsx)(d.strong,{children:"OpenAI"})," embeddings model components with ",(0,t.jsx)(d.strong,{children:"Hugging Face"})," model components."]}),"\n",(0,t.jsxs)(d.li,{children:["Connect both ",(0,t.jsx)(d.strong,{children:"Hugging Face"})," components to the ",(0,t.jsx)(d.strong,{children:"Embeddings"})," ports of the ",(0,t.jsx)(d.strong,{children:"Astra DB vector store"})," components."]}),"\n",(0,t.jsxs)(d.li,{children:["In the ",(0,t.jsx)(d.strong,{children:"Hugging Face"})," components, set the ",(0,t.jsx)(d.strong,{children:"Inference Endpoint"})," field to the URL of your local inference model. ",(0,t.jsxs)(d.strong,{children:["The ",(0,t.jsx)(d.strong,{children:"API Key"})," field is not required for local inference."]})]}),"\n",(0,t.jsx)(d.li,{children:"Run the flow. The local inference models generate embeddings for the input text."}),"\n"]}),"\n",(0,t.jsx)(d.h2,{id:"lm-studio-embeddings",children:"LM Studio Embeddings"}),"\n",(0,t.jsxs)(d.p,{children:["This component generates embeddings using ",(0,t.jsx)(d.a,{href:"https://lmstudio.ai/docs",children:"LM Studio"})," models."]}),"\n",(0,t.jsx)(d.h3,{id:"inputs-10",children:"Inputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Display Name"}),(0,t.jsx)(d.th,{children:"Info"})]})}),(0,t.jsxs)(d.tbody,{children:[(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"model"}),(0,t.jsx)(d.td,{children:"Model"}),(0,t.jsx)(d.td,{children:"The LM Studio model to use for generating embeddings"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"base_url"}),(0,t.jsx)(d.td,{children:"LM Studio Base URL"}),(0,t.jsx)(d.td,{children:"The base URL for the LM Studio API"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"api_key"}),(0,t.jsx)(d.td,{children:"LM Studio API Key"}),(0,t.jsx)(d.td,{children:"API key for authentication with LM Studio"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"temperature"}),(0,t.jsx)(d.td,{children:"Model Temperature"}),(0,t.jsx)(d.td,{children:"Temperature setting for the model"})]})]})]}),"\n",(0,t.jsx)(d.h3,{id:"outputs-10",children:"Outputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Display Name"}),(0,t.jsx)(d.th,{children:"Info"})]})}),(0,t.jsx)(d.tbody,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"embeddings"}),(0,t.jsx)(d.td,{children:"Embeddings"}),(0,t.jsx)(d.td,{children:"The generated embeddings"})]})})]}),"\n",(0,t.jsx)(d.h2,{id:"mistralai",children:"MistralAI"}),"\n",(0,t.jsxs)(d.p,{children:["This component generates embeddings using ",(0,t.jsx)(d.a,{href:"https://docs.mistral.ai/",children:"MistralAI"})," models."]}),"\n",(0,t.jsx)(d.h3,{id:"inputs-11",children:"Inputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Type"}),(0,t.jsx)(d.th,{children:"Description"})]})}),(0,t.jsxs)(d.tbody,{children:[(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"model"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsx)(d.td,{children:'The MistralAI model to use (default: "mistral-embed")'})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"mistral_api_key"}),(0,t.jsx)(d.td,{children:"SecretString"}),(0,t.jsx)(d.td,{children:"API key for authenticating with MistralAI"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"max_concurrent_requests"}),(0,t.jsx)(d.td,{children:"Integer"}),(0,t.jsx)(d.td,{children:"Maximum number of concurrent API requests (default: 64)"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"max_retries"}),(0,t.jsx)(d.td,{children:"Integer"}),(0,t.jsx)(d.td,{children:"Maximum number of retry attempts for failed requests (default: 5)"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"timeout"}),(0,t.jsx)(d.td,{children:"Integer"}),(0,t.jsx)(d.td,{children:"Request timeout in seconds (default: 120)"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"endpoint"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsxs)(d.td,{children:["Custom API endpoint URL (default: ",(0,t.jsx)(d.code,{children:"https://api.mistral.ai/v1/"}),")"]})]})]})]}),"\n",(0,t.jsx)(d.h3,{id:"outputs-11",children:"Outputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Type"}),(0,t.jsx)(d.th,{children:"Description"})]})}),(0,t.jsx)(d.tbody,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"embeddings"}),(0,t.jsx)(d.td,{children:"Embeddings"}),(0,t.jsx)(d.td,{children:"MistralAIEmbeddings instance for generating embeddings"})]})})]}),"\n",(0,t.jsx)(d.h2,{id:"nvidia",children:"NVIDIA"}),"\n",(0,t.jsxs)(d.p,{children:["This component generates embeddings using ",(0,t.jsx)(d.a,{href:"https://docs.nvidia.com",children:"NVIDIA models"}),"."]}),"\n",(0,t.jsx)(d.h3,{id:"inputs-12",children:"Inputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Type"}),(0,t.jsx)(d.th,{children:"Description"})]})}),(0,t.jsxs)(d.tbody,{children:[(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"model"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsxs)(d.td,{children:["The NVIDIA model to use for embeddings (e.g., ",(0,t.jsx)(d.code,{children:"nvidia/nv-embed-v1"}),")"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"base_url"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsxs)(d.td,{children:["Base URL for the NVIDIA API (default: ",(0,t.jsx)(d.code,{children:"https://integrate.api.nvidia.com/v1"}),")"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"nvidia_api_key"}),(0,t.jsx)(d.td,{children:"SecretString"}),(0,t.jsx)(d.td,{children:"API key for authenticating with NVIDIA's service"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"temperature"}),(0,t.jsx)(d.td,{children:"Float"}),(0,t.jsxs)(d.td,{children:["Model temperature for embedding generation (default: ",(0,t.jsx)(d.code,{children:"0.1"}),")"]})]})]})]}),"\n",(0,t.jsx)(d.h3,{id:"outputs-12",children:"Outputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Type"}),(0,t.jsx)(d.th,{children:"Description"})]})}),(0,t.jsx)(d.tbody,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"embeddings"}),(0,t.jsx)(d.td,{children:"Embeddings"}),(0,t.jsx)(d.td,{children:"NVIDIAEmbeddings instance for generating embeddings"})]})})]}),"\n",(0,t.jsx)(d.h2,{id:"ollama-embeddings",children:"Ollama Embeddings"}),"\n",(0,t.jsxs)(d.p,{children:["This component generates embeddings using ",(0,t.jsx)(d.a,{href:"https://ollama.com/",children:"Ollama models"}),"."]}),"\n",(0,t.jsx)(d.h3,{id:"inputs-13",children:"Inputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Type"}),(0,t.jsx)(d.th,{children:"Description"})]})}),(0,t.jsxs)(d.tbody,{children:[(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Ollama Model"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsxs)(d.td,{children:["Name of the Ollama model to use (default: ",(0,t.jsx)(d.code,{children:"llama2"}),")"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Ollama Base URL"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsxs)(d.td,{children:["Base URL of the Ollama API (default: ",(0,t.jsx)(d.code,{children:"http://localhost:11434"}),")"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Model Temperature"}),(0,t.jsx)(d.td,{children:"Float"}),(0,t.jsx)(d.td,{children:"Temperature parameter for the model. Adjusts the randomness in the generated embeddings"})]})]})]}),"\n",(0,t.jsx)(d.h3,{id:"outputs-13",children:"Outputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Type"}),(0,t.jsx)(d.th,{children:"Description"})]})}),(0,t.jsx)(d.tbody,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"embeddings"}),(0,t.jsx)(d.td,{children:"Embeddings"}),(0,t.jsx)(d.td,{children:"An instance for generating embeddings using Ollama"})]})})]}),"\n",(0,t.jsx)(d.h2,{id:"openai-embeddings",children:"OpenAI Embeddings"}),"\n",(0,t.jsxs)(d.p,{children:["This component is used to load embedding models from ",(0,t.jsx)(d.a,{href:"https://openai.com/",children:"OpenAI"}),"."]}),"\n",(0,t.jsx)(d.h3,{id:"inputs-14",children:"Inputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Type"}),(0,t.jsx)(d.th,{children:"Description"})]})}),(0,t.jsxs)(d.tbody,{children:[(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"OpenAI API Key"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsx)(d.td,{children:"The API key to use for accessing the OpenAI API"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Default Headers"}),(0,t.jsx)(d.td,{children:"Dict"}),(0,t.jsx)(d.td,{children:"Default headers for the HTTP requests"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Default Query"}),(0,t.jsx)(d.td,{children:"NestedDict"}),(0,t.jsx)(d.td,{children:"Default query parameters for the HTTP requests"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Allowed Special"}),(0,t.jsx)(d.td,{children:"List"}),(0,t.jsxs)(d.td,{children:["Special tokens allowed for processing (default: ",(0,t.jsx)(d.code,{children:"[]"}),")"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Disallowed Special"}),(0,t.jsx)(d.td,{children:"List"}),(0,t.jsxs)(d.td,{children:["Special tokens disallowed for processing (default: ",(0,t.jsx)(d.code,{children:'["all"]'}),")"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Chunk Size"}),(0,t.jsx)(d.td,{children:"Integer"}),(0,t.jsxs)(d.td,{children:["Chunk size for processing (default: ",(0,t.jsx)(d.code,{children:"1000"}),")"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Client"}),(0,t.jsx)(d.td,{children:"Any"}),(0,t.jsx)(d.td,{children:"HTTP client for making requests"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Deployment"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsxs)(d.td,{children:["Deployment name for the model (default: ",(0,t.jsx)(d.code,{children:"text-embedding-3-small"}),")"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Embedding Context Length"}),(0,t.jsx)(d.td,{children:"Integer"}),(0,t.jsxs)(d.td,{children:["Length of embedding context (default: ",(0,t.jsx)(d.code,{children:"8191"}),")"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Max Retries"}),(0,t.jsx)(d.td,{children:"Integer"}),(0,t.jsxs)(d.td,{children:["Maximum number of retries for failed requests (default: ",(0,t.jsx)(d.code,{children:"6"}),")"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Model"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsxs)(d.td,{children:["Name of the model to use (default: ",(0,t.jsx)(d.code,{children:"text-embedding-3-small"}),")"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Model Kwargs"}),(0,t.jsx)(d.td,{children:"NestedDict"}),(0,t.jsx)(d.td,{children:"Additional keyword arguments for the model"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"OpenAI API Base"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsx)(d.td,{children:"Base URL of the OpenAI API"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"OpenAI API Type"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsx)(d.td,{children:"Type of the OpenAI API"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"OpenAI API Version"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsx)(d.td,{children:"Version of the OpenAI API"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"OpenAI Organization"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsx)(d.td,{children:"Organization associated with the API key"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"OpenAI Proxy"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsx)(d.td,{children:"Proxy server for the requests"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Request Timeout"}),(0,t.jsx)(d.td,{children:"Float"}),(0,t.jsx)(d.td,{children:"Timeout for the HTTP requests"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Show Progress Bar"}),(0,t.jsx)(d.td,{children:"Boolean"}),(0,t.jsxs)(d.td,{children:["Whether to show a progress bar for processing (default: ",(0,t.jsx)(d.code,{children:"False"}),")"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"Skip Empty"}),(0,t.jsx)(d.td,{children:"Boolean"}),(0,t.jsxs)(d.td,{children:["Whether to skip empty inputs (default: ",(0,t.jsx)(d.code,{children:"False"}),")"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"TikToken Enable"}),(0,t.jsx)(d.td,{children:"Boolean"}),(0,t.jsxs)(d.td,{children:["Whether to enable TikToken (default: ",(0,t.jsx)(d.code,{children:"True"}),")"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"TikToken Model Name"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsx)(d.td,{children:"Name of the TikToken model"})]})]})]}),"\n",(0,t.jsx)(d.h3,{id:"outputs-14",children:"Outputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Type"}),(0,t.jsx)(d.th,{children:"Description"})]})}),(0,t.jsx)(d.tbody,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"embeddings"}),(0,t.jsx)(d.td,{children:"Embeddings"}),(0,t.jsx)(d.td,{children:"An instance for generating embeddings using OpenAI"})]})})]}),"\n",(0,t.jsx)(d.h2,{id:"text-embedder",children:"Text embedder"}),"\n",(0,t.jsx)(d.p,{children:"This component generates embeddings for a given message using a specified embedding model."}),"\n",(0,t.jsx)(d.h3,{id:"inputs-15",children:"Inputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Display Name"}),(0,t.jsx)(d.th,{children:"Info"})]})}),(0,t.jsxs)(d.tbody,{children:[(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"embedding_model"}),(0,t.jsx)(d.td,{children:"Embedding Model"}),(0,t.jsx)(d.td,{children:"The embedding model to use for generating embeddings."})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"message"}),(0,t.jsx)(d.td,{children:"Message"}),(0,t.jsx)(d.td,{children:"The message for which to generate embeddings."})]})]})]}),"\n",(0,t.jsx)(d.h3,{id:"outputs-15",children:"Outputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Display Name"}),(0,t.jsx)(d.th,{children:"Info"})]})}),(0,t.jsx)(d.tbody,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"embeddings"}),(0,t.jsx)(d.td,{children:"Embedding Data"}),(0,t.jsx)(d.td,{children:"Data object containing the original text and its embedding vector."})]})})]}),"\n",(0,t.jsx)(d.h2,{id:"vertexai-embeddings",children:"VertexAI Embeddings"}),"\n",(0,t.jsxs)(d.p,{children:["This component is a wrapper around ",(0,t.jsx)(d.a,{href:"https://cloud.google.com/vertex-ai",children:"Google Vertex AI"})," ",(0,t.jsx)(d.a,{href:"https://cloud.google.com/vertex-ai/docs/generative-ai/embeddings/get-text-embeddings",children:"Embeddings API"}),"."]}),"\n",(0,t.jsx)(d.h3,{id:"inputs-16",children:"Inputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Type"}),(0,t.jsx)(d.th,{children:"Description"})]})}),(0,t.jsxs)(d.tbody,{children:[(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"credentials"}),(0,t.jsx)(d.td,{children:"Credentials"}),(0,t.jsx)(d.td,{children:"The default custom credentials to use"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"location"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsxs)(d.td,{children:["The default location to use when making API calls (default: ",(0,t.jsx)(d.code,{children:"us-central1"}),")"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"max_output_tokens"}),(0,t.jsx)(d.td,{children:"Integer"}),(0,t.jsxs)(d.td,{children:["Token limit determines the maximum amount of text output from one prompt (default: ",(0,t.jsx)(d.code,{children:"128"}),")"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"model_name"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsxs)(d.td,{children:["The name of the Vertex AI large language model (default: ",(0,t.jsx)(d.code,{children:"text-bison"}),")"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"project"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsx)(d.td,{children:"The default GCP project to use when making Vertex API calls"})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"request_parallelism"}),(0,t.jsx)(d.td,{children:"Integer"}),(0,t.jsxs)(d.td,{children:["The amount of parallelism allowed for requests issued to VertexAI models (default: ",(0,t.jsx)(d.code,{children:"5"}),")"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"temperature"}),(0,t.jsx)(d.td,{children:"Float"}),(0,t.jsxs)(d.td,{children:["Tunes the degree of randomness in text generations. Should be a non-negative value (default: ",(0,t.jsx)(d.code,{children:"0"}),")"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"top_k"}),(0,t.jsx)(d.td,{children:"Integer"}),(0,t.jsxs)(d.td,{children:["How the model selects tokens for output, the next token is selected from the top ",(0,t.jsx)(d.code,{children:"k"})," tokens (default: ",(0,t.jsx)(d.code,{children:"40"}),")"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"top_p"}),(0,t.jsx)(d.td,{children:"Float"}),(0,t.jsxs)(d.td,{children:["Tokens are selected from the most probable to least until the sum of their probabilities exceeds the top ",(0,t.jsx)(d.code,{children:"p"})," value (default: ",(0,t.jsx)(d.code,{children:"0.95"}),")"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"tuned_model_name"}),(0,t.jsx)(d.td,{children:"String"}),(0,t.jsxs)(d.td,{children:["The name of a tuned model. If provided, ",(0,t.jsx)(d.code,{children:"model_name"})," is ignored"]})]}),(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"verbose"}),(0,t.jsx)(d.td,{children:"Boolean"}),(0,t.jsxs)(d.td,{children:["This parameter controls the level of detail in the output. When set to ",(0,t.jsx)(d.code,{children:"True"}),", it prints internal states of the chain to help debug (default: ",(0,t.jsx)(d.code,{children:"False"}),")"]})]})]})]}),"\n",(0,t.jsx)(d.h3,{id:"outputs-16",children:"Outputs"}),"\n",(0,t.jsxs)(d.table,{children:[(0,t.jsx)(d.thead,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.th,{children:"Name"}),(0,t.jsx)(d.th,{children:"Type"}),(0,t.jsx)(d.th,{children:"Description"})]})}),(0,t.jsx)(d.tbody,{children:(0,t.jsxs)(d.tr,{children:[(0,t.jsx)(d.td,{children:"embeddings"}),(0,t.jsx)(d.td,{children:"Embeddings"}),(0,t.jsx)(d.td,{children:"An instance for generating embeddings using VertexAI"})]})})]})]})}function a(e={}){const{wrapper:d}={...(0,i.R)(),...e.components};return d?(0,t.jsx)(d,{...e,children:(0,t.jsx)(o,{...e})}):o(e)}},80352:(e,d,n)=>{n.d(d,{A:()=>s});const s=n.p+"assets/images/url-component-fb712df73581345c0f344013ce6ff2fd.png"}}]); \ No newline at end of file diff --git a/assets/js/e6c6a4d2.dd602f32.js b/assets/js/e6c6a4d2.1123095a.js similarity index 55% rename from assets/js/e6c6a4d2.dd602f32.js rename to assets/js/e6c6a4d2.1123095a.js index 5fce0c62cd..982b8fb1d1 100644 --- a/assets/js/e6c6a4d2.dd602f32.js +++ b/assets/js/e6c6a4d2.1123095a.js @@ -1 +1 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[8504],{28453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>l});var s=n(96540);const i={},o=s.createContext(i);function a(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(o.Provider,{value:t},e.children)}},94910:(e,t,n)=>{n.r(t),n.d(t,{contentTitle:()=>l,default:()=>d,frontMatter:()=>a,metadata:()=>s,toc:()=>r});const s=JSON.parse('{"type":"api","id":"experimental-run-flow","title":"Experimental Run Flow","description":"","slug":"/experimental-run-flow","frontMatter":{},"api":{"tags":["Base"],"description":"Executes a specified flow by ID with optional input values, output selection, tweaks, and streaming capability.\\n\\nThis endpoint supports running flows with caching to enhance performance and efficiency.\\n\\n### Parameters:\\n- `flow_id` (str): The unique identifier of the flow to be executed.\\n- `inputs` (List[InputValueRequest], optional): A list of inputs specifying the input values and components\\n for the flow. Each input can target specific components and provide custom values.\\n- `outputs` (List[str], optional): A list of output names to retrieve from the executed flow.\\n If not provided, all outputs are returned.\\n- `tweaks` (Optional[Tweaks], optional): A dictionary of tweaks to customize the flow execution.\\n The tweaks can be used to modify the flow\'s parameters and components.\\n Tweaks can be overridden by the input values.\\n- `stream` (bool, optional): Specifies whether the results should be streamed. Defaults to False.\\n- `session_id` (Union[None, str], optional): An optional session ID to utilize existing session data for the flow\\n execution.\\n- `api_key_user` (User): The user associated with the current API key. Automatically resolved from the API key.\\n\\n### Returns:\\nA `RunResponse` object containing the selected outputs (or all if not specified) of the executed flow\\nand the session ID.\\nThe structure of the response accommodates multiple inputs, providing a nested list of outputs for each input.\\n\\n### Raises:\\nHTTPException: Indicates issues with finding the specified flow, invalid input formats, or internal errors during\\nflow execution.\\n\\n### Example usage:\\n```json\\nPOST /run/flow_id\\nx-api-key: YOUR_API_KEY\\nPayload:\\n{\\n \\"inputs\\": [\\n {\\"components\\": [\\"component1\\"], \\"input_value\\": \\"value1\\"},\\n {\\"components\\": [\\"component3\\"], \\"input_value\\": \\"value2\\"}\\n ],\\n \\"outputs\\": [\\"Component Name\\", \\"component_id\\"],\\n \\"tweaks\\": {\\"parameter_name\\": \\"value\\", \\"Component Name\\": {\\"parameter_name\\": \\"value\\"}, \\"component_id\\": {\\"parameter_name\\": \\"value\\"}}\\n \\"stream\\": false\\n}\\n```\\n\\nThis endpoint facilitates complex flow executions with customized inputs, outputs, and configurations,\\ncatering to diverse application requirements.","operationId":"experimental_run_flow_api_v1_run_advanced__flow_id__post","security":[{"API key query":[]},{"API key header":[]}],"parameters":[{"name":"flow_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Flow Id"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"inputs":{"anyOf":[{"items":{"properties":{"components":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Components","default":[]},"input_value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input Value"},"session":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session"},"type":{"anyOf":[{"type":"string","enum":["chat","text","any"]},{"type":"null"}],"title":"Type","description":"Defines on which components the input value should be applied. \'any\' applies to all input components.","default":"any"}},"additionalProperties":false,"type":"object","title":"InputValueRequest","examples":[{"components":["components_id","Component Name"],"input_value":"input_value","session":"session_id"},{"components":["Component Name"],"input_value":"input_value"},{"input_value":"input_value"},{"components":["Component Name"],"input_value":"input_value","session":"session_id"},{"input_value":"input_value","session":"session_id"},{"input_value":"input_value","type":"chat"},{"input_value":"{\\"key\\": \\"value\\"}","type":"json"}]},"type":"array"},{"type":"null"}],"title":"Inputs"},"outputs":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Outputs"},"tweaks":{"anyOf":[{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"object"}]},"type":"object","title":"Tweaks","description":"A dictionary of tweaks to adjust the flow\'s execution. Allows customizing flow behavior dynamically. All tweaks are overridden by the input values.","examples":[{"Component Name":{"parameter_name":"value"},"component_id":{"parameter_name":"value"},"parameter_name":"value"}]},{"type":"null"}]},"stream":{"type":"boolean","title":"Stream","default":false},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id"}},"type":"object","title":"Body_experimental_run_flow_api_v1_run_advanced__flow_id__post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"properties":{"outputs":{"anyOf":[{"items":{"properties":{"inputs":{"type":"object","title":"Inputs"},"outputs":{"items":{"anyOf":[{"properties":{"results":{"anyOf":[{},{"type":"null"}],"title":"Results"},"artifacts":{"anyOf":[{},{"type":"null"}],"title":"Artifacts"},"outputs":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Outputs"},"logs":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Logs"},"messages":{"anyOf":[{"items":{"properties":{"message":{"anyOf":[{"type":"string"},{"items":{"anyOf":[{"type":"string"},{"type":"object"}]},"type":"array"}],"title":"Message"},"sender":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sender","default":"Machine"},"sender_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sender Name","default":"AI"},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id"},"stream_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stream Url"},"component_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Id"},"files":{"items":{"properties":{"path":{"type":"string","title":"Path"},"name":{"type":"string","title":"Name"},"type":{"type":"string","title":"Type"}},"type":"object","required":["path","name","type"],"title":"File","description":"File schema."},"type":"array","title":"Files","default":[]},"type":{"type":"string","title":"Type"}},"type":"object","required":["message","type"],"title":"ChatOutputResponse","description":"Chat output response schema."},"type":"array"},{"type":"null"}],"title":"Messages"},"timedelta":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Timedelta"},"duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Duration"},"component_display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Display Name"},"component_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Id"},"used_frozen_result":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Used Frozen Result","default":false}},"type":"object","title":"ResultData"},{"type":"null"}]},"type":"array","title":"Outputs"}},"type":"object","title":"RunOutputs"},"type":"array"},{"type":"null"}],"title":"Outputs","default":[]},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id"}},"type":"object","title":"RunResponse","description":"Run response schema."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"}}}}},"method":"post","path":"/api/v1/run/advanced/{flow_id}","securitySchemes":{"OAuth2PasswordBearer":{"type":"oauth2","flows":{"password":{"scopes":{},"tokenUrl":"api/v1/login"}}},"API key query":{"type":"apiKey","in":"query","name":"x-api-key"},"API key header":{"type":"apiKey","in":"header","name":"x-api-key"}},"jsonRequestBodyExample":{"stream":false},"info":{"title":"Langflow","version":"1.3.2"},"postman":{"name":"Experimental Run Flow","description":{"content":"Executes a specified flow by ID with optional input values, output selection, tweaks, and streaming capability.\\n\\nThis endpoint supports running flows with caching to enhance performance and efficiency.\\n\\n### Parameters:\\n- `flow_id` (str): The unique identifier of the flow to be executed.\\n- `inputs` (List[InputValueRequest], optional): A list of inputs specifying the input values and components\\n for the flow. Each input can target specific components and provide custom values.\\n- `outputs` (List[str], optional): A list of output names to retrieve from the executed flow.\\n If not provided, all outputs are returned.\\n- `tweaks` (Optional[Tweaks], optional): A dictionary of tweaks to customize the flow execution.\\n The tweaks can be used to modify the flow\'s parameters and components.\\n Tweaks can be overridden by the input values.\\n- `stream` (bool, optional): Specifies whether the results should be streamed. Defaults to False.\\n- `session_id` (Union[None, str], optional): An optional session ID to utilize existing session data for the flow\\n execution.\\n- `api_key_user` (User): The user associated with the current API key. Automatically resolved from the API key.\\n\\n### Returns:\\nA `RunResponse` object containing the selected outputs (or all if not specified) of the executed flow\\nand the session ID.\\nThe structure of the response accommodates multiple inputs, providing a nested list of outputs for each input.\\n\\n### Raises:\\nHTTPException: Indicates issues with finding the specified flow, invalid input formats, or internal errors during\\nflow execution.\\n\\n### Example usage:\\n```json\\nPOST /run/flow_id\\nx-api-key: YOUR_API_KEY\\nPayload:\\n{\\n \\"inputs\\": [\\n {\\"components\\": [\\"component1\\"], \\"input_value\\": \\"value1\\"},\\n {\\"components\\": [\\"component3\\"], \\"input_value\\": \\"value2\\"}\\n ],\\n \\"outputs\\": [\\"Component Name\\", \\"component_id\\"],\\n \\"tweaks\\": {\\"parameter_name\\": \\"value\\", \\"Component Name\\": {\\"parameter_name\\": \\"value\\"}, \\"component_id\\": {\\"parameter_name\\": \\"value\\"}}\\n \\"stream\\": false\\n}\\n```\\n\\nThis endpoint facilitates complex flow executions with customized inputs, outputs, and configurations,\\ncatering to diverse application requirements.","type":"text/plain"},"url":{"path":["api","v1","run","advanced",":flow_id"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"flow_id"}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"{\\n \\"inputs\\": [\\n {\\n \\"components\\": [\\n \\"\\",\\n \\"\\"\\n ],\\n \\"input_value\\": \\"\\",\\n \\"session\\": \\"\\",\\n \\"type\\": \\"\\"\\n },\\n {\\n \\"components\\": [\\n \\"\\",\\n \\"\\"\\n ],\\n \\"input_value\\": \\"\\",\\n \\"session\\": \\"\\",\\n \\"type\\": \\"\\"\\n }\\n ],\\n \\"outputs\\": [\\n \\"\\",\\n \\"\\"\\n ],\\n \\"tweaks\\": {\\n \\"laboris_f60\\": \\"\\",\\n \\"sedf\\": \\"\\"\\n },\\n \\"stream\\": false,\\n \\"session_id\\": \\"\\"\\n}","options":{"raw":{"language":"json"}}},"auth":{"type":"apikey","apikey":[{"type":"any","value":"x-api-key","key":"key"},{"type":"any","value":"{{apiKey}}","key":"value"},{"type":"any","value":"query","key":"in"}]}}},"source":"@site/openapi.json","sourceDirName":".","permalink":"/api/experimental-run-flow","previous":{"title":"Webhook Run Flow","permalink":"/api/webhook-run-flow"},"next":{"title":"Process","permalink":"/api/process"}}');var i=n(74848),o=n(28453);const a={},l="Experimental Run Flow",r=[{value:"Parameters:",id:"parameters",level:3},{value:"Returns:",id:"returns",level:3},{value:"Raises:",id:"raises",level:3},{value:"Example usage:",id:"example-usage",level:3}];function p(e){const t={code:"code",h1:"h1",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.header,{children:(0,i.jsx)(t.h1,{id:"experimental-run-flow",children:"Experimental Run Flow"})}),"\n",(0,i.jsx)(t.p,{children:"Executes a specified flow by ID with optional input values, output selection, tweaks, and streaming capability."}),"\n",(0,i.jsx)(t.p,{children:"This endpoint supports running flows with caching to enhance performance and efficiency."}),"\n",(0,i.jsx)(t.h3,{id:"parameters",children:"Parameters:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"flow_id"})," (str): The unique identifier of the flow to be executed."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"inputs"})," (List[InputValueRequest], optional): A list of inputs specifying the input values and components\nfor the flow. Each input can target specific components and provide custom values."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"outputs"})," (List[str], optional): A list of output names to retrieve from the executed flow.\nIf not provided, all outputs are returned."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"tweaks"})," (Optional[Tweaks], optional): A dictionary of tweaks to customize the flow execution.\nThe tweaks can be used to modify the flow's parameters and components.\nTweaks can be overridden by the input values."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"stream"})," (bool, optional): Specifies whether the results should be streamed. Defaults to False."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"session_id"})," (Union[None, str], optional): An optional session ID to utilize existing session data for the flow\nexecution."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"api_key_user"})," (User): The user associated with the current API key. Automatically resolved from the API key."]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"returns",children:"Returns:"}),"\n",(0,i.jsxs)(t.p,{children:["A ",(0,i.jsx)(t.code,{children:"RunResponse"})," object containing the selected outputs (or all if not specified) of the executed flow\nand the session ID.\nThe structure of the response accommodates multiple inputs, providing a nested list of outputs for each input."]}),"\n",(0,i.jsx)(t.h3,{id:"raises",children:"Raises:"}),"\n",(0,i.jsx)(t.p,{children:"HTTPException: Indicates issues with finding the specified flow, invalid input formats, or internal errors during\nflow execution."}),"\n",(0,i.jsx)(t.h3,{id:"example-usage",children:"Example usage:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-json",children:'POST /run/flow_id\nx-api-key: YOUR_API_KEY\nPayload:\n{\n "inputs": [\n {"components": ["component1"], "input_value": "value1"},\n {"components": ["component3"], "input_value": "value2"}\n ],\n "outputs": ["Component Name", "component_id"],\n "tweaks": {"parameter_name": "value", "Component Name": {"parameter_name": "value"}, "component_id": {"parameter_name": "value"}}\n "stream": false\n}\n'})}),"\n",(0,i.jsx)(t.p,{children:"This endpoint facilitates complex flow executions with customized inputs, outputs, and configurations,\ncatering to diverse application requirements."}),"\n",(0,i.jsxs)("table",{style:{display:"table",width:"100%"},children:[(0,i.jsx)("thead",{children:(0,i.jsx)("tr",{children:(0,i.jsx)("th",{style:{textAlign:"left"},children:"Path Parameters"})})}),(0,i.jsx)("tbody",{children:(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"flow_id"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" uuid"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,i.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-required)"},children:" REQUIRED"})]})})})]}),"\n",(0,i.jsxs)("table",{style:{display:"table",width:"100%"},children:[(0,i.jsx)("thead",{children:(0,i.jsx)("tr",{children:(0,i.jsxs)("th",{style:{textAlign:"left"},children:[(0,i.jsx)("span",{children:"Request Body "}),(0,i.jsx)("div",{})]})})}),(0,i.jsxs)("tbody",{children:[(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"inputs"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Inputs"})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"outputs"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Outputs"})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"tweaks"}),(0,i.jsx)("span",{style:{opacity:"0.6"}})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"stream"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Stream"})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"session_id"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Session Id"})]})})]})]}),"\n",(0,i.jsxs)("table",{style:{display:"table",width:"100%"},children:[(0,i.jsx)("thead",{children:(0,i.jsx)("tr",{children:(0,i.jsx)("th",{style:{textAlign:"left"},children:"Responses"})})}),(0,i.jsxs)("tbody",{children:[(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsxs)("div",{style:{display:"flex"},children:[(0,i.jsx)("div",{style:{marginRight:"var(--ifm-table-cell-padding)"},children:(0,i.jsx)("code",{children:"200"})}),(0,i.jsx)("div",{children:(0,i.jsx)(t.p,{children:"Successful Response"})})]}),(0,i.jsx)("div",{children:(0,i.jsxs)("table",{style:{display:"table",width:"100%",marginTop:"var(--ifm-table-cell-padding)",marginBottom:"0px"},children:[(0,i.jsx)("thead",{children:(0,i.jsx)("tr",{children:(0,i.jsxs)("th",{style:{textAlign:"left"},children:[(0,i.jsx)("span",{children:"Schema "}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,i.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"}),(0,i.jsx)("div",{})]})})}),(0,i.jsxs)("tbody",{children:[(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"outputs"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Outputs"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,i.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"session_id"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Session Id"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,i.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"})]})})]})]})})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsxs)("div",{style:{display:"flex"},children:[(0,i.jsx)("div",{style:{marginRight:"var(--ifm-table-cell-padding)"},children:(0,i.jsx)("code",{children:"422"})}),(0,i.jsx)("div",{children:(0,i.jsx)(t.p,{children:"Validation Error"})})]}),(0,i.jsx)("div",{children:(0,i.jsxs)("table",{style:{display:"table",width:"100%",marginTop:"var(--ifm-table-cell-padding)",marginBottom:"0px"},children:[(0,i.jsx)("thead",{children:(0,i.jsx)("tr",{children:(0,i.jsxs)("th",{style:{textAlign:"left"},children:[(0,i.jsx)("span",{children:"Schema "}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,i.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"}),(0,i.jsx)("div",{})]})})}),(0,i.jsx)("tbody",{children:(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"detail"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" object[]"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,i.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"}),(0,i.jsx)("table",{style:{display:"table",width:"100%",marginTop:"var(--ifm-table-cell-padding)",marginBottom:"0px"},children:(0,i.jsxs)("tbody",{children:[(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"loc"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" undefined[]"})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"msg"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Message"})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"type"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Error Type"})]})})]})})]})})})]})})]})})]})]})]})}function d(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}}}]); \ No newline at end of file +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[8504],{28453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>l});var s=n(96540);const i={},o=s.createContext(i);function a(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(o.Provider,{value:t},e.children)}},94910:(e,t,n)=>{n.r(t),n.d(t,{contentTitle:()=>l,default:()=>d,frontMatter:()=>a,metadata:()=>s,toc:()=>r});const s=JSON.parse('{"type":"api","id":"experimental-run-flow","title":"Experimental Run Flow","description":"","slug":"/experimental-run-flow","frontMatter":{},"api":{"tags":["Base"],"description":"Executes a specified flow by ID with optional input values, output selection, tweaks, and streaming capability.\\n\\nThis endpoint supports running flows with caching to enhance performance and efficiency.\\n\\n### Parameters:\\n- `flow_id` (str): The unique identifier of the flow to be executed.\\n- `inputs` (List[InputValueRequest], optional): A list of inputs specifying the input values and components\\n for the flow. Each input can target specific components and provide custom values.\\n- `outputs` (List[str], optional): A list of output names to retrieve from the executed flow.\\n If not provided, all outputs are returned.\\n- `tweaks` (Optional[Tweaks], optional): A dictionary of tweaks to customize the flow execution.\\n The tweaks can be used to modify the flow\'s parameters and components.\\n Tweaks can be overridden by the input values.\\n- `stream` (bool, optional): Specifies whether the results should be streamed. Defaults to False.\\n- `session_id` (Union[None, str], optional): An optional session ID to utilize existing session data for the flow\\n execution.\\n- `api_key_user` (User): The user associated with the current API key. Automatically resolved from the API key.\\n\\n### Returns:\\nA `RunResponse` object containing the selected outputs (or all if not specified) of the executed flow\\nand the session ID.\\nThe structure of the response accommodates multiple inputs, providing a nested list of outputs for each input.\\n\\n### Raises:\\nHTTPException: Indicates issues with finding the specified flow, invalid input formats, or internal errors during\\nflow execution.\\n\\n### Example usage:\\n```json\\nPOST /run/flow_id\\nx-api-key: YOUR_API_KEY\\nPayload:\\n{\\n \\"inputs\\": [\\n {\\"components\\": [\\"component1\\"], \\"input_value\\": \\"value1\\"},\\n {\\"components\\": [\\"component3\\"], \\"input_value\\": \\"value2\\"}\\n ],\\n \\"outputs\\": [\\"Component Name\\", \\"component_id\\"],\\n \\"tweaks\\": {\\"parameter_name\\": \\"value\\", \\"Component Name\\": {\\"parameter_name\\": \\"value\\"}, \\"component_id\\": {\\"parameter_name\\": \\"value\\"}}\\n \\"stream\\": false\\n}\\n```\\n\\nThis endpoint facilitates complex flow executions with customized inputs, outputs, and configurations,\\ncatering to diverse application requirements.","operationId":"experimental_run_flow_api_v1_run_advanced__flow_id__post","security":[{"API key query":[]},{"API key header":[]}],"parameters":[{"name":"flow_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Flow Id"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"inputs":{"anyOf":[{"items":{"properties":{"components":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Components","default":[]},"input_value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input Value"},"session":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session"},"type":{"anyOf":[{"type":"string","enum":["chat","text","any"]},{"type":"null"}],"title":"Type","description":"Defines on which components the input value should be applied. \'any\' applies to all input components.","default":"any"}},"additionalProperties":false,"type":"object","title":"InputValueRequest","examples":[{"components":["components_id","Component Name"],"input_value":"input_value","session":"session_id"},{"components":["Component Name"],"input_value":"input_value"},{"input_value":"input_value"},{"components":["Component Name"],"input_value":"input_value","session":"session_id"},{"input_value":"input_value","session":"session_id"},{"input_value":"input_value","type":"chat"},{"input_value":"{\\"key\\": \\"value\\"}","type":"json"}]},"type":"array"},{"type":"null"}],"title":"Inputs"},"outputs":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Outputs"},"tweaks":{"anyOf":[{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"object"}]},"type":"object","title":"Tweaks","description":"A dictionary of tweaks to adjust the flow\'s execution. Allows customizing flow behavior dynamically. All tweaks are overridden by the input values.","examples":[{"Component Name":{"parameter_name":"value"},"component_id":{"parameter_name":"value"},"parameter_name":"value"}]},{"type":"null"}]},"stream":{"type":"boolean","title":"Stream","default":false},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id"}},"type":"object","title":"Body_experimental_run_flow_api_v1_run_advanced__flow_id__post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"properties":{"outputs":{"anyOf":[{"items":{"properties":{"inputs":{"type":"object","title":"Inputs"},"outputs":{"items":{"anyOf":[{"properties":{"results":{"anyOf":[{},{"type":"null"}],"title":"Results"},"artifacts":{"anyOf":[{},{"type":"null"}],"title":"Artifacts"},"outputs":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Outputs"},"logs":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Logs"},"messages":{"anyOf":[{"items":{"properties":{"message":{"anyOf":[{"type":"string"},{"items":{"anyOf":[{"type":"string"},{"type":"object"}]},"type":"array"}],"title":"Message"},"sender":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sender","default":"Machine"},"sender_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sender Name","default":"AI"},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id"},"stream_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stream Url"},"component_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Id"},"files":{"items":{"properties":{"path":{"type":"string","title":"Path"},"name":{"type":"string","title":"Name"},"type":{"type":"string","title":"Type"}},"type":"object","required":["path","name","type"],"title":"File","description":"File schema."},"type":"array","title":"Files","default":[]},"type":{"type":"string","title":"Type"}},"type":"object","required":["message","type"],"title":"ChatOutputResponse","description":"Chat output response schema."},"type":"array"},{"type":"null"}],"title":"Messages"},"timedelta":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Timedelta"},"duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Duration"},"component_display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Display Name"},"component_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Id"},"used_frozen_result":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Used Frozen Result","default":false}},"type":"object","title":"ResultData"},{"type":"null"}]},"type":"array","title":"Outputs"}},"type":"object","title":"RunOutputs"},"type":"array"},{"type":"null"}],"title":"Outputs","default":[]},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id"}},"type":"object","title":"RunResponse","description":"Run response schema."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"}}}}},"method":"post","path":"/api/v1/run/advanced/{flow_id}","securitySchemes":{"OAuth2PasswordBearer":{"type":"oauth2","flows":{"password":{"scopes":{},"tokenUrl":"api/v1/login"}}},"API key query":{"type":"apiKey","in":"query","name":"x-api-key"},"API key header":{"type":"apiKey","in":"header","name":"x-api-key"}},"jsonRequestBodyExample":{"stream":false},"info":{"title":"Langflow","version":"1.3.2"},"postman":{"name":"Experimental Run Flow","description":{"content":"Executes a specified flow by ID with optional input values, output selection, tweaks, and streaming capability.\\n\\nThis endpoint supports running flows with caching to enhance performance and efficiency.\\n\\n### Parameters:\\n- `flow_id` (str): The unique identifier of the flow to be executed.\\n- `inputs` (List[InputValueRequest], optional): A list of inputs specifying the input values and components\\n for the flow. Each input can target specific components and provide custom values.\\n- `outputs` (List[str], optional): A list of output names to retrieve from the executed flow.\\n If not provided, all outputs are returned.\\n- `tweaks` (Optional[Tweaks], optional): A dictionary of tweaks to customize the flow execution.\\n The tweaks can be used to modify the flow\'s parameters and components.\\n Tweaks can be overridden by the input values.\\n- `stream` (bool, optional): Specifies whether the results should be streamed. Defaults to False.\\n- `session_id` (Union[None, str], optional): An optional session ID to utilize existing session data for the flow\\n execution.\\n- `api_key_user` (User): The user associated with the current API key. Automatically resolved from the API key.\\n\\n### Returns:\\nA `RunResponse` object containing the selected outputs (or all if not specified) of the executed flow\\nand the session ID.\\nThe structure of the response accommodates multiple inputs, providing a nested list of outputs for each input.\\n\\n### Raises:\\nHTTPException: Indicates issues with finding the specified flow, invalid input formats, or internal errors during\\nflow execution.\\n\\n### Example usage:\\n```json\\nPOST /run/flow_id\\nx-api-key: YOUR_API_KEY\\nPayload:\\n{\\n \\"inputs\\": [\\n {\\"components\\": [\\"component1\\"], \\"input_value\\": \\"value1\\"},\\n {\\"components\\": [\\"component3\\"], \\"input_value\\": \\"value2\\"}\\n ],\\n \\"outputs\\": [\\"Component Name\\", \\"component_id\\"],\\n \\"tweaks\\": {\\"parameter_name\\": \\"value\\", \\"Component Name\\": {\\"parameter_name\\": \\"value\\"}, \\"component_id\\": {\\"parameter_name\\": \\"value\\"}}\\n \\"stream\\": false\\n}\\n```\\n\\nThis endpoint facilitates complex flow executions with customized inputs, outputs, and configurations,\\ncatering to diverse application requirements.","type":"text/plain"},"url":{"path":["api","v1","run","advanced",":flow_id"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"flow_id"}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"{\\n \\"inputs\\": [\\n {\\n \\"components\\": [\\n \\"\\",\\n \\"\\"\\n ],\\n \\"input_value\\": \\"\\",\\n \\"session\\": \\"\\",\\n \\"type\\": \\"\\"\\n },\\n {\\n \\"components\\": [\\n \\"\\",\\n \\"\\"\\n ],\\n \\"input_value\\": \\"\\",\\n \\"session\\": \\"\\",\\n \\"type\\": \\"\\"\\n }\\n ],\\n \\"outputs\\": [\\n \\"\\",\\n \\"\\"\\n ],\\n \\"tweaks\\": {\\n \\"consequat_5\\": \\"\\",\\n \\"aute_033\\": \\"\\"\\n },\\n \\"stream\\": false,\\n \\"session_id\\": \\"\\"\\n}","options":{"raw":{"language":"json"}}},"auth":{"type":"apikey","apikey":[{"type":"any","value":"x-api-key","key":"key"},{"type":"any","value":"{{apiKey}}","key":"value"},{"type":"any","value":"query","key":"in"}]}}},"source":"@site/openapi.json","sourceDirName":".","permalink":"/api/experimental-run-flow","previous":{"title":"Webhook Run Flow","permalink":"/api/webhook-run-flow"},"next":{"title":"Process","permalink":"/api/process"}}');var i=n(74848),o=n(28453);const a={},l="Experimental Run Flow",r=[{value:"Parameters:",id:"parameters",level:3},{value:"Returns:",id:"returns",level:3},{value:"Raises:",id:"raises",level:3},{value:"Example usage:",id:"example-usage",level:3}];function p(e){const t={code:"code",h1:"h1",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.header,{children:(0,i.jsx)(t.h1,{id:"experimental-run-flow",children:"Experimental Run Flow"})}),"\n",(0,i.jsx)(t.p,{children:"Executes a specified flow by ID with optional input values, output selection, tweaks, and streaming capability."}),"\n",(0,i.jsx)(t.p,{children:"This endpoint supports running flows with caching to enhance performance and efficiency."}),"\n",(0,i.jsx)(t.h3,{id:"parameters",children:"Parameters:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"flow_id"})," (str): The unique identifier of the flow to be executed."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"inputs"})," (List[InputValueRequest], optional): A list of inputs specifying the input values and components\nfor the flow. Each input can target specific components and provide custom values."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"outputs"})," (List[str], optional): A list of output names to retrieve from the executed flow.\nIf not provided, all outputs are returned."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"tweaks"})," (Optional[Tweaks], optional): A dictionary of tweaks to customize the flow execution.\nThe tweaks can be used to modify the flow's parameters and components.\nTweaks can be overridden by the input values."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"stream"})," (bool, optional): Specifies whether the results should be streamed. Defaults to False."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"session_id"})," (Union[None, str], optional): An optional session ID to utilize existing session data for the flow\nexecution."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"api_key_user"})," (User): The user associated with the current API key. Automatically resolved from the API key."]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"returns",children:"Returns:"}),"\n",(0,i.jsxs)(t.p,{children:["A ",(0,i.jsx)(t.code,{children:"RunResponse"})," object containing the selected outputs (or all if not specified) of the executed flow\nand the session ID.\nThe structure of the response accommodates multiple inputs, providing a nested list of outputs for each input."]}),"\n",(0,i.jsx)(t.h3,{id:"raises",children:"Raises:"}),"\n",(0,i.jsx)(t.p,{children:"HTTPException: Indicates issues with finding the specified flow, invalid input formats, or internal errors during\nflow execution."}),"\n",(0,i.jsx)(t.h3,{id:"example-usage",children:"Example usage:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-json",children:'POST /run/flow_id\nx-api-key: YOUR_API_KEY\nPayload:\n{\n "inputs": [\n {"components": ["component1"], "input_value": "value1"},\n {"components": ["component3"], "input_value": "value2"}\n ],\n "outputs": ["Component Name", "component_id"],\n "tweaks": {"parameter_name": "value", "Component Name": {"parameter_name": "value"}, "component_id": {"parameter_name": "value"}}\n "stream": false\n}\n'})}),"\n",(0,i.jsx)(t.p,{children:"This endpoint facilitates complex flow executions with customized inputs, outputs, and configurations,\ncatering to diverse application requirements."}),"\n",(0,i.jsxs)("table",{style:{display:"table",width:"100%"},children:[(0,i.jsx)("thead",{children:(0,i.jsx)("tr",{children:(0,i.jsx)("th",{style:{textAlign:"left"},children:"Path Parameters"})})}),(0,i.jsx)("tbody",{children:(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"flow_id"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" uuid"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,i.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-required)"},children:" REQUIRED"})]})})})]}),"\n",(0,i.jsxs)("table",{style:{display:"table",width:"100%"},children:[(0,i.jsx)("thead",{children:(0,i.jsx)("tr",{children:(0,i.jsxs)("th",{style:{textAlign:"left"},children:[(0,i.jsx)("span",{children:"Request Body "}),(0,i.jsx)("div",{})]})})}),(0,i.jsxs)("tbody",{children:[(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"inputs"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Inputs"})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"outputs"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Outputs"})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"tweaks"}),(0,i.jsx)("span",{style:{opacity:"0.6"}})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"stream"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Stream"})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"session_id"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Session Id"})]})})]})]}),"\n",(0,i.jsxs)("table",{style:{display:"table",width:"100%"},children:[(0,i.jsx)("thead",{children:(0,i.jsx)("tr",{children:(0,i.jsx)("th",{style:{textAlign:"left"},children:"Responses"})})}),(0,i.jsxs)("tbody",{children:[(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsxs)("div",{style:{display:"flex"},children:[(0,i.jsx)("div",{style:{marginRight:"var(--ifm-table-cell-padding)"},children:(0,i.jsx)("code",{children:"200"})}),(0,i.jsx)("div",{children:(0,i.jsx)(t.p,{children:"Successful Response"})})]}),(0,i.jsx)("div",{children:(0,i.jsxs)("table",{style:{display:"table",width:"100%",marginTop:"var(--ifm-table-cell-padding)",marginBottom:"0px"},children:[(0,i.jsx)("thead",{children:(0,i.jsx)("tr",{children:(0,i.jsxs)("th",{style:{textAlign:"left"},children:[(0,i.jsx)("span",{children:"Schema "}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,i.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"}),(0,i.jsx)("div",{})]})})}),(0,i.jsxs)("tbody",{children:[(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"outputs"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Outputs"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,i.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"session_id"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Session Id"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,i.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"})]})})]})]})})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsxs)("div",{style:{display:"flex"},children:[(0,i.jsx)("div",{style:{marginRight:"var(--ifm-table-cell-padding)"},children:(0,i.jsx)("code",{children:"422"})}),(0,i.jsx)("div",{children:(0,i.jsx)(t.p,{children:"Validation Error"})})]}),(0,i.jsx)("div",{children:(0,i.jsxs)("table",{style:{display:"table",width:"100%",marginTop:"var(--ifm-table-cell-padding)",marginBottom:"0px"},children:[(0,i.jsx)("thead",{children:(0,i.jsx)("tr",{children:(0,i.jsxs)("th",{style:{textAlign:"left"},children:[(0,i.jsx)("span",{children:"Schema "}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,i.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"}),(0,i.jsx)("div",{})]})})}),(0,i.jsx)("tbody",{children:(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"detail"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" object[]"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" \u2014 "}),(0,i.jsx)("strong",{style:{fontSize:"var(--ifm-code-font-size)",color:"var(--openapi-optional)"},children:" OPTIONAL"}),(0,i.jsx)("table",{style:{display:"table",width:"100%",marginTop:"var(--ifm-table-cell-padding)",marginBottom:"0px"},children:(0,i.jsxs)("tbody",{children:[(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"loc"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" undefined[]"})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"msg"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Message"})]})}),(0,i.jsx)("tr",{children:(0,i.jsxs)("td",{children:[(0,i.jsx)("code",{children:"type"}),(0,i.jsx)("span",{style:{opacity:"0.6"},children:" Error Type"})]})})]})})]})})})]})})]})})]})]})]})}function d(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.75277ae5.js b/assets/js/runtime~main.0cb749b2.js similarity index 97% rename from assets/js/runtime~main.75277ae5.js rename to assets/js/runtime~main.0cb749b2.js index a851e8546a..3524eb7e1a 100644 --- a/assets/js/runtime~main.75277ae5.js +++ b/assets/js/runtime~main.0cb749b2.js @@ -1 +1 @@ -(()=>{"use strict";var e,a,f,c,d,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var f=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(f.exports,f,f.exports,r),f.loaded=!0,f.exports}r.m=b,r.c=t,e=[],r.O=(a,f,c,d)=>{if(!f){var b=1/0;for(i=0;i=d)&&Object.keys(r.O).every((e=>r.O[e](f[o])))?f.splice(o--,1):(t=!1,d0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[f,c,d]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},f=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,c){if(1&c&&(e=this(e)),8&c)return e;if("object"==typeof e&&e){if(4&c&&e.__esModule)return e;if(16&c&&"function"==typeof e.then)return e}var d=Object.create(null);r.r(d);var b={};a=a||[null,f({}),f([]),f(f)];for(var t=2&c&&e;"object"==typeof t&&!~a.indexOf(t);t=f(t))Object.getOwnPropertyNames(t).forEach((a=>b[a]=()=>e[a]));return b.default=()=>e,r.d(d,b),d},r.d=(e,a)=>{for(var f in a)r.o(a,f)&&!r.o(e,f)&&Object.defineProperty(e,f,{enumerable:!0,get:a[f]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,f)=>(r.f[f](e,a),a)),[])),r.u=e=>"assets/js/"+({51:"b7251463",145:"0be1d5fe",191:"c643a6d5",230:"bc63ae25",265:"d3ca7a96",321:"6e1a9721",417:"93e16042",444:"14f42f9e",730:"86b18dd0",762:"4af57a32",768:"6d684b63",787:"672a0eba",800:"a4c0ff01",868:"dc7b1ef3",944:"d3600190",957:"c141421f",964:"05d835b4",982:"021496c4",1022:"8a61012d",1035:"24d32e91",1067:"4b04f5bc",1079:"f5818e36",1185:"c2de64b8",1227:"647965d5",1394:"8054effa",1488:"ac3cc3f5",1500:"1e9025f7",1556:"264ffc80",1563:"3ef76b56",1567:"22dd74f7",1625:"92852ade",1690:"41a97a99",1841:"de94873f",1845:"2ab0d4f5",1956:"fe6f9601",2008:"7ad92a12",2073:"7b7db446",2097:"338a6f8e",2138:"1a4e3797",2273:"e756fa26",2288:"faf7ef88",2551:"394022bb",2624:"8ff68e6f",2657:"a3ab51d1",2777:"b3ba68b4",2818:"a9b73094",3040:"2148ae42",3110:"6a2beaac",3247:"bd7ab245",3327:"6aa941bb",3347:"b5257597",3391:"f66238ae",3576:"64045095",3694:"c2b1730c",3740:"f113d167",3758:"a963b3cb",3859:"7679ca6e",3917:"c8dad5f1",3964:"829ff4d2",3968:"0e5205b8",4028:"c2ebd62a",4046:"9ac856ad",4133:"5cf11f26",4526:"8311683c",4615:"6801371f",4633:"c563aec0",4645:"fef056e9",4778:"e189eece",4784:"438e4337",4806:"fba42286",4841:"8298c1cb",4891:"ca67d85f",4930:"d2ad385b",4931:"a9b4f8aa",4954:"a71efd4a",4973:"2d2c4fcb",5107:"10156854",5109:"3542ed72",5138:"309383dc",5179:"41e3c105",5195:"b1ab2a41",5281:"a0511a5b",5284:"64ca91f1",5304:"7dbff1af",5339:"9447891f",5395:"98058046",5425:"ee32130c",5467:"40d13080",5474:"d175aa8b",5475:"18f3809a",5513:"20d49d07",5514:"02955c09",5562:"20e9af62",5572:"873ebc27",5628:"a83bc7c0",5634:"9822a706",5647:"885eb549",5673:"73af8c33",5716:"946d1cee",5718:"5ccf4833",5742:"aba21aa0",5772:"4e7126f8",5865:"e1766139",5866:"3b577cbb",5883:"61cfab8e",5894:"f178e9b3",5979:"a3a1efc2",6003:"4d983c8e",6008:"445668ec",6053:"dfc50084",6066:"3f19c00a",6080:"4d15791b",6147:"ab17fe15",6201:"9ab37888",6214:"b1220dbd",6281:"c96ce3ed",6332:"873508e7",6350:"188ee668",6419:"96eb0e67",6445:"9fb9a766",6473:"4c5e977b",6511:"320c2db0",6550:"05fbee1a",6559:"6f13807a",6682:"5a6d6120",6890:"8b85e1d0",6920:"c817e236",6949:"b36bb719",7088:"91282a5c",7098:"a7bd4aaa",7108:"688feaef",7118:"4ce9199e",7142:"d0c1f670",7159:"aecfdd3d",7165:"547df4a1",7211:"cacdc615",7338:"c39b795e",7339:"7a774ddf",7408:"3ae94ad4",7453:"fdefa9a8",7462:"921b5fc1",7472:"744aaf8b",7507:"be76515e",7713:"3a82b27e",7894:"0f44198a",8031:"25bf2d67",8054:"85112c90",8064:"274fd934",8085:"cc44357e",8102:"019dbd1f",8184:"222029a9",8188:"ecd67556",8196:"75a9e1e0",8208:"216e3ed7",8245:"5e834a3c",8298:"153f2b62",8304:"73d1a090",8356:"c6a5eaec",8401:"17896441",8504:"e6c6a4d2",8598:"44dfcf75",8661:"8f774222",8679:"3705a9c0",8921:"45476a69",8927:"ae68aa8b",8929:"172b3cfb",8953:"adef6868",8977:"e5eb12ce",9036:"850d3674",9048:"a94703ab",9099:"b1bc5ffe",9126:"169603ea",9141:"19136925",9306:"667d0790",9371:"991799c5",9431:"cd8dccb5",9453:"913561e8",9455:"54175a6c",9476:"57c9a2b8",9479:"4e038a6a",9483:"7823fa72",9555:"dedd5914",9619:"29b8e27a",9642:"eae80ce0",9647:"5e95c892",9681:"5ff9f4db",9705:"ee3b5967",9751:"25255263",9789:"537e1953",9836:"b3c57e4b",9905:"43df3697"}[e]||e)+"."+{51:"41498688",145:"b11d2d19",191:"a08bfa01",230:"618133d8",265:"9eebedef",321:"7d676d9a",417:"5cf29549",444:"66891820",730:"e24ec551",756:"240f2e9c",762:"f26eeca8",768:"91efce6f",787:"08ca0fba",800:"15dc0b4e",868:"047712b5",900:"f83a9a5d",944:"ad8345f5",957:"da9e1d2b",964:"143e1806",982:"9853829e",1022:"f9bfa397",1035:"fad9d746",1067:"1fc10d8a",1079:"812abec2",1185:"e5af6fb6",1227:"efa89a5e",1394:"c6bf3115",1488:"0fd73816",1500:"5f3a86c0",1556:"7436a87a",1563:"892a275e",1567:"dc682ff7",1625:"14cdddbe",1690:"5b40fedc",1809:"2ba71c72",1841:"2b011ec8",1845:"c98bf358",1956:"6e125142",2008:"7ff881a6",2073:"5e92d106",2097:"e2eb4320",2138:"02023697",2273:"fc3be664",2288:"c860cf3b",2551:"0813cead",2624:"be6ae30b",2657:"e301f410",2777:"637f7970",2818:"5350eff1",3040:"5d7a37e8",3042:"f1fb0b14",3110:"0cb7cba6",3247:"833af9d5",3327:"adbee5b9",3347:"387fa1fc",3391:"4d9b6bc5",3576:"40d2c1c6",3694:"5982d997",3740:"dcdb4594",3758:"2c11871c",3859:"acb07400",3917:"5b041d0c",3964:"33002324",3968:"6d49ed88",3997:"ff54fe17",4028:"6050659f",4046:"f7eca8e9",4058:"44d6af12",4133:"56fe7f12",4526:"46dbc5ed",4615:"82ac6ca0",4633:"2670172c",4645:"84194b9e",4778:"1fa775b4",4784:"71d387c2",4806:"0f85ccb8",4841:"51cb3f60",4891:"0ef69a4f",4930:"dfda092c",4931:"1f0853a9",4954:"fd1a8596",4973:"76d07199",5107:"58f6e79c",5109:"534de25b",5138:"49cc192b",5179:"4f8b011f",5195:"bebcd954",5281:"9ddc9e59",5284:"d0977c2c",5304:"11ff4120",5339:"dac8b1d8",5395:"155b5cc5",5425:"7f5d538f",5467:"f6ad2d17",5474:"96903b46",5475:"d430c771",5513:"660ad024",5514:"fc300b5a",5562:"10eed1f2",5572:"f7be1bf9",5628:"42006513",5634:"f0694192",5647:"1223eeb9",5673:"b35cb4ee",5716:"ba9361e3",5718:"31276840",5742:"60b1d5b2",5772:"163a4f9c",5865:"a4ef00d2",5866:"6a945ff6",5883:"ef8a3be4",5894:"ac90a84f",5979:"e466f08f",6003:"77fae6eb",6008:"5253986f",6053:"cc7c3771",6066:"076e5cc7",6080:"7e45c875",6147:"0bd0c5ae",6201:"01e4e67e",6214:"b3a5b04f",6281:"8dfd970e",6332:"c7e90294",6350:"1d344846",6419:"d0f0fba0",6445:"8573a1d8",6473:"b5e32ff9",6511:"ba1e7472",6550:"5ba8d59c",6559:"74aa28ab",6682:"ef396306",6890:"af012556",6920:"34191f6c",6949:"ffd67006",7088:"1f49a1ed",7098:"d9bb61a0",7108:"6c6d838d",7118:"67e70c99",7142:"1d67c07a",7159:"c7233aca",7165:"c8204949",7211:"2931db6c",7338:"02a99984",7339:"76155fed",7408:"fe273d8c",7453:"bacf1bcd",7462:"ce0affd3",7472:"534a72f5",7507:"049e4cb9",7713:"e1701edb",7894:"dccf5bfa",8031:"d39ee16a",8054:"b01ef0b9",8064:"72f6ed59",8085:"5f2b7600",8102:"415d8aa0",8158:"20de8b80",8184:"136844f0",8188:"4091a08c",8196:"cc4d06ae",8208:"4eba57d0",8245:"d723ee5e",8298:"985267e8",8304:"2790419b",8356:"ff51d102",8401:"bf953603",8504:"dd602f32",8598:"70cf61ed",8661:"cf70ad92",8679:"5cab7dcc",8913:"47209f3b",8921:"0aaacb65",8927:"9d9ff467",8929:"99703724",8953:"f5324ebd",8977:"637025ee",9036:"d3b02d7f",9048:"810f8ad8",9099:"032f6f65",9126:"81c883fb",9141:"d3838c09",9306:"8ecb1a62",9371:"f59bb3b9",9431:"d336aa34",9453:"087d9888",9455:"d3aec949",9476:"8043725a",9479:"be5b109a",9483:"b762982f",9555:"5e96820a",9619:"c627a58b",9642:"167c6e45",9647:"e6d9c2b6",9681:"1f0feb15",9705:"53ff8b44",9729:"2f32331e",9751:"3ce911cc",9789:"02bccaec",9836:"69fcbaa3",9905:"2bba93b4"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),c={},d="langflow-docs:",r.l=(e,a,f,b)=>{if(c[e])c[e].push(a);else{var t,o;if(void 0!==f)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var d=c[e];if(delete c[e],t.parentNode&&t.parentNode.removeChild(t),d&&d.forEach((e=>e(f))),a)return a(f)},s=setTimeout(u.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=u.bind(null,t.onerror),t.onload=u.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),r.p="/",r.gca=function(e){return e={10156854:"5107",17896441:"8401",19136925:"9141",25255263:"9751",64045095:"3576",98058046:"5395",b7251463:"51","0be1d5fe":"145",c643a6d5:"191",bc63ae25:"230",d3ca7a96:"265","6e1a9721":"321","93e16042":"417","14f42f9e":"444","86b18dd0":"730","4af57a32":"762","6d684b63":"768","672a0eba":"787",a4c0ff01:"800",dc7b1ef3:"868",d3600190:"944",c141421f:"957","05d835b4":"964","021496c4":"982","8a61012d":"1022","24d32e91":"1035","4b04f5bc":"1067",f5818e36:"1079",c2de64b8:"1185","647965d5":"1227","8054effa":"1394",ac3cc3f5:"1488","1e9025f7":"1500","264ffc80":"1556","3ef76b56":"1563","22dd74f7":"1567","92852ade":"1625","41a97a99":"1690",de94873f:"1841","2ab0d4f5":"1845",fe6f9601:"1956","7ad92a12":"2008","7b7db446":"2073","338a6f8e":"2097","1a4e3797":"2138",e756fa26:"2273",faf7ef88:"2288","394022bb":"2551","8ff68e6f":"2624",a3ab51d1:"2657",b3ba68b4:"2777",a9b73094:"2818","2148ae42":"3040","6a2beaac":"3110",bd7ab245:"3247","6aa941bb":"3327",b5257597:"3347",f66238ae:"3391",c2b1730c:"3694",f113d167:"3740",a963b3cb:"3758","7679ca6e":"3859",c8dad5f1:"3917","829ff4d2":"3964","0e5205b8":"3968",c2ebd62a:"4028","9ac856ad":"4046","5cf11f26":"4133","8311683c":"4526","6801371f":"4615",c563aec0:"4633",fef056e9:"4645",e189eece:"4778","438e4337":"4784",fba42286:"4806","8298c1cb":"4841",ca67d85f:"4891",d2ad385b:"4930",a9b4f8aa:"4931",a71efd4a:"4954","2d2c4fcb":"4973","3542ed72":"5109","309383dc":"5138","41e3c105":"5179",b1ab2a41:"5195",a0511a5b:"5281","64ca91f1":"5284","7dbff1af":"5304","9447891f":"5339",ee32130c:"5425","40d13080":"5467",d175aa8b:"5474","18f3809a":"5475","20d49d07":"5513","02955c09":"5514","20e9af62":"5562","873ebc27":"5572",a83bc7c0:"5628","9822a706":"5634","885eb549":"5647","73af8c33":"5673","946d1cee":"5716","5ccf4833":"5718",aba21aa0:"5742","4e7126f8":"5772",e1766139:"5865","3b577cbb":"5866","61cfab8e":"5883",f178e9b3:"5894",a3a1efc2:"5979","4d983c8e":"6003","445668ec":"6008",dfc50084:"6053","3f19c00a":"6066","4d15791b":"6080",ab17fe15:"6147","9ab37888":"6201",b1220dbd:"6214",c96ce3ed:"6281","873508e7":"6332","188ee668":"6350","96eb0e67":"6419","9fb9a766":"6445","4c5e977b":"6473","320c2db0":"6511","05fbee1a":"6550","6f13807a":"6559","5a6d6120":"6682","8b85e1d0":"6890",c817e236:"6920",b36bb719:"6949","91282a5c":"7088",a7bd4aaa:"7098","688feaef":"7108","4ce9199e":"7118",d0c1f670:"7142",aecfdd3d:"7159","547df4a1":"7165",cacdc615:"7211",c39b795e:"7338","7a774ddf":"7339","3ae94ad4":"7408",fdefa9a8:"7453","921b5fc1":"7462","744aaf8b":"7472",be76515e:"7507","3a82b27e":"7713","0f44198a":"7894","25bf2d67":"8031","85112c90":"8054","274fd934":"8064",cc44357e:"8085","019dbd1f":"8102","222029a9":"8184",ecd67556:"8188","75a9e1e0":"8196","216e3ed7":"8208","5e834a3c":"8245","153f2b62":"8298","73d1a090":"8304",c6a5eaec:"8356",e6c6a4d2:"8504","44dfcf75":"8598","8f774222":"8661","3705a9c0":"8679","45476a69":"8921",ae68aa8b:"8927","172b3cfb":"8929",adef6868:"8953",e5eb12ce:"8977","850d3674":"9036",a94703ab:"9048",b1bc5ffe:"9099","169603ea":"9126","667d0790":"9306","991799c5":"9371",cd8dccb5:"9431","913561e8":"9453","54175a6c":"9455","57c9a2b8":"9476","4e038a6a":"9479","7823fa72":"9483",dedd5914:"9555","29b8e27a":"9619",eae80ce0:"9642","5e95c892":"9647","5ff9f4db":"9681",ee3b5967:"9705","537e1953":"9789",b3c57e4b:"9836","43df3697":"9905"}[e]||e,r.p+r.u(e)},(()=>{var e={5354:0,1869:0};r.f.j=(a,f)=>{var c=r.o(e,a)?e[a]:void 0;if(0!==c)if(c)f.push(c[2]);else if(/^(1869|5354)$/.test(a))e[a]=0;else{var d=new Promise(((f,d)=>c=e[a]=[f,d]));f.push(c[2]=d);var b=r.p+r.u(a),t=new Error;r.l(b,(f=>{if(r.o(e,a)&&(0!==(c=e[a])&&(e[a]=void 0),c)){var d=f&&("load"===f.type?"missing":f.type),b=f&&f.target&&f.target.src;t.message="Loading chunk "+a+" failed.\n("+d+": "+b+")",t.name="ChunkLoadError",t.type=d,t.request=b,c[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,f)=>{var c,d,b=f[0],t=f[1],o=f[2],n=0;if(b.some((a=>0!==e[a]))){for(c in t)r.o(t,c)&&(r.m[c]=t[c]);if(o)var i=o(r)}for(a&&a(f);n{"use strict";var e,a,f,c,d,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var f=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(f.exports,f,f.exports,r),f.loaded=!0,f.exports}r.m=b,r.c=t,e=[],r.O=(a,f,c,d)=>{if(!f){var b=1/0;for(i=0;i=d)&&Object.keys(r.O).every((e=>r.O[e](f[o])))?f.splice(o--,1):(t=!1,d0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[f,c,d]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},f=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,c){if(1&c&&(e=this(e)),8&c)return e;if("object"==typeof e&&e){if(4&c&&e.__esModule)return e;if(16&c&&"function"==typeof e.then)return e}var d=Object.create(null);r.r(d);var b={};a=a||[null,f({}),f([]),f(f)];for(var t=2&c&&e;"object"==typeof t&&!~a.indexOf(t);t=f(t))Object.getOwnPropertyNames(t).forEach((a=>b[a]=()=>e[a]));return b.default=()=>e,r.d(d,b),d},r.d=(e,a)=>{for(var f in a)r.o(a,f)&&!r.o(e,f)&&Object.defineProperty(e,f,{enumerable:!0,get:a[f]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,f)=>(r.f[f](e,a),a)),[])),r.u=e=>"assets/js/"+({51:"b7251463",145:"0be1d5fe",191:"c643a6d5",230:"bc63ae25",265:"d3ca7a96",321:"6e1a9721",417:"93e16042",444:"14f42f9e",730:"86b18dd0",762:"4af57a32",768:"6d684b63",787:"672a0eba",800:"a4c0ff01",868:"dc7b1ef3",944:"d3600190",957:"c141421f",964:"05d835b4",982:"021496c4",1022:"8a61012d",1035:"24d32e91",1067:"4b04f5bc",1079:"f5818e36",1185:"c2de64b8",1227:"647965d5",1394:"8054effa",1488:"ac3cc3f5",1500:"1e9025f7",1556:"264ffc80",1563:"3ef76b56",1567:"22dd74f7",1625:"92852ade",1690:"41a97a99",1841:"de94873f",1845:"2ab0d4f5",1956:"fe6f9601",2008:"7ad92a12",2073:"7b7db446",2097:"338a6f8e",2138:"1a4e3797",2273:"e756fa26",2288:"faf7ef88",2551:"394022bb",2624:"8ff68e6f",2657:"a3ab51d1",2777:"b3ba68b4",2818:"a9b73094",3040:"2148ae42",3110:"6a2beaac",3247:"bd7ab245",3327:"6aa941bb",3347:"b5257597",3391:"f66238ae",3576:"64045095",3694:"c2b1730c",3740:"f113d167",3758:"a963b3cb",3859:"7679ca6e",3917:"c8dad5f1",3964:"829ff4d2",3968:"0e5205b8",4028:"c2ebd62a",4046:"9ac856ad",4133:"5cf11f26",4526:"8311683c",4615:"6801371f",4633:"c563aec0",4645:"fef056e9",4778:"e189eece",4784:"438e4337",4806:"fba42286",4841:"8298c1cb",4891:"ca67d85f",4930:"d2ad385b",4931:"a9b4f8aa",4954:"a71efd4a",4973:"2d2c4fcb",5107:"10156854",5109:"3542ed72",5138:"309383dc",5179:"41e3c105",5195:"b1ab2a41",5281:"a0511a5b",5284:"64ca91f1",5304:"7dbff1af",5339:"9447891f",5395:"98058046",5425:"ee32130c",5467:"40d13080",5474:"d175aa8b",5475:"18f3809a",5513:"20d49d07",5514:"02955c09",5562:"20e9af62",5572:"873ebc27",5628:"a83bc7c0",5634:"9822a706",5647:"885eb549",5673:"73af8c33",5716:"946d1cee",5718:"5ccf4833",5742:"aba21aa0",5772:"4e7126f8",5865:"e1766139",5866:"3b577cbb",5883:"61cfab8e",5894:"f178e9b3",5979:"a3a1efc2",6003:"4d983c8e",6008:"445668ec",6053:"dfc50084",6066:"3f19c00a",6080:"4d15791b",6147:"ab17fe15",6201:"9ab37888",6214:"b1220dbd",6281:"c96ce3ed",6332:"873508e7",6350:"188ee668",6419:"96eb0e67",6445:"9fb9a766",6473:"4c5e977b",6511:"320c2db0",6550:"05fbee1a",6559:"6f13807a",6682:"5a6d6120",6890:"8b85e1d0",6920:"c817e236",6949:"b36bb719",7088:"91282a5c",7098:"a7bd4aaa",7108:"688feaef",7118:"4ce9199e",7142:"d0c1f670",7159:"aecfdd3d",7165:"547df4a1",7211:"cacdc615",7338:"c39b795e",7339:"7a774ddf",7408:"3ae94ad4",7453:"fdefa9a8",7462:"921b5fc1",7472:"744aaf8b",7507:"be76515e",7713:"3a82b27e",7894:"0f44198a",8031:"25bf2d67",8054:"85112c90",8064:"274fd934",8085:"cc44357e",8102:"019dbd1f",8184:"222029a9",8188:"ecd67556",8196:"75a9e1e0",8208:"216e3ed7",8245:"5e834a3c",8298:"153f2b62",8304:"73d1a090",8356:"c6a5eaec",8401:"17896441",8504:"e6c6a4d2",8598:"44dfcf75",8661:"8f774222",8679:"3705a9c0",8921:"45476a69",8927:"ae68aa8b",8929:"172b3cfb",8953:"adef6868",8977:"e5eb12ce",9036:"850d3674",9048:"a94703ab",9099:"b1bc5ffe",9126:"169603ea",9141:"19136925",9306:"667d0790",9371:"991799c5",9431:"cd8dccb5",9453:"913561e8",9455:"54175a6c",9476:"57c9a2b8",9479:"4e038a6a",9483:"7823fa72",9555:"dedd5914",9619:"29b8e27a",9642:"eae80ce0",9647:"5e95c892",9681:"5ff9f4db",9705:"ee3b5967",9751:"25255263",9789:"537e1953",9836:"b3c57e4b",9905:"43df3697"}[e]||e)+"."+{51:"41498688",145:"b11d2d19",191:"a08bfa01",230:"618133d8",265:"9eebedef",321:"7d676d9a",417:"5cf29549",444:"66891820",730:"e24ec551",756:"240f2e9c",762:"f26eeca8",768:"91efce6f",787:"08ca0fba",800:"15dc0b4e",868:"047712b5",900:"f83a9a5d",944:"ad8345f5",957:"da9e1d2b",964:"143e1806",982:"9853829e",1022:"f9bfa397",1035:"fad9d746",1067:"1fc10d8a",1079:"812abec2",1185:"e5af6fb6",1227:"efa89a5e",1394:"c6bf3115",1488:"0fd73816",1500:"5f3a86c0",1556:"7436a87a",1563:"892a275e",1567:"dc682ff7",1625:"14cdddbe",1690:"5b40fedc",1809:"2ba71c72",1841:"2b011ec8",1845:"1a12f90a",1956:"6e125142",2008:"7ff881a6",2073:"5e92d106",2097:"e2eb4320",2138:"02023697",2273:"fc3be664",2288:"c860cf3b",2551:"0813cead",2624:"be6ae30b",2657:"e301f410",2777:"637f7970",2818:"5350eff1",3040:"5d7a37e8",3042:"f1fb0b14",3110:"0cb7cba6",3247:"833af9d5",3327:"adbee5b9",3347:"387fa1fc",3391:"4d9b6bc5",3576:"40d2c1c6",3694:"5982d997",3740:"dcdb4594",3758:"2c11871c",3859:"acb07400",3917:"5b041d0c",3964:"33002324",3968:"6d49ed88",3997:"ff54fe17",4028:"6050659f",4046:"f7eca8e9",4058:"44d6af12",4133:"56fe7f12",4526:"46dbc5ed",4615:"82ac6ca0",4633:"2670172c",4645:"84194b9e",4778:"1fa775b4",4784:"71d387c2",4806:"0f85ccb8",4841:"51cb3f60",4891:"0ef69a4f",4930:"dfda092c",4931:"1f0853a9",4954:"fd1a8596",4973:"76d07199",5107:"58f6e79c",5109:"534de25b",5138:"49cc192b",5179:"4f8b011f",5195:"bebcd954",5281:"9ddc9e59",5284:"d0977c2c",5304:"11ff4120",5339:"dac8b1d8",5395:"155b5cc5",5425:"7f5d538f",5467:"f6ad2d17",5474:"96903b46",5475:"d430c771",5513:"660ad024",5514:"fc300b5a",5562:"10eed1f2",5572:"f7be1bf9",5628:"42006513",5634:"f0694192",5647:"1223eeb9",5673:"b35cb4ee",5716:"ba9361e3",5718:"31276840",5742:"60b1d5b2",5772:"163a4f9c",5865:"a4ef00d2",5866:"6a945ff6",5883:"ef8a3be4",5894:"ac90a84f",5979:"e466f08f",6003:"77fae6eb",6008:"5253986f",6053:"cc7c3771",6066:"076e5cc7",6080:"7e45c875",6147:"0bd0c5ae",6201:"01e4e67e",6214:"b3a5b04f",6281:"8dfd970e",6332:"c7e90294",6350:"1d344846",6419:"d0f0fba0",6445:"8573a1d8",6473:"b5e32ff9",6511:"ba1e7472",6550:"5ba8d59c",6559:"74aa28ab",6682:"ef396306",6890:"af012556",6920:"34191f6c",6949:"ffd67006",7088:"1f49a1ed",7098:"d9bb61a0",7108:"6c6d838d",7118:"67e70c99",7142:"1d67c07a",7159:"c7233aca",7165:"c8204949",7211:"2931db6c",7338:"02a99984",7339:"76155fed",7408:"fe273d8c",7453:"bacf1bcd",7462:"57ad214f",7472:"534a72f5",7507:"049e4cb9",7713:"e1701edb",7894:"dccf5bfa",8031:"d39ee16a",8054:"b01ef0b9",8064:"72f6ed59",8085:"5f2b7600",8102:"415d8aa0",8158:"20de8b80",8184:"136844f0",8188:"4091a08c",8196:"cc4d06ae",8208:"4eba57d0",8245:"d723ee5e",8298:"985267e8",8304:"2790419b",8356:"ff51d102",8401:"bf953603",8504:"1123095a",8598:"70cf61ed",8661:"cf70ad92",8679:"5cab7dcc",8913:"47209f3b",8921:"0aaacb65",8927:"9d9ff467",8929:"99703724",8953:"f5324ebd",8977:"637025ee",9036:"d3b02d7f",9048:"810f8ad8",9099:"032f6f65",9126:"81c883fb",9141:"d3838c09",9306:"8ecb1a62",9371:"f59bb3b9",9431:"d336aa34",9453:"087d9888",9455:"d3aec949",9476:"8043725a",9479:"be5b109a",9483:"b762982f",9555:"5e96820a",9619:"c627a58b",9642:"167c6e45",9647:"e6d9c2b6",9681:"1f0feb15",9705:"53ff8b44",9729:"2f32331e",9751:"3ce911cc",9789:"02bccaec",9836:"69fcbaa3",9905:"2bba93b4"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),c={},d="langflow-docs:",r.l=(e,a,f,b)=>{if(c[e])c[e].push(a);else{var t,o;if(void 0!==f)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var d=c[e];if(delete c[e],t.parentNode&&t.parentNode.removeChild(t),d&&d.forEach((e=>e(f))),a)return a(f)},s=setTimeout(u.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=u.bind(null,t.onerror),t.onload=u.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),r.p="/",r.gca=function(e){return e={10156854:"5107",17896441:"8401",19136925:"9141",25255263:"9751",64045095:"3576",98058046:"5395",b7251463:"51","0be1d5fe":"145",c643a6d5:"191",bc63ae25:"230",d3ca7a96:"265","6e1a9721":"321","93e16042":"417","14f42f9e":"444","86b18dd0":"730","4af57a32":"762","6d684b63":"768","672a0eba":"787",a4c0ff01:"800",dc7b1ef3:"868",d3600190:"944",c141421f:"957","05d835b4":"964","021496c4":"982","8a61012d":"1022","24d32e91":"1035","4b04f5bc":"1067",f5818e36:"1079",c2de64b8:"1185","647965d5":"1227","8054effa":"1394",ac3cc3f5:"1488","1e9025f7":"1500","264ffc80":"1556","3ef76b56":"1563","22dd74f7":"1567","92852ade":"1625","41a97a99":"1690",de94873f:"1841","2ab0d4f5":"1845",fe6f9601:"1956","7ad92a12":"2008","7b7db446":"2073","338a6f8e":"2097","1a4e3797":"2138",e756fa26:"2273",faf7ef88:"2288","394022bb":"2551","8ff68e6f":"2624",a3ab51d1:"2657",b3ba68b4:"2777",a9b73094:"2818","2148ae42":"3040","6a2beaac":"3110",bd7ab245:"3247","6aa941bb":"3327",b5257597:"3347",f66238ae:"3391",c2b1730c:"3694",f113d167:"3740",a963b3cb:"3758","7679ca6e":"3859",c8dad5f1:"3917","829ff4d2":"3964","0e5205b8":"3968",c2ebd62a:"4028","9ac856ad":"4046","5cf11f26":"4133","8311683c":"4526","6801371f":"4615",c563aec0:"4633",fef056e9:"4645",e189eece:"4778","438e4337":"4784",fba42286:"4806","8298c1cb":"4841",ca67d85f:"4891",d2ad385b:"4930",a9b4f8aa:"4931",a71efd4a:"4954","2d2c4fcb":"4973","3542ed72":"5109","309383dc":"5138","41e3c105":"5179",b1ab2a41:"5195",a0511a5b:"5281","64ca91f1":"5284","7dbff1af":"5304","9447891f":"5339",ee32130c:"5425","40d13080":"5467",d175aa8b:"5474","18f3809a":"5475","20d49d07":"5513","02955c09":"5514","20e9af62":"5562","873ebc27":"5572",a83bc7c0:"5628","9822a706":"5634","885eb549":"5647","73af8c33":"5673","946d1cee":"5716","5ccf4833":"5718",aba21aa0:"5742","4e7126f8":"5772",e1766139:"5865","3b577cbb":"5866","61cfab8e":"5883",f178e9b3:"5894",a3a1efc2:"5979","4d983c8e":"6003","445668ec":"6008",dfc50084:"6053","3f19c00a":"6066","4d15791b":"6080",ab17fe15:"6147","9ab37888":"6201",b1220dbd:"6214",c96ce3ed:"6281","873508e7":"6332","188ee668":"6350","96eb0e67":"6419","9fb9a766":"6445","4c5e977b":"6473","320c2db0":"6511","05fbee1a":"6550","6f13807a":"6559","5a6d6120":"6682","8b85e1d0":"6890",c817e236:"6920",b36bb719:"6949","91282a5c":"7088",a7bd4aaa:"7098","688feaef":"7108","4ce9199e":"7118",d0c1f670:"7142",aecfdd3d:"7159","547df4a1":"7165",cacdc615:"7211",c39b795e:"7338","7a774ddf":"7339","3ae94ad4":"7408",fdefa9a8:"7453","921b5fc1":"7462","744aaf8b":"7472",be76515e:"7507","3a82b27e":"7713","0f44198a":"7894","25bf2d67":"8031","85112c90":"8054","274fd934":"8064",cc44357e:"8085","019dbd1f":"8102","222029a9":"8184",ecd67556:"8188","75a9e1e0":"8196","216e3ed7":"8208","5e834a3c":"8245","153f2b62":"8298","73d1a090":"8304",c6a5eaec:"8356",e6c6a4d2:"8504","44dfcf75":"8598","8f774222":"8661","3705a9c0":"8679","45476a69":"8921",ae68aa8b:"8927","172b3cfb":"8929",adef6868:"8953",e5eb12ce:"8977","850d3674":"9036",a94703ab:"9048",b1bc5ffe:"9099","169603ea":"9126","667d0790":"9306","991799c5":"9371",cd8dccb5:"9431","913561e8":"9453","54175a6c":"9455","57c9a2b8":"9476","4e038a6a":"9479","7823fa72":"9483",dedd5914:"9555","29b8e27a":"9619",eae80ce0:"9642","5e95c892":"9647","5ff9f4db":"9681",ee3b5967:"9705","537e1953":"9789",b3c57e4b:"9836","43df3697":"9905"}[e]||e,r.p+r.u(e)},(()=>{var e={5354:0,1869:0};r.f.j=(a,f)=>{var c=r.o(e,a)?e[a]:void 0;if(0!==c)if(c)f.push(c[2]);else if(/^(1869|5354)$/.test(a))e[a]=0;else{var d=new Promise(((f,d)=>c=e[a]=[f,d]));f.push(c[2]=d);var b=r.p+r.u(a),t=new Error;r.l(b,(f=>{if(r.o(e,a)&&(0!==(c=e[a])&&(e[a]=void 0),c)){var d=f&&("load"===f.type?"missing":f.type),b=f&&f.target&&f.target.src;t.message="Loading chunk "+a+" failed.\n("+d+": "+b+")",t.name="ChunkLoadError",t.type=d,t.request=b,c[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,f)=>{var c,d,b=f[0],t=f[1],o=f[2],n=0;if(b.some((a=>0!==e[a]))){for(c in t)r.o(t,c)&&(r.m[c]=t[c]);if(o)var i=o(r)}for(a&&a(f);n - + diff --git a/components-agents.html b/components-agents.html index 62adba514c..f58658739b 100644 --- a/components-agents.html +++ b/components-agents.html @@ -21,7 +21,7 @@ - + diff --git a/components-bundle-components.html b/components-bundle-components.html index 645c26db25..1cf5998da6 100644 --- a/components-bundle-components.html +++ b/components-bundle-components.html @@ -21,7 +21,7 @@ - + diff --git a/components-custom-components.html b/components-custom-components.html index bb77f80776..edaee44bca 100644 --- a/components-custom-components.html +++ b/components-custom-components.html @@ -21,7 +21,7 @@ - + diff --git a/components-data.html b/components-data.html index df35021616..e039dd968f 100644 --- a/components-data.html +++ b/components-data.html @@ -21,7 +21,7 @@ - + diff --git a/components-embedding-models.html b/components-embedding-models.html index 457783c1fb..8f943a145f 100644 --- a/components-embedding-models.html +++ b/components-embedding-models.html @@ -21,7 +21,7 @@ - + @@ -119,48 +119,70 @@ There are two embeddings models in this flow that you can replace with H
  • In the Hugging Face components, set the Inference Endpoint field to the URL of your local inference model. The API Key field is not required for local inference.
  • Run the flow. The local inference models generate embeddings for the input text.
  • +

    IBM watsonx embeddings​

    +

    This component generates text using IBM watsonx.ai foundation models.

    +

    To use IBM watsonx.ai embeddings components, replace an embeddings component with the IBM watsonx.ai component in a flow.

    +

    An example document processing flow looks like the following:

    +

    IBM watsonx embeddings model loading a chroma-db with split text

    +

    This flow loads a PDF file from local storage and splits the text into chunks.

    +

    The IBM watsonx embeddings component converts the text chunks into embeddings, which are then stored in a Chroma DB vector store.

    +

    The values for API endpoint, Project ID, API key, and Model Name are found in your IBM watsonx.ai deployment. +For more information, see the Langchain documentation.

    +

    Default models​

    +

    The component supports several default models with the following vector dimensions:

    +
      +
    • sentence-transformers/all-minilm-l12-v2: 384-dimensional embeddings
    • +
    • ibm/slate-125m-english-rtrvr-v2: 768-dimensional embeddings
    • +
    • ibm/slate-30m-english-rtrvr-v2: 768-dimensional embeddings
    • +
    • intfloat/multilingual-e5-large: 1024-dimensional embeddings
    • +
    +

    The component automatically fetches and updates the list of available models from your watsonx.ai instance when you provide your API endpoint and credentials.

    +

    Inputs​

    +
    NameDisplay NameInfo
    urlwatsonx API EndpointThe base URL of the API.
    project_idwatsonx project idThe project ID for your watsonx.ai instance.
    api_keyAPI KeyThe API Key to use for the model.
    model_nameModel NameThe name of the embedding model to use.
    truncate_input_tokensTruncate Input TokensThe maximum number of tokens to process. Default: 200.
    input_textInclude the original text in the outputDetermines if the original text is included in the output. Default: True.
    +

    Outputs​

    +
    NameDisplay NameInfo
    embeddingsEmbeddingsAn instance for generating embeddings using watsonx.ai

    LM Studio Embeddings​

    This component generates embeddings using LM Studio models.

    -

    Inputs​

    +

    Inputs​

    NameDisplay NameInfo
    modelModelThe LM Studio model to use for generating embeddings
    base_urlLM Studio Base URLThe base URL for the LM Studio API
    api_keyLM Studio API KeyAPI key for authentication with LM Studio
    temperatureModel TemperatureTemperature setting for the model
    -

    Outputs​

    +

    Outputs​

    NameDisplay NameInfo
    embeddingsEmbeddingsThe generated embeddings

    MistralAI​

    This component generates embeddings using MistralAI models.

    -

    Inputs​

    +

    Inputs​

    NameTypeDescription
    modelStringThe MistralAI model to use (default: "mistral-embed")
    mistral_api_keySecretStringAPI key for authenticating with MistralAI
    max_concurrent_requestsIntegerMaximum number of concurrent API requests (default: 64)
    max_retriesIntegerMaximum number of retry attempts for failed requests (default: 5)
    timeoutIntegerRequest timeout in seconds (default: 120)
    endpointStringCustom API endpoint URL (default: https://api.mistral.ai/v1/)
    -

    Outputs​

    +

    Outputs​

    NameTypeDescription
    embeddingsEmbeddingsMistralAIEmbeddings instance for generating embeddings

    NVIDIA​

    This component generates embeddings using NVIDIA models.

    -

    Inputs​

    +

    Inputs​

    NameTypeDescription
    modelStringThe NVIDIA model to use for embeddings (e.g., nvidia/nv-embed-v1)
    base_urlStringBase URL for the NVIDIA API (default: https://integrate.api.nvidia.com/v1)
    nvidia_api_keySecretStringAPI key for authenticating with NVIDIA's service
    temperatureFloatModel temperature for embedding generation (default: 0.1)
    -

    Outputs​

    +

    Outputs​

    NameTypeDescription
    embeddingsEmbeddingsNVIDIAEmbeddings instance for generating embeddings

    Ollama Embeddings​

    This component generates embeddings using Ollama models.

    -

    Inputs​

    +

    Inputs​

    NameTypeDescription
    Ollama ModelStringName of the Ollama model to use (default: llama2)
    Ollama Base URLStringBase URL of the Ollama API (default: http://localhost:11434)
    Model TemperatureFloatTemperature parameter for the model. Adjusts the randomness in the generated embeddings
    -

    Outputs​

    +

    Outputs​

    NameTypeDescription
    embeddingsEmbeddingsAn instance for generating embeddings using Ollama

    OpenAI Embeddings​

    This component is used to load embedding models from OpenAI.

    -

    Inputs​

    +

    Inputs​

    NameTypeDescription
    OpenAI API KeyStringThe API key to use for accessing the OpenAI API
    Default HeadersDictDefault headers for the HTTP requests
    Default QueryNestedDictDefault query parameters for the HTTP requests
    Allowed SpecialListSpecial tokens allowed for processing (default: [])
    Disallowed SpecialListSpecial tokens disallowed for processing (default: ["all"])
    Chunk SizeIntegerChunk size for processing (default: 1000)
    ClientAnyHTTP client for making requests
    DeploymentStringDeployment name for the model (default: text-embedding-3-small)
    Embedding Context LengthIntegerLength of embedding context (default: 8191)
    Max RetriesIntegerMaximum number of retries for failed requests (default: 6)
    ModelStringName of the model to use (default: text-embedding-3-small)
    Model KwargsNestedDictAdditional keyword arguments for the model
    OpenAI API BaseStringBase URL of the OpenAI API
    OpenAI API TypeStringType of the OpenAI API
    OpenAI API VersionStringVersion of the OpenAI API
    OpenAI OrganizationStringOrganization associated with the API key
    OpenAI ProxyStringProxy server for the requests
    Request TimeoutFloatTimeout for the HTTP requests
    Show Progress BarBooleanWhether to show a progress bar for processing (default: False)
    Skip EmptyBooleanWhether to skip empty inputs (default: False)
    TikToken EnableBooleanWhether to enable TikToken (default: True)
    TikToken Model NameStringName of the TikToken model
    -

    Outputs​

    +

    Outputs​

    NameTypeDescription
    embeddingsEmbeddingsAn instance for generating embeddings using OpenAI

    Text embedder​

    This component generates embeddings for a given message using a specified embedding model.

    -

    Inputs​

    +

    Inputs​

    NameDisplay NameInfo
    embedding_modelEmbedding ModelThe embedding model to use for generating embeddings.
    messageMessageThe message for which to generate embeddings.
    -

    Outputs​

    +

    Outputs​

    NameDisplay NameInfo
    embeddingsEmbedding DataData object containing the original text and its embedding vector.

    VertexAI Embeddings​

    This component is a wrapper around Google Vertex AI Embeddings API.

    -

    Inputs​

    +

    Inputs​

    NameTypeDescription
    credentialsCredentialsThe default custom credentials to use
    locationStringThe default location to use when making API calls (default: us-central1)
    max_output_tokensIntegerToken limit determines the maximum amount of text output from one prompt (default: 128)
    model_nameStringThe name of the Vertex AI large language model (default: text-bison)
    projectStringThe default GCP project to use when making Vertex API calls
    request_parallelismIntegerThe amount of parallelism allowed for requests issued to VertexAI models (default: 5)
    temperatureFloatTunes the degree of randomness in text generations. Should be a non-negative value (default: 0)
    top_kIntegerHow the model selects tokens for output, the next token is selected from the top k tokens (default: 40)
    top_pFloatTokens are selected from the most probable to least until the sum of their probabilities exceeds the top p value (default: 0.95)
    tuned_model_nameStringThe name of a tuned model. If provided, model_name is ignored
    verboseBooleanThis parameter controls the level of detail in the output. When set to True, it prints internal states of the chain to help debug (default: False)
    -

    Outputs​

    -
    NameTypeDescription
    embeddingsEmbeddingsAn instance for generating embeddings using VertexAI