mirror of
https://github.com/langflow-ai/langflow.git
synced 2026-07-24 02:05:11 +08:00
186 lines
100 KiB
HTML
186 lines
100 KiB
HTML
<!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.8.1">
|
||
<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 started with Langflow by loading a template flow, running it, and then serving it at the /run API endpoint."><meta data-rh="true" property="og:description" content="Get started with Langflow by loading a template flow, running it, and then serving it at the /run API endpoint."><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 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":"Quickstart","item":"https://docs.langflow.org/get-started-quickstart"}]}</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=Sora:wght@550;600&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.5b49702d.css">
|
||
<script src="/assets/js/runtime~main.15dcd20c.js" defer="defer"></script>
|
||
<script src="/assets/js/main.adedf334.js" defer="defer"></script>
|
||
</head>
|
||
<body class="navigation-with-keyboard">
|
||
<svg xmlns="http://www.w3.org/2000/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 navbarHideable_m1mJ"><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><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" 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" 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" 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_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" 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" class="toggleIcon_g3eP 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" aria-hidden="true" class="toggleIcon_g3eP 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><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_g3eP systemToggleIcon_QzmC"><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 (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" 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 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/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"></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-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</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="/">About Langflow</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="/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><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="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" tabindex="0" href="/chat-with-rag">Tutorials</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"><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">Flows</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">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="/mcp-client">Model Context Protocol (MCP)</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-keys-and-authentication">Develop</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-overview">Deploy</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-components">Components 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 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 class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/contributing-community">Contribute</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="/troubleshoot">Support</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" class="menu__link">
|
||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||
<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_VOVn"><div class="docItemContainer_Djhp"><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" 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></li><li class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link">Quickstart</span></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 started with Langflow by loading a template flow, running it, and then serving it at the <code>/run</code> API endpoint.</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>
|
||
<p><a href="/get-started-installation">Install and start Langflow</a></p>
|
||
</li>
|
||
<li>
|
||
<p>Create an <a href="https://platform.openai.com/api-keys" target="_blank" rel="noopener noreferrer">OpenAI API key</a></p>
|
||
</li>
|
||
<li>
|
||
<p>Create a <a href="/api-keys-and-authentication">Langflow API key</a></p>
|
||
<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>Create a Langflow API key</summary><div><div class="collapsibleContent_i85q"><p>A Langflow API key is a user-specific token you can use with Langflow.</p><p>To create a Langflow API key, do the following:</p><ol>
|
||
<li>
|
||
<p>In Langflow, click your user icon, and then select <strong>Settings</strong>.</p>
|
||
</li>
|
||
<li>
|
||
<p>Click <strong>Langflow API Keys</strong>, and then click <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-plus" aria-hidden="true"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg> <strong>Add New</strong>.</p>
|
||
</li>
|
||
<li>
|
||
<p>Name your key, and then click <strong>Create API Key</strong>.</p>
|
||
</li>
|
||
<li>
|
||
<p>Copy the API key and store it securely.</p>
|
||
</li>
|
||
<li>
|
||
<p>To use your Langflow API key in a request, set a <code>LANGFLOW_API_KEY</code> environment variable in your terminal, and then include an <code>x-api-key</code> header or query parameter with your request.
|
||
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">_<!-- -->13</span><div style="display:inline-block;margin-left:16px"><span># Set variable</span></div></div><div><span class="ch-code-line-number">_<!-- -->13</span><div style="display:inline-block;margin-left:16px"><span>export LANGFLOW_API_KEY="sk..."</span></div></div><div><span class="ch-code-line-number">_<!-- -->13</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->13</span><div style="display:inline-block;margin-left:16px"><span># Send request</span></div></div><div><span class="ch-code-line-number">_<!-- -->13</span><div style="display:inline-block;margin-left:16px"><span>curl --request POST \</span></div></div><div><span class="ch-code-line-number">_<!-- -->13</span><div style="display:inline-block;margin-left:16px"><span>--url "http://LANGFLOW_SERVER_ADDRESS/api/v1/run/FLOW_ID" \</span></div></div><div><span class="ch-code-line-number">_<!-- -->13</span><div style="display:inline-block;margin-left:16px"><span>--header "Content-Type: application/json" \</span></div></div><div><span class="ch-code-line-number">_<!-- -->13</span><div style="display:inline-block;margin-left:16px"><span>--header "x-api-key: $LANGFLOW_API_KEY" \</span></div></div><div><span class="ch-code-line-number">_<!-- -->13</span><div style="display:inline-block;margin-left:16px"><span>--data '{</span></div></div><div><span class="ch-code-line-number">_<!-- -->13</span><div style="display:inline-block;margin-left:16px"><span> "output_type": "chat",</span></div></div><div><span class="ch-code-line-number">_<!-- -->13</span><div style="display:inline-block;margin-left:16px"><span> "input_type": "chat",</span></div></div><div><span class="ch-code-line-number">_<!-- -->13</span><div style="display:inline-block;margin-left:16px"><span> "input_value": "Hello"</span></div></div><div><span class="ch-code-line-number">_<!-- -->13</span><div style="display:inline-block;margin-left:16px"><span>}'</span></div></div><br></code></div></div>
|
||
</li>
|
||
</ol></div></div></details>
|
||
</li>
|
||
</ul>
|
||
<h2 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="run-the-simple-agent-template-flow">Run the Simple Agent template flow<a href="#run-the-simple-agent-template-flow" class="hash-link" aria-label="Direct link to Run the Simple Agent template flow" title="Direct link to Run the Simple Agent template flow"></a></h2>
|
||
<ol>
|
||
<li>In Langflow, click <strong>New Flow</strong>, and then select the <strong>Simple Agent</strong> template.</li>
|
||
</ol>
|
||
<p><img decoding="async" loading="lazy" alt="Simple Agent template" src="/assets/images/quickstart-simple-agent-flow-7e3f292d5ed5bbe2bcea7b4a1d9cffed.png" width="4000" height="2112" class="img_ev3q"></p>
|
||
<p>The <strong>Simple Agent</strong> template consists of an <a href="/agents"><strong>Agent</strong> component</a> connected to <a href="/chat-input-and-output"><strong>Chat Input</strong> and <strong>Chat Output</strong> components</a>, a <a href="/calculator"><strong>Calculator</strong> component</a>, and a <a href="/url"><strong>URL</strong> component</a>. When you run this flow, you submit a query to the agent through the <strong>Chat Input</strong> component, the agent uses the <strong>Calculator</strong> and <strong>URL</strong> tools to generate a response, and then returns the response through the <strong>Chat Output</strong> component.</p>
|
||
<p>Many components can be tools for agents, including <a href="/mcp-server">Model Context Protocol (MCP) servers</a>. The agent decides which tools to call based on the context of a given query.</p>
|
||
<ol start="2">
|
||
<li>
|
||
<p>In the <strong>Agent</strong> component, enter your OpenAI API key directly or use a <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-hidden="true"><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> <a href="/configuration-global-variables">global variable</a>.</p>
|
||
<p>This example uses the <strong>Agent</strong> component's built-in OpenAI model.
|
||
If you want to use a different provider, edit the model provider, model name, and credentials accordingly.
|
||
If your preferred provider or model isn't listed, set <strong>Model Provider</strong> to <strong>Connect other models</strong>, and then connect any <a href="/components-models#additional-language-models">language model component</a>.</p>
|
||
</li>
|
||
<li>
|
||
<p>To run the flow, click <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-play" aria-hidden="true"><polygon points="6 3 20 12 6 21 6 3"></polygon></svg> <strong>Playground</strong>.</p>
|
||
</li>
|
||
<li>
|
||
<p>To test the <strong>Calculator</strong> tool, ask the agent a simple math question, such as <code>I want to add 4 and 4.</code>
|
||
To help you test and evaluate your flows, the <strong>Playground</strong> shows the agent's reasoning process as it analyzes the prompt, selects a tool, and then uses the tool to generate a response.
|
||
In this case, a math question causes the agent to select the <strong>Calculator</strong> tool and use an action like <code>evaluate_expression</code>.</p>
|
||
</li>
|
||
</ol>
|
||
<p><img decoding="async" loading="lazy" alt="Playground with Agent tool" src="/assets/images/quickstart-simple-agent-playground-c8eaf644f060d9095b7c552791dba677.png" width="2000" height="1093" class="img_ev3q"></p>
|
||
<ol start="5">
|
||
<li>
|
||
<p>To test the <strong>URL</strong> tool, ask the agent about current events.
|
||
For this request, the agent selects the <strong>URL</strong> tool's <code>fetch_content</code> action, and then returns a summary of current news headlines.</p>
|
||
</li>
|
||
<li>
|
||
<p>When you are done testing the flow, click <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-x" aria-hidden="true"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg><strong>Close</strong>.</p>
|
||
</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>Next steps</div><div class="admonitionContent_BuS1"><p>Now that you've run your first flow, try these next steps:</p><ul>
|
||
<li>Edit your <strong>Simple Agent</strong> flow by attaching different tools or adding more <a href="/concepts-components">components</a> to the flow.</li>
|
||
<li><a href="/concepts-flows">Build your own flows</a> from scratch or by modifying other template flows.</li>
|
||
<li>Integrate flows into your applications, as explained in <a href="#run-your-flows-from-external-applications">Run your flows from external applications</a>.</li>
|
||
</ul></div></div>
|
||
<h2 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="run-your-flows-from-external-applications">Run your flows from external applications<a href="#run-your-flows-from-external-applications" class="hash-link" aria-label="Direct link to Run your flows from external applications" title="Direct link to Run your flows from external applications"></a></h2>
|
||
<p>Langflow is an IDE, but it's also a runtime you can call through the <a href="/api-reference-api-examples">Langflow API</a> with Python, JavaScript, or HTTP.</p>
|
||
<p>When you start Langflow locally, you can send requests to the local Langflow server.
|
||
For production applications, you need to <a href="/deployment-overview">deploy a stable Langflow instance</a> to handle API calls.</p>
|
||
<p>For example, you can use the <code>/run</code> endpoint to run a flow and get the result.</p>
|
||
<p>Langflow provides code snippets to help you get started with the Langflow API.</p>
|
||
<ol>
|
||
<li>
|
||
<p>When editing a flow, click <strong>Share</strong>, and then click <strong>API access</strong>.</p>
|
||
<p>The default code in the API access pane constructs a request with the Langflow server <code>url</code>, <code>headers</code>, and a <code>payload</code> of request data.
|
||
The code snippets automatically include the <code>LANGFLOW_SERVER_ADDRESS</code> and <code>FLOW_ID</code> values for the flow, and a script to include your <code>LANGFLOW_API_KEY</code> if you've set it as an environment variable in your terminal session.
|
||
Replace these values if you're using the code for a different server or flow.
|
||
The default Langflow server address is <code>http://localhost:7860</code>.</p>
|
||
<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Python</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">JavaScript</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">curl</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><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">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span>import requests</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span>url = "http://LANGFLOW_SERVER_ADDRESS/api/v1/run/FLOW_ID" # The complete API endpoint URL for this flow</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span># Request payload configuration</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span>payload = {</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span> "output_type": "chat",</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span> "input_type": "chat",</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span> "input_value": "hello world!"</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span>}</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span># Request headers</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span>headers = {</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span> "Content-Type": "application/json",</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span> "x-api-key": "$LANGFLOW_API_KEY"</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span>}</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span>try:</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span> # Send API request</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span> response = requests.request("POST", url, json=payload, headers=headers)</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span> response.raise_for_status() # Raise exception for bad status codes</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span> # Print response</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span> print(response.text)</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span>except requests.exceptions.RequestException as e:</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span> print(f"Error making API request: {e}")</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span>except ValueError as e:</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span> print(f"Error parsing response: {e}")</span></div></div><br></code></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><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">_<!-- -->20</span><div style="display:inline-block;margin-left:16px"><span>const payload = {</span></div></div><div><span class="ch-code-line-number">_<!-- -->20</span><div style="display:inline-block;margin-left:16px"><span> "output_type": "chat",</span></div></div><div><span class="ch-code-line-number">_<!-- -->20</span><div style="display:inline-block;margin-left:16px"><span> "input_type": "chat",</span></div></div><div><span class="ch-code-line-number">_<!-- -->20</span><div style="display:inline-block;margin-left:16px"><span> "input_value": "hello world!",</span></div></div><div><span class="ch-code-line-number">_<!-- -->20</span><div style="display:inline-block;margin-left:16px"><span> "session_id": "user_1"</span></div></div><div><span class="ch-code-line-number">_<!-- -->20</span><div style="display:inline-block;margin-left:16px"><span>};</span></div></div><div><span class="ch-code-line-number">_<!-- -->20</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->20</span><div style="display:inline-block;margin-left:16px"><span>const options = {</span></div></div><div><span class="ch-code-line-number">_<!-- -->20</span><div style="display:inline-block;margin-left:16px"><span> method: 'POST',</span></div></div><div><span class="ch-code-line-number">_<!-- -->20</span><div style="display:inline-block;margin-left:16px"><span> headers: {</span></div></div><div><span class="ch-code-line-number">_<!-- -->20</span><div style="display:inline-block;margin-left:16px"><span> 'Content-Type': 'application/json',</span></div></div><div><span class="ch-code-line-number">_<!-- -->20</span><div style="display:inline-block;margin-left:16px"><span> 'x-api-key': 'LANGFLOW_API_KEY'</span></div></div><div><span class="ch-code-line-number">_<!-- -->20</span><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><span class="ch-code-line-number">_<!-- -->20</span><div style="display:inline-block;margin-left:16px"><span> body: JSON.stringify(payload)</span></div></div><div><span class="ch-code-line-number">_<!-- -->20</span><div style="display:inline-block;margin-left:16px"><span>};</span></div></div><div><span class="ch-code-line-number">_<!-- -->20</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->20</span><div style="display:inline-block;margin-left:16px"><span>fetch('http://LANGFLOW_SERVER_ADDRESS/api/v1/run/FLOW_ID', options)</span></div></div><div><span class="ch-code-line-number">_<!-- -->20</span><div style="display:inline-block;margin-left:16px"><span> .then(response => response.json())</span></div></div><div><span class="ch-code-line-number">_<!-- -->20</span><div style="display:inline-block;margin-left:16px"><span> .then(response => console.log(response))</span></div></div><div><span class="ch-code-line-number">_<!-- -->20</span><div style="display:inline-block;margin-left:16px"><span> .catch(err => console.error(err));</span></div></div><br></code></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><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">_<!-- -->11</span><div style="display:inline-block;margin-left:16px"><span>curl --request POST \</span></div></div><div><span class="ch-code-line-number">_<!-- -->11</span><div style="display:inline-block;margin-left:16px"><span> --url 'http://LANGFLOW_SERVER_ADDRESS/api/v1/run/FLOW_ID?stream=false' \</span></div></div><div><span class="ch-code-line-number">_<!-- -->11</span><div style="display:inline-block;margin-left:16px"><span> --header 'Content-Type: application/json' \</span></div></div><div><span class="ch-code-line-number">_<!-- -->11</span><div style="display:inline-block;margin-left:16px"><span> --header "x-api-key: LANGFLOW_API_KEY" \</span></div></div><div><span class="ch-code-line-number">_<!-- -->11</span><div style="display:inline-block;margin-left:16px"><span> --data '{</span></div></div><div><span class="ch-code-line-number">_<!-- -->11</span><div style="display:inline-block;margin-left:16px"><span> "output_type": "chat",</span></div></div><div><span class="ch-code-line-number">_<!-- -->11</span><div style="display:inline-block;margin-left:16px"><span> "input_type": "chat",</span></div></div><div><span class="ch-code-line-number">_<!-- -->11</span><div style="display:inline-block;margin-left:16px"><span> "input_value": "hello world!"</span></div></div><div><span class="ch-code-line-number">_<!-- -->11</span><div style="display:inline-block;margin-left:16px"><span> }'</span></div></div><div><span class="ch-code-line-number">_<!-- -->11</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->11</span><div style="display:inline-block;margin-left:16px"><span># A 200 response confirms the call succeeded.</span></div></div><br></code></div></div></div></div></div>
|
||
</li>
|
||
<li>
|
||
<p>Copy the snippet, paste it in a script file, and then run the script to send the request.
|
||
If you are using the curl snippet, you can run the command directly in your terminal.</p>
|
||
</li>
|
||
</ol>
|
||
<p>If the request is successful, the response includes many details about the flow run, including the session ID, inputs, outputs, components, durations, and more.
|
||
The following is an example of a response from running the <strong>Simple Agent</strong> template flow:</p>
|
||
<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>Result</summary><div><div class="collapsibleContent_i85q"><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">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span>{</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "session_id": "29deb764-af3f-4d7d-94a0-47491ed241d6",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "outputs": [</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> {</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "inputs": {</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "input_value": "hello world!"</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "outputs": [</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> {</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "results": {</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "message": {</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "text_key": "text",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "data": {</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "timestamp": "2025-06-16 19:58:23 UTC",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "sender": "Machine",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "sender_name": "AI",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "session_id": "29deb764-af3f-4d7d-94a0-47491ed241d6",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "text": "Hello world! 🌍 How can I assist you today?",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "files": [],</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "error": false,</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "edit": false,</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "properties": {</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "text_color": "",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "background_color": "",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "edited": false,</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "source": {</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "id": "Agent-ZOknz",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "display_name": "Agent",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "source": "gpt-4o-mini"</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "icon": "bot",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "allow_markdown": false,</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "positive_feedback": null,</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "state": "complete",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "targets": []</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "category": "message",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "content_blocks": [</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> {</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "title": "Agent Steps",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "contents": [</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> {</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "type": "text",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "duration": 2,</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "header": {</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "title": "Input",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "icon": "MessageSquare"</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "text": "**Input**: hello world!"</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> {</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "type": "text",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "duration": 226,</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "header": {</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "title": "Output",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "icon": "MessageSquare"</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "text": "Hello world! 🌍 How can I assist you today?"</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> }</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> ],</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "allow_markdown": true,</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "media_url": null</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> }</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> ],</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "id": "f3d85d9a-261c-4325-b004-95a1bf5de7ca",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "flow_id": "29deb764-af3f-4d7d-94a0-47491ed241d6",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "duration": null</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "default_value": "",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "text": "Hello world! 🌍 How can I assist you today?",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "sender": "Machine",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "sender_name": "AI",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "files": [],</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "session_id": "29deb764-af3f-4d7d-94a0-47491ed241d6",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "timestamp": "2025-06-16T19:58:23+00:00",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "flow_id": "29deb764-af3f-4d7d-94a0-47491ed241d6",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "error": false,</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "edit": false,</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "properties": {</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "text_color": "",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "background_color": "",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "edited": false,</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "source": {</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "id": "Agent-ZOknz",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "display_name": "Agent",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "source": "gpt-4o-mini"</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "icon": "bot",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "allow_markdown": false,</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "positive_feedback": null,</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "state": "complete",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "targets": []</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "category": "message",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "content_blocks": [</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> {</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "title": "Agent Steps",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "contents": [</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> {</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "type": "text",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "duration": 2,</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "header": {</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "title": "Input",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "icon": "MessageSquare"</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "text": "**Input**: hello world!"</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> {</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "type": "text",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "duration": 226,</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "header": {</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "title": "Output",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "icon": "MessageSquare"</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "text": "Hello world! 🌍 How can I assist you today?"</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> }</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> ],</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "allow_markdown": true,</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "media_url": null</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> }</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> ],</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "duration": null</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> }</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "artifacts": {</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "message": "Hello world! 🌍 How can I assist you today?",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "sender": "Machine",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "sender_name": "AI",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "files": [],</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "type": "object"</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "outputs": {</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "message": {</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "message": "Hello world! 🌍 How can I assist you today?",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "type": "text"</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> }</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "logs": {</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "message": []</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "messages": [</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> {</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "message": "Hello world! 🌍 How can I assist you today?",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "sender": "Machine",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "sender_name": "AI",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "session_id": "29deb764-af3f-4d7d-94a0-47491ed241d6",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "stream_url": null,</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "component_id": "ChatOutput-aF5lw",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "files": [],</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "type": "text"</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> }</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> ],</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "timedelta": null,</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "duration": null,</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "component_display_name": "Chat Output",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "component_id": "ChatOutput-aF5lw",</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> "used_frozen_result": false</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> }</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> ]</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> }</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span> ]</span></div></div><div><span class="ch-code-line-number">_<!-- -->162</span><div style="display:inline-block;margin-left:16px"><span>}</span></div></div><br></code></div></div></div></div></details>
|
||
<p>In a production application, you probably want to select parts of this response to return to the user, store in logs, and so on. The next steps demonstrate how you can extract data from a Langflow API response to use in your application.</p>
|
||
<h3 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="extract-data-from-the-response">Extract data from the response<a href="#extract-data-from-the-response" class="hash-link" aria-label="Direct link to Extract data from the response" title="Direct link to Extract data from the response"></a></h3>
|
||
<p>The following example builds on the API pane's example code to create a question-and-answer chat in your terminal that stores the agent's previous answer.</p>
|
||
<ol>
|
||
<li>
|
||
<p>Incorporate your <strong>Simple Agent</strong> flow's <code>/run</code> snippet into the following script.
|
||
This script runs a question-and-answer chat in your terminal and stores the agent's previous answer so you can compare them.</p>
|
||
<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Python</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">JavaScript</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><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">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span>import requests</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span>import json</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span>url = "http://LANGFLOW_SERVER_ADDRESS/api/v1/run/FLOW_ID"</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span>def ask_agent(question):</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span> payload = {</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span> "output_type": "chat",</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span> "input_type": "chat",</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span> "input_value": question,</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span> }</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span> headers = {</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span> "Content-Type": "application/json",</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span> "x-api-key": "LANGFLOW_API_KEY"</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span> }</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span> try:</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span> response = requests.post(url, json=payload, headers=headers)</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span> response.raise_for_status()</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span> # Get the response message</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span> data = response.json()</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span> message = data["outputs"][0]["outputs"][0]["outputs"]["message"]["message"]</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span> return message</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span> except Exception as e:</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span> return f"Error: {str(e)}"</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span>def extract_message(data):</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span> try:</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span> return data["outputs"][0]["outputs"][0]["outputs"]["message"]["message"]</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span> except (KeyError, IndexError):</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span> return None</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span># Store the previous answer from ask_agent response</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span>previous_answer = None</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span># the terminal chat</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span>while True:</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span> # Get user input</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span> print("\nAsk the agent anything, such as 'What is 15 * 7?' or 'What is the capital of France?')")</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span> print("Type 'quit' to exit or 'compare' to see the previous answer")</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span> user_question = input("Your question: ")</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span> if user_question.lower() == 'quit':</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span> break</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span> elif user_question.lower() == 'compare':</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span> if previous_answer:</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span> print(f"\nPrevious answer was: {previous_answer}")</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span> else:</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span> print("\nNo previous answer to compare with!")</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span> continue</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span> # Get and display the answer</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span> result = ask_agent(user_question)</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span> print(f"\nAgent's answer: {result}")</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span> # Store the answer for comparison</span></div></div><div><span class="ch-code-line-number">_<!-- -->59</span><div style="display:inline-block;margin-left:16px"><span> previous_answer = result</span></div></div><br></code></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><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">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span>const readline = require('readline');</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span>const rl = readline.createInterface({</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> input: process.stdin,</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> output: process.stdout</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span>});</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span>const url = 'http://LANGFLOW_SERVER_ADDRESS/api/v1/run/FLOW_ID';</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span>// Store the previous answer from askAgent response</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span>let previousAnswer = null;</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span>// the agent flow, with question as input_value</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span>async function askAgent(question) {</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> const payload = {</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> "output_type": "chat",</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> "input_type": "chat",</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> "input_value": question</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> };</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> const options = {</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> method: 'POST',</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> headers: {</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> 'Content-Type': 'application/json',</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> 'x-api-key': 'LANGFLOW_API_KEY'</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> body: JSON.stringify(payload)</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> };</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> try {</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> const response = await fetch(url, options);</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> const data = await response.json();</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> // Extract the message from the nested response</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> const message = data.outputs[0].outputs[0].outputs.message.message;</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> return message;</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> } catch (error) {</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> return `Error: ${error.message}`;</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> }</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span>}</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span>// the terminal chat</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span>async function startChat() {</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> console.log("\nAsk the agent anything, such as 'What is 15 * 7?' or 'What is the capital of France?'");</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> console.log("Type 'quit' to exit or 'compare' to see the previous answer");</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> const askQuestion = () => {</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> rl.question('\nYour question: ', async (userQuestion) => {</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> if (userQuestion.toLowerCase() === 'quit') {</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> rl.close();</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> return;</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> }</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> if (userQuestion.toLowerCase() === 'compare') {</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> if (previousAnswer) {</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> console.log(`\nPrevious answer was: ${previousAnswer}`);</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> } else {</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> console.log("\nNo previous answer to compare with!");</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> }</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> askQuestion();</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> return;</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> }</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> const result = await askAgent(userQuestion);</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> console.log(`\nAgent's answer: ${result}`);</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> previousAnswer = result;</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> askQuestion();</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> });</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> };</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span> askQuestion();</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span>}</span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->74</span><div style="display:inline-block;margin-left:16px"><span>startChat();</span></div></div><br></code></div></div></div></div></div>
|
||
</li>
|
||
<li>
|
||
<p>To view the agent's previous answer, type <code>compare</code>. To close the terminal chat, type <code>exit</code>.</p>
|
||
</li>
|
||
</ol>
|
||
<h3 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="use-tweaks-to-apply-temporary-overrides-to-a-flow-run">Use tweaks to apply temporary overrides to a flow run<a href="#use-tweaks-to-apply-temporary-overrides-to-a-flow-run" class="hash-link" aria-label="Direct link to Use tweaks to apply temporary overrides to a flow run" title="Direct link to Use tweaks to apply temporary overrides to a flow run"></a></h3>
|
||
<p>You can include tweaks with your requests to temporarily modify flow parameters.
|
||
Tweaks are added to the API request, and temporarily change component parameters within your flow.
|
||
Tweaks override the flow's components' settings for a single run only.
|
||
They don't modify the underlying flow configuration or persist between runs.</p>
|
||
<p>Tweaks are added to the <code>/run</code> endpoint's <code>payload</code>.
|
||
To assist with formatting, you can define tweaks in Langflow's <strong>Input Schema</strong> pane before copying the code snippet.</p>
|
||
<ol>
|
||
<li>To open the <strong>Input Schema</strong> pane, from the <strong>API access</strong> pane, click <strong>Input Schema</strong>.</li>
|
||
<li>In the <strong>Input Schema</strong> pane, select the parameter you want to modify in your next request.
|
||
Enabling parameters in the <strong>Input Schema</strong> pane doesn't permanently change the listed parameters. It only adds them to the sample code snippets.</li>
|
||
<li>For example, to change the LLM provider from OpenAI to Groq, and include your Groq API key with the request, select the values <strong>Model Providers</strong>, <strong>Model</strong>, and <strong>Groq API Key</strong>.
|
||
Langflow updates the <code>tweaks</code> object in the code snippets based on your input parameters, and includes default values to guide you.
|
||
Use the updated code snippets in your script to run your flow with your overrides.</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">_<!-- -->12</span><div style="display:inline-block;margin-left:16px"><span>payload = {</span></div></div><div><span class="ch-code-line-number">_<!-- -->12</span><div style="display:inline-block;margin-left:16px"><span> "output_type": "chat",</span></div></div><div><span class="ch-code-line-number">_<!-- -->12</span><div style="display:inline-block;margin-left:16px"><span> "input_type": "chat",</span></div></div><div><span class="ch-code-line-number">_<!-- -->12</span><div style="display:inline-block;margin-left:16px"><span> "input_value": "hello world!",</span></div></div><div><span class="ch-code-line-number">_<!-- -->12</span><div style="display:inline-block;margin-left:16px"><span> "tweaks": {</span></div></div><div><span class="ch-code-line-number">_<!-- -->12</span><div style="display:inline-block;margin-left:16px"><span> "Agent-ZOknz": {</span></div></div><div><span class="ch-code-line-number">_<!-- -->12</span><div style="display:inline-block;margin-left:16px"><span> "agent_llm": "Groq",</span></div></div><div><span class="ch-code-line-number">_<!-- -->12</span><div style="display:inline-block;margin-left:16px"><span> "api_key": "GROQ_API_KEY",</span></div></div><div><span class="ch-code-line-number">_<!-- -->12</span><div style="display:inline-block;margin-left:16px"><span> "model_name": "llama-3.1-8b-instant"</span></div></div><div><span class="ch-code-line-number">_<!-- -->12</span><div style="display:inline-block;margin-left:16px"><span> }</span></div></div><div><span class="ch-code-line-number">_<!-- -->12</span><div style="display:inline-block;margin-left:16px"><span> }</span></div></div><div><span class="ch-code-line-number">_<!-- -->12</span><div style="display:inline-block;margin-left:16px"><span>}</span></div></div><br></code></div></div>
|
||
<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>
|
||
<ul>
|
||
<li><a href="/concepts-publish">Trigger flows with the Langflow API</a></li>
|
||
<li><a href="/mcp-server">Use Langflow as a Model Context Protocol (MCP) server</a></li>
|
||
<li><a href="/develop-application">Containerize a Langflow application</a></li>
|
||
<li><a href="/concepts-file-management">File management</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="/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="/chat-with-rag"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Create a vector RAG chatbot</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="#run-the-simple-agent-template-flow" class="table-of-contents__link toc-highlight">Run the Simple Agent template flow</a></li><li><a href="#run-your-flows-from-external-applications" class="table-of-contents__link toc-highlight">Run your flows from external applications</a><ul><li><a href="#extract-data-from-the-response" class="table-of-contents__link toc-highlight">Extract data from the response</a></li><li><a href="#use-tweaks-to-apply-temporary-overrides-to-a-flow-run" class="table-of-contents__link toc-highlight">Use tweaks to apply temporary overrides to a flow run</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><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>© 2025 Langflow</span>
|
||
<span id="preferenceCenterContainer"> · <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> |