Files
langflow/get-started-quickstart.html
github-merge-queue[bot] 8d036f4471 deploy: ea5806f30e
2025-02-03 16:40:51 +00:00

169 lines
38 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-current docs-doc-page docs-doc-id-Get-Started/get-started-quickstart" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.7.0">
<title data-rh="true">Quickstart | 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/get-started-quickstart"><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="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Quickstart | Langflow Documentation"><meta data-rh="true" name="description" content="Get to know Langflow by building an OpenAI-powered chatbot application. After you&#x27;ve constructed a chatbot, add Retrieval Augmented Generation (RAG) to chat with your own data."><meta data-rh="true" property="og:description" content="Get to know Langflow by building an OpenAI-powered chatbot application. After you&#x27;ve constructed a chatbot, add Retrieval Augmented Generation (RAG) to chat with your own data."><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://docs.langflow.org/get-started-quickstart"><link data-rh="true" rel="alternate" href="https://docs.langflow.org/get-started-quickstart" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.langflow.org/get-started-quickstart" hreflang="x-default"><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-XHC7G628ZP"></script>
<script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-XHC7G628ZP",{anonymize_ip:!0})</script>
<link rel="preconnect" href="https://www.googletagmanager.com">
<script>window.dataLayer=window.dataLayer||[]</script>
<script>!function(e,t,a,n){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var g=t.getElementsByTagName(a)[0],m=t.createElement(a);m.async=!0,m.src="https://www.googletagmanager.com/gtm.js?id=GTM-NK5M4ZT8",g.parentNode.insertBefore(m,g)}(window,document,"script","dataLayer")</script><link rel="stylesheet" href="/assets/css/styles.627756b3.css">
<script src="/assets/js/runtime~main.37d00327.js" defer="defer"></script>
<script src="/assets/js/main.cac72ebe.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-NK5M4ZT8" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();null!==e?t(e):window.matchMedia("(prefers-color-scheme: dark)").matches?t("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,t("light"))}(),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="navbar navbar--fixed-top navbarHideable_m1mJ"><div class="navbar__inner"><div class="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/langflow-logo-black.svg" alt="Langflow" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/langflow-logo-white.svg" alt="Langflow" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="navbar__items navbar__items--right"><a href="https://github.com/langflow-ai/langflow" target="_blank" class="navbar__item navbar__link header-github-link"></a><a href="https://twitter.com/langflow_ai" target="_blank" class="navbar__item navbar__link header-twitter-link"></a><a href="https://discord.gg/EqksyE2EX9" target="_blank" class="navbar__item navbar__link header-discord-link"></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><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" class="darkToggleIcon_wfgR"><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></button></div><div class="navbarSearchContainer_Bca1"><div class="mendable-search"><button id="ms-search-bar" style="background-color:#1a1a1a;border-color:#6B728033;color:#e1e3e7" class="dark-mode !ms-text-white hover:!ms-bg-opacity-75 hover:!ms-text-white focus:ms-bg-gray-800 focus:ms-bg-opacity-75 focus:ms-text-white ms-global search-btn__input ms-m-0 ms-flex ms-h-10 ms-w-full ms-flex-row ms-items-center ms-justify-between ms-gap-2 ms-bg-gray-50 ms-p-1 ms-px-2 ms-outline-none ms-ring-0 ms-transition-all hover:ms-cursor-pointer sm:ms-p-2 sm:ms-px-3 ms-border ms-rounded-xl"><div class="dark-mode ms-global search-btn__input-container ms-flex ms-w-full ms-min-w-0 ms-items-center ms-gap-0 sm:ms-gap-1"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" style="color:#e1e3e7;fill:#e1e3e7" class="dark-mode search-btn__icon hover:fill-white ms-h-5 ms-w-5 ms-fill-gray-400 hover:ms-text-white focus:ms-fill-white focus:ms-text-white sm:ms-h-6 sm:ms-w-6" height="20" width="20" xmlns="http://www.w3.org/2000/svg"><path fill="none" d="M0 0h24v24H0z"></path><path d="M15.5 14h-.79l-.28-.27A6.471 6.471 0 0016 9.5 6.5 6.5 0 109.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path></svg><div id="userInput" style="color:#e1e3e7" class="dark-mode ms-global search-btn__input ms-w-full ms-flex-grow ms-truncate ms-bg-transparent ms-text-sm ms-outline-none ms-ring-0 ms-ring-transparent focus:ms-outline-none focus:ms-ring-0 focus:ms-ring-transparent sm:ms-text-base ms-ml-1 ms-flex ms-items-start ms-justify-start">Search...</div></div><div style="background-color:#1a1a1a;border-color:#6B728033;color:#e1e3e7" class="dark-mode search-btn__shortcut ms-z-10 ms-flex ms-flex-row ms-items-center ms-gap-1 ms-rounded-lg ms-border ms-py-[2px] ms-px-[8px] ms-text-xs ms-text-gray-400 ms-transition-all disabled:ms-bg-opacity-10"><span>CTRL</span><span>K</span></div></button><div></div></div></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="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 class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd sidebarWithHideableNavbar_wUlq"><a tabindex="-1" class="sidebarLogo_isFc" href="/"><img src="/img/langflow-logo-black.svg" alt="Langflow" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/langflow-logo-white.svg" alt="Langflow" class="themedComponent_mlkZ themedComponent--dark_xIcU"></a><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 menu__list-item"><a class="menu__link" href="/">Welcome to Langflow</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" role="button" aria-expanded="true" href="/get-started-installation">Get started</a></div><ul style="display:block;overflow:visible;height:auto" 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="/get-started-installation">Install Langflow</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/get-started-quickstart">Quickstart</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/starter-projects-basic-prompting">Starter projects</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/tutorials-blog-writer">Tutorials</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/concepts-overview">Concepts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/components-agents">Components</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/agents-overview">Agents</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/configuration-api-keys">Configuration</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/Deployment/deployment-docker">Deployment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/integrations-assemblyai">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/contributing-community">Contributing</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/api-reference-api-examples">API reference</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a href="https://github.com/langflow-ai/langflow/releases/latest" target="_blank" rel="noopener noreferrer" class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false">Changelog</a></div></li></ul></nav><button type="button" title="Collapse sidebar" aria-label="Collapse sidebar" class="button button--secondary button--outline collapseSidebarButton_PEFL"><svg width="20" height="20" aria-hidden="true" class="collapseSidebarButtonIcon_kv0_"><g fill="#7a7a7a"><path d="M9.992 10.023c0 .2-.062.399-.172.547l-4.996 7.492a.982.982 0 01-.828.454H1c-.55 0-1-.453-1-1 0-.2.059-.403.168-.551l4.629-6.942L.168 3.078A.939.939 0 010 2.528c0-.548.45-.997 1-.997h2.996c.352 0 .649.18.828.45L9.82 9.472c.11.148.172.347.172.55zm0 0"></path><path d="M19.98 10.023c0 .2-.058.399-.168.547l-4.996 7.492a.987.987 0 01-.828.454h-3c-.547 0-.996-.453-.996-1 0-.2.059-.403.168-.551l4.625-6.942-4.625-6.945a.939.939 0 01-.168-.55 1 1 0 01.996-.997h3c.348 0 .649.18.828.45l4.996 7.492c.11.148.168.347.168.55zm0 0"></path></g></svg></button></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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">Get started</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Quickstart</span><meta itemprop="position" content="2"></li></ul></nav><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>Quickstart</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>Get to know Langflow by building an OpenAI-powered chatbot application. After you&#x27;ve constructed a chatbot, add Retrieval Augmented Generation (RAG) to chat with your own data.</p>
<h2 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="prerequisites">Prerequisites<a href="#prerequisites" class="hash-link" aria-label="Direct link to Prerequisites" title="Direct link to Prerequisites"></a></h2>
<ul>
<li><a href="https://platform.openai.com/" target="_blank" rel="noopener noreferrer">An OpenAI API key</a></li>
<li><a href="https://docs.datastax.com/en/astra-db-serverless/get-started/quickstart.html" target="_blank" rel="noopener noreferrer">An Astra DB vector database</a> with:<!-- -->
<ul>
<li>An AstraDB application token</li>
<li><a href="https://docs.datastax.com/en/astra-db-serverless/databases/manage-collections.html#create-collection" target="_blank" rel="noopener noreferrer">A collection in Astra</a></li>
</ul>
</li>
</ul>
<h2 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="open-langflow-and-start-a-new-project">Open Langflow and start a new project<a href="#open-langflow-and-start-a-new-project" class="hash-link" aria-label="Direct link to Open Langflow and start a new project" title="Direct link to Open Langflow and start a new project"></a></h2>
<ol>
<li>From the Langflow dashboard, click <strong>New Flow</strong>, and then select <strong>Blank Flow</strong>. A blank workspace opens where you can build your flow.</li>
</ol>
<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"><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 you don&#x27;t want to create a blank flow, click <strong>New Flow</strong>, and then select <strong>Basic Prompting</strong> for a pre-built flow.
Continue to <a href="#run-basic-prompting-flow">Run the basic prompting flow</a>.</p></div></div>
<ol start="2">
<li>
<p>Select <strong>Basic Prompting</strong>.</p>
</li>
<li>
<p>The <strong>Basic Prompting</strong> flow is created.</p>
</li>
</ol>
<h2 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="build-the-basic-prompting-flow">Build the basic prompting flow<a href="#build-the-basic-prompting-flow" class="hash-link" aria-label="Direct link to Build the basic prompting flow" title="Direct link to Build the basic prompting flow"></a></h2>
<p>The Basic Prompting flow will look like this when it&#x27;s completed:</p>
<p><img decoding="async" loading="lazy" src="/assets/images/starter-flow-basic-prompting-09331815d7282bd6a3feedf84838ba20.png" width="2500" height="1528" class="img_ev3q"></p>
<p>To build the <strong>Basic Prompting</strong> flow, follow these steps:</p>
<ol>
<li>Click <strong>Inputs</strong>, select the <strong>Chat Input</strong> component, and then drag it to the canvas.
The <a href="/components-io#chat-input">Chat Input</a> component accepts user input to the chat.</li>
<li>Click <strong>Prompt</strong>, select the <strong>Prompt</strong> component, and then drag it to the canvas.
The <a href="/components-prompts">Prompt</a> component combines the user input with a user-defined prompt.</li>
<li>Click <strong>Outputs</strong>, select the <strong>Chat Output</strong> component, and then drag it to the canvas.
The <a href="/components-io#chat-output">Chat Output</a> component prints the flow&#x27;s output to the chat.</li>
<li>Click <strong>Models</strong>, select the <strong>OpenAI</strong> component, and then drag it to the canvas.
The <a href="/components-models#openai">OpenAI</a> model component sends the user input and prompt to the OpenAI API and receives a response.</li>
</ol>
<p>You should now have a flow that looks like this:</p>
<p><img decoding="async" loading="lazy" src="/assets/images/quickstart-basic-prompt-no-connections-f5887f67c3448c39b74f7e28b65a0b18.png" width="2528" height="1530" class="img_ev3q"></p>
<p>With no connections between them, the components won&#x27;t interact with each other.
You want data to flow from <strong>Chat Input</strong> to <strong>Chat Output</strong> through the connections between the components.
Each component accepts inputs on its left side, and sends outputs on its right side.
Hover over the connection ports to see the data types that the component accepts.
For more on component inputs and outputs, see <a href="/concepts-components">Components overview</a>.</p>
<ol start="5">
<li>To connect the <strong>Chat Input</strong> component to the OpenAI model component, click and drag a line from the blue <strong>Message</strong> port to the OpenAI model component&#x27;s <strong>Input</strong> port.</li>
<li>To connect the <strong>Prompt</strong> component to the OpenAI model component, click and drag a line from the blue <strong>Prompt Message</strong> port to the OpenAI model component&#x27;s <strong>System Message</strong> port.</li>
<li>To connect the <strong>OpenAI</strong> model component to the <strong>Chat Output</strong>, click and drag a line from the blue <strong>Text</strong> port to the <strong>Chat Output</strong> component&#x27;s <strong>Text</strong> port.</li>
</ol>
<p>Your finished basic prompting flow should look like this:</p>
<p><img decoding="async" loading="lazy" src="/assets/images/starter-flow-basic-prompting-09331815d7282bd6a3feedf84838ba20.png" width="2500" height="1528" class="img_ev3q"></p>
<h3 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="run-basic-prompting-flow">Run the Basic Prompting flow<a href="#run-basic-prompting-flow" class="hash-link" aria-label="Direct link to Run the Basic Prompting flow" title="Direct link to Run the Basic Prompting flow"></a></h3>
<p>Add your OpenAI API key to the OpenAI model component, and add a prompt to the Prompt component to instruct the model how to respond.</p>
<ol>
<li>
<p>Add your credentials to the OpenAI component. The fastest way to complete these fields is with Langflows <a href="/configuration-global-variables">Global Variables</a>.</p>
<ol>
<li>In the OpenAI components OpenAI API Key field, click the <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-globe" aria-label="Globe"><circle cx="12" cy="12" r="10"></circle><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"></path><path d="M2 12h20"></path></svg> <strong>Globe</strong> button, and then click <strong>Add New Variable</strong>.
Alternatively, click your username in the top right corner, and then click <strong>Settings</strong>, <strong>Global Variables</strong>, and then <strong>Add New</strong>.</li>
<li>Name your variable. Paste your OpenAI API key (sk-…​) in the Value field.</li>
<li>In the <strong>Apply To Fields</strong> field, select the OpenAI API Key field to apply this variable to all OpenAI Embeddings components.</li>
</ol>
</li>
<li>
<p>To add a prompt to the <strong>Prompt</strong> component, click the <strong>Template</strong> field, and then enter your prompt.
The prompt guides the bot&#x27;s responses to input.
If you&#x27;re unsure, use <code>Answer the user as if you were a GenAI expert, enthusiastic about helping them get started building something fresh.</code></p>
</li>
<li>
<p>Click <strong>Playground</strong> to start a chat session.</p>
</li>
<li>
<p>Enter a query, and then make sure the bot responds according to the prompt you set in the <strong>Prompt</strong> component.</p>
</li>
</ol>
<p>You have successfully created a chatbot application using OpenAI in the Langflow Workspace.</p>
<h2 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="add-vector-rag-to-your-application">Add vector RAG to your application<a href="#add-vector-rag-to-your-application" class="hash-link" aria-label="Direct link to Add vector RAG to your application" title="Direct link to Add vector RAG to your application"></a></h2>
<p>You created a chatbot application with Langflow, but let&#x27;s try an experiment.</p>
<ol>
<li>Ask the bot: <code>Who won the Oscar in 2024 for best movie?</code></li>
<li>The bot&#x27;s response is similar to this:</li>
</ol>
<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>I&#x27;m sorry, but I don&#x27;t have information on events or awards that occurred after</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>October 2023, including the Oscars in 2024.</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>You may want to check the latest news or the official Oscars website</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>for the most current information.</span></div></div><br></code></div></div>
<p>Well, that&#x27;s unfortunate, but you can load more up-to-date data with <strong>Retrieval Augmented Generation</strong>, or <strong>RAG</strong>.</p>
<p>Vector RAG allows you to load your own data and chat with it, unlocking a wider range of possibilities for your chatbot application.</p>
<h2 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="add-vector-rag-with-the-astra-db-component">Add vector RAG with the Astra DB component<a href="#add-vector-rag-with-the-astra-db-component" class="hash-link" aria-label="Direct link to Add vector RAG with the Astra DB component" title="Direct link to Add vector RAG with the Astra DB component"></a></h2>
<p>Build on the basic prompting flow and add vector RAG to your chatbot application with the <strong>Astra DB Vector Store</strong> component.</p>
<p>Add document ingestion to your basic prompting flow, with the <strong>Astra DB</strong> component as the vector store.</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"><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 you don&#x27;t want to create a blank flow, click <strong>New Flow</strong>, and then select <strong>Vector RAG</strong> for a pre-built flow.</p></div></div>
<p>Adding vector RAG to the basic prompting flow will look like this when completed:</p>
<p><img decoding="async" loading="lazy" src="/assets/images/quickstart-add-document-ingestion-5f9756b0a4b7e232b1507e12f335b15e.png" width="2848" height="1324" class="img_ev3q"></p>
<p>To build the flow, follow these steps:</p>
<ol>
<li>Disconnect the <strong>Chat Input</strong> component from the <strong>OpenAI</strong> component by double-clicking on the connecting line.</li>
<li>Click <strong>Vector Stores</strong>, select the <strong>Astra DB</strong> component, and then drag it to the canvas.
The <a href="/components-vector-stores#astra-db-vector-store">Astra DB vector store</a> component connects to your <strong>Astra DB</strong> database.</li>
<li>Click <strong>Data</strong>, select the <strong>File</strong> component, and then drag it to the canvas.
The <a href="/components-data#file">File</a> component loads files from your local machine.</li>
<li>Click <strong>Processing</strong>, select the <strong>Split Text</strong> component, and then drag it to the canvas.
The <a href="/components-processing#split-text">Split Text</a> component splits the loaded text into smaller chunks.</li>
<li>Click <strong>Processing</strong>, select the <strong>Parse Data</strong> component, and then drag it to the canvas.
The <a href="/components-processing#parse-data">Parse Data</a> component converts the data from the <strong>Astra DB</strong> component into plain text.</li>
<li>Click <strong>Embeddings</strong>, select the <strong>OpenAI Embeddings</strong> component, and then drag it to the canvas.
The <a href="/components-embedding-models#openai-embeddings">OpenAI Embeddings</a> component generates embeddings for the user&#x27;s input, which are compared to the vector data in the database.</li>
<li>Connect the new components into the existing flow, so your flow looks like this:</li>
</ol>
<p><img decoding="async" loading="lazy" src="/assets/images/quickstart-add-document-ingestion-5f9756b0a4b7e232b1507e12f335b15e.png" width="2848" height="1324" class="img_ev3q"></p>
<ol start="8">
<li>Configure the <strong>Astra DB</strong> component.<!-- -->
<ol>
<li>In the <strong>Astra DB Application Token</strong> field, add your <strong>Astra DB</strong> application token.
The component connects to your database and populates the menus with existing databases and collections.</li>
<li>Select your <strong>Database</strong>.</li>
<li>Select your <strong>Collection</strong>. Collections are created in your <a href="https://astra.datastax.com" target="_blank" rel="noopener noreferrer">Astra DB deployment</a> for storing vector data.
If you don&#x27;t have a collection, see the <a href="https://docs.datastax.com/en/astra-db-serverless/databases/manage-collections.html#create-collection" target="_blank" rel="noopener noreferrer">DataStax Astra DB Serverless documentation</a>.</li>
<li>Select <strong>Embedding Model</strong> to bring your own embeddings model, which is the connected <strong>OpenAI Embeddings</strong> component.
The <strong>Dimensions</strong> value must match the dimensions of your collection. This value can be found in your <strong>Collection</strong> in your <a href="https://astra.datastax.com" target="_blank" rel="noopener noreferrer">Astra DB deployment</a>.</li>
</ol>
</li>
</ol>
<p>If you used Langflow&#x27;s <strong>Global Variables</strong> feature, the RAG application flow components are already configured with the necessary credentials.</p>
<h3 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="run-the-chatbot-with-retrieved-context">Run the chatbot with retrieved context<a href="#run-the-chatbot-with-retrieved-context" class="hash-link" aria-label="Direct link to Run the chatbot with retrieved context" title="Direct link to Run the chatbot with retrieved context"></a></h3>
<ol>
<li>Modify the <strong>Prompt</strong> component to contain variables for both <code>{user_question}</code> and <code>{context}</code>.
The <code>{context}</code> variable gives the bot additional context for answering <code>{user_question}</code> beyond what the LLM was trained on.</li>
</ol>
<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>Given the context</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>{context}</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>Answer the question</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>{user_question}</span></div></div><br></code></div></div>
<ol start="2">
<li>In the <strong>File</strong> component, upload a text file from your local machine with data you want to ingest into the <strong>Astra DB</strong> component database.
This example uploads an up-to-date CSV about Oscar winners.</li>
<li>Click <strong>Playground</strong> to start a chat session.</li>
<li>Ask the bot: <code>Who won the Oscar in 2024 for best movie?</code></li>
<li>The bot&#x27;s response should be similar to this:</li>
</ol>
<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>The Oscar for Best Picture in 2024 was awarded to &quot;Oppenheimer,&quot;</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>produced by Emma Thomas, Charles Roven, and Christopher Nolan.</span></div></div><br></code></div></div>
<p>Adding an <strong>Astra DB</strong> vector store brought your chatbot all the way into 2024.
You have successfully added RAG to your chatbot application using the <strong>Astra DB</strong> component.</p>
<h2 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="next-steps">Next steps<a href="#next-steps" class="hash-link" aria-label="Direct link to Next steps" title="Direct link to Next steps"></a></h2>
<p>This example used movie data, but the RAG pattern can be used with any data you want to load and chat with.</p>
<p>Make the <strong>Astra DB</strong> database the brain that <a href="/agents-overview">Agents</a> use to make decisions.</p>
<p>Expose this flow as an <a href="/concepts-api">API</a> and call it from your external applications.</p>
<p>For more on the <strong>Astra DB</strong> component, see <a href="/components-vector-stores#astra-db-vector-store">Astra DB vector store</a>.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/get-started-installation"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Install Langflow</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/starter-projects-basic-prompting"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Basic prompting</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="#prerequisites" class="table-of-contents__link toc-highlight">Prerequisites</a></li><li><a href="#open-langflow-and-start-a-new-project" class="table-of-contents__link toc-highlight">Open Langflow and start a new project</a></li><li><a href="#build-the-basic-prompting-flow" class="table-of-contents__link toc-highlight">Build the basic prompting flow</a><ul><li><a href="#run-basic-prompting-flow" class="table-of-contents__link toc-highlight">Run the Basic Prompting flow</a></li></ul></li><li><a href="#add-vector-rag-to-your-application" class="table-of-contents__link toc-highlight">Add vector RAG to your application</a></li><li><a href="#add-vector-rag-with-the-astra-db-component" class="table-of-contents__link toc-highlight">Add vector RAG with the Astra DB component</a><ul><li><a href="#run-the-chatbot-with-retrieved-context" class="table-of-contents__link toc-highlight">Run the chatbot with retrieved context</a></li></ul></li><li><a href="#next-steps" class="table-of-contents__link toc-highlight">Next steps</a></li></ul></div></div></div></div></main></div></div></div><div id="ms-floating-button" class="ms-fixed ms-bottom-4 ms-right-8 ms-z-[100] ms-flex ms-flex-col ms-items-end hover:ms-cursor-pointer"><div class="ms-relative ms-mb-4"><div style="background-color:#f6f6f6" class="ms-absolute -ms-bottom-1 ms-right-6 -ms-z-10 ms-h-4 ms-w-4 ms-rotate-45"></div><div style="background-color:#f6f6f6" class="ms-z-10 ms-flex ms-items-center ms-justify-center ms-rounded-lg ms-px-3 ms-py-2"><p style="color:#000000;margin:0" class="ms-text-sm">Hi, how can I help you?</p></div></div><div style="background-color:#f6f6f6" class="ms-flex ms-h-16 ms-w-16 ms-flex-col ms-items-center ms-justify-center ms-self-end ms-rounded-full ms-p-2 ms-transition"><div class="ms-rotate-0 ms-flex ms-h-full ms-w-full ms-transform ms-cursor-pointer ms-items-center ms-justify-center ms-rounded-full ms-transition-all ms-delay-75 ms-duration-100 ms-ease-in-out"><div style="color:#000000;font-size:22px;width:48px;height:48px;margin:0px;padding:0px;display:flex;align-items:center;justify-content:center;text-align:center"><img src="/img/langflow-icon-black-transparent.svg" srcdark="" style="width:40px"></div></div></div><div></div></div></div>
</body>
</html>