Follow the steps in this repository to persist your conversations in 2 minutes:
Official Data Layer
Out-of-the-box data layer schema to store your threads, steps, feedback, etc.
Do not forget to have your Chainlit application point to the database you set up by
adding the DATABASE_URL environment variable in your .env.If you wish to store elements, the same goes for your files system configuration.
The Official data layer Prisma schema has not been updated since Chainlit 2.0.0. If you are using Chainlit 2.1.0 or later, you need to manually add missing columns to the "Step" table. See the migration guides for 2.1.0, 2.3.0, and 2.9.4.
Custom element props are stored directly in PostgreSQL, not on cloud storage.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Chainlit","colors":{"primary":"#F80061","light":"#FFE7EB","dark":"#980039"},"logo":{"light":"https://mintcdn.com/chainlit-43/bY2N4qUEa_bGPLfY/logo/light.svg?fit=max\u0026auto=format\u0026n=bY2N4qUEa_bGPLfY\u0026q=85\u0026s=1b972cff6fb5980cf9bfb5c54d6b6821","dark":"https://mintcdn.com/chainlit-43/bY2N4qUEa_bGPLfY/logo/dark.svg?fit=max\u0026auto=format\u0026n=bY2N4qUEa_bGPLfY\u0026q=85\u0026s=2a67b9dc2c050be4fc5095c69d4adbb0","href":"https://github.com/Chainlit/chainlit"},"favicon":"https://mintcdn.com/chainlit-43/b2WeFP1vh0enOZXn/favicon.svg?fit=max\u0026auto=format\u0026n=b2WeFP1vh0enOZXn\u0026q=85\u0026s=513b4ccbfc1227b2ee36e6d5bb798e8e","appearance":{"default":"dark","strict":false},"background":{"color":{"dark":"#111010"}},"navbar":{"links":[{"href":"https://github.com/Chainlit/chainlit","label":"Github"}],"primary":{"type":"button","label":"Join Discord","href":"https://discord.gg/k73SQ3FyUh"}},"footer":{"socials":{"github":"https://github.com/Chainlit/chainlit","discord":"https://discord.gg/k73SQ3FyUh","x":"https://x.com/chainlit_io","linkedin":"https://www.linkedin.com/company/chainlit"}},"banner":{"content":"Chainlit is archived and no longer maintained. No bug fixes, security updates, or support are provided. [Read the project status](/get-started/project-status).","dismissible":false},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Chainlit Help","icon":"comment","href":"https://help.chainlit.io"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"chainlit-43","hasAudioNarration":false,"actualSubdomain":"chainlit-43","customDomains":["docs.chainlit.io"],"gitSource":{"type":"github","owner":"chainlit","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6adb25e2a0e78eb4aee8763a","clientVersion":"0.0.4111","searchFilterCounts":[{"language":"default","tag":"Documentation","count":74},{"language":"default","tag":"API Reference","count":44},{"language":"default","tag":"Get Started","count":13},{"language":"default","tag":"Elements","count":11},{"language":"default","tag":"Integrations","count":11},{"language":"default","tag":"Deploy","count":10},{"language":"default","tag":"Examples","count":10},{"language":"default","tag":"Input Widgets","count":9},{"language":"default","tag":"Basic Concepts","count":9},{"language":"default","tag":"Platforms","count":9}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"data-layers/official","slug":"/data-layers/official","pageMetadata":{"title":"Official Data Layer","description":null,"href":"/data-layers/official"},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,..._provideComponents(),...props.components},{Card,Tip,Warning}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Follow the steps in this repository to persist your conversations in 2 minutes:`}),`\n`,_jsx(Card,{title:`Official Data Layer`,color:`#F80061`,icon:`message`,href:`https://github.com/Chainlit/chainlit-datalayer`,children:_jsx(_components.p,{children:`Out-of-the-box data layer schema to store your threads, steps, feedback, etc.`})}),`\n`,_jsxs(Warning,{children:[_jsxs(_components.p,{children:[`Do not forget to have your Chainlit application point to the database you set up by\nadding the `,_jsx(_components.code,{children:`DATABASE_URL`}),` environment variable in your `,_jsx(_components.code,{children:`.env`}),`.`]}),_jsx(_components.p,{children:`If you wish to store elements, the same goes for your files system configuration.`})]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`The Official data layer Prisma schema has not been updated since Chainlit 2.0.0. If you are using Chainlit 2.1.0 or later, you need to manually add missing columns to the `,_jsx(_components.code,{children:`\"Step\"`}),` table. See the migration guides for `,_jsx(_components.a,{href:`/guides/migration/2.1.0`,children:`2.1.0`}),`, `,_jsx(_components.a,{href:`/guides/migration/2.3.0`,children:`2.3.0`}),`, and `,_jsx(_components.a,{href:`/guides/migration/2.9.4`,children:`2.9.4`}),`.`]})}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Custom element `,_jsx(_components.code,{children:`props`}),` are stored directly in PostgreSQL, not on cloud storage.`]})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Official Data Layer","description":null,"href":"/data-layers/official"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"subdomain":"chainlit-43","siteName":"Chainlit","title":"Official Data Layer - Chainlit","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-23T09:16:26.067Z","originalFileLocation":"data-layers/official.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"application-name\" content=\"Chainlit\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/chainlit-43/dEvNex89E1YeuZx8/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/chainlit-43/dEvNex89E1YeuZx8/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/chainlit-43/dEvNex89E1YeuZx8/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/chainlit-43/dEvNex89E1YeuZx8/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/chainlit-43/dEvNex89E1YeuZx8/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/chainlit-43/dEvNex89E1YeuZx8/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/chainlit-43/dEvNex89E1YeuZx8/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/chainlit-43/dEvNex89E1YeuZx8/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/chainlit-43/dEvNex89E1YeuZx8/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Official Data Layer - Chainlit\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Chainlit\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.chainlit.io/data-layers/official\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://chainlit-43.mintlify.site/_mintlify/api/og/v2?division=Open+Source+Data+Layers\u0026amp;title=Official+Data+Layer\u0026amp;theme=cc25fe1935de631496bafc55\u0026amp;signature=ebf09bc95c4489510ba1a21ffc1f81cb1be0ca1b98b11e302d04e5f2feff84c5\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Official Data Layer - Chainlit\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://chainlit-43.mintlify.site/_mintlify/api/og/v2?division=Open+Source+Data+Layers\u0026amp;title=Official+Data+Layer\u0026amp;theme=cc25fe1935de631496bafc55\u0026amp;signature=ebf09bc95c4489510ba1a21ffc1f81cb1be0ca1b98b11e302d04e5f2feff84c5\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/chainlit-43/dEvNex89E1YeuZx8/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Chainlit\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#F80061\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.chainlit.io/data-layers/official\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/data-layers/official.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.chainlit.io/#organization\",\"name\":\"Chainlit\",\"url\":\"https://docs.chainlit.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/chainlit-43/bY2N4qUEa_bGPLfY/logo/light.svg?fit=max\u0026auto=format\u0026n=bY2N4qUEa_bGPLfY\u0026q=85\u0026s=1b972cff6fb5980cf9bfb5c54d6b6821\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.chainlit.io#website\",\"name\":\"Chainlit\",\"url\":\"https://docs.chainlit.io\",\"publisher\":{\"@id\":\"https://docs.chainlit.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.chainlit.io/data-layers/official#webpage\",\"url\":\"https://docs.chainlit.io/data-layers/official\",\"name\":\"Official Data Layer\",\"dateModified\":\"2026-10-23T09:16:26.067Z\",\"isPartOf\":{\"@id\":\"https://docs.chainlit.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.chainlit.io/data-layers/official#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.chainlit.io/data-layers/official#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Data Persistence\",\"item\":\"https://docs.chainlit.io/data-persistence/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Open Source Data Layers\",\"item\":\"https://docs.chainlit.io/data-layers/overview\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Official Data Layer\",\"item\":\"https://docs.chainlit.io/data-layers/official\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.chainlit.io/data-layers/official#article\",\"headline\":\"Official Data Layer\",\"name\":\"Official Data Layer\",\"url\":\"https://docs.chainlit.io/data-layers/official\",\"mainEntityOfPage\":{\"@id\":\"https://docs.chainlit.io/data-layers/official#webpage\"},\"dateModified\":\"2026-10-23T09:16:26.067Z\",\"publisher\":{\"@id\":\"https://docs.chainlit.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.chainlit.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Chainlit\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Chainlit\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/data-layers/official.md","siteName":"Chainlit","nav":{"global":{"anchors":[{"anchor":"Chainlit Help","icon":"comment","href":"https://help.chainlit.io"}]},"tabs":[{"tab":"Documentation","groups":[{"group":"Get Started","pages":[{"title":"Overview","href":"/get-started/overview"},{"title":"Project status","href":"/get-started/project-status"},{"title":"Installation","href":"/get-started/installation"},{"title":"In Pure Python","href":"/get-started/pure-python"},{"group":"Integrations","pages":[{"title":"FastAPI","href":"/integrations/fastapi"},{"title":"LangChain/LangGraph","href":"/integrations/langchain"},{"title":"OpenAI","href":"/integrations/openai"},{"title":"Semantic Kernel","href":"/integrations/semantic-kernel"},{"title":"Mistral AI","href":"/integrations/mistralai"},{"title":"LiteLLM","href":"/integrations/litellm"},{"title":"Llama Index","href":"/integrations/llama-index"},{"title":"Embedchain","href":"/integrations/embedchain"},{"title":"vLLM, LMStudio, HuggingFace","href":"/integrations/message-based"}]}]},{"group":"Deploy","pages":[{"title":"Overview","href":"/deploy/overview"},{"group":"Platforms","pages":[{"title":"Web App","href":"/deploy/webapp"},{"group":"React","pages":[{"title":"Overview","href":"/deploy/react/overview"},{"title":null,"href":"/deploy/react/installation-and-setup"},{"title":null,"href":"/deploy/react/usage"},{"title":null,"href":"/deploy/react/additional-resources"}]},{"title":"Copilot","href":"/deploy/copilot"},{"title":"Teams","href":"/deploy/teams"},{"title":"Slack","href":"/deploy/slack"},{"title":"Discord","href":"/deploy/discord"}]}]},{"group":"Basic Concepts","pages":[{"title":"Chat Life Cycle","href":"/concepts/chat-lifecycle"},{"title":"Starters","href":"/concepts/starters"},{"title":"Message","href":"/concepts/message"},{"title":"Step","href":"/concepts/step"},{"title":"User Session","href":"/concepts/user-session"},{"title":"Element","href":"/concepts/element"},{"title":"Action","href":"/concepts/action"},{"title":"Command","href":"/concepts/command"},{"title":"Modes","href":"/concepts/modes"}]},{"group":"Advanced Features","pages":[{"title":"Streaming","href":"/advanced-features/streaming"},{"title":"MCP","href":"/advanced-features/mcp"},{"title":"Ask User","href":"/advanced-features/ask-user"},{"title":"Multi-Modality","href":"/advanced-features/multi-modal"},{"title":"Chat Profiles","href":"/advanced-features/chat-profiles"},{"title":"Chat Settings","href":"/advanced-features/chat-settings"},{"title":"Testing \u0026 Debugging","href":"/advanced-features/test-debug"}]},{"group":"Data Persistence","pages":[{"title":"Overview","href":"/data-persistence/overview"},{"title":"Chat History","href":"/data-persistence/history"},{"title":"Human Feedback","href":"/data-persistence/feedback"},{"group":"Open Source Data Layers","pages":[{"title":"Overview","description":null,"href":"/data-layers/overview"},{"title":"Official Data Layer","href":"/data-layers/official"},{"title":"SQLAlchemy Data Layer","description":null,"href":"/data-layers/sqlalchemy"},{"title":"DynamoDB Data Layer","href":"/data-layers/dynamodb"}]},{"title":"Tags \u0026 Metadata","href":"/data-persistence/tags-metadata"}]},{"group":"Authentication","pages":[{"title":"Overview","href":"/authentication/overview"},{"title":"Password","href":"/authentication/password"},{"title":"Header","href":"/authentication/header"},{"title":"OAuth","href":"/authentication/oauth"}]},{"group":"Customisation","pages":[{"title":null,"href":"/customisation/overview"},{"title":"Translation","href":"/customisation/translation"},{"title":"Avatars","href":"/customisation/avatars"},{"title":"Logo and Favicon","href":"/customisation/custom-logo-and-favicon"},{"title":"Theme","href":"/customisation/theme"},{"title":"JS","href":"/customisation/custom-js"},{"title":"CSS","href":"/customisation/custom-css"}]},{"group":"Backend","pages":[{"group":"Config","pages":[{"title":"Overview","href":"/backend/config/overview"},{"title":"Project","href":"/backend/config/project"},{"title":"Features","href":"/backend/config/features"},{"title":"UI","href":"/backend/config/ui"}]},{"title":"Environment Variables","href":"/backend/env-variables"},{"title":"Command Line Options","href":"/backend/command-line"}]},{"group":"Guides","pages":[{"title":"Async / Sync","href":"/guides/sync-async"}]},{"group":"Migration Guides","pages":[{"title":"Migrate to Chainlit v2.9.4","href":"/guides/migration/2.9.4"},{"title":"Migrate to Chainlit v2.3.0","href":"/guides/migration/2.3.0"},{"title":"Migrate to Chainlit v2.1.0","href":"/guides/migration/2.1.0"},{"title":"Migrate to Chainlit v2.0.0","href":"/guides/migration/2.0.0"},{"title":"Migrate to Chainlit v1.1.404","href":"/guides/migration/1.1.404"},{"title":"Migrate to Chainlit v1.1.400","href":"/guides/migration/1.1.400"},{"title":"Migrate to Chainlit v1.1.300","href":"/guides/migration/1.1.300"},{"title":"Migrate to Chainlit v1.1.0","href":"/guides/migration/1.1.0"},{"title":"Migrate to Chainlit v1.0.500","href":"/guides/migration/1.0.500"}]}]},{"tab":"Examples","pages":[{"title":"Examples","href":"/examples/cookbook"}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/lifecycle-hooks/on-chat-start"}]}]},"basePath":"","title":"Official Data Layer - Chainlit","buildId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","deploymentId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","dynamics":["10e4515597"],"chunks":["BannerMarkdown-DV3Oq1fY.js","dist-C-XZBk9h.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-D3Isdib3.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js"]}