Files
langflow/knowledge.html
2026-06-25 13:37:38 +00:00

362 lines
72 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-1.10.0 docs-doc-page docs-doc-id-Develop/knowledge" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.2">
<title data-rh="true">Manage vector data | Langflow Documentation</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://docs.langflow.org/knowledge"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="1.10.0"><meta data-rh="true" name="docusaurus_tag" content="docs-default-1.10.0"><meta data-rh="true" name="docsearch:version" content="1.10.0"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-1.10.0"><meta data-rh="true" property="og:title" content="Manage vector data | Langflow Documentation"><meta data-rh="true" name="description" content="Vector data is critical to AI applications."><meta data-rh="true" property="og:description" content="Vector data is critical to AI applications."><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://docs.langflow.org/knowledge"><link data-rh="true" rel="alternate" href="https://docs.langflow.org/knowledge" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.langflow.org/knowledge" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://UZK6BDPCVY-dsn.algolia.net" crossorigin="anonymous"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Manage vector data","item":"https://docs.langflow.org/knowledge"}]}</script><link rel="preconnect" href="https://www.google-analytics.com">
<link rel="preconnect" href="https://www.googletagmanager.com">
<script async src="https://www.googletagmanager.com/gtag/js?id=G-SLQFLQ3KPT"></script>
<script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-SLQFLQ3KPT",{})</script>
<link rel="search" type="application/opensearchdescription+xml" title="Langflow Documentation" href="/opensearch.xml">
<script>window._ibmAnalytics={settings:{name:"DataStax",tealiumProfileName:"ibm-subsidiary"},trustarc:{privacyPolicyLink:"https://ibm.com/privacy"},"digitalData.page.services.google.enabled":!0},window.digitalData={page:{pageInfo:{ibm:{siteId:"IBM_"+_ibmAnalytics.settings.name},segment:{enabled:!0,env:"prod",key:"B04fNhD06DqDPuaRfQl5lZ2iQICdxxuh",coremetrics:!1,carbonComponentEvents:!1}},category:{primaryCategory:"PC230"}},commonProperties:{productTitle:"IBM Elite Support for Langflow",productCode:"5900BUB",productCodeType:"WWPC",UT30:"30AS5",instanceId:"docs-site",subscriptionId:"public-access",productPlanName:"Public",productPlanType:"freemium",userId:"IBMid-ANONYMOUS"}}</script>
<script src="//1.www.s81c.com/common/stats/ibm-common.js" async="true"></script>
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700&amp;family=Geist+Mono:wght@400;500&amp;family=Sora:wght@550;600&amp;display=swap">
<script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("consent","default",{ad_storage:"denied",ad_user_data:"denied",ad_personalization:"denied",analytics_storage:"denied"})</script>
<script>!function(){function e(){if(void 0!==window.truste&&window.truste.cma){var e=window.truste.cma.callApi("getConsent",window.location.href)||{},n=1===e[2],t=1===e[3];gtag("consent","update",{ad_storage:n?"granted":"denied",ad_user_data:n?"granted":"denied",ad_personalization:n?"granted":"denied",analytics_storage:t?"granted":"denied"})}}window.addEventListener&&(window.addEventListener("cm_data_subject_consent_changed",e),window.addEventListener("cm_consent_preferences_set",e)),"complete"===document.readyState?e():window.addEventListener("load",e)}()</script><link rel="stylesheet" href="/assets/css/styles.0d9d771d.css">
<script src="/assets/js/runtime~main.c313665b.js" defer="defer"></script>
<script src="/assets/js/main.12b252df.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<svg style="display: none;"><defs>
<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
</defs></svg>
<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light")),document.documentElement.setAttribute("data-theme-choice",t||"system")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="theme-layout-navbar navbar navbar--fixed-top"><div class="navbar__inner"><div class="theme-layout-navbar-left navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/lf-docs-light.svg" alt="Langflow" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/lf-docs-dark.svg" alt="Langflow" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a><div class="navbar__item dropdown dropdown--hoverable"><a aria-current="page" class="navbar__link active" aria-haspopup="true" aria-expanded="false" role="button" href="/knowledge">1.10.x</a><ul class="dropdown__menu"><li><a class="dropdown__link" href="/next/knowledge">1.11.x (Next)</a></li><li><a aria-current="page" class="dropdown__link dropdown__link--active" href="/knowledge">1.10.x</a></li><li><a class="dropdown__link" href="/1.9.0/knowledge">1.9.x</a></li><li><a class="dropdown__link" href="/1.8.0/knowledge">1.8.x</a></li></ul></div></div><div class="theme-layout-navbar-right navbar__items navbar__items--right"><a href="https://github.com/langflow-ai/langflow" target="_blank" class="navbar__item navbar__link header-github-link" aria-label="GitHub" data-event="UI Interaction" data-action="clicked" data-channel="docs" data-element-id="social-github" data-namespace="header" data-platform-title="Langflow"></a><a href="https://twitter.com/langflow_ai" target="_blank" class="navbar__item navbar__link header-twitter-link" aria-label="Twitter" data-event="UI Interaction" data-action="clicked" data-channel="docs" data-element-id="social-twitter" data-namespace="header" data-platform-title="Langflow"></a><a href="https://discord.gg/EqksyE2EX9" target="_blank" class="navbar__item navbar__link header-discord-link" aria-label="Discord" data-event="UI Interaction" data-action="clicked" data-channel="docs" data-element-id="social-discord" data-namespace="header" data-platform-title="Langflow"></a><div class="toggle_MW0i colorModeToggle_DEke"><button class="clean-btn toggleButton_yw5v toggleButtonDisabled_BJd7" type="button" disabled="" title="system mode" aria-label="Switch between dark and light mode (currently system mode)"><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" focusable="false" role="presentation" class="toggleIcon_oIOL lightToggleIcon_SFTY"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" focusable="false" role="presentation" class="toggleIcon_oIOL darkToggleIcon_ekgs"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" focusable="false" role="presentation" class="toggleIcon_oIOL systemToggleIcon_yi_a"><path fill="currentColor" d="m12 21c4.971 0 9-4.029 9-9s-4.029-9-9-9-9 4.029-9 9 4.029 9 9 9zm4.95-13.95c1.313 1.313 2.05 3.093 2.05 4.95s-0.738 3.637-2.05 4.95c-1.313 1.313-3.093 2.05-4.95 2.05v-14c1.857 0 3.637 0.737 4.95 2.05z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Meta+k)" aria-keyshortcuts="Meta+k"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 24 24" aria-hidden="true"><circle cx="11" cy="11" r="8" stroke="currentColor" fill="none" stroke-width="1.4"></circle><path d="m21 21-4.3-4.3" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="theme-layout-main main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside aria-label="Documentation sidebar" class="theme-doc-sidebar-container docSidebarContainer_RSuS"><div class="sidebarViewport_pYEE"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 sidebar-group-divider"><div class="sidebar-group-label">Build</div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed sidebar-category-with-icon sidebar-icon-rocket"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/"><span title="Get started" class="categoryLinkLabel_W154">Get started</span></a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed sidebar-category-with-icon sidebar-icon-workflow"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/concepts-overview"><span title="Flows" class="categoryLinkLabel_W154">Flows</span></a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed sidebar-category-with-icon sidebar-icon-bot"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/agents"><span title="Agents" class="categoryLinkLabel_W154">Agents</span></a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed sidebar-category-with-icon sidebar-icon-plug"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/mcp-client"><span title="Model Context Protocol (MCP)" class="categoryLinkLabel_W154">Model Context Protocol (MCP)</span></a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 sidebar-group-divider"><div class="sidebar-group-label">Develop & Deploy</div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item sidebar-category-with-icon sidebar-icon-code"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" role="button" aria-expanded="true" href="/api-keys-and-authentication"><span title="Develop" class="categoryLinkLabel_W154">Develop</span></a></div><ul class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/api-keys-and-authentication"><span title="API keys and authentication" class="linkLabel_WmDU">API keys and authentication</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/jwt-authentication"><span title="JWT authentication" class="linkLabel_WmDU">JWT authentication</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/install-custom-dependencies"><span title="Install custom dependencies" class="linkLabel_WmDU">Install custom dependencies</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/configuration-global-variables"><span title="Global variables" class="linkLabel_WmDU">Global variables</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/environment-variables"><span title="Environment variables" class="linkLabel_WmDU">Environment variables</span></a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" role="button" aria-expanded="true" tabindex="0" href="/concepts-file-management"><span title="Storage and memory" class="categoryLinkLabel_W154">Storage and memory</span></a></div><ul class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/concepts-file-management"><span title="Manage files" class="linkLabel_WmDU">Manage files</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/memory"><span title="Manage memory" class="linkLabel_WmDU">Manage memory</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/session-id"><span title="Use Session IDs" class="linkLabel_WmDU">Use Session IDs</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/configuration-custom-database"><span title="Configure an external PostgreSQL database" class="linkLabel_WmDU">Configure an external PostgreSQL database</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/enterprise-database-guide"><span title="Database guide for enterprise administrators" class="linkLabel_WmDU">Database guide for enterprise administrators</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/knowledge"><span title="Manage vector data" class="linkLabel_WmDU">Manage vector data</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/memory-bases"><span title="Manage memory bases" class="linkLabel_WmDU">Manage memory bases</span></a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" tabindex="0" href="/logging"><span title="Observability" class="categoryLinkLabel_W154">Observability</span></a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/data-types"><span title="Use Langflow data types" class="linkLabel_WmDU">Use Langflow data types</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/concepts-voice-mode"><span title="Use voice mode" class="linkLabel_WmDU">Use voice mode</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/configuration-cli"><span title="Use the Langflow CLI" class="linkLabel_WmDU">Use the Langflow CLI</span></a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" tabindex="0" href="/extensions-overview"><span title="Bundle extensions" class="categoryLinkLabel_W154">Bundle extensions</span></a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed sidebar-category-with-icon sidebar-icon-cloud"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/deployment-overview"><span title="Deploy" class="categoryLinkLabel_W154">Deploy</span></a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 sidebar-group-divider"><div class="sidebar-group-label">Reference</div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed sidebar-category-with-icon sidebar-icon-blocks"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/concepts-components"><span title="Components reference" class="categoryLinkLabel_W154">Components reference</span></a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed sidebar-category-with-icon sidebar-icon-fileCode"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/api-reference-api-examples"><span title="API reference" class="categoryLinkLabel_W154">API reference</span></a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 sidebar-group-divider"><div class="sidebar-group-label">Community</div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed sidebar-category-with-icon sidebar-icon-gitPR"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/contributing-community"><span title="Contribute" class="categoryLinkLabel_W154">Contribute</span></a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed sidebar-category-with-icon sidebar-icon-helpCircle"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/troubleshoot"><span title="Support" class="categoryLinkLabel_W154">Support</span></a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 sidebar-ad">
<a href="https://www.langflow.org/desktop" target="_blank" rel="noopener noreferrer" class="menu__link">
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
<g clip-path="url(#clip0_1645_37)">
<path d="M12 17H20C21.1046 17 22 16.1046 22 15V13M12 17H4C2.89543 17 2 16.1046 2 15V5C2 3.89543 2.89543 3 4 3H10M12 17V21M8 21H12M12 21H16M11.75 10.2917H13.2083L16.125 7.375H17.5833L20.5 4.45833H21.9583M16.125 11.75H17.5833L20.5 8.83333H21.9583M11.75 5.91667H13.2083L16.125 3H17.5833" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</g>
<defs>
<clipPath id="clip0_1645_37">
<rect width="24" height="24" fill="white"/>
</clipPath>
</defs>
</svg>
<div class="sidebar-ad-text-container">
<span class="sidebar-ad-text">Get started in minutes</span>
<span class="sidebar-ad-text sidebar-ad-text-gradient">Download Langflow Desktop</span>
</div>
</a>
</li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_z5aJ"><div class="docItemContainer_c0TR"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" aria-hidden="true" focusable="false" role="presentation" class="breadcrumbHomeIcon_xK9p"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Develop</span></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Storage and memory</span></li><li class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link">Manage vector data</span></li></ul></nav><div class="docMetaRow_c2hx"><div class="root_Eutc"><button type="button" class="button_gpNY"><span aria-hidden="true" class="icon_Bm9L"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></span><span class="label_LzDG">Copy page</span></button></div><span class="theme-doc-version-badge badge badge--secondary">Version: 1.10.x</span></div><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Manage vector data</h1></header><style>[data-ch-theme="github-dark"] { --ch-t-colorScheme: dark;--ch-t-foreground: #c9d1d9;--ch-t-background: #0d1117;--ch-t-lighter-inlineBackground: #0d1117e6;--ch-t-editor-background: #0d1117;--ch-t-editor-foreground: #c9d1d9;--ch-t-editor-lineHighlightBackground: #6e76811a;--ch-t-editor-rangeHighlightBackground: #ffffff0b;--ch-t-editor-infoForeground: #3794FF;--ch-t-editor-selectionBackground: #264F78;--ch-t-focusBorder: #1f6feb;--ch-t-tab-activeBackground: #0d1117;--ch-t-tab-activeForeground: #c9d1d9;--ch-t-tab-inactiveBackground: #010409;--ch-t-tab-inactiveForeground: #8b949e;--ch-t-tab-border: #30363d;--ch-t-tab-activeBorder: #0d1117;--ch-t-editorGroup-border: #30363d;--ch-t-editorGroupHeader-tabsBackground: #010409;--ch-t-editorLineNumber-foreground: #6e7681;--ch-t-input-background: #0d1117;--ch-t-input-foreground: #c9d1d9;--ch-t-input-border: #30363d;--ch-t-icon-foreground: #8b949e;--ch-t-sideBar-background: #010409;--ch-t-sideBar-foreground: #c9d1d9;--ch-t-sideBar-border: #30363d;--ch-t-list-activeSelectionBackground: #6e768166;--ch-t-list-activeSelectionForeground: #c9d1d9;--ch-t-list-hoverBackground: #6e76811a;--ch-t-list-hoverForeground: #c9d1d9; }</style>
<!-- -->
<p>Vector data is critical to AI applications.
Langflow provides several components to help you store and retrieve vector data in your flows, including embedding models, vector stores, and knowledge bases.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="embedding-models">Embedding models<a href="#embedding-models" class="hash-link" aria-label="Direct link to Embedding models" title="Direct link to Embedding models" translate="no"></a></h2>
<p>Embedding model components generate text embeddings using a specified Large Language Model (LLM).</p>
<p>There are two common use cases for these components:</p>
<ul>
<li class=""><strong>Store vectors</strong>: Generate embeddings for content written to a vector database.</li>
<li class=""><strong>Search vectors</strong>: Generate an embedding from a query to run a similarity search.</li>
</ul>
<p>In both cases the embedding model component is attached to a vector store component.
For more information, examples, and available options, see <a class="" href="/components-embedding-models">Embedding model components</a>.</p>
<p>Alternatively, you can use <a href="#knowledge-bases" class="">knowledge bases</a>, which include built-in support for several embedding models.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="vector-stores">Vector stores<a href="#vector-stores" class="hash-link" aria-label="Direct link to Vector stores" title="Direct link to Vector stores" translate="no"></a></h2>
<p>Vector store components read and write to vector databases.
Typically, these components connect to remote databases, but some vector store components support local databases.</p>
<!-- -->
<p>By design, vector data is essential for LLM applications, such as chatbots and agents.</p>
<p>While you can use an LLM alone for generic chat interactions and common tasks, you can take your application to the next level with context sensitivity (such as RAG) and custom datasets (such as internal business data).
This often requires integrating vector databases and vector searches that provide the additional context and define meaningful queries.</p>
<p>Langflow includes vector store components that can read and write vector data, including embedding storage, similarity search, Graph RAG traversals, and dedicated search instances like OpenSearch.
Because of their interdependent functionality, it is common to use vector store, language model, and embedding model components in the same flow or in a series of dependent flows.</p>
<p>To find available vector store components, browse <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-blocks lf-inline-icon" aria-hidden="true" focusable="false" role="presentation"><rect width="7" height="7" x="14" y="3" rx="1"></rect><path d="M10 21V8a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-5a1 1 0 0 0-1-1H3"></path></svg> <a class="" href="/components-bundle-components"><strong>Bundles</strong></a> or <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search lf-inline-icon" aria-hidden="true" focusable="false" role="presentation"><circle cx="11" cy="11" r="8"></circle><path d="m21 21-4.3-4.3"></path></svg> <strong>Search</strong> for your preferred vector database provider.</p>
<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>Example: Vector search flow</summary><div><div class="collapsibleContent_i85q"><div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 12 16" role="img" aria-label="Tip icon" focusable="false"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_BuS1"><p>For a tutorial that uses vector data in a flow, see <a class="" href="/chat-with-rag">Create a vector RAG chatbot</a>.</p></div></div>
<p>The following example demonstrates how to use vector store components in flows alongside related components like embedding model and language model components.
These steps walk through important configuration details, functionality, and best practices for using these components effectively.
This is only one example; it isn&#x27;t a prescriptive guide to all possible use cases or configurations.</p>
<ol>
<li class="">
<p>Create a flow with the <strong>Vector Store RAG</strong> template.</p>
<p>This template has two subflows.
The <strong>Load Data</strong> subflow loads embeddings and content into a vector database, and the <strong>Retriever</strong> subflow runs a vector search to retrieve relevant context based on a user&#x27;s query.</p>
</li>
<li class="">
<p>Configure the database connection for both <a class="" href="/bundles-datastax#astra-db"><strong>Astra DB</strong> components</a>, or replace them with another pair of vector store components of your choice.
Make sure the components connect to the same vector store, and that the component in the <strong>Retriever</strong> subflow is able to run a similarity search.</p>
<p>The parameters you set in each vector store component depend on the component&#x27;s role in your flow.
In this example, the <strong>Load Data</strong> subflow <em>writes</em> to the vector store, whereas the <strong>Retriever</strong> subflow <em>reads</em> from the vector store.
Therefore, search-related parameters are only relevant to the <strong>Vector Search</strong> component in the <strong>Retriever</strong> subflow.</p>
<p>For information about specific parameters, see the documentation for your chosen vector store component.</p>
</li>
<li class="">
<p>To configure the embedding model, do one of the following:</p>
<ul>
<li class="">
<p><strong>Use an OpenAI model</strong>: In both <strong>OpenAI Embeddings</strong> components, enter your OpenAI API key.
You can use the default model or select a different OpenAI embedding model.</p>
</li>
<li class="">
<p><strong>Use another provider</strong>: Replace the <strong>OpenAI Embeddings</strong> components with another pair of <a class="" href="/components-embedding-models">embedding model components</a> of your choice, and then configure the parameters and credentials accordingly.</p>
</li>
<li class="">
<p><strong>Use Astra DB vectorize</strong>: If you are using an Astra DB vector store that has a vectorize integration, you can remove both <strong>OpenAI Embeddings</strong> components.
If you do this, the vectorize integration automatically generates embeddings from the <strong>Ingest Data</strong> (in the <strong>Load Data</strong> subflow) and <strong>Search Query</strong> (in the <strong>Retriever</strong> subflow).</p>
</li>
</ul>
<div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 12 16" role="img" aria-label="Tip icon" focusable="false"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_BuS1"><p>If your vector store already contains embeddings, make sure your embedding model components use the same model as your previous embeddings.
Mixing embedding models in the same vector store can produce inaccurate search results.</p></div></div>
</li>
<li class="">
<p>Recommended: In the <a class="" href="/split-text"><strong>Split Text</strong> component</a>, optimize the chunking settings for your embedding model.
For example, if your embedding model has a token limit of 512, then the <strong>Chunk Size</strong> parameter must not exceed that limit.</p>
<p>Additionally, because the <strong>Retriever</strong> subflow passes the chat input directly to the vector store component for vector search, make sure that your chat input string doesn&#x27;t exceed your embedding model&#x27;s limits.
For this example, you can enter a query that is within the limits; however, in a production environment, you might need to implement additional checks or preprocessing steps to ensure compliance.
For example, use additional components to prepare the chat input before running the vector search, or enforce chat input limits in your application code.</p>
</li>
<li class="">
<p>In the <strong>Language Model</strong> component, enter your OpenAI API key, or select a different provider and model to use for the chat portion of the flow.</p>
</li>
<li class="">
<p>Run the <strong>Load Data</strong> subflow to populate your vector store.
In the <strong>Read File</strong> component, select one or more files, and then click <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-play lf-inline-icon" aria-hidden="true" focusable="false" role="presentation"><polygon points="6 3 20 12 6 21 6 3"></polygon></svg> <strong>Run component</strong> on the vector store component in the <strong>Load Data</strong> subflow.</p>
<p>The <strong>Load Data</strong> subflow loads files from your local machine, chunks them, generates embeddings for the chunks, and then stores the chunks and their embeddings in the vector database.</p>
<p><img decoding="async" loading="lazy" alt="Embedding data into a vector store" src="/assets/images/vector-store-document-ingestion-6157311fb4d16e7f944d55254f0cc0e2.png" width="4000" height="2512" class="img_ev3q"></p>
<p>The <strong>Load Data</strong> subflow is separate from the <strong>Retriever</strong> subflow because you probably won&#x27;t run it every time you use the chat.
You can run the <strong>Load Data</strong> subflow as needed to preload or update the data in your vector store.
Then, your chat interactions only use the components that are necessary for chat.</p>
<p>If your vector store already contains data that you want to use for vector search, then you don&#x27;t need to run the <strong>Load Data</strong> subflow.</p>
</li>
<li class="">
<p>Open the <strong>Playground</strong> and start chatting to run the <strong>Retriever</strong> subflow.</p>
<p>The <strong>Retriever</strong> subflow generates an embedding from chat input, runs a vector search to retrieve similar content from your vector store, parses the search results into supplemental context for the LLM, and then uses the LLM to generate a natural language response to your query.
The LLM uses the vector search results along with its internal training data and tools, such as basic web search and datetime information, to produce the response.</p>
<p><img decoding="async" loading="lazy" alt="Retrieval from a vector store" src="/assets/images/vector-store-retrieval-af7257d77ff0259ab1a0980641d464ce.png" width="4000" height="1324" class="img_ev3q"></p>
<p>To avoid passing the entire block of raw search results to the LLM, the <strong>Parser</strong> component extracts <code>text</code> strings from the search results <code>JSON</code> object, and then passes them to the <strong>Prompt Template</strong> component in <code>Message</code> format.
From there, the strings and other template content are compiled into natural language instructions for the LLM.</p>
<p>You can use other components for this transformation, such as the <strong>JSON Operations</strong> component, depending on how you want to use the search results.</p>
<p>To view the raw search results, click <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-text-search lf-inline-icon" aria-hidden="true" focusable="false" role="presentation"><path d="M21 6H3"></path><path d="M10 12H3"></path><path d="M10 18H3"></path><circle cx="17" cy="15" r="3"></circle><path d="m21 19-1.9-1.9"></path></svg> <strong>Inspect output</strong> on the vector store component after running the <strong>Retriever</strong> subflow.</p>
</li>
</ol></div></div></details>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="knowledge-bases">Knowledge bases<a href="#knowledge-bases" class="hash-link" aria-label="Direct link to Knowledge bases" title="Direct link to Knowledge bases" translate="no"></a></h2>
<!-- -->
<p>A Langflow knowledge base is a vector database that stores embeddings for use in your flows.
By default, knowledge bases use Chroma as a local vector store, but you can configure an external vector database provider such as OpenSearch.
For more information, see <a class="" href="/knowledge#configure-vector-database-providers">Configure vector database providers</a>.</p>
<p>Because knowledge bases don&#x27;t re-ingest data with every flow run, they can be more efficient than using a remote vector database.
They are a good choice for flows that use custom, domain-specific datasets, like slices of customer and product data.</p>
<p>You can use knowledge base components in much the same way that you use vector store components.
However, there are several key differences:</p>
<ul>
<li class=""><strong>Local storage by default</strong>: Langflow knowledge bases use Chroma local storage by default.
In contrast, only some vector store components support local databases.</li>
<li class=""><strong>Built-in embedding models</strong>: Langflow knowledge bases include built-in support for several embedding models.
Other models aren&#x27;t supported for use with knowledge bases.
To use a different provider or model, you must use a vector store component along with your preferred embedding model component.</li>
<li class=""><strong>Basic similarity search</strong>: When querying Langflow knowledge bases, only standard similarity search is supported.
For more advanced searches, you must use a vector store component for a vector database provider that supports your desired functionality.</li>
<li class=""><strong>Structured data</strong>: Langflow knowledge bases only support structured data.
For unstructured data, you must use a compatible vector store component.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="create-a-knowledge-base">Create a knowledge base<a href="#create-a-knowledge-base" class="hash-link" aria-label="Direct link to Create a knowledge base" title="Direct link to Create a knowledge base" translate="no"></a></h3>
<p>In this example, you&#x27;ll create a knowledge base of chunked customer orders.
To follow along with this example, download <a href="/assets/files/customer_orders-0c1c00f9ebd1f6b3c9ede72af1b67ca2.csv" target="_blank" class=""><code>customer-orders.csv</code></a> to your local machine, or adapt the steps for your own structured data.</p>
<ol>
<li class="">
<p>On the <a class="" href="/concepts-flows#projects"><strong>Projects</strong> page</a> page, click <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-library lf-inline-icon" aria-hidden="true" focusable="false" role="presentation"><path d="m16 6 4 14"></path><path d="M12 6v14"></path><path d="M8 8v12"></path><path d="M4 4v16"></path></svg><strong>Knowledge</strong> below the list of projects to view and manage your knowledge bases.</p>
</li>
<li class="">
<p>To create a new knowledge base, click <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plus lf-inline-icon" aria-hidden="true" focusable="false" role="presentation"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg><strong>Add Knowledge</strong>.</p>
</li>
<li class="">
<p>In the <strong>Create Knowledge Base</strong> pane, enter a name for your knowledge base, select an embedding model, and select a <strong>DB Provider</strong>.</p>
<p>To edit Langflow&#x27;s global model provider configuration, do the following:</p>
<ol>
<li class="">
<p>To open the <strong>Model Providers</strong> pane, click your profile icon, select <strong>Settings</strong>, and then click <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-brain lf-inline-icon" aria-hidden="true" focusable="false" role="presentation"><path d="M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z"></path><path d="M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z"></path><path d="M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4"></path><path d="M17.599 6.5a3 3 0 0 0 .399-1.375"></path><path d="M6.003 5.125A3 3 0 0 0 6.401 6.5"></path><path d="M3.477 10.896a4 4 0 0 1 .585-.396"></path><path d="M19.938 10.5a4 4 0 0 1 .585.396"></path><path d="M6 18a4 4 0 0 1-1.967-.516"></path><path d="M19.967 17.484A4 4 0 0 1 18 18"></path></svg> <strong>Model Providers</strong>.</p>
</li>
<li class="">
<p>In the <strong>Model Providers</strong> pane, select a provider.</p>
</li>
<li class="">
<p>In the <strong>API Key</strong> field, add your provider&#x27;s API key. Some providers require additional configuration fields. For more information, see the model provider&#x27;s documentation.</p>
<p>The key must have permission to call the models you want to use in your flow, and your account must have sufficient credits for the actions you want to perform.</p>
<p>You can only add one key for each provider. Make sure the key has access to <em>all</em> models that you want to use in Langflow.</p>
</li>
<li class="">
<p>Click <strong>Save</strong>.</p>
</li>
<li class="">
<p>Enable the specific models that you want to use in Langflow.
The available models depend on the provider and your API key&#x27;s permissions.
Models that generate text are listed under <strong>Language Models</strong>.
Models that generate embeddings are listed under <strong>Embedding Models</strong>.</p>
</li>
</ol>
<p>After you enable a model in Langflow&#x27;s global model configuration, you can use that model in any model-driven component in your flows.</p>
<p>The <strong>DB Provider</strong> determines where embeddings are stored. It defaults to the provider configured in <strong>Settings → DB Providers</strong>. Existing knowledge bases keep their original backend, so changing the global DB Provider only affects new knowledge bases.</p>
<p>Once you create a knowledge base, you cannot change its embedding model or DB provider. If you need to change either, you must delete and recreate the knowledge base.</p>
</li>
<li class="">
<p>Optional: Add <strong>Custom Metadata Fields</strong> to tag every chunk with additional context. For example, if you&#x27;re ingesting files from multiple teams, add a field <code>team</code> with a value of <code>support</code>. When the <strong>Knowledge Base</strong> component searches, you can then filter results to only return chunks where <code>team</code> equals <code>support</code> to keep results scoped to the support team&#x27;s content.</p>
</li>
<li class="">
<p>To configure sources for your knowledge base, click <strong>Configure Sources</strong>.
Optionally, to create an empty knowledge base, click <strong>Create</strong>.</p>
</li>
<li class="">
<p>In the <strong>Configure Sources</strong> pane, configure the sources for your knowledge base&#x27;s data, and also how the embedded data will be chunked for vector search retrieval.
For this example, click <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-upload lf-inline-icon" aria-hidden="true" focusable="false" role="presentation"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="17 8 12 3 7 8"></polyline><line x1="12" x2="12" y1="3" y2="15"></line></svg><strong>Add Sources</strong>, and then select the downloaded <a href="/assets/files/customer_orders-0c1c00f9ebd1f6b3c9ede72af1b67ca2.csv" target="_blank" class=""><code>customer-orders.csv</code></a> file from your local machine.
The default settings for <strong>Chunk Size</strong>, <strong>Chunk Overlap</strong>, and <strong>Separator</strong> are fine.
To continue, click <strong>Next Step</strong>.</p>
</li>
<li class="">
<p>The <strong>Review &amp; Build</strong> pane allows you to preview your first chunk before you commit to spending tokens to embed all of the data into the knowledge base.
A typical chunk size is 5121000 characters. Smaller chunks support more granular retrieval but they can lose context across chunks.
If the chunk isn&#x27;t what you want to embed, click <strong>Back</strong> to configure your chunking strategy.
To embed this data, click <strong>Create</strong>.</p>
</li>
<li class="">
<p>Your data is embedded as a <strong>Knowledge</strong>.
When it is available to use, the <strong>Status</strong> changes to <strong>Ready</strong>.</p>
</li>
</ol>
<p>To use the new knowledge base in a flow, see <a class="" href="/knowledge-base">Use the Knowledge Base component in a flow</a>.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="manage-knowledge-bases">Manage knowledge bases<a href="#manage-knowledge-bases" class="hash-link" aria-label="Direct link to Manage knowledge bases" title="Direct link to Manage knowledge bases" translate="no"></a></h3>
<p>On the <a class="" href="/concepts-flows#projects"><strong>Projects</strong> page</a> page, click <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-library lf-inline-icon" aria-hidden="true" focusable="false" role="presentation"><path d="m16 6 4 14"></path><path d="M12 6v14"></path><path d="M8 8v12"></path><path d="M4 4v16"></path></svg><strong>Knowledge</strong> below the list of projects to view and manage your knowledge bases.</p>
<p>For each knowledge base, you can see the following information:</p>
<ul>
<li class="">Name</li>
<li class="">Embedding model</li>
<li class="">Size on disk</li>
<li class="">Number of words, characters, and chunks</li>
<li class="">The average length and size of chunks</li>
<li class="">The knowledge base&#x27;s status</li>
</ul>
<p>The icon next to the knowledge base name indicates the source file type:</p>
<ul>
<li class=""><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file lf-inline-icon" aria-hidden="true" focusable="false" role="presentation"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path></svg> Red — PDF</li>
<li class=""><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-chart-column lf-inline-icon" aria-hidden="true" focusable="false" role="presentation"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path><path d="M8 18v-1"></path><path d="M12 18v-6"></path><path d="M16 18v-3"></path></svg> Green — CSV</li>
<li class=""><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-type lf-inline-icon" aria-hidden="true" focusable="false" role="presentation"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path><path d="M9 13v-1h6v1"></path><path d="M12 12v6"></path><path d="M11 18h2"></path></svg> Purple — plain text (<code>.txt</code>)</li>
<li class=""><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-text lf-inline-icon" aria-hidden="true" focusable="false" role="presentation"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path><path d="M10 9H8"></path><path d="M16 13H8"></path><path d="M16 17H8"></path></svg> Fuchsia — Markdown (<code>.md</code>, <code>.mdx</code>)</li>
<li class=""><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-code lf-inline-icon" aria-hidden="true" focusable="false" role="presentation"><path d="M10 12.5 8 15l2 2.5"></path><path d="m14 12.5 2 2.5-2 2.5"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z"></path></svg> Yellow — HTML</li>
<li class=""><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-code lf-inline-icon" aria-hidden="true" focusable="false" role="presentation"><path d="M10 12.5 8 15l2 2.5"></path><path d="m14 12.5 2 2.5-2 2.5"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z"></path></svg> Blue — code files (<code>.py</code>, <code>.js</code>, <code>.ts</code>)</li>
<li class=""><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-json lf-inline-icon" aria-hidden="true" focusable="false" role="presentation"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path><path d="M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1"></path><path d="M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1"></path></svg> Indigo — JSON</li>
<li class=""><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layers lf-inline-icon" aria-hidden="true" focusable="false" role="presentation"><path d="m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z"></path><path d="m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65"></path><path d="m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65"></path></svg> — multiple source types</li>
</ul>
<p>Chunking behavior is determined by the embedding model, and the embedding model is set when you create the knowledge base.
If you need to change the embedding model, you must delete and recreate the knowledge base.</p>
<p>To update a knowledge base with , click <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-ellipsis-vertical lf-inline-icon" aria-hidden="true" focusable="false" role="presentation"><circle cx="12" cy="12" r="1"></circle><circle cx="12" cy="5" r="1"></circle><circle cx="12" cy="19" r="1"></circle></svg> <strong>More</strong>, and then select <!-- --> <strong>Update Knowledge Base</strong>.</p>
<p>To view a knowledge base&#x27;s chunks, click <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-ellipsis-vertical lf-inline-icon" aria-hidden="true" focusable="false" role="presentation"><circle cx="12" cy="12" r="1"></circle><circle cx="12" cy="5" r="1"></circle><circle cx="12" cy="19" r="1"></circle></svg> <strong>More</strong>, and then select <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layers lf-inline-icon" aria-hidden="true" focusable="false" role="presentation"><path d="m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z"></path><path d="m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65"></path><path d="m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65"></path></svg> <strong>View Chunks</strong>.</p>
<p>To delete a knowledge base, click <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-ellipsis-vertical lf-inline-icon" aria-hidden="true" focusable="false" role="presentation"><circle cx="12" cy="12" r="1"></circle><circle cx="12" cy="5" r="1"></circle><circle cx="12" cy="19" r="1"></circle></svg> <strong>More</strong>, and then click <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-trash2 lf-inline-icon" aria-hidden="true" focusable="false" role="presentation"><path d="M3 6h18"></path><path d="M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"></path><path d="M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"></path><line x1="10" x2="10" y1="11" y2="17"></line><line x1="14" x2="14" y1="11" y2="17"></line></svg> <strong>Delete</strong>.
If any flows use the deleted knowledge base, you must update them to use a different knowledge base.</p>
<p>For more information on using knowledge bases in a flow, see the <a class="" href="/knowledge-base"><strong>Knowledge Base</strong> component</a> documentation.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="configure-vector-database-providers">Configure vector database providers<a href="#configure-vector-database-providers" class="hash-link" aria-label="Direct link to Configure vector database providers" title="Direct link to Configure vector database providers" translate="no"></a></h3>
<p><strong>DB Providers</strong> are the vector databases where your knowledge bases store and search embeddings.
To configure these providers, go to <strong>Settings → DB Providers</strong>.
The selected provider applies to all new knowledge bases you create.
Existing knowledge bases continue to use the provider that was active when they were created.</p>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="chroma-default">Chroma (default)<a href="#chroma-default" class="hash-link" aria-label="Direct link to Chroma (default)" title="Direct link to Chroma (default)" translate="no"></a></h4>
<p>By default, knowledge bases use <a href="https://docs.trychroma.com/docs/overview/introduction" target="_blank" rel="noopener noreferrer" class="">ChromaDB</a> as a local vector store, with no additional setup required.
Knowledge bases are stored local to your Langflow instance.
The default storage location depends on your operating system and installation method:</p>
<ul>
<li class=""><strong>Langflow Desktop</strong>:<!-- -->
<ul>
<li class=""><strong>macOS</strong>: <code>/Users/&lt;username&gt;/.langflow/knowledge_bases</code></li>
<li class=""><strong>Windows</strong>: <code>C:\Users\&lt;name&gt;\AppData\Roaming\com.LangflowDesktop\knowledge_bases</code></li>
</ul>
</li>
<li class=""><strong>Langflow OSS</strong>:<!-- -->
<ul>
<li class=""><strong>macOS/Windows/Linux/WSL with <code>uv pip install</code></strong>: <code>&lt;path_to_venv&gt;/lib/python3.12/site-packages/langflow/knowledge_bases</code> (Python version can vary. Knowledge bases aren&#x27;t shared between virtual environments.)</li>
<li class=""><strong>macOS/Windows/Linux/WSL with <code>git clone</code></strong>: <code>&lt;path_to_clone&gt;/src/backend/base/langflow/knowledge_bases</code></li>
</ul>
</li>
</ul>
<p>If you set the <code>LANGFLOW_CONFIG_DIR</code> environment variable, the <code>knowledge_bases</code> subdirectory is created relative to that path.</p>
<p>To change the default <code>knowledge_bases</code> directory path, set the <code>LANGFLOW_KNOWLEDGE_BASES_DIR</code> environment variable:</p>
<div class="ch-codeblock not-prose" data-ch-theme="github-dark"><div class="ch-code-wrapper ch-code" data-ch-measured="false"><code class="ch-code-scroll-parent"><br><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>export LANGFLOW_KNOWLEDGE_BASES_DIR=&quot;/path/to/parent/directory&quot;</span></div></div><br></code></div></div>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="chroma-cloud">Chroma Cloud<a href="#chroma-cloud" class="hash-link" aria-label="Direct link to Chroma Cloud" title="Direct link to Chroma Cloud" translate="no"></a></h4>
<p>To use <a href="https://docs.trychroma.com/docs/overview/introduction" target="_blank" rel="noopener noreferrer" class="">Chroma Cloud</a> as a database provider, you need a Chroma Cloud account and an API key from Chroma Cloud.</p>
<ol>
<li class="">
<p>From your Chroma Cloud dashboard, copy your <strong>API Key</strong>, <strong>Tenant</strong>, and <strong>Database</strong> names.</p>
</li>
<li class="">
<p>To connect Chroma Cloud to Langflow, click <strong>Settings</strong>, and then click <strong>DB Providers</strong>.</p>
</li>
<li class="">
<p>Select <strong>Chroma Cloud</strong>.</p>
</li>
<li class="">
<p>Enter the following values:</p>
<ul>
<li class=""><strong>API Key</strong>: Enter your Chroma Cloud API key.</li>
<li class=""><strong>Tenant</strong>: Optionally, enter your tenant name. If blank, defaults to the tenant associated with your API key.</li>
<li class=""><strong>Database</strong>: Optionally, enter your database name. If blank, defaults to <code>default_database</code>.</li>
<li class=""><strong>Region</strong>: Optionally, enter your cloud region.</li>
</ul>
</li>
<li class="">
<p>Click <strong>Save and Use Chroma Cloud</strong>.</p>
<p>Optionally, click <strong>Test Connection</strong> to verify that Langflow can reach your Chroma Cloud instance before saving.</p>
<p>The Chroma Cloud database is now connected to Langflow as a knowledge base provider.
To create a knowledge base using this provider, see <a href="#create-a-knowledge-base" class="">Create a knowledge base</a>.</p>
</li>
</ol>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="opensearch">OpenSearch<a href="#opensearch" class="hash-link" aria-label="Direct link to OpenSearch" title="Direct link to OpenSearch" translate="no"></a></h4>
<p>To use OpenSearch as a database provider, you need a running OpenSearch cluster that is accessible to your Langflow instance.
This example uses an OpenSearch container running locally, but you can also use a remote OpenSearch instance.</p>
<ol>
<li class="">
<p>For this example, start a local OpenSearch container with security disabled. This allows you to connect without a username, password, or TLS. This configuration is for example purposes only; it <em>isn&#x27;t</em> recommended in production environments.</p>
<div class="ch-codeblock not-prose" data-ch-theme="github-dark"><div class="ch-code-wrapper ch-code" data-ch-measured="false"><code class="ch-code-scroll-parent"><br><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>podman run -d \</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> --name opensearch \</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> -p 9200:9200 \</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> -p 9600:9600 \</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> -e &quot;discovery.type=single-node&quot; \</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> -e &quot;plugins.security.disabled=true&quot; \</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> -e &quot;OPENSEARCH_INITIAL_ADMIN_PASSWORD=YOUR_OPENSEARCH_PASSWORD&quot; \</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> opensearchproject/opensearch:latest</span></div></div><br></code></div></div>
<div class="theme-admonition theme-admonition-note admonition_xJq3 alert alert--secondary"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"></path></svg></span>note</div><div class="admonitionContent_BuS1"><p>OpenSearch 3.x requires <code>OPENSEARCH_INITIAL_ADMIN_PASSWORD</code> to be set even when security is disabled.</p><p>If the password fails validation, container startup exits immediately with <code>Password failed validation</code>.</p><p>The password must adhere to the <a href="https://docs.opensearch.org/latest/security/configuration/demo-configuration/#setting-up-a-custom-admin-password%5BOpenSearch" target="_blank" rel="noopener noreferrer" class="">https://docs.opensearch.org/latest/security/configuration/demo-configuration/#setting-up-a-custom-admin-password[OpenSearch</a> password complexity requirements].</p></div></div>
</li>
<li class="">
<p>Verify the cluster is reachable:</p>
<div class="ch-codeblock not-prose" data-ch-theme="github-dark"><div class="ch-code-wrapper ch-code" data-ch-measured="false"><code class="ch-code-scroll-parent"><br><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>curl -s http://localhost:9200</span></div></div><br></code></div></div>
<p>A successful response indicates that the container has started and can receive requests:</p>
<div class="ch-codeblock not-prose" data-ch-theme="github-dark"><div class="ch-code-wrapper ch-code" data-ch-measured="false"><code class="ch-code-scroll-parent"><br><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>{</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> &quot;name&quot; : &quot;your-node-name&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> &quot;cluster_name&quot; : &quot;docker-cluster&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> &quot;version&quot; : {</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> &quot;distribution&quot; : &quot;opensearch&quot;,</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> &quot;number&quot; : &quot;3.6.0&quot;</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span> &quot;tagline&quot; : &quot;The OpenSearch Project: https://opensearch.org/&quot;</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>}</span></div></div><br></code></div></div>
<p>If you get no response or a connection error, the container might still be starting. Wait a few seconds and try again.</p>
</li>
<li class="">
<p>To connect the OpenSearch database to Langflow as a knowledge base, click <strong>Settings</strong>, and then click <strong>DB Providers</strong>.</p>
</li>
<li class="">
<p>Select <strong>OpenSearch</strong>.</p>
</li>
<li class="">
<p>Enter the following values for the local OpenSearch container:</p>
<ul>
<li class=""><strong>Cluster URL</strong>: Enter <code>http://localhost:9200</code>.</li>
<li class=""><strong>Username</strong>: Leave blank if security is disabled. Otherwise, enter your basic auth username.</li>
<li class=""><strong>Password</strong>: Leave blank if security is disabled. Otherwise, enter your basic auth password.</li>
<li class=""><strong>Default Index name</strong>: Enter <code>langflow_knowledge</code>. The OpenSearch index to write and read from. This index is created in the later ingestion step, so it isn&#x27;t immediately available.</li>
<li class=""><strong>Vector field</strong>: Enter <code>vector_field</code>. The document field for storing the embedding vector.</li>
<li class=""><strong>Text field</strong>: Enter <code>text</code>. The document field for storing the chunk text.</li>
<li class=""><strong>Use TLS (HTTPS)</strong>: Turn off. Enable if your cluster uses HTTPS.</li>
<li class=""><strong>Verify TLS certificate</strong>: Turn off. Enable if your cluster uses CA-signed certificates.</li>
</ul>
<div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 12 16" role="img" aria-label="Tip icon" focusable="false"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_BuS1"><p>The knowledge base name doesn&#x27;t need to match the OpenSearch index name — it is the internal label used to scope searches within the shared OpenSearch index.</p></div></div>
</li>
<li class="">
<p>Click <strong>Save and Use OpenSearch</strong>.</p>
<p>Optionally, click <strong>Test Connection</strong> to verify that Langflow can reach your OpenSearch cluster before saving.</p>
<p>The OpenSearch database is now connected to Langflow as a knowledge base provider.</p>
</li>
</ol>
<p>To create a knowledge base using this provider, see <a href="#create-a-knowledge-base" class="">Create a knowledge base</a>.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="see-also">See also<a href="#see-also" class="hash-link" aria-label="Direct link to See also" title="Direct link to See also" translate="no"></a></h2>
<ul>
<li class=""><a class="" href="/agents">Use Langflow agents</a></li>
<li class=""><a class="" href="/components-models">Language model components</a></li>
</ul></div></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/enterprise-database-guide"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Database guide for enterprise administrators</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/memory-bases"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Manage memory bases</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#embedding-models" class="table-of-contents__link toc-highlight">Embedding models</a></li><li><a href="#vector-stores" class="table-of-contents__link toc-highlight">Vector stores</a></li><li><a href="#knowledge-bases" class="table-of-contents__link toc-highlight">Knowledge bases</a><ul><li><a href="#create-a-knowledge-base" class="table-of-contents__link toc-highlight">Create a knowledge base</a></li><li><a href="#manage-knowledge-bases" class="table-of-contents__link toc-highlight">Manage knowledge bases</a></li><li><a href="#configure-vector-database-providers" class="table-of-contents__link toc-highlight">Configure vector database providers</a></li></ul></li><li><a href="#see-also" class="table-of-contents__link toc-highlight">See also</a></li></ul></div></div></div></div></main></div></div></div><footer class="theme-layout-footer footer"><div class="container container-fluid"><div class="row footer__links"><div class="theme-layout-footer-column col footer__col"><div class="footer__title"></div><ul class="footer__items clean-list"><li class="footer__item"><div class="footer-links">
<span>© 2026 Langflow</span>
<span id="preferenceCenterContainer"> ·&nbsp; <a href="#" onclick='return"undefined"!=typeof window&&window.truste&&window.truste.eu&&window.truste.eu.clickListener&&window.truste.eu.clickListener(),!1' style="cursor: pointer;">Manage Privacy Choices</a></span>
</div></li></ul></div></div></div></footer><div style="position:fixed;right:21px;bottom:21px;z-index:100;display:flex;align-items:center;gap:10px;cursor:pointer"><div style="background-color:#f6f6f6;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px rgba(0,0,0,0.1)"><img src="/img/langflow-icon-black-transparent.svg" style="width:40px" alt="Search"></div></div></div>
</body>
</html>