Files
langflow/memory.html
2026-06-09 20:39:20 +00:00

206 lines
52 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.

<!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/memory" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.2">
<title data-rh="true">Memory management options | 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/memory"><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="Memory management options | Langflow Documentation"><meta data-rh="true" name="description" content="Langflow provides flexible memory management options for storage and retrieval of data relevant to your flows and your Langflow server."><meta data-rh="true" property="og:description" content="Langflow provides flexible memory management options for storage and retrieval of data relevant to your flows and your Langflow server."><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://docs.langflow.org/memory"><link data-rh="true" rel="alternate" href="https://docs.langflow.org/memory" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.langflow.org/memory" 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 memory","item":"https://docs.langflow.org/memory"}]}</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.9e340623.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="/memory">1.10.x</a><ul class="dropdown__menu"><li><a class="dropdown__link" href="/next/memory">1.11.x (Next)</a></li><li><a aria-current="page" class="dropdown__link dropdown__link--active" href="/memory">1.10.x</a></li><li><a class="dropdown__link" href="/1.9.0/memory">1.9.x</a></li><li><a class="dropdown__link" href="/1.8.0/memory">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 menu__link--active" aria-current="page" 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" 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 memory</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>Memory management options</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>Langflow provides flexible memory management options for storage and retrieval of data relevant to your flows and your Langflow server.
This includes essential Langflow database tables, file management, and caching, as well as chat memory.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="storage-options-and-paths">Storage options and paths<a href="#storage-options-and-paths" class="hash-link" aria-label="Direct link to Storage options and paths" title="Direct link to Storage options and paths" translate="no"></a></h2>
<p>Langflow supports both local memory and external memory options.</p>
<p>Langflow&#x27;s default storage option is a <a href="https://www.sqlite.org/" target="_blank" rel="noopener noreferrer" class="">SQLite</a> database.
The default storage path 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/data/database.db</code></li>
<li class=""><strong>Windows</strong>: <code>C:\Users\&lt;name&gt;\AppData\Roaming\com.LangflowDesktop\data\database.db</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/langflow.db</code> (Python version can vary. Database isn&#x27;t shared between virtual environments because it is tied to the venv path.)</li>
<li class=""><strong>macOS/Windows/Linux/WSL with <code>git clone</code></strong>: <code>&lt;path_to_clone&gt;/src/backend/base/langflow/langflow.db</code></li>
</ul>
</li>
</ul>
<p>Langflow offers a few alternatives to the default database path:</p>
<ul>
<li class="">
<p><strong>Config directory</strong>: Set <code>LANGFLOW_SAVE_DB_IN_CONFIG_DIR=True</code> to store the database in your Langflow config directory as set in <a class="" href="/logging"><code>LANGFLOW_CONFIG_DIR</code></a>.</p>
</li>
<li class="">
<p><strong>External PostgreSQL database</strong>: You can use an external PostgreSQL database for all of your Langflow storage.
For more information, see <a href="#configure-external-memory" class="">Configure external memory</a></p>
<p>External storage can be useful if you want to preserve the data after uninstalling Langflow or to share the same database between multiple virtual environments.</p>
</li>
<li class="">
<p><strong>Separate chat memory</strong>: You can selectively use external storage for chat memory only, separate from other Langflow storage.
For more information, see <a href="#store-chat-memory" class="">Store chat memory</a>.</p>
</li>
<li class="">
<p><strong>No database</strong>: To disable all database operations and run a no-op session, set <code>LANGFLOW_USE_NOOP_DATABASE=True</code> in your <a class="" href="/environment-variables">Langflow environment variables</a>.
This is useful for testing when you don&#x27;t want to persist any data.</p>
</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="langflow-database-tables">Langflow database tables<a href="#langflow-database-tables" class="hash-link" aria-label="Direct link to Langflow database tables" title="Direct link to Langflow database tables" translate="no"></a></h2>
<p>The following tables are stored in <code>langflow.db</code>:</p>
<p><strong>ApiKey</strong>: Manages Langflow API authentication keys. Component API keys are stored in the <strong>Variables</strong> table. For more information, see <a class="" href="/api-keys-and-authentication">API keys and authentication</a>.</p>
<p><strong>Deployment</strong>: Tracks deployments of Langflow flows to external providers, including the deployment name, provider resource key, and associated project and provider account.</p>
<p><strong>DeploymentProviderAccount</strong>: Stores configured connections to external deployment providers, including provider URL, tenant settings, and encrypted credentials.</p>
<p><strong>File</strong>: Stores metadata for files uploaded to Langflow&#x27;s file management system, including file names, paths, sizes, and storage providers. For more information, see <a class="" href="/concepts-file-management">Manage files</a>.</p>
<p><strong>Flow</strong>: Contains flow definitions, including nodes, edges, and components, stored as JSON or database records. For more information, see <a class="" href="/concepts-flows">Build flows</a>.</p>
<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>To automatically remove API keys and tokens from flow data before saving a flow to the database, set <code>LANGFLOW_REMOVE_API_KEYS=True</code> in your <a class="" href="/environment-variables">Langflow environment variables</a>.
When <code>true</code>, any field marked as a password field that <em>also</em> has <code>api</code>, <code>key</code>, or <code>token</code> in its name is set to <code>null</code> before the flow is saved.
This helps prevent credentials from being stored in the database.</p></div></div>
<p><strong>FlowVersion</strong>: Stores numbered snapshots of flow definitions, enabling version history. Each row captures a complete flow data snapshot linked to a flow and identified by a sequential version number. For more information, see <a class="" href="/concepts-flows#save-and-restore-flow-versions">Save and restore flow versions</a>.</p>
<p><strong>FlowVersionDeploymentAttachment</strong>: Links specific flow versions to provider deployments, tracking which flow version is deployed where and the provider&#x27;s opaque snapshot identifier for that version.</p>
<p><strong>Folder</strong>: Provides a structure for flow storage, including single-user folders and shared folders accessed by multiple users. For more information, see <a class="" href="/concepts-flows#projects">Manage flows in projects</a>.</p>
<p><strong>IngestionRun</strong>: Records knowledge base ingestion run history, including aggregate counters (chunks created, bytes processed, files succeeded/failed/skipped) and per-file outcome details for each ingestion job. For more information, see <a class="" href="/knowledge-base">Knowledge bases</a>.</p>
<p><strong>Job</strong>: Background job queue for asynchronous tasks including flow workflow execution and knowledge base ingestion. Tracks job type (<code>workflow</code>, <code>ingestion</code>, <code>evaluation</code>), status (<code>queued</code>, <code>in_progress</code>, <code>completed</code>, <code>failed</code>), timestamps, and per-job progress metadata.</p>
<p><strong>KnowledgeBase</strong>: Stores knowledge base configurations, including the embedding model, chunking settings, backend type, status, and cached statistics (chunk count, word count, total size). For more information, see <a class="" href="/knowledge-base">Knowledge bases</a>.</p>
<p><strong>MemoryBase</strong>: Stores memory base configurations for flows, including the associated knowledge base name, embedding model, auto-capture threshold, and optional preprocessing settings.</p>
<p><strong>MemoryBasePreprocessingOutput</strong>: Captures LLM-distilled preprocessing output before knowledge base writes. Each row represents one preprocessing batch and tracks the status (<code>processed</code>, <code>ingested</code>, or <code>skipped</code>) to support resumable two-phase commit (LLM call → knowledge base write).</p>
<p><strong>MemoryBaseSession</strong>: Tracks per-session state for each memory base, including the sync cursor position and total count of processed messages.</p>
<p><strong>MemoryBaseWorkflowRun</strong>: Records workflow job runs per memory base and session to support threshold-based ingestion, linking each workflow job to its resulting ingestion job.</p>
<p><strong>Message</strong>: Stores chat messages and interactions that occur between components. For more information, see <a class="" href="/data-types#message">Message objects</a> and <a href="#store-chat-memory" class="">Store chat memory</a>.</p>
<p><strong>MessageIngestionRecord</strong>: Records which messages have been ingested into a memory base and by which job. Serves as a join table between messages and memory bases, ensuring each message is not re-ingested.</p>
<p><strong>Trace</strong> and <strong>Span</strong>: Stores traces and spans for flows and components. For more information, see <a class="" href="/traces">Traces</a>.</p>
<p><strong>Transactions</strong>: Records execution history and results of flow runs. This information is used for <a class="" href="/logging">logging</a>.</p>
<p><strong>User</strong>: Stores user account information including credentials, permissions, profiles, and user management settings. For more information, see <a class="" href="/api-keys-and-authentication">API keys and authentication</a>.</p>
<p><strong>Variables</strong>: Stores global encrypted values and credentials. For more information, see <a class="" href="/configuration-global-variables">Global variables</a> and <a class="" href="/api-keys-and-authentication#component-api-keys">Component API keys</a>.</p>
<p><strong>VertexBuild</strong>: Tracks the build status of individual nodes within flows. For more information, see <a class="" href="/concepts-playground">Test flows in the Playground</a>.</p>
<p>For more information, see the database models in the <a href="https://github.com/langflow-ai/langflow/tree/main/src/backend/base/langflow/services/database/models" target="_blank" rel="noopener noreferrer" class="">source code</a>.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="configure-external-memory">Configure external memory<a href="#configure-external-memory" class="hash-link" aria-label="Direct link to Configure external memory" title="Direct link to Configure external memory" translate="no"></a></h2>
<p>To replace the default Langflow SQLite database with another database, set the <code>LANGFLOW_DATABASE_URL</code> environment variable to your database URL, and then start Langflow with your <code>.env</code> file.
For more information and examples, see <a class="" href="/configuration-custom-database">Configure an external PostgreSQL database</a>.</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>LANGFLOW_DATABASE_URL=postgresql://user:password@localhost:5432/langflow</span></div></div><br></code></div></div>
<p>To fine-tune your database connection pool and timeout settings, you can set the following additional environment variables:</p>
<ul>
<li class="">
<p><code>LANGFLOW_DATABASE_CONNECTION_RETRY</code>: Whether to retry lost connections to your Langflow database. If <code>true</code>, Langflow tries to connect to the database again if the connection fails. Default: <code>false</code>.</p>
</li>
<li class="">
<p><code>LANGFLOW_DB_CONNECT_TIMEOUT</code>: The number of seconds to wait before giving up on a lock to be released or establishing a connection to the database. This may be separate from the <code>pool_timeout</code> in <code>LANGFLOW_DB_CONNECTION_SETTINGS</code>. Default: 30.</p>
</li>
<li class="">
<p><code>LANGFLOW_MIGRATION_LOCK_NAMESPACE</code>: Optional namespace identifier for PostgreSQL advisory lock during migrations. If not provided, a hash of the database URL will be used. Useful when multiple Langflow instances share the same database and need coordinated migration locking</p>
</li>
<li class="">
<p><code>LANGFLOW_DB_CONNECTION_SETTINGS</code>: A JSON dictionary containing the following database connection pool settings:</p>
<ul>
<li class=""><code>pool_size</code>: The base number of connections to keep open in the connection pool. Default: 20.</li>
<li class=""><code>max_overflow</code>: Maximum number of connections that can be created in excess of <code>pool_size</code> if needed. Default: 30.</li>
<li class=""><code>pool_timeout</code>: Number of seconds to wait for a connection from the pool before timing out. Default: 30.</li>
<li class=""><code>pool_pre_ping</code>: If <code>true</code>, the pool tests connections for liveness upon each checkout. Default: <code>true</code>.</li>
<li class=""><code>pool_recycle</code>: Number of seconds after which a connection is automatically recycled. Default: 1800 (30 minutes).</li>
<li class=""><code>echo</code>: If <code>true</code>, SQL queries are logged for debugging purposes. Default: <code>false</code>.</li>
</ul>
<p>For example:</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>LANGFLOW_DB_CONNECTION_SETTINGS=&#x27;{&quot;pool_size&quot;: 20, &quot;max_overflow&quot;: 30, &quot;pool_timeout&quot;: 30, &quot;pool_pre_ping&quot;: true, &quot;pool_recycle&quot;: 1800, &quot;echo&quot;: false}&#x27;</span></div></div><br></code></div></div>
<p>Don&#x27;t use the deprecated environment variables <code>LANGFLOW_DB_POOL_SIZE</code> or <code>LANGFLOW_DB_MAX_OVERFLOW</code>.
Instead, use <code>pool_size</code> and <code>max_overflow</code> in <code>LANGFLOW_DB_CONNECTION_SETTINGS</code>.</p>
</li>
<li class="">
<p><code>LANGFLOW_MIGRATION_LOCK_NAMESPACE</code>: Optional namespace for PostgreSQL advisory locks used during database migrations. This is useful when running multiple Langflow instances that share the same PostgreSQL database. Each instance should use a unique namespace to avoid conflicts. If not set, Langflow uses a default namespace. This setting only applies when using PostgreSQL as your database backend.</p>
</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="configure-cache-memory">Configure cache memory<a href="#configure-cache-memory" class="hash-link" aria-label="Direct link to Configure cache memory" title="Direct link to Configure cache memory" translate="no"></a></h2>
<p>The default Langflow caching behavior is an asynchronous, in-memory cache:</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>LANGFLOW_LANGCHAIN_CACHE=InMemoryCache</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>LANGFLOW_CACHE_TYPE=async</span></div></div><br></code></div></div>
<p>Langflow officially supports only the default asynchronous, in-memory cache, which is suitable for most use cases.
Other cache options, such as Redis, are experimental and can change without notice.
If you want to use a non-default cache setting, you can use the following environment variables:</p>
<table><thead><tr><th>Variable</th><th>Type</th><th class="col-center">Default</th><th>Description</th></tr></thead><tbody><tr><td><code>LANGFLOW_CACHE_TYPE</code></td><td>String</td><td class="col-center"><code>async</code></td><td>Set the cache type for Langflow&#x27;s internal caching system. Possible values: <code>async</code>, <code>redis</code>, <code>memory</code>. If you set the type to <code>redis</code>, then you must also set the <code>LANGFLOW_REDIS_*</code> environment variables. The <code>disk</code> backend was removed in 1.10 — switch to <code>async</code> for in-memory or <code>redis</code> for cross-worker.</td></tr><tr><td><code>LANGFLOW_LANGCHAIN_CACHE</code></td><td>String</td><td class="col-center"><code>InMemoryCache</code></td><td>Set the cache storage type for the LangChain caching system (a Langflow dependency), either <code>InMemoryCache</code> or <code>SQLiteCache</code>.</td></tr><tr><td><code>LANGFLOW_REDIS_HOST</code></td><td>String</td><td class="col-center"><code>localhost</code></td><td>Redis server hostname if <code>LANGFLOW_CACHE_TYPE=redis</code>.</td></tr><tr><td><code>LANGFLOW_REDIS_PORT</code></td><td>Integer</td><td class="col-center"><code>6379</code></td><td>Redis server port if <code>LANGFLOW_CACHE_TYPE=redis</code>.</td></tr><tr><td><code>LANGFLOW_REDIS_DB</code></td><td>Integer</td><td class="col-center"><code>0</code></td><td>Redis database number if <code>LANGFLOW_CACHE_TYPE=redis</code>.</td></tr><tr><td><code>LANGFLOW_REDIS_CACHE_EXPIRE</code></td><td>Integer</td><td class="col-center"><code>3600</code></td><td>Cache expiration time in seconds if <code>LANGFLOW_CACHE_TYPE=redis</code>.</td></tr><tr><td><code>LANGFLOW_REDIS_PASSWORD</code></td><td>String</td><td class="col-center">Not set</td><td>Optional password for Redis authentication if <code>LANGFLOW_CACHE_TYPE=redis</code>.</td></tr></tbody></table>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="store-chat-memory">Store chat memory<a href="#store-chat-memory" class="hash-link" aria-label="Direct link to Store chat memory" title="Direct link to Store chat memory" translate="no"></a></h2>
<p>Chat-based flows with a <strong>Chat Input</strong> or <strong>Chat Output</strong> component produce chat history that is stored in the Langflow <code>messages</code> table.
At minimum, this serves as a chat log, but it isn&#x27;t functionally the same as chat memory that provides historical context to an LLM.</p>
<p>To store and retrieve chat memories in flows, you can use a <strong>Message History</strong> component or the <strong>Agent</strong> component&#x27;s built-in chat memory.</p>
<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>How does chat memory work?</summary><div><div class="collapsibleContent_i85q"><p>Chat memory is a cache for an LLM or agent to preserve past conversations to retain and reference that context in future interactions.
For example, if a user has already told the LLM their name, the LLM can retrieve that information from chat memory rather than asking the user to repeat themselves in future conversations or messages.</p><p>Chat memory is distinct from vector store memory because it is built specifically for storing and retrieving chat messages from databases.</p><p>Components that support chat memory (such as the <strong>Agent</strong> and <strong>Message History</strong> components) provide access to their respective databases <em>as memory</em>.
Retrieval as memory is an important distinction for LLMs and agents because this storage and retrieval mechanism is specifically designed to recall context from past conversations.
Unlike vector stores, which are designed for semantic search and retrieval of text chunks, chat memory is designed to store and retrieve chat messages in a way that is optimized for conversation history.</p></div></div></details>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="session-id-and-chat-memory">Session ID and chat memory<a href="#session-id-and-chat-memory" class="hash-link" aria-label="Direct link to Session ID and chat memory" title="Direct link to Session ID and chat memory" translate="no"></a></h3>
<p>Chat history and memories are grouped by <a class="" href="/session-id">session ID (<code>session_id</code>)</a>.</p>
<p>The default session ID is the flow ID, which means that all chat messages for a flow are stored under the same session ID as one large chat session.</p>
<p>For better segregation of chat memory, especially in flows used by multiple users, consider using custom session IDs.
For example, if you use user IDs as session IDs, then each user&#x27;s chat history is stored separately, isolating the context of their chats from other users&#x27; chats.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="chat-memory-options">Chat memory options<a href="#chat-memory-options" class="hash-link" aria-label="Direct link to Chat memory options" title="Direct link to Chat memory options" translate="no"></a></h3>
<p>Where and how chat memory is stored depends on the components used in your flow:</p>
<ul>
<li class="">
<p><strong>Agent component</strong>: This component has built-in chat memory that is enabled by default.
This memory allows the agent to retrieve and reference messages from previous conversations associated with the same session ID.
All messages are stored in <a href="#storage-options-and-paths" class="">Langflow storage</a>, and the component provides minimal memory configuration options, such as the number of messages to retrieve.</p>
<p>The <strong>Agent</strong> component&#x27;s built-in chat memory is sufficient for most use cases.</p>
<p>If you want to use external chat memory storage, retrieve memories outside the context of a chat, or use chat memory with a language model component (not an agent), you must use the <strong>Message History</strong> component (with or without a third-party chat memory component).</p>
</li>
<li class="">
<p><strong>Message History component</strong>: By default, this component stores and retrieves memories from Langflow storage, unless you attach a third-party chat memory component. It provides a few more options for sorting and filtering memories, although most of these options are also built-in to the <strong>Agent</strong> component as configurable or fixed parameters.</p>
<p>You can use the <strong>Message History</strong> component with or without a language model or agent.
For example, if you need to retrieve data from memories outside of chat, you can use the <strong>Message History</strong> component to fetch that data directly from your chat memory database without feeding it into a chat.</p>
</li>
<li class="">
<p><strong>Third-party chat memory components</strong>: Use one of these components only if you need to store or retrieve chat memories from a dedicated external chat memory database.
Typically, this is necessary only if you have specific storage needs that aren&#x27;t met by Langflow storage.
For example, if you want to manage chat memory data by directly working with the database, or if you want to use a different database than the default Langflow storage.</p>
</li>
</ul>
<p>For more information and examples, see <a class="" href="/message-history"><strong>Message History</strong> component</a> and <a class="" href="/agents#agent-memory">Agent memory</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="/concepts-file-management">Langflow file management</a></li>
<li class=""><a class="" href="/logging">Langflow logs</a></li>
<li class=""><a class="" href="/environment-variables">Langflow environment variables</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="/concepts-file-management"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Manage files</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/session-id"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Use Session IDs</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="#storage-options-and-paths" class="table-of-contents__link toc-highlight">Storage options and paths</a></li><li><a href="#langflow-database-tables" class="table-of-contents__link toc-highlight">Langflow database tables</a></li><li><a href="#configure-external-memory" class="table-of-contents__link toc-highlight">Configure external memory</a></li><li><a href="#configure-cache-memory" class="table-of-contents__link toc-highlight">Configure cache memory</a></li><li><a href="#store-chat-memory" class="table-of-contents__link toc-highlight">Store chat memory</a><ul><li><a href="#session-id-and-chat-memory" class="table-of-contents__link toc-highlight">Session ID and chat memory</a></li><li><a href="#chat-memory-options" class="table-of-contents__link toc-highlight">Chat memory options</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>