diff --git a/365085a8-a90a-43f9-a779-f8769ec7eca1.html b/365085a8-a90a-43f9-a779-f8769ec7eca1.html index dcc19c501d..72c1126df5 100644 --- a/365085a8-a90a-43f9-a779-f8769ec7eca1.html +++ b/365085a8-a90a-43f9-a779-f8769ec7eca1.html @@ -1,18 +1,18 @@ - + -Folders | Langflow Documentation +My Collection | Langflow Documentation - - + + -
Skip to main content

Folders

-

Collections and Projects

+

My Collection

+
info

This page may contain outdated information. It will be updated as soon as possible.

My Collection is a space in Langflow where users can manage, organize, and access their flows and components. Flows and components are displayed as individual cards that provide relevant information.

    @@ -22,6 +22,7 @@

Click on a flow card to open it in Langflow Workspace or use the Playground Button for direct access to execute and interact with the flow’s chatbot interface.

Folders

+

Folders can help you keep your projects organized in Langflow. They help you manage and categorize your work efficiently, making it easier to find and access the resources you need.

Multiple projects can be stored in folders.

@@ -65,6 +66,6 @@

Example Structure

Here's an example of how you might organize folders and subfolders for a Langflow project:

-

_10
Langflow
_10
├── Research
_10
│ ├── Articles Project
_10
│ ├── Data Project
_10
│ └── Notes Project
_10
└── Documents
_10
├── RAG Project
_10
└── Advanced RAG Project

Hi, how can I help you?

+

_10
Langflow
_10
├── Research
_10
│ ├── Articles Project
_10
│ ├── Data Project
_10
│ └── Notes Project
_10
└── Documents
_10
├── RAG Project
_10
└── Advanced RAG Project

Hi, how can I help you?

\ No newline at end of file diff --git a/404.html b/404.html index 6bac0f7514..0ccffb612a 100644 --- a/404.html +++ b/404.html @@ -7,8 +7,8 @@ - - + +
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

Hi, how can I help you?

diff --git a/CNAME b/CNAME deleted file mode 100644 index ab1d0c8495..0000000000 --- a/CNAME +++ /dev/null @@ -1 +0,0 @@ -docs.langflow.org \ No newline at end of file diff --git a/assets/images/1190998947-8b21612eb550df8064412299959cf147.png b/assets/images/1190998947-8b21612eb550df8064412299959cf147.png new file mode 100644 index 0000000000..a9eed6305c Binary files /dev/null and b/assets/images/1190998947-8b21612eb550df8064412299959cf147.png differ diff --git a/assets/images/131952085-905bd051508c94150f70756784cb94e3.png b/assets/images/131952085-905bd051508c94150f70756784cb94e3.png deleted file mode 100644 index ff40f436b6..0000000000 Binary files a/assets/images/131952085-905bd051508c94150f70756784cb94e3.png and /dev/null differ diff --git a/assets/images/282456806-faa80dd0e38cef41d6fafdd70cfc3a37.png b/assets/images/282456806-faa80dd0e38cef41d6fafdd70cfc3a37.png deleted file mode 100644 index 8a4cb56478..0000000000 Binary files a/assets/images/282456806-faa80dd0e38cef41d6fafdd70cfc3a37.png and /dev/null differ diff --git a/assets/images/626991262-cc5dec3680402e7b7692bccb6a3f3085.png b/assets/images/626991262-cc5dec3680402e7b7692bccb6a3f3085.png new file mode 100644 index 0000000000..95948480f4 Binary files /dev/null and b/assets/images/626991262-cc5dec3680402e7b7692bccb6a3f3085.png differ diff --git a/assets/images/727819216-06357f178dd332e6eb79cd7897bd8019.png b/assets/images/727819216-06357f178dd332e6eb79cd7897bd8019.png deleted file mode 100644 index 8ce8d55373..0000000000 Binary files a/assets/images/727819216-06357f178dd332e6eb79cd7897bd8019.png and /dev/null differ diff --git a/assets/js/0575dfc8.09baf625.js b/assets/js/0575dfc8.09baf625.js deleted file mode 100644 index 06eb6543c7..0000000000 --- a/assets/js/0575dfc8.09baf625.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[2005],{3112:(e,n,i)=>{i.r(n),i.d(n,{CH:()=>c,assets:()=>d,chCodeConfig:()=>h,contentTitle:()=>o,default:()=>g,frontMatter:()=>s,metadata:()=>a,toc:()=>b});var l=i(4848),r=i(8453),t=i(4754);const s={title:"Global Variables",sidebar_position:0,slug:"/settings-global-variables"},o=void 0,a={id:"Settings/settings-global-variables",title:"Global Variables",description:"\u26a0\ufe0f WARNING",source:"@site/docs/Settings/settings-global-variables.md",sourceDirName:"Settings",slug:"/settings-global-variables",permalink:"/settings-global-variables",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:0,frontMatter:{title:"Global Variables",sidebar_position:0,slug:"/settings-global-variables"},sidebar:"defaultSidebar",previous:{title:"Railway",permalink:"/deployment-railway"},next:{title:"Project & General Settings",permalink:"/settings-project-general-settings"}},d={},c={annotations:t.hk,InlineCode:t.R0},h={staticMediaQuery:"not screen, (max-width: 768px)",lineNumbers:!0,showCopyButton:!0,themeName:"github-dark"},b=[{value:"Create and Add a Global Variable",id:"3543d5ef00eb453aa459b97ba85501e5",level:2},{value:"Configure Environment Variables in your .env file",id:"76844a93dbbc4d1ba551ea1a4a89ccdd",level:2}];function A(e){const n={blockquote:"blockquote",code:"code",h2:"h2",img:"img",li:"li",ol:"ol",p:"p",reactplayer:"reactplayer",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return c||x("CH",!1),c.InlineCode||x("CH.InlineCode",!0),(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("style",{dangerouslySetInnerHTML:{__html:'[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; }'}}),"\n",(0,l.jsx)(n.p,{children:'import ReactPlayer from "react-player";'}),"\n",(0,l.jsxs)(n.blockquote,{children:["\n",(0,l.jsx)(n.p,{children:"\u26a0\ufe0f WARNING\nThis page may contain outdated information. It will be updated as soon as possible."}),"\n"]}),"\n",(0,l.jsx)(n.p,{children:"Global Variables are a useful feature of Langflow, allowing you to define reusable variables accessed from any Text field in your project."}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"TL;DR"})}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"Global Variables are reusable variables accessible from any Text field in your project."}),"\n",(0,l.jsxs)(n.li,{children:["To create one, click the \ud83c\udf10 button in a Text field and then ",(0,l.jsx)(n.strong,{children:"+ Add New Variable"}),"."]}),"\n",(0,l.jsxs)(n.li,{children:["Define the ",(0,l.jsx)(n.strong,{children:"Name"}),", ",(0,l.jsx)(n.strong,{children:"Type"}),", and ",(0,l.jsx)(n.strong,{children:"Value"})," of the variable."]}),"\n",(0,l.jsxs)(n.li,{children:["Click ",(0,l.jsx)(n.strong,{children:"Save Variable"})," to create it."]}),"\n",(0,l.jsx)(n.li,{children:"All Credential Global Variables are encrypted and accessible only by you."}),"\n",(0,l.jsxs)(n.li,{children:["Set ",(0,l.jsx)(c.InlineCode,{codeConfig:h,code:{lines:[{tokens:[{content:"LANGFLOW_STORE_ENVIRONMENT_VARIABLES",props:{style:{color:"#79C0FF"}}}]}],lang:"jsx"},children:"LANGFLOW_STORE_ENVIRONMENT_VARIABLES"})," to ",(0,l.jsx)(c.InlineCode,{codeConfig:h,code:{lines:[{tokens:[{content:"true",props:{style:{color:"#79C0FF"}}}]}],lang:"jsx"},children:"true"})," in your ",(0,l.jsx)(n.code,{children:".env"})," file to add all variables in ",(0,l.jsx)(c.InlineCode,{codeConfig:h,code:{lines:[{tokens:[{content:"LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT",props:{style:{color:"#79C0FF"}}}]}],lang:"jsx"},children:"LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT"})," to your user's Global Variables."]}),"\n"]}),"\n",(0,l.jsx)(n.h2,{id:"3543d5ef00eb453aa459b97ba85501e5",children:"Create and Add a Global Variable"}),"\n",(0,l.jsxs)(n.p,{children:["To create and add a global variable, click the \ud83c\udf10 button in a Text field, and then click ",(0,l.jsx)(n.strong,{children:"+ Add New Variable"}),"."]}),"\n",(0,l.jsx)(n.p,{children:"Text fields are where you write text without opening a Text area, and are identified with the \ud83c\udf10 icon."}),"\n",(0,l.jsxs)(n.p,{children:["For example, to create an environment variable for the ",(0,l.jsx)(n.strong,{children:"OpenAI"})," component:"]}),"\n",(0,l.jsxs)(n.ol,{children:["\n",(0,l.jsxs)(n.li,{children:["In the ",(0,l.jsx)(n.strong,{children:"OpenAI API Key"})," text field, click the \ud83c\udf10 button, then ",(0,l.jsx)(n.strong,{children:"Add New Variable"}),"."]}),"\n",(0,l.jsxs)(n.li,{children:["Enter ",(0,l.jsx)(n.code,{children:"openai_api_key"})," in the ",(0,l.jsx)(n.strong,{children:"Variable Name"})," field."]}),"\n",(0,l.jsxs)(n.li,{children:["Paste your OpenAI API Key (",(0,l.jsx)(n.code,{children:"sk-..."}),") in the ",(0,l.jsx)(n.strong,{children:"Value"})," field."]}),"\n",(0,l.jsxs)(n.li,{children:["Select ",(0,l.jsx)(n.strong,{children:"Credential"})," for the ",(0,l.jsx)(n.strong,{children:"Type"}),"."]}),"\n",(0,l.jsxs)(n.li,{children:["Choose ",(0,l.jsx)(n.strong,{children:"OpenAI API Key"})," in the ",(0,l.jsx)(n.strong,{children:"Apply to Fields"})," field to apply this variable to all fields named ",(0,l.jsx)(n.strong,{children:"OpenAI API Key"}),"."]}),"\n",(0,l.jsxs)(n.li,{children:["Click ",(0,l.jsx)(n.strong,{children:"Save Variable"}),"."]}),"\n"]}),"\n",(0,l.jsxs)(n.p,{children:["You now have a ",(0,l.jsx)(n.code,{children:"openai_api_key"})," global environment variable for your Langflow project.\nSubsequently, clicking the \ud83c\udf10 button in a Text field will display the new variable in the dropdown."]}),"\n",(0,l.jsxs)(n.blockquote,{children:["\n",(0,l.jsx)(n.p,{children:"\ud83d\udca1 TIP\nYou can also create global variables in Settings > Variables and Secrets."}),"\n"]}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.img,{src:i(4730).A+"",width:"1236",height:"1240"})}),"\n",(0,l.jsxs)(n.p,{children:["To view and manage your project's global environment variables, visit ",(0,l.jsx)(n.strong,{children:"Settings"})," > ",(0,l.jsx)(n.strong,{children:"Variables and Secrets"}),"."]}),"\n",(0,l.jsxs)(n.blockquote,{children:["\n",(0,l.jsx)(n.p,{children:"\u26a0\ufe0f WARNING\nAll Credential Global Variables are encrypted and accessible only by you."}),"\n"]}),"\n",(0,l.jsx)(n.h2,{id:"76844a93dbbc4d1ba551ea1a4a89ccdd",children:"Configure Environment Variables in your .env file"}),"\n",(0,l.jsxs)(n.p,{children:["Setting ",(0,l.jsx)(n.code,{children:"LANGFLOW_STORE_ENVIRONMENT_VARIABLES"})," to ",(0,l.jsx)(n.code,{children:"true"})," in your ",(0,l.jsx)(n.code,{children:".env"})," file (default) adds all variables in ",(0,l.jsx)(n.code,{children:"LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT"})," to your user's Global Variables."]}),"\n",(0,l.jsx)(n.p,{children:"These variables are accessible like any other Global Variable."}),"\n",(0,l.jsxs)(n.blockquote,{children:["\n",(0,l.jsxs)(n.p,{children:["\ud83d\udca1 TIP\nTo prevent this behavior, set ",(0,l.jsx)(n.code,{children:"LANGFLOW_STORE_ENVIRONMENT_VARIABLES"})," to ",(0,l.jsx)(n.code,{children:"false"})," in your ",(0,l.jsx)(n.code,{children:".env"})," file."]}),"\n"]}),"\n",(0,l.jsxs)(n.p,{children:["You can specify variables to get from the environment by listing them in ",(0,l.jsx)(n.code,{children:"LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT"}),"."]}),"\n",(0,l.jsxs)(n.p,{children:["Specify variables as a comma-separated list (e.g., ",(0,l.jsx)(c.InlineCode,{codeConfig:h,code:{lines:[{tokens:[{content:'"VARIABLE1, VARIABLE2"',props:{style:{color:"#A5D6FF"}}}]}],lang:"jsx"},children:'"VARIABLE1, VARIABLE2"'}),") or a JSON-encoded string (e.g., ",(0,l.jsx)(c.InlineCode,{codeConfig:h,code:{lines:[{tokens:[{content:'\'["VARIABLE1", "VARIABLE2"]\'',props:{style:{color:"#A5D6FF"}}}]}],lang:"jsx"},children:'\'["VARIABLE1", "VARIABLE2"]\''}),")."]}),"\n",(0,l.jsx)(n.p,{children:"The default list of variables includes the ones below and more:"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"ANTHROPIC_API_KEY"}),"\n",(0,l.jsx)(n.li,{children:"ASTRA_DB_API_ENDPOINT"}),"\n",(0,l.jsx)(n.li,{children:"ASTRA_DB_APPLICATION_TOKEN"}),"\n",(0,l.jsx)(n.li,{children:"AZURE_OPENAI_API_KEY"}),"\n",(0,l.jsx)(n.li,{children:"AZURE_OPENAI_API_DEPLOYMENT_NAME"}),"\n",(0,l.jsx)(n.li,{children:"AZURE_OPENAI_API_EMBEDDINGS_DEPLOYMENT_NAME"}),"\n",(0,l.jsx)(n.li,{children:"AZURE_OPENAI_API_INSTANCE_NAME"}),"\n",(0,l.jsx)(n.li,{children:"AZURE_OPENAI_API_VERSION"}),"\n",(0,l.jsx)(n.li,{children:"COHERE_API_KEY"}),"\n",(0,l.jsx)(n.li,{children:"GOOGLE_API_KEY"}),"\n",(0,l.jsx)(n.li,{children:"GROQ_API_KEY"}),"\n",(0,l.jsx)(n.li,{children:"HUGGINGFACEHUB_API_TOKEN"}),"\n",(0,l.jsx)(n.li,{children:"OPENAI_API_KEY"}),"\n",(0,l.jsx)(n.li,{children:"PINECONE_API_KEY"}),"\n",(0,l.jsx)(n.li,{children:"SEARCHAPI_API_KEY"}),"\n",(0,l.jsx)(n.li,{children:"SERPAPI_API_KEY"}),"\n",(0,l.jsx)(n.li,{children:"UPSTASH_VECTOR_REST_URL"}),"\n",(0,l.jsx)(n.li,{children:"UPSTASH_VECTOR_REST_TOKEN"}),"\n",(0,l.jsx)(n.li,{children:"VECTARA_CUSTOMER_ID"}),"\n",(0,l.jsx)(n.li,{children:"VECTARA_CORPUS_ID"}),"\n",(0,l.jsx)(n.li,{children:"VECTARA_API_KEY"}),"\n"]}),"\n",(0,l.jsx)(n.reactplayer,{controls:!0,url:"https://prod-files-secure.s3.us-west-2.amazonaws.com/09f11537-5a5b-4f56-9e8d-de8ebcfae549/7030d3ff-3ecd-44db-8640-9c2295b4e3bc/langflow_global_variables.mp4?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIAT73L2G45HZZMZUHI%2F20240712%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20240712T220002Z&X-Amz-Expires=3600&X-Amz-Signature=bad6b33d89ef22b2d56becb6184c34cbc0ad51fc24d1a7d3b9f5d70d755506b1&X-Amz-SignedHeaders=host&x-id=GetObject",children:"\n"})]})}function g(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,l.jsx)(n,{...e,children:(0,l.jsx)(A,{...e})}):A(e)}function x(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},4730:(e,n,i)=>{i.d(n,{A:()=>l});const l=i.p+"assets/images/418277339-098b93e44d60be390c71469029fb4910.png"}}]); \ No newline at end of file diff --git a/assets/js/0575dfc8.d68a643f.js b/assets/js/0575dfc8.d68a643f.js new file mode 100644 index 0000000000..76f775f9e6 --- /dev/null +++ b/assets/js/0575dfc8.d68a643f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[2005],{3112:(e,n,i)=>{i.r(n),i.d(n,{CH:()=>c,assets:()=>d,chCodeConfig:()=>h,contentTitle:()=>a,default:()=>A,frontMatter:()=>o,metadata:()=>s,toc:()=>b});var l=i(4848),r=i(8453),t=i(4754);const o={title:"Global Variables",sidebar_position:0,slug:"/settings-global-variables"},a=void 0,s={id:"Settings/settings-global-variables",title:"Global Variables",description:"This page may contain outdated information. It will be updated as soon as possible.",source:"@site/docs/Settings/settings-global-variables.md",sourceDirName:"Settings",slug:"/settings-global-variables",permalink:"/settings-global-variables",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:0,frontMatter:{title:"Global Variables",sidebar_position:0,slug:"/settings-global-variables"},sidebar:"defaultSidebar",previous:{title:"Railway",permalink:"/deployment-railway"},next:{title:"Project & General Settings",permalink:"/settings-project-general-settings"}},d={},c={annotations:t.hk,InlineCode:t.R0},h={staticMediaQuery:"not screen, (max-width: 768px)",lineNumbers:!0,showCopyButton:!0,themeName:"github-dark"},b=[{value:"Create and Add a Global Variable",id:"3543d5ef00eb453aa459b97ba85501e5",level:3},{value:"Configure Environment Variables in your .env file",id:"76844a93dbbc4d1ba551ea1a4a89ccdd",level:3}];function g(e){const n={admonition:"admonition",code:"code",h3:"h3",img:"img",li:"li",ol:"ol",p:"p",reactplayer:"reactplayer",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return c||x("CH",!1),c.InlineCode||x("CH.InlineCode",!0),(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("style",{dangerouslySetInnerHTML:{__html:'[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; }'}}),"\n",(0,l.jsx)(n.p,{children:'import ReactPlayer from "react-player";'}),"\n",(0,l.jsx)(n.admonition,{type:"info",children:(0,l.jsx)(n.p,{children:"This page may contain outdated information. It will be updated as soon as possible."})}),"\n",(0,l.jsx)(n.p,{children:"Global Variables are a useful feature of Langflow, allowing you to define reusable variables accessed from any Text field in your project."}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"TL;DR"})}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"Global Variables are reusable variables accessible from any Text field in your project."}),"\n",(0,l.jsxs)(n.li,{children:["To create one, click the \ud83c\udf10 button in a Text field and then ",(0,l.jsx)(n.strong,{children:"+ Add New Variable"}),"."]}),"\n",(0,l.jsxs)(n.li,{children:["Define the ",(0,l.jsx)(n.strong,{children:"Name"}),", ",(0,l.jsx)(n.strong,{children:"Type"}),", and ",(0,l.jsx)(n.strong,{children:"Value"})," of the variable."]}),"\n",(0,l.jsxs)(n.li,{children:["Click ",(0,l.jsx)(n.strong,{children:"Save Variable"})," to create it."]}),"\n",(0,l.jsx)(n.li,{children:"All Credential Global Variables are encrypted and accessible only by you."}),"\n",(0,l.jsxs)(n.li,{children:["Set ",(0,l.jsx)(c.InlineCode,{codeConfig:h,code:{lines:[{tokens:[{content:"LANGFLOW_STORE_ENVIRONMENT_VARIABLES",props:{style:{color:"#79C0FF"}}}]}],lang:"jsx"},children:"LANGFLOW_STORE_ENVIRONMENT_VARIABLES"})," to ",(0,l.jsx)(c.InlineCode,{codeConfig:h,code:{lines:[{tokens:[{content:"true",props:{style:{color:"#79C0FF"}}}]}],lang:"jsx"},children:"true"})," in your ",(0,l.jsx)(n.code,{children:".env"})," file to add all variables in ",(0,l.jsx)(c.InlineCode,{codeConfig:h,code:{lines:[{tokens:[{content:"LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT",props:{style:{color:"#79C0FF"}}}]}],lang:"jsx"},children:"LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT"})," to your user's Global Variables."]}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"3543d5ef00eb453aa459b97ba85501e5",children:"Create and Add a Global Variable"}),"\n",(0,l.jsxs)(n.p,{children:["To create and add a global variable, click the \ud83c\udf10 button in a Text field, and then click ",(0,l.jsx)(n.strong,{children:"+ Add New Variable"}),"."]}),"\n",(0,l.jsx)(n.p,{children:"Text fields are where you write text without opening a Text area, and are identified with the \ud83c\udf10 icon."}),"\n",(0,l.jsxs)(n.p,{children:["For example, to create an environment variable for the ",(0,l.jsx)(n.strong,{children:"OpenAI"})," component:"]}),"\n",(0,l.jsxs)(n.ol,{children:["\n",(0,l.jsxs)(n.li,{children:["In the ",(0,l.jsx)(n.strong,{children:"OpenAI API Key"})," text field, click the \ud83c\udf10 button, then ",(0,l.jsx)(n.strong,{children:"Add New Variable"}),"."]}),"\n",(0,l.jsxs)(n.li,{children:["Enter ",(0,l.jsx)(n.code,{children:"openai_api_key"})," in the ",(0,l.jsx)(n.strong,{children:"Variable Name"})," field."]}),"\n",(0,l.jsxs)(n.li,{children:["Paste your OpenAI API Key (",(0,l.jsx)(n.code,{children:"sk-..."}),") in the ",(0,l.jsx)(n.strong,{children:"Value"})," field."]}),"\n",(0,l.jsxs)(n.li,{children:["Select ",(0,l.jsx)(n.strong,{children:"Credential"})," for the ",(0,l.jsx)(n.strong,{children:"Type"}),"."]}),"\n",(0,l.jsxs)(n.li,{children:["Choose ",(0,l.jsx)(n.strong,{children:"OpenAI API Key"})," in the ",(0,l.jsx)(n.strong,{children:"Apply to Fields"})," field to apply this variable to all fields named ",(0,l.jsx)(n.strong,{children:"OpenAI API Key"}),"."]}),"\n",(0,l.jsxs)(n.li,{children:["Click ",(0,l.jsx)(n.strong,{children:"Save Variable"}),"."]}),"\n"]}),"\n",(0,l.jsxs)(n.p,{children:["You now have a ",(0,l.jsx)(n.code,{children:"openai_api_key"})," global environment variable for your Langflow project.\nSubsequently, clicking the \ud83c\udf10 button in a Text field will display the new variable in the dropdown."]}),"\n",(0,l.jsx)(n.admonition,{type:"tip",children:(0,l.jsx)(n.p,{children:"You can also create global variables in Settings > Variables and Secrets."})}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.img,{src:i(4730).A+"",width:"1236",height:"1240"})}),"\n",(0,l.jsxs)(n.p,{children:["To view and manage your project's global environment variables, visit ",(0,l.jsx)(n.strong,{children:"Settings"})," > ",(0,l.jsx)(n.strong,{children:"Variables and Secrets"}),"."]}),"\n",(0,l.jsx)(n.h3,{id:"76844a93dbbc4d1ba551ea1a4a89ccdd",children:"Configure Environment Variables in your .env file"}),"\n",(0,l.jsxs)(n.p,{children:["Setting ",(0,l.jsx)(n.code,{children:"LANGFLOW_STORE_ENVIRONMENT_VARIABLES"})," to ",(0,l.jsx)(n.code,{children:"true"})," in your ",(0,l.jsx)(n.code,{children:".env"})," file (default) adds all variables in ",(0,l.jsx)(n.code,{children:"LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT"})," to your user's Global Variables."]}),"\n",(0,l.jsx)(n.p,{children:"These variables are accessible like any other Global Variable."}),"\n",(0,l.jsx)(n.admonition,{type:"info",children:(0,l.jsxs)(n.p,{children:["To prevent this behavior, set ",(0,l.jsx)(n.code,{children:"LANGFLOW_STORE_ENVIRONMENT_VARIABLES"})," to ",(0,l.jsx)(n.code,{children:"false"})," in your ",(0,l.jsx)(n.code,{children:".env"})," file."]})}),"\n",(0,l.jsxs)(n.p,{children:["You can specify variables to get from the environment by listing them in ",(0,l.jsx)(n.code,{children:"LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT"}),"."]}),"\n",(0,l.jsxs)(n.p,{children:["Specify variables as a comma-separated list (e.g., ",(0,l.jsx)(c.InlineCode,{codeConfig:h,code:{lines:[{tokens:[{content:'"VARIABLE1, VARIABLE2"',props:{style:{color:"#A5D6FF"}}}]}],lang:"jsx"},children:'"VARIABLE1, VARIABLE2"'}),") or a JSON-encoded string (e.g., ",(0,l.jsx)(c.InlineCode,{codeConfig:h,code:{lines:[{tokens:[{content:'\'["VARIABLE1", "VARIABLE2"]\'',props:{style:{color:"#A5D6FF"}}}]}],lang:"jsx"},children:'\'["VARIABLE1", "VARIABLE2"]\''}),")."]}),"\n",(0,l.jsx)(n.p,{children:"The default list of variables includes the ones below and more:"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"ANTHROPIC_API_KEY"}),"\n",(0,l.jsx)(n.li,{children:"ASTRA_DB_API_ENDPOINT"}),"\n",(0,l.jsx)(n.li,{children:"ASTRA_DB_APPLICATION_TOKEN"}),"\n",(0,l.jsx)(n.li,{children:"AZURE_OPENAI_API_KEY"}),"\n",(0,l.jsx)(n.li,{children:"AZURE_OPENAI_API_DEPLOYMENT_NAME"}),"\n",(0,l.jsx)(n.li,{children:"AZURE_OPENAI_API_EMBEDDINGS_DEPLOYMENT_NAME"}),"\n",(0,l.jsx)(n.li,{children:"AZURE_OPENAI_API_INSTANCE_NAME"}),"\n",(0,l.jsx)(n.li,{children:"AZURE_OPENAI_API_VERSION"}),"\n",(0,l.jsx)(n.li,{children:"COHERE_API_KEY"}),"\n",(0,l.jsx)(n.li,{children:"GOOGLE_API_KEY"}),"\n",(0,l.jsx)(n.li,{children:"GROQ_API_KEY"}),"\n",(0,l.jsx)(n.li,{children:"HUGGINGFACEHUB_API_TOKEN"}),"\n",(0,l.jsx)(n.li,{children:"OPENAI_API_KEY"}),"\n",(0,l.jsx)(n.li,{children:"PINECONE_API_KEY"}),"\n",(0,l.jsx)(n.li,{children:"SEARCHAPI_API_KEY"}),"\n",(0,l.jsx)(n.li,{children:"SERPAPI_API_KEY"}),"\n",(0,l.jsx)(n.li,{children:"UPSTASH_VECTOR_REST_URL"}),"\n",(0,l.jsx)(n.li,{children:"UPSTASH_VECTOR_REST_TOKEN"}),"\n",(0,l.jsx)(n.li,{children:"VECTARA_CUSTOMER_ID"}),"\n",(0,l.jsx)(n.li,{children:"VECTARA_CORPUS_ID"}),"\n",(0,l.jsx)(n.li,{children:"VECTARA_API_KEY"}),"\n"]}),"\n",(0,l.jsx)(n.reactplayer,{controls:!0,url:"https://prod-files-secure.s3.us-west-2.amazonaws.com/09f11537-5a5b-4f56-9e8d-de8ebcfae549/7030d3ff-3ecd-44db-8640-9c2295b4e3bc/langflow_global_variables.mp4?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIAT73L2G45HZZMZUHI%2F20240712%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20240712T232240Z&X-Amz-Expires=3600&X-Amz-Signature=463a0203fa466f5efc5812f6c991821c996ea46f0bcf0ba84177cab56d604621&X-Amz-SignedHeaders=host&x-id=GetObject",children:"\n"})]})}function A(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,l.jsx)(n,{...e,children:(0,l.jsx)(g,{...e})}):g(e)}function x(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},4730:(e,n,i)=>{i.d(n,{A:()=>l});const l=i.p+"assets/images/418277339-098b93e44d60be390c71469029fb4910.png"}}]); \ No newline at end of file diff --git a/assets/js/0be1d5fe.4fe840fb.js b/assets/js/0be1d5fe.4fe840fb.js deleted file mode 100644 index 727e01a4e6..0000000000 --- a/assets/js/0be1d5fe.4fe840fb.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[145],{75:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>l,default:()=>a,frontMatter:()=>r,metadata:()=>o,toc:()=>c});var t=s(4848),i=s(8453);const r={title:"Models",sidebar_position:5,slug:"/components-models"},l=void 0,o={id:"Components/components-models",title:"Models",description:"Amazon Bedrock",source:"@site/docs/Components/components-models.md",sourceDirName:"Components",slug:"/components-models",permalink:"/components-models",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:5,frontMatter:{title:"Models",sidebar_position:5,slug:"/components-models"},sidebar:"defaultSidebar",previous:{title:"Helpers",permalink:"/components-helpers"},next:{title:"Embedding Models",permalink:"/components-embedding-models"}},d={},c=[{value:"Amazon Bedrock",id:"3b8ceacef3424234814f95895a25bf43",level:2},{value:"Anthropic",id:"a6ae46f98c4c4d389d44b8408bf151a1",level:2},{value:"Azure OpenAI",id:"7e3bff29ce714479b07feeb4445680cd",level:2},{value:"Cohere",id:"706396a33bf94894966c95571252d78b",level:2},{value:"Google Generative AI",id:"074d9623463449f99d41b44699800e8a",level:2},{value:"Hugging Face API",id:"c1267b9a6b36487cb2ee127ce9b64dbb",level:2},{value:"LiteLLM Model",id:"9fb59dad3b294a05966320d39f483a50",level:2},{value:"Ollama",id:"14e8e411d28d4711add53bfc3e52c6cd",level:2},{value:"OpenAI",id:"fe6cd793446748eda6eaad72e30f70b3",level:2},{value:"Qianfan",id:"6e4a6b2370ee4b9f8beb899e7cf9c8f6",level:2},{value:"Vertex AI",id:"86b7d539e17c436fb758c47ec3ffb084",level:2}];function h(e){const n={a:"a",code:"code",h2:"h2",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h2,{id:"3b8ceacef3424234814f95895a25bf43",children:"Amazon Bedrock"}),"\n",(0,t.jsx)(n.p,{children:"This component facilitates the generation of text using the LLM (Large Language Model) model from Amazon Bedrock."}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Params"})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Input Value:"}),"\xa0Specifies the input text for text generation."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"System Message (Optional):"}),"\xa0A system message to pass to the model."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Model ID (Optional):"}),"\xa0Specifies the model ID to be used for text generation. Defaults to\xa0",(0,t.jsx)(n.code,{children:'"anthropic.claude-instant-v1"'}),". Available options include:\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"ai21.j2-grande-instruct"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"ai21.j2-jumbo-instruct"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"ai21.j2-mid"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"ai21.j2-mid-v1"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"ai21.j2-ultra"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"ai21.j2-ultra-v1"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"anthropic.claude-instant-v1"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"anthropic.claude-v1"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"anthropic.claude-v2"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"cohere.command-text-v14"'})}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Credentials Profile Name (Optional):"}),"\xa0Specifies the name of the credentials profile."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Region Name (Optional):"}),"\xa0Specifies the region name."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Model Kwargs (Optional):"}),"\xa0Additional keyword arguments for the model."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Endpoint URL (Optional):"}),"\xa0Specifies the endpoint URL."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Streaming (Optional):"}),"\xa0Specifies whether to stream the response from the model. Defaults to\xa0",(0,t.jsx)(n.code,{children:"False"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Cache (Optional):"}),"\xa0Specifies whether to cache the response."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Stream (Optional):"}),"\xa0Specifies whether to stream the response from the model. Defaults to\xa0",(0,t.jsx)(n.code,{children:"False"}),"."]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"NOTE"}),"\n",(0,t.jsx)(n.p,{children:"Ensure that necessary credentials are provided to connect to the Amazon Bedrock API. If connection fails, a ValueError will be raised."}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h2,{id:"a6ae46f98c4c4d389d44b8408bf151a1",children:"Anthropic"}),"\n",(0,t.jsx)(n.p,{children:"This component allows the generation of text using Anthropic Chat&Completion large language models."}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Params"})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Model Name:"}),"\xa0Specifies the name of the Anthropic model to be used for text generation. Available options include (and not limited to):\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"claude-2.1"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"claude-2.0"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"claude-instant-1.2"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"claude-instant-1"'})}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Anthropic API Key:"}),"\xa0Your Anthropic API key."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Max Tokens (Optional):"}),"\xa0Specifies the maximum number of tokens to generate. Defaults to\xa0",(0,t.jsx)(n.code,{children:"256"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Temperature (Optional):"}),"\xa0Specifies the sampling temperature. Defaults to\xa0",(0,t.jsx)(n.code,{children:"0.7"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"API Endpoint (Optional):"}),"\xa0Specifies the endpoint of the Anthropic API. Defaults to\xa0",(0,t.jsx)(n.code,{children:'"https://api.anthropic.com"'}),"if not specified."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Input Value:"}),"\xa0Specifies the input text for text generation."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Stream (Optional):"}),"\xa0Specifies whether to stream the response from the model. Defaults to\xa0",(0,t.jsx)(n.code,{children:"False"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"System Message (Optional):"}),"\xa0A system message to pass to the model."]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["For detailed documentation and integration guides, please refer to the\xa0",(0,t.jsx)(n.a,{href:"https://python.langchain.com/docs/integrations/chat/anthropic",children:"Anthropic Component Documentation"}),"."]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h2,{id:"7e3bff29ce714479b07feeb4445680cd",children:"Azure OpenAI"}),"\n",(0,t.jsx)(n.p,{children:"This component allows the generation of text using the LLM (Large Language Model) model from Azure OpenAI."}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Params"})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Model Name:"}),"\xa0Specifies the name of the Azure OpenAI model to be used for text generation. Available options include:\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"gpt-35-turbo"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"gpt-35-turbo-16k"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"gpt-35-turbo-instruct"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"gpt-4"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"gpt-4-32k"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"gpt-4-vision"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"gpt-4o"'})}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Azure Endpoint:"}),"\xa0Your Azure endpoint, including the resource. Example:\xa0",(0,t.jsx)(n.code,{children:"https://example-resource.azure.openai.com/"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Deployment Name:"}),"\xa0Specifies the name of the deployment."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"API Version:"}),"\xa0Specifies the version of the Azure OpenAI API to be used. Available options include:\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"2023-03-15-preview"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"2023-05-15"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"2023-06-01-preview"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"2023-07-01-preview"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"2023-08-01-preview"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"2023-09-01-preview"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"2023-12-01-preview"'})}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"API Key:"}),"\xa0Your Azure OpenAI API key."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Temperature (Optional):"}),"\xa0Specifies the sampling temperature. Defaults to\xa0",(0,t.jsx)(n.code,{children:"0.7"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Max Tokens (Optional):"}),"\xa0Specifies the maximum number of tokens to generate. Defaults to\xa0",(0,t.jsx)(n.code,{children:"1000"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Input Value:"}),"\xa0Specifies the input text for text generation."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Stream (Optional):"}),"\xa0Specifies whether to stream the response from the model. Defaults to\xa0",(0,t.jsx)(n.code,{children:"False"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"System Message (Optional):"}),"\xa0A system message to pass to the model."]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["For detailed documentation and integration guides, please refer to the\xa0",(0,t.jsx)(n.a,{href:"https://python.langchain.com/docs/integrations/llms/azure_openai",children:"Azure OpenAI Component Documentation"}),"."]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h2,{id:"706396a33bf94894966c95571252d78b",children:"Cohere"}),"\n",(0,t.jsx)(n.p,{children:"This component enables text generation using Cohere large language models."}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Params"})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Cohere API Key:"}),"\xa0Your Cohere API key."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Max Tokens (Optional):"}),"\xa0Specifies the maximum number of tokens to generate. Defaults to\xa0",(0,t.jsx)(n.code,{children:"256"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Temperature (Optional):"}),"\xa0Specifies the sampling temperature. Defaults to\xa0",(0,t.jsx)(n.code,{children:"0.75"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Input Value:"}),"\xa0Specifies the input text for text generation."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Stream (Optional):"}),"\xa0Specifies whether to stream the response from the model. Defaults to\xa0",(0,t.jsx)(n.code,{children:"False"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"System Message (Optional):"}),"\xa0A system message to pass to the model."]}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h2,{id:"074d9623463449f99d41b44699800e8a",children:"Google Generative AI"}),"\n",(0,t.jsx)(n.p,{children:"This component enables text generation using Google Generative AI."}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Params"})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Google API Key:"}),"\xa0Your Google API key to use for the Google Generative AI."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Model:"}),"\xa0The name of the model to use. Supported examples are\xa0",(0,t.jsx)(n.code,{children:'"gemini-pro"'}),"\xa0and\xa0",(0,t.jsx)(n.code,{children:'"gemini-pro-vision"'}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Max Output Tokens (Optional):"}),"\xa0The maximum number of tokens to generate."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Temperature:"}),"\xa0Run inference with this temperature. Must be in the closed interval [0.0, 1.0]."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Top K (Optional):"}),"\xa0Decode using top-k sampling: consider the set of top_k most probable tokens. Must be positive."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Top P (Optional):"}),"\xa0The maximum cumulative probability of tokens to consider when sampling."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"N (Optional):"}),"\xa0Number of chat completions to generate for each prompt. Note that the API may not return the full n completions if duplicates are generated."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Input Value:"}),"\xa0The input to the model."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Stream (Optional):"}),"\xa0Specifies whether to stream the response from the model. Defaults to\xa0",(0,t.jsx)(n.code,{children:"False"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"System Message (Optional):"}),"\xa0A system message to pass to the model."]}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h2,{id:"c1267b9a6b36487cb2ee127ce9b64dbb",children:"Hugging Face API"}),"\n",(0,t.jsx)(n.p,{children:"This component facilitates text generation using LLM models from the Hugging Face Inference API."}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Params"})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Endpoint URL:"}),"\xa0The URL of the Hugging Face Inference API endpoint. Should be provided along with necessary authentication credentials."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Task:"}),"\xa0Specifies the task for text generation. Options include\xa0",(0,t.jsx)(n.code,{children:'"text2text-generation"'}),",\xa0",(0,t.jsx)(n.code,{children:'"text-generation"'}),", and\xa0",(0,t.jsx)(n.code,{children:'"summarization"'}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"API Token:"}),"\xa0The API token required for authentication with the Hugging Face Hub."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Model Keyword Arguments (Optional):"}),"\xa0Additional keyword arguments for the model. Should be provided as a Python dictionary."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Input Value:"}),"\xa0The input text for text generation."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Stream (Optional):"}),"\xa0Specifies whether to stream the response from the model. Defaults to\xa0",(0,t.jsx)(n.code,{children:"False"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"System Message (Optional):"}),"\xa0A system message to pass to the model."]}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h2,{id:"9fb59dad3b294a05966320d39f483a50",children:"LiteLLM Model"}),"\n",(0,t.jsxs)(n.p,{children:["Generates text using the\xa0",(0,t.jsx)(n.code,{children:"LiteLLM"}),"\xa0collection of large language models."]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Parameters"})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Model name:"}),"\xa0The name of the model to use. For example,\xa0",(0,t.jsx)(n.code,{children:"gpt-3.5-turbo"}),". (Type: str)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"API key:"}),"\xa0The API key to use for accessing the provider's API. (Type: str, Optional)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Provider:"}),'\xa0The provider of the API key. (Type: str, Choices: "OpenAI", "Azure", "Anthropic", "Replicate", "Cohere", "OpenRouter")']}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Temperature:"}),"\xa0Controls the randomness of the text generation. (Type: float, Default: 0.7)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Model kwargs:"}),"\xa0Additional keyword arguments for the model. (Type: Dict, Optional)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Top p:"}),"\xa0Filter responses to keep the cumulative probability within the top p tokens. (Type: float, Optional)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Top k:"}),"\xa0Filter responses to only include the top k tokens. (Type: int, Optional)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"N:"}),"\xa0Number of chat completions to generate for each prompt. (Type: int, Default: 1)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Max tokens:"}),"\xa0The maximum number of tokens to generate for each chat completion. (Type: int, Default: 256)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Max retries:"}),"\xa0Maximum number of retries for failed requests. (Type: int, Default: 6)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Verbose:"}),"\xa0Whether to print verbose output. (Type: bool, Default: False)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Input:"}),"\xa0The input prompt for text generation. (Type: str)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Stream:"}),"\xa0Whether to stream the output. (Type: bool, Default: False)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"System message:"}),"\xa0System message to pass to the model. (Type: str, Optional)"]}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h2,{id:"14e8e411d28d4711add53bfc3e52c6cd",children:"Ollama"}),"\n",(0,t.jsx)(n.p,{children:"Generate text using Ollama Local LLMs."}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Parameters"})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Base URL:"}),"\xa0Endpoint of the Ollama API. Defaults to '",(0,t.jsx)(n.a,{href:"http://localhost:11434/",children:"http://localhost:11434"}),"' if not specified."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Model Name:"}),"\xa0The model name to use. Refer to\xa0",(0,t.jsx)(n.a,{href:"https://ollama.ai/library",children:"Ollama Library"}),"\xa0for more models."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Temperature:"}),"\xa0Controls the creativity of model responses. (Default: 0.8)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Cache:"}),"\xa0Enable or disable caching. (Default: False)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Format:"}),"\xa0Specify the format of the output (e.g., json). (Advanced)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Metadata:"}),"\xa0Metadata to add to the run trace. (Advanced)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Mirostat:"}),"\xa0Enable/disable Mirostat sampling for controlling perplexity. (Default: Disabled)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Mirostat Eta:"}),"\xa0Learning rate for Mirostat algorithm. (Default: None) (Advanced)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Mirostat Tau:"}),"\xa0Controls the balance between coherence and diversity of the output. (Default: None) (Advanced)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Context Window Size:"}),"\xa0Size of the context window for generating tokens. (Default: None) (Advanced)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Number of GPUs:"}),"\xa0Number of GPUs to use for computation. (Default: None) (Advanced)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Number of Threads:"}),"\xa0Number of threads to use during computation. (Default: None) (Advanced)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Repeat Last N:"}),"\xa0How far back the model looks to prevent repetition. (Default: None) (Advanced)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Repeat Penalty:"}),"\xa0Penalty for repetitions in generated text. (Default: None) (Advanced)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"TFS Z:"}),"\xa0Tail free sampling value. (Default: None) (Advanced)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Timeout:"}),"\xa0Timeout for the request stream. (Default: None) (Advanced)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Top K:"}),"\xa0Limits token selection to top K. (Default: None) (Advanced)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Top P:"}),"\xa0Works together with top-k. (Default: None) (Advanced)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Verbose:"}),"\xa0Whether to print out response text."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Tags:"}),"\xa0Tags to add to the run trace. (Advanced)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Stop Tokens:"}),"\xa0List of tokens to signal the model to stop generating text. (Advanced)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"System:"}),"\xa0System to use for generating text. (Advanced)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Template:"}),"\xa0Template to use for generating text. (Advanced)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Input:"}),"\xa0The input text."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Stream:"}),"\xa0Whether to stream the response."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"System Message:"}),"\xa0System message to pass to the model. (Advanced)"]}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h2,{id:"fe6cd793446748eda6eaad72e30f70b3",children:"OpenAI"}),"\n",(0,t.jsx)(n.p,{children:"This component facilitates text generation using OpenAI's models."}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Params"})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Input Value:"}),"\xa0The input text for text generation."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Max Tokens (Optional):"}),"\xa0The maximum number of tokens to generate. Defaults to\xa0",(0,t.jsx)(n.code,{children:"256"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Model Kwargs (Optional):"}),"\xa0Additional keyword arguments for the model. Should be provided as a nested dictionary."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Model Name (Optional):"}),"\xa0The name of the model to use. Defaults to\xa0",(0,t.jsx)(n.code,{children:"gpt-4-1106-preview"}),". Supported options include:\xa0",(0,t.jsx)(n.code,{children:"gpt-4-turbo-preview"}),",\xa0",(0,t.jsx)(n.code,{children:"gpt-4-0125-preview"}),",\xa0",(0,t.jsx)(n.code,{children:"gpt-4-1106-preview"}),",\xa0",(0,t.jsx)(n.code,{children:"gpt-4-vision-preview"}),",\xa0",(0,t.jsx)(n.code,{children:"gpt-3.5-turbo-0125"}),",\xa0",(0,t.jsx)(n.code,{children:"gpt-3.5-turbo-1106"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"OpenAI API Base (Optional):"}),"\xa0The base URL of the OpenAI API. Defaults to\xa0",(0,t.jsx)(n.code,{children:"https://api.openai.com/v1"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"OpenAI API Key (Optional):"}),"\xa0The API key for accessing the OpenAI API."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Temperature:"}),"\xa0Controls the creativity of model responses. Defaults to\xa0",(0,t.jsx)(n.code,{children:"0.7"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Stream (Optional):"}),"\xa0Specifies whether to stream the response from the model. Defaults to\xa0",(0,t.jsx)(n.code,{children:"False"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"System Message (Optional):"}),"\xa0System message to pass to the model."]}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h2,{id:"6e4a6b2370ee4b9f8beb899e7cf9c8f6",children:"Qianfan"}),"\n",(0,t.jsx)(n.p,{children:"This component facilitates the generation of text using Baidu Qianfan chat models."}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Params"})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Model Name:"}),"\xa0Specifies the name of the Qianfan chat model to be used for text generation. Available options include:\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"ERNIE-Bot"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"ERNIE-Bot-turbo"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"BLOOMZ-7B"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"Llama-2-7b-chat"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"Llama-2-13b-chat"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"Llama-2-70b-chat"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"Qianfan-BLOOMZ-7B-compressed"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"Qianfan-Chinese-Llama-2-7B"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"ChatGLM2-6B-32K"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"AquilaChat-7B"'})}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Qianfan Ak:"}),"\xa0Your Baidu Qianfan access key, obtainable from\xa0",(0,t.jsx)(n.a,{href:"https://cloud.baidu.com/product/wenxinworkshop",children:"here"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Qianfan Sk:"}),"\xa0Your Baidu Qianfan secret key, obtainable from\xa0",(0,t.jsx)(n.a,{href:"https://cloud.baidu.com/product/wenxinworkshop",children:"here"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Top p (Optional):"}),"\xa0Model parameter. Specifies the top-p value. Only supported in ERNIE-Bot and ERNIE-Bot-turbo models. Defaults to\xa0",(0,t.jsx)(n.code,{children:"0.8"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Temperature (Optional):"}),"\xa0Model parameter. Specifies the sampling temperature. Only supported in ERNIE-Bot and ERNIE-Bot-turbo models. Defaults to\xa0",(0,t.jsx)(n.code,{children:"0.95"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Penalty Score (Optional):"}),"\xa0Model parameter. Specifies the penalty score. Only supported in ERNIE-Bot and ERNIE-Bot-turbo models. Defaults to\xa0",(0,t.jsx)(n.code,{children:"1.0"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Endpoint (Optional):"}),"\xa0Endpoint of the Qianfan LLM, required if custom model is used."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Input Value:"}),"\xa0Specifies the input text for text generation."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Stream (Optional):"}),"\xa0Specifies whether to stream the response from the model. Defaults to\xa0",(0,t.jsx)(n.code,{children:"False"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"System Message (Optional):"}),"\xa0A system message to pass to the model."]}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h2,{id:"86b7d539e17c436fb758c47ec3ffb084",children:"Vertex AI"}),"\n",(0,t.jsxs)(n.p,{children:["The\xa0",(0,t.jsx)(n.code,{children:"ChatVertexAI"}),"\xa0is a component for generating text using Vertex AI Chat large language models API."]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Params"})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Credentials:"}),"\xa0The JSON file containing the credentials for accessing the Vertex AI Chat API."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Project:"}),"\xa0The name of the project associated with the Vertex AI Chat API."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Examples (Optional):"}),"\xa0List of examples to provide context for text generation."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Location:"}),"\xa0The location of the Vertex AI Chat API service. Defaults to\xa0",(0,t.jsx)(n.code,{children:"us-central1"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Max Output Tokens:"}),"\xa0The maximum number of tokens to generate. Defaults to\xa0",(0,t.jsx)(n.code,{children:"128"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Model Name:"}),"\xa0The name of the model to use. Defaults to\xa0",(0,t.jsx)(n.code,{children:"chat-bison"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Temperature:"}),"\xa0Controls the creativity of model responses. Defaults to\xa0",(0,t.jsx)(n.code,{children:"0.0"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Input Value:"}),"\xa0The input text for text generation."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Top K:"}),"\xa0Limits token selection to top K. Defaults to\xa0",(0,t.jsx)(n.code,{children:"40"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Top P:"}),"\xa0Works together with top-k. Defaults to\xa0",(0,t.jsx)(n.code,{children:"0.95"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Verbose:"}),"\xa0Whether to print out response text. Defaults to\xa0",(0,t.jsx)(n.code,{children:"False"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Stream (Optional):"}),"\xa0Specifies whether to stream the response from the model. Defaults to\xa0",(0,t.jsx)(n.code,{children:"False"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"System Message (Optional):"}),"\xa0System message to pass to the model."]}),"\n"]})]})}function a(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},8453:(e,n,s)=>{s.d(n,{R:()=>l,x:()=>o});var t=s(6540);const i={},r=t.createContext(i);function l(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0be1d5fe.d8406fa9.js b/assets/js/0be1d5fe.d8406fa9.js new file mode 100644 index 0000000000..48608c1c4e --- /dev/null +++ b/assets/js/0be1d5fe.d8406fa9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[145],{75:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>o,default:()=>h,frontMatter:()=>r,metadata:()=>l,toc:()=>c});var t=s(4848),i=s(8453);const r={title:"Models",sidebar_position:5,slug:"/components-models"},o=void 0,l={id:"Components/components-models",title:"Models",description:"This page may contain outdated information. It will be updated as soon as possible.",source:"@site/docs/Components/components-models.md",sourceDirName:"Components",slug:"/components-models",permalink:"/components-models",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:5,frontMatter:{title:"Models",sidebar_position:5,slug:"/components-models"},sidebar:"defaultSidebar",previous:{title:"Helpers",permalink:"/components-helpers"},next:{title:"Embedding Models",permalink:"/components-embedding-models"}},d={},c=[{value:"Amazon Bedrock",id:"3b8ceacef3424234814f95895a25bf43",level:2},{value:"Anthropic",id:"a6ae46f98c4c4d389d44b8408bf151a1",level:2},{value:"Azure OpenAI",id:"7e3bff29ce714479b07feeb4445680cd",level:2},{value:"Cohere",id:"706396a33bf94894966c95571252d78b",level:2},{value:"Google Generative AI",id:"074d9623463449f99d41b44699800e8a",level:2},{value:"Hugging Face API",id:"c1267b9a6b36487cb2ee127ce9b64dbb",level:2},{value:"LiteLLM Model",id:"9fb59dad3b294a05966320d39f483a50",level:2},{value:"Ollama",id:"14e8e411d28d4711add53bfc3e52c6cd",level:2},{value:"OpenAI",id:"fe6cd793446748eda6eaad72e30f70b3",level:2},{value:"Qianfan",id:"6e4a6b2370ee4b9f8beb899e7cf9c8f6",level:2},{value:"Vertex AI",id:"86b7d539e17c436fb758c47ec3ffb084",level:2}];function a(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.admonition,{type:"info",children:(0,t.jsx)(n.p,{children:"This page may contain outdated information. It will be updated as soon as possible."})}),"\n",(0,t.jsx)(n.h2,{id:"3b8ceacef3424234814f95895a25bf43",children:"Amazon Bedrock"}),"\n",(0,t.jsx)(n.p,{children:"This component facilitates the generation of text using the LLM (Large Language Model) model from Amazon Bedrock."}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Params"})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Input Value:"}),"\xa0Specifies the input text for text generation."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"System Message (Optional):"}),"\xa0A system message to pass to the model."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Model ID (Optional):"}),"\xa0Specifies the model ID to be used for text generation. Defaults to\xa0",(0,t.jsx)(n.code,{children:'"anthropic.claude-instant-v1"'}),". Available options include:\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"ai21.j2-grande-instruct"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"ai21.j2-jumbo-instruct"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"ai21.j2-mid"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"ai21.j2-mid-v1"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"ai21.j2-ultra"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"ai21.j2-ultra-v1"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"anthropic.claude-instant-v1"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"anthropic.claude-v1"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"anthropic.claude-v2"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"cohere.command-text-v14"'})}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Credentials Profile Name (Optional):"}),"\xa0Specifies the name of the credentials profile."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Region Name (Optional):"}),"\xa0Specifies the region name."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Model Kwargs (Optional):"}),"\xa0Additional keyword arguments for the model."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Endpoint URL (Optional):"}),"\xa0Specifies the endpoint URL."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Streaming (Optional):"}),"\xa0Specifies whether to stream the response from the model. Defaults to\xa0",(0,t.jsx)(n.code,{children:"False"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Cache (Optional):"}),"\xa0Specifies whether to cache the response."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Stream (Optional):"}),"\xa0Specifies whether to stream the response from the model. Defaults to\xa0",(0,t.jsx)(n.code,{children:"False"}),"."]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"NOTE"}),"\n",(0,t.jsx)(n.p,{children:"Ensure that necessary credentials are provided to connect to the Amazon Bedrock API. If connection fails, a ValueError will be raised."}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h2,{id:"a6ae46f98c4c4d389d44b8408bf151a1",children:"Anthropic"}),"\n",(0,t.jsx)(n.p,{children:"This component allows the generation of text using Anthropic Chat&Completion large language models."}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Params"})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Model Name:"}),"\xa0Specifies the name of the Anthropic model to be used for text generation. Available options include (and not limited to):\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"claude-2.1"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"claude-2.0"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"claude-instant-1.2"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"claude-instant-1"'})}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Anthropic API Key:"}),"\xa0Your Anthropic API key."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Max Tokens (Optional):"}),"\xa0Specifies the maximum number of tokens to generate. Defaults to\xa0",(0,t.jsx)(n.code,{children:"256"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Temperature (Optional):"}),"\xa0Specifies the sampling temperature. Defaults to\xa0",(0,t.jsx)(n.code,{children:"0.7"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"API Endpoint (Optional):"}),"\xa0Specifies the endpoint of the Anthropic API. Defaults to\xa0",(0,t.jsx)(n.code,{children:'"https://api.anthropic.com"'}),"if not specified."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Input Value:"}),"\xa0Specifies the input text for text generation."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Stream (Optional):"}),"\xa0Specifies whether to stream the response from the model. Defaults to\xa0",(0,t.jsx)(n.code,{children:"False"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"System Message (Optional):"}),"\xa0A system message to pass to the model."]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["For detailed documentation and integration guides, please refer to the\xa0",(0,t.jsx)(n.a,{href:"https://python.langchain.com/docs/integrations/chat/anthropic",children:"Anthropic Component Documentation"}),"."]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h2,{id:"7e3bff29ce714479b07feeb4445680cd",children:"Azure OpenAI"}),"\n",(0,t.jsx)(n.p,{children:"This component allows the generation of text using the LLM (Large Language Model) model from Azure OpenAI."}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Params"})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Model Name:"}),"\xa0Specifies the name of the Azure OpenAI model to be used for text generation. Available options include:\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"gpt-35-turbo"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"gpt-35-turbo-16k"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"gpt-35-turbo-instruct"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"gpt-4"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"gpt-4-32k"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"gpt-4-vision"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"gpt-4o"'})}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Azure Endpoint:"}),"\xa0Your Azure endpoint, including the resource. Example:\xa0",(0,t.jsx)(n.code,{children:"https://example-resource.azure.openai.com/"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Deployment Name:"}),"\xa0Specifies the name of the deployment."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"API Version:"}),"\xa0Specifies the version of the Azure OpenAI API to be used. Available options include:\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"2023-03-15-preview"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"2023-05-15"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"2023-06-01-preview"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"2023-07-01-preview"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"2023-08-01-preview"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"2023-09-01-preview"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"2023-12-01-preview"'})}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"API Key:"}),"\xa0Your Azure OpenAI API key."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Temperature (Optional):"}),"\xa0Specifies the sampling temperature. Defaults to\xa0",(0,t.jsx)(n.code,{children:"0.7"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Max Tokens (Optional):"}),"\xa0Specifies the maximum number of tokens to generate. Defaults to\xa0",(0,t.jsx)(n.code,{children:"1000"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Input Value:"}),"\xa0Specifies the input text for text generation."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Stream (Optional):"}),"\xa0Specifies whether to stream the response from the model. Defaults to\xa0",(0,t.jsx)(n.code,{children:"False"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"System Message (Optional):"}),"\xa0A system message to pass to the model."]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["For detailed documentation and integration guides, please refer to the\xa0",(0,t.jsx)(n.a,{href:"https://python.langchain.com/docs/integrations/llms/azure_openai",children:"Azure OpenAI Component Documentation"}),"."]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h2,{id:"706396a33bf94894966c95571252d78b",children:"Cohere"}),"\n",(0,t.jsx)(n.p,{children:"This component enables text generation using Cohere large language models."}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Params"})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Cohere API Key:"}),"\xa0Your Cohere API key."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Max Tokens (Optional):"}),"\xa0Specifies the maximum number of tokens to generate. Defaults to\xa0",(0,t.jsx)(n.code,{children:"256"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Temperature (Optional):"}),"\xa0Specifies the sampling temperature. Defaults to\xa0",(0,t.jsx)(n.code,{children:"0.75"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Input Value:"}),"\xa0Specifies the input text for text generation."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Stream (Optional):"}),"\xa0Specifies whether to stream the response from the model. Defaults to\xa0",(0,t.jsx)(n.code,{children:"False"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"System Message (Optional):"}),"\xa0A system message to pass to the model."]}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h2,{id:"074d9623463449f99d41b44699800e8a",children:"Google Generative AI"}),"\n",(0,t.jsx)(n.p,{children:"This component enables text generation using Google Generative AI."}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Params"})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Google API Key:"}),"\xa0Your Google API key to use for the Google Generative AI."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Model:"}),"\xa0The name of the model to use. Supported examples are\xa0",(0,t.jsx)(n.code,{children:'"gemini-pro"'}),"\xa0and\xa0",(0,t.jsx)(n.code,{children:'"gemini-pro-vision"'}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Max Output Tokens (Optional):"}),"\xa0The maximum number of tokens to generate."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Temperature:"}),"\xa0Run inference with this temperature. Must be in the closed interval [0.0, 1.0]."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Top K (Optional):"}),"\xa0Decode using top-k sampling: consider the set of top_k most probable tokens. Must be positive."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Top P (Optional):"}),"\xa0The maximum cumulative probability of tokens to consider when sampling."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"N (Optional):"}),"\xa0Number of chat completions to generate for each prompt. Note that the API may not return the full n completions if duplicates are generated."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Input Value:"}),"\xa0The input to the model."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Stream (Optional):"}),"\xa0Specifies whether to stream the response from the model. Defaults to\xa0",(0,t.jsx)(n.code,{children:"False"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"System Message (Optional):"}),"\xa0A system message to pass to the model."]}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h2,{id:"c1267b9a6b36487cb2ee127ce9b64dbb",children:"Hugging Face API"}),"\n",(0,t.jsx)(n.p,{children:"This component facilitates text generation using LLM models from the Hugging Face Inference API."}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Params"})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Endpoint URL:"}),"\xa0The URL of the Hugging Face Inference API endpoint. Should be provided along with necessary authentication credentials."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Task:"}),"\xa0Specifies the task for text generation. Options include\xa0",(0,t.jsx)(n.code,{children:'"text2text-generation"'}),",\xa0",(0,t.jsx)(n.code,{children:'"text-generation"'}),", and\xa0",(0,t.jsx)(n.code,{children:'"summarization"'}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"API Token:"}),"\xa0The API token required for authentication with the Hugging Face Hub."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Model Keyword Arguments (Optional):"}),"\xa0Additional keyword arguments for the model. Should be provided as a Python dictionary."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Input Value:"}),"\xa0The input text for text generation."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Stream (Optional):"}),"\xa0Specifies whether to stream the response from the model. Defaults to\xa0",(0,t.jsx)(n.code,{children:"False"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"System Message (Optional):"}),"\xa0A system message to pass to the model."]}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h2,{id:"9fb59dad3b294a05966320d39f483a50",children:"LiteLLM Model"}),"\n",(0,t.jsxs)(n.p,{children:["Generates text using the\xa0",(0,t.jsx)(n.code,{children:"LiteLLM"}),"\xa0collection of large language models."]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Parameters"})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Model name:"}),"\xa0The name of the model to use. For example,\xa0",(0,t.jsx)(n.code,{children:"gpt-3.5-turbo"}),". (Type: str)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"API key:"}),"\xa0The API key to use for accessing the provider's API. (Type: str, Optional)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Provider:"}),'\xa0The provider of the API key. (Type: str, Choices: "OpenAI", "Azure", "Anthropic", "Replicate", "Cohere", "OpenRouter")']}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Temperature:"}),"\xa0Controls the randomness of the text generation. (Type: float, Default: 0.7)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Model kwargs:"}),"\xa0Additional keyword arguments for the model. (Type: Dict, Optional)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Top p:"}),"\xa0Filter responses to keep the cumulative probability within the top p tokens. (Type: float, Optional)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Top k:"}),"\xa0Filter responses to only include the top k tokens. (Type: int, Optional)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"N:"}),"\xa0Number of chat completions to generate for each prompt. (Type: int, Default: 1)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Max tokens:"}),"\xa0The maximum number of tokens to generate for each chat completion. (Type: int, Default: 256)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Max retries:"}),"\xa0Maximum number of retries for failed requests. (Type: int, Default: 6)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Verbose:"}),"\xa0Whether to print verbose output. (Type: bool, Default: False)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Input:"}),"\xa0The input prompt for text generation. (Type: str)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Stream:"}),"\xa0Whether to stream the output. (Type: bool, Default: False)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"System message:"}),"\xa0System message to pass to the model. (Type: str, Optional)"]}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h2,{id:"14e8e411d28d4711add53bfc3e52c6cd",children:"Ollama"}),"\n",(0,t.jsx)(n.p,{children:"Generate text using Ollama Local LLMs."}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Parameters"})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Base URL:"}),"\xa0Endpoint of the Ollama API. Defaults to '",(0,t.jsx)(n.a,{href:"http://localhost:11434/",children:"http://localhost:11434"}),"' if not specified."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Model Name:"}),"\xa0The model name to use. Refer to\xa0",(0,t.jsx)(n.a,{href:"https://ollama.ai/library",children:"Ollama Library"}),"\xa0for more models."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Temperature:"}),"\xa0Controls the creativity of model responses. (Default: 0.8)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Cache:"}),"\xa0Enable or disable caching. (Default: False)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Format:"}),"\xa0Specify the format of the output (e.g., json). (Advanced)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Metadata:"}),"\xa0Metadata to add to the run trace. (Advanced)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Mirostat:"}),"\xa0Enable/disable Mirostat sampling for controlling perplexity. (Default: Disabled)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Mirostat Eta:"}),"\xa0Learning rate for Mirostat algorithm. (Default: None) (Advanced)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Mirostat Tau:"}),"\xa0Controls the balance between coherence and diversity of the output. (Default: None) (Advanced)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Context Window Size:"}),"\xa0Size of the context window for generating tokens. (Default: None) (Advanced)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Number of GPUs:"}),"\xa0Number of GPUs to use for computation. (Default: None) (Advanced)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Number of Threads:"}),"\xa0Number of threads to use during computation. (Default: None) (Advanced)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Repeat Last N:"}),"\xa0How far back the model looks to prevent repetition. (Default: None) (Advanced)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Repeat Penalty:"}),"\xa0Penalty for repetitions in generated text. (Default: None) (Advanced)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"TFS Z:"}),"\xa0Tail free sampling value. (Default: None) (Advanced)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Timeout:"}),"\xa0Timeout for the request stream. (Default: None) (Advanced)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Top K:"}),"\xa0Limits token selection to top K. (Default: None) (Advanced)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Top P:"}),"\xa0Works together with top-k. (Default: None) (Advanced)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Verbose:"}),"\xa0Whether to print out response text."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Tags:"}),"\xa0Tags to add to the run trace. (Advanced)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Stop Tokens:"}),"\xa0List of tokens to signal the model to stop generating text. (Advanced)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"System:"}),"\xa0System to use for generating text. (Advanced)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Template:"}),"\xa0Template to use for generating text. (Advanced)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Input:"}),"\xa0The input text."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Stream:"}),"\xa0Whether to stream the response."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"System Message:"}),"\xa0System message to pass to the model. (Advanced)"]}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h2,{id:"fe6cd793446748eda6eaad72e30f70b3",children:"OpenAI"}),"\n",(0,t.jsx)(n.p,{children:"This component facilitates text generation using OpenAI's models."}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Params"})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Input Value:"}),"\xa0The input text for text generation."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Max Tokens (Optional):"}),"\xa0The maximum number of tokens to generate. Defaults to\xa0",(0,t.jsx)(n.code,{children:"256"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Model Kwargs (Optional):"}),"\xa0Additional keyword arguments for the model. Should be provided as a nested dictionary."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Model Name (Optional):"}),"\xa0The name of the model to use. Defaults to\xa0",(0,t.jsx)(n.code,{children:"gpt-4-1106-preview"}),". Supported options include:\xa0",(0,t.jsx)(n.code,{children:"gpt-4-turbo-preview"}),",\xa0",(0,t.jsx)(n.code,{children:"gpt-4-0125-preview"}),",\xa0",(0,t.jsx)(n.code,{children:"gpt-4-1106-preview"}),",\xa0",(0,t.jsx)(n.code,{children:"gpt-4-vision-preview"}),",\xa0",(0,t.jsx)(n.code,{children:"gpt-3.5-turbo-0125"}),",\xa0",(0,t.jsx)(n.code,{children:"gpt-3.5-turbo-1106"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"OpenAI API Base (Optional):"}),"\xa0The base URL of the OpenAI API. Defaults to\xa0",(0,t.jsx)(n.code,{children:"https://api.openai.com/v1"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"OpenAI API Key (Optional):"}),"\xa0The API key for accessing the OpenAI API."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Temperature:"}),"\xa0Controls the creativity of model responses. Defaults to\xa0",(0,t.jsx)(n.code,{children:"0.7"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Stream (Optional):"}),"\xa0Specifies whether to stream the response from the model. Defaults to\xa0",(0,t.jsx)(n.code,{children:"False"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"System Message (Optional):"}),"\xa0System message to pass to the model."]}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h2,{id:"6e4a6b2370ee4b9f8beb899e7cf9c8f6",children:"Qianfan"}),"\n",(0,t.jsx)(n.p,{children:"This component facilitates the generation of text using Baidu Qianfan chat models."}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Params"})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Model Name:"}),"\xa0Specifies the name of the Qianfan chat model to be used for text generation. Available options include:\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"ERNIE-Bot"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"ERNIE-Bot-turbo"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"BLOOMZ-7B"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"Llama-2-7b-chat"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"Llama-2-13b-chat"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"Llama-2-70b-chat"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"Qianfan-BLOOMZ-7B-compressed"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"Qianfan-Chinese-Llama-2-7B"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"ChatGLM2-6B-32K"'})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:'"AquilaChat-7B"'})}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Qianfan Ak:"}),"\xa0Your Baidu Qianfan access key, obtainable from\xa0",(0,t.jsx)(n.a,{href:"https://cloud.baidu.com/product/wenxinworkshop",children:"here"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Qianfan Sk:"}),"\xa0Your Baidu Qianfan secret key, obtainable from\xa0",(0,t.jsx)(n.a,{href:"https://cloud.baidu.com/product/wenxinworkshop",children:"here"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Top p (Optional):"}),"\xa0Model parameter. Specifies the top-p value. Only supported in ERNIE-Bot and ERNIE-Bot-turbo models. Defaults to\xa0",(0,t.jsx)(n.code,{children:"0.8"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Temperature (Optional):"}),"\xa0Model parameter. Specifies the sampling temperature. Only supported in ERNIE-Bot and ERNIE-Bot-turbo models. Defaults to\xa0",(0,t.jsx)(n.code,{children:"0.95"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Penalty Score (Optional):"}),"\xa0Model parameter. Specifies the penalty score. Only supported in ERNIE-Bot and ERNIE-Bot-turbo models. Defaults to\xa0",(0,t.jsx)(n.code,{children:"1.0"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Endpoint (Optional):"}),"\xa0Endpoint of the Qianfan LLM, required if custom model is used."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Input Value:"}),"\xa0Specifies the input text for text generation."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Stream (Optional):"}),"\xa0Specifies whether to stream the response from the model. Defaults to\xa0",(0,t.jsx)(n.code,{children:"False"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"System Message (Optional):"}),"\xa0A system message to pass to the model."]}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h2,{id:"86b7d539e17c436fb758c47ec3ffb084",children:"Vertex AI"}),"\n",(0,t.jsxs)(n.p,{children:["The\xa0",(0,t.jsx)(n.code,{children:"ChatVertexAI"}),"\xa0is a component for generating text using Vertex AI Chat large language models API."]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Params"})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Credentials:"}),"\xa0The JSON file containing the credentials for accessing the Vertex AI Chat API."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Project:"}),"\xa0The name of the project associated with the Vertex AI Chat API."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Examples (Optional):"}),"\xa0List of examples to provide context for text generation."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Location:"}),"\xa0The location of the Vertex AI Chat API service. Defaults to\xa0",(0,t.jsx)(n.code,{children:"us-central1"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Max Output Tokens:"}),"\xa0The maximum number of tokens to generate. Defaults to\xa0",(0,t.jsx)(n.code,{children:"128"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Model Name:"}),"\xa0The name of the model to use. Defaults to\xa0",(0,t.jsx)(n.code,{children:"chat-bison"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Temperature:"}),"\xa0Controls the creativity of model responses. Defaults to\xa0",(0,t.jsx)(n.code,{children:"0.0"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Input Value:"}),"\xa0The input text for text generation."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Top K:"}),"\xa0Limits token selection to top K. Defaults to\xa0",(0,t.jsx)(n.code,{children:"40"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Top P:"}),"\xa0Works together with top-k. Defaults to\xa0",(0,t.jsx)(n.code,{children:"0.95"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Verbose:"}),"\xa0Whether to print out response text. Defaults to\xa0",(0,t.jsx)(n.code,{children:"False"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Stream (Optional):"}),"\xa0Specifies whether to stream the response from the model. Defaults to\xa0",(0,t.jsx)(n.code,{children:"False"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"System Message (Optional):"}),"\xa0System message to pass to the model."]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}},8453:(e,n,s)=>{s.d(n,{R:()=>o,x:()=>l});var t=s(6540);const i={},r=t.createContext(i);function o(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/16d61ab3.1c356ba8.js b/assets/js/16d61ab3.1c356ba8.js deleted file mode 100644 index 11c0d4c836..0000000000 --- a/assets/js/16d61ab3.1c356ba8.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[1039],{8724:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>i,default:()=>h,frontMatter:()=>r,metadata:()=>c,toc:()=>d});var n=s(4848),o=s(8453);const r={title:"Memory Chatbot",sidebar_position:3,slug:"/starter-projects-memory-chatbot"},i=void 0,c={id:"Starter-Projects/starter-projects-memory-chatbot",title:"Memory Chatbot",description:"This flow extends the\xa0Basic Prompting\xa0flow to include a chat memory. This makes the AI remember previous user inputs.",source:"@site/docs/Starter-Projects/starter-projects-memory-chatbot.md",sourceDirName:"Starter-Projects",slug:"/starter-projects-memory-chatbot",permalink:"/starter-projects-memory-chatbot",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:3,frontMatter:{title:"Memory Chatbot",sidebar_position:3,slug:"/starter-projects-memory-chatbot"},sidebar:"defaultSidebar",previous:{title:"Document QA",permalink:"/starter-projects-document-qa"},next:{title:"Vector Store RAG",permalink:"/starter-projects-vector-store-rag"}},a={},d=[{value:"Prerequisites",id:"a71d73e99b1543bbba827207503cf31f",level:2},{value:"Create the memory chatbot project",id:"70ce99381b7043a1b417a81e9ae74c72",level:2},{value:"Run",id:"a110cad860584c98af1aead006035378",level:2},{value:"Session ID",id:"4e68c3c0750942f98c45c1c45d7ffbbe",level:2}];function l(e){const t={a:"a",blockquote:"blockquote",code:"code",h2:"h2",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,o.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(t.p,{children:["This flow extends the\xa0",(0,n.jsx)(t.a,{href:"http://localhost:3000/starter-projects/basic-prompting",children:"Basic Prompting"}),"\xa0flow to include a chat memory. This makes the AI remember previous user inputs."]}),"\n",(0,n.jsx)(t.h2,{id:"a71d73e99b1543bbba827207503cf31f",children:"Prerequisites"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/getting-started-installation",children:"Langflow installed and running"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"https://platform.openai.com/",children:"OpenAI API key created"})}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"70ce99381b7043a1b417a81e9ae74c72",children:"Create the memory chatbot project"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["From the Langflow dashboard, click\xa0",(0,n.jsx)(t.strong,{children:"New Project"}),"."]}),"\n",(0,n.jsxs)(t.li,{children:["Select\xa0",(0,n.jsx)(t.strong,{children:"Memory Chatbot"}),"."]}),"\n",(0,n.jsxs)(t.li,{children:["The\xa0",(0,n.jsx)(t.strong,{children:"Memory Chatbot"}),"\xa0flow is created ."]}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{src:s(8073).A+"",width:"2624",height:"1476"})}),"\n",(0,n.jsxs)(t.p,{children:["This flow uses the same components as the Basic Prompting one, but extends it with a\xa0",(0,n.jsx)(t.strong,{children:"Chat Memory"}),"\xa0component. This component retrieves previous messages and sends them to the\xa0",(0,n.jsx)(t.strong,{children:"Prompt"}),"\xa0component to fill a part of the\xa0",(0,n.jsx)(t.strong,{children:"Template"}),"\xa0with context."]}),"\n",(0,n.jsx)(t.p,{children:"By clicking the template, you'll see the prompt editor like below:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{src:s(7783).A+"",width:"3168",height:"1782"})}),"\n",(0,n.jsxs)(t.p,{children:["This gives the\xa0",(0,n.jsx)(t.strong,{children:"OpenAI"}),"\xa0component a memory of previous chat messages."]}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["Don't forget to\xa0",(0,n.jsx)(t.a,{href:"http://localhost:3000/starter-projects/basic-prompting#open-ai",children:"set up your OpenAI API key"})]}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"a110cad860584c98af1aead006035378",children:"Run"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsx)(t.li,{children:"Open the Playground."}),"\n",(0,n.jsxs)(t.li,{children:["Type multiple questions. In the\xa0",(0,n.jsx)(t.strong,{children:"Memories"}),"\xa0tab, your queries are logged in order. Up to 100 queries are stored by default. Try telling the AI your name and asking\xa0",(0,n.jsx)(t.code,{children:"What is my name?"})," on a second message, or\xa0",(0,n.jsx)(t.code,{children:"What is the first subject I asked you about?"}),"\xa0to validate that previous knowledge is taking effect."]}),"\n"]}),"\n",(0,n.jsxs)(t.blockquote,{children:["\n",(0,n.jsxs)(t.p,{children:["\ud83d\udca1\xa0 Check and adjust advanced parameters by opening the Advanced Settings of the\xa0",(0,n.jsx)(t.strong,{children:"Chat Memory"}),"\xa0component."]}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{src:s(5133).A+"",width:"3168",height:"1782"})}),"\n",(0,n.jsx)(t.h2,{id:"4e68c3c0750942f98c45c1c45d7ffbbe",children:"Session ID"}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.code,{children:"SessionID"}),"\xa0is a unique identifier in Langflow that stores conversation sessions between the AI and a user. A\xa0",(0,n.jsx)(t.code,{children:"SessionID"}),"\xa0is created when a conversation is initiated, and then associated with all subsequent messages during that session."]}),"\n",(0,n.jsxs)(t.p,{children:["In the\xa0",(0,n.jsx)(t.strong,{children:"Memory Chatbot"}),"\xa0flow you created, the\xa0",(0,n.jsx)(t.strong,{children:"Chat Memory"}),"\xa0component references past interactions by\xa0",(0,n.jsx)(t.strong,{children:"Session ID"}),". You can demonstrate this by modifying the\xa0",(0,n.jsx)(t.strong,{children:"Session ID"}),"\xa0value to switch between conversation histories."]}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["In the\xa0",(0,n.jsx)(t.strong,{children:"Session ID"}),"\xa0field of the\xa0",(0,n.jsx)(t.strong,{children:"Chat Memory"}),"\xa0and\xa0",(0,n.jsx)(t.strong,{children:"Chat Input"}),"\xa0components, add a\xa0",(0,n.jsx)(t.strong,{children:"Session ID"}),"\xa0value like\xa0",(0,n.jsx)(t.code,{children:"MySessionID"}),"."]}),"\n",(0,n.jsxs)(t.li,{children:["Now, once you send a new message the\xa0",(0,n.jsx)(t.strong,{children:"Playground"}),", you should have a new memory created on the\xa0",(0,n.jsx)(t.strong,{children:"Memories"}),"\xa0tab."]}),"\n",(0,n.jsx)(t.li,{children:"Notice how your conversation is being stored in different memory sessions."}),"\n"]}),"\n",(0,n.jsxs)(t.blockquote,{children:["\n",(0,n.jsxs)(t.p,{children:["\ud83d\udca1\xa0 Every\xa0chat\xa0component in Langflow comes with a\xa0",(0,n.jsx)(t.code,{children:"SessionID"}),". It defaults to the flow ID. Explore how changing it affects what the AI remembers."]}),"\n"]}),"\n",(0,n.jsxs)(t.p,{children:["Learn more about memories in the ",(0,n.jsx)(t.a,{href:"/guides-chat-memory",children:"Chat Memory"})," section."]})]})}function h(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},5133:(e,t,s)=>{s.d(t,{A:()=>n});const n=s.p+"assets/images/1079168789-a858a7f0d52ddfc06bc2fd63a54b40bd.png"},8073:(e,t,s)=>{s.d(t,{A:()=>n});const n=s.p+"assets/images/1511598495-892f4bbecec74fa62578ceb8885f38f6.png"},7783:(e,t,s)=>{s.d(t,{A:()=>n});const n=s.p+"assets/images/450254819-3ad91dd8bdfe33f1df6fdbc3f5bfa1b3.png"},8453:(e,t,s)=>{s.d(t,{R:()=>i,x:()=>c});var n=s(6540);const o={},r=n.createContext(o);function i(e){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/16d61ab3.6b5d9275.js b/assets/js/16d61ab3.6b5d9275.js new file mode 100644 index 0000000000..52155e4dd4 --- /dev/null +++ b/assets/js/16d61ab3.6b5d9275.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[1039],{8724:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>l,frontMatter:()=>r,metadata:()=>a,toc:()=>d});var n=s(4848),o=s(8453);const r={title:"Memory Chatbot",sidebar_position:3,slug:"/starter-projects-memory-chatbot"},i=void 0,a={id:"Starter-Projects/starter-projects-memory-chatbot",title:"Memory Chatbot",description:"This flow extends the\xa0Basic Prompting\xa0flow to include a chat memory. This makes the AI remember previous user inputs.",source:"@site/docs/Starter-Projects/starter-projects-memory-chatbot.md",sourceDirName:"Starter-Projects",slug:"/starter-projects-memory-chatbot",permalink:"/starter-projects-memory-chatbot",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:3,frontMatter:{title:"Memory Chatbot",sidebar_position:3,slug:"/starter-projects-memory-chatbot"},sidebar:"defaultSidebar",previous:{title:"Document QA",permalink:"/starter-projects-document-qa"},next:{title:"Vector Store RAG",permalink:"/starter-projects-vector-store-rag"}},c={},d=[{value:"Prerequisites",id:"a71d73e99b1543bbba827207503cf31f",level:2},{value:"Memory Chatbot",id:"54073bf7eb1b4ff490c313f5612f0842",level:2},{value:"Create the memory chatbot project",id:"70ce99381b7043a1b417a81e9ae74c72",level:3},{value:"Run",id:"a110cad860584c98af1aead006035378",level:3},{value:"Session ID",id:"4e68c3c0750942f98c45c1c45d7ffbbe",level:2}];function h(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",hr:"hr",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,o.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(t.p,{children:["This flow extends the\xa0",(0,n.jsx)(t.a,{href:"http://localhost:3000/starter-projects/basic-prompting",children:"Basic Prompting"}),"\xa0flow to include a chat memory. This makes the AI remember previous user inputs."]}),"\n",(0,n.jsx)(t.h2,{id:"a71d73e99b1543bbba827207503cf31f",children:"Prerequisites"}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/getting-started-installation",children:"Langflow installed and running"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"https://platform.openai.com/",children:"OpenAI API key created"})}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"54073bf7eb1b4ff490c313f5612f0842",children:"Memory Chatbot"}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"70ce99381b7043a1b417a81e9ae74c72",children:"Create the memory chatbot project"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["From the Langflow dashboard, click\xa0",(0,n.jsx)(t.strong,{children:"New Project"}),"."]}),"\n",(0,n.jsxs)(t.li,{children:["Select\xa0",(0,n.jsx)(t.strong,{children:"Memory Chatbot"}),"."]}),"\n",(0,n.jsxs)(t.li,{children:["The\xa0",(0,n.jsx)(t.strong,{children:"Memory Chatbot"}),"\xa0flow is created ."]}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{src:s(8073).A+"",width:"2624",height:"1476"})}),"\n",(0,n.jsxs)(t.p,{children:["This flow uses the same components as the Basic Prompting one, but extends it with a\xa0",(0,n.jsx)(t.strong,{children:"Chat Memory"}),"\xa0component. This component retrieves previous messages and sends them to the\xa0",(0,n.jsx)(t.strong,{children:"Prompt"}),"\xa0component to fill a part of the\xa0",(0,n.jsx)(t.strong,{children:"Template"}),"\xa0with context."]}),"\n",(0,n.jsx)(t.p,{children:"By clicking the template, you'll see the prompt editor like below:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{src:s(7783).A+"",width:"3168",height:"1782"})}),"\n",(0,n.jsxs)(t.p,{children:["This gives the\xa0",(0,n.jsx)(t.strong,{children:"OpenAI"}),"\xa0component a memory of previous chat messages."]}),"\n",(0,n.jsx)(t.h3,{id:"a110cad860584c98af1aead006035378",children:"Run"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsx)(t.li,{children:"Open the Playground."}),"\n",(0,n.jsxs)(t.li,{children:["Type multiple questions. In the\xa0",(0,n.jsx)(t.strong,{children:"Memories"}),"\xa0tab, your queries are logged in order. Up to 100 queries are stored by default. Try telling the AI your name and asking\xa0",(0,n.jsx)(t.code,{children:"What is my name?"})," on a second message, or\xa0",(0,n.jsx)(t.code,{children:"What is the first subject I asked you about?"}),"\xa0to validate that previous knowledge is taking effect."]}),"\n"]}),"\n",(0,n.jsx)(t.admonition,{type:"tip",children:(0,n.jsxs)(t.p,{children:["Check and adjust advanced parameters by opening the Advanced Settings of the\xa0",(0,n.jsx)(t.strong,{children:"Chat Memory"}),"\xa0component."]})}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{src:s(5133).A+"",width:"3168",height:"1782"})}),"\n",(0,n.jsx)(t.h2,{id:"4e68c3c0750942f98c45c1c45d7ffbbe",children:"Session ID"}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.code,{children:"SessionID"}),"\xa0is a unique identifier in Langflow that stores conversation sessions between the AI and a user. A\xa0",(0,n.jsx)(t.code,{children:"SessionID"}),"\xa0is created when a conversation is initiated, and then associated with all subsequent messages during that session."]}),"\n",(0,n.jsxs)(t.p,{children:["In the\xa0",(0,n.jsx)(t.strong,{children:"Memory Chatbot"}),"\xa0flow you created, the\xa0",(0,n.jsx)(t.strong,{children:"Chat Memory"}),"\xa0component references past interactions by\xa0",(0,n.jsx)(t.strong,{children:"Session ID"}),". You can demonstrate this by modifying the\xa0",(0,n.jsx)(t.strong,{children:"Session ID"}),"\xa0value to switch between conversation histories."]}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["In the\xa0",(0,n.jsx)(t.strong,{children:"Session ID"}),"\xa0field of the\xa0",(0,n.jsx)(t.strong,{children:"Chat Memory"}),"\xa0and\xa0",(0,n.jsx)(t.strong,{children:"Chat Input"}),"\xa0components, add a\xa0",(0,n.jsx)(t.strong,{children:"Session ID"}),"\xa0value like\xa0",(0,n.jsx)(t.code,{children:"MySessionID"}),"."]}),"\n",(0,n.jsxs)(t.li,{children:["Now, once you send a new message the\xa0",(0,n.jsx)(t.strong,{children:"Playground"}),", you should have a new memory created on the\xa0",(0,n.jsx)(t.strong,{children:"Memories"}),"\xa0tab."]}),"\n",(0,n.jsx)(t.li,{children:"Notice how your conversation is being stored in different memory sessions."}),"\n"]}),"\n",(0,n.jsx)(t.admonition,{type:"tip",children:(0,n.jsxs)(t.p,{children:["Every\xa0chat\xa0component in Langflow comes with a\xa0",(0,n.jsx)(t.code,{children:"SessionID"}),". It defaults to the flow ID. Explore how changing it affects what the AI remembers."]})}),"\n",(0,n.jsxs)(t.p,{children:["Learn more about memories in the ",(0,n.jsx)(t.a,{href:"/guides-chat-memory",children:"Chat Memory"})," section."]})]})}function l(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},5133:(e,t,s)=>{s.d(t,{A:()=>n});const n=s.p+"assets/images/1079168789-a858a7f0d52ddfc06bc2fd63a54b40bd.png"},8073:(e,t,s)=>{s.d(t,{A:()=>n});const n=s.p+"assets/images/1511598495-892f4bbecec74fa62578ceb8885f38f6.png"},7783:(e,t,s)=>{s.d(t,{A:()=>n});const n=s.p+"assets/images/450254819-3ad91dd8bdfe33f1df6fdbc3f5bfa1b3.png"},8453:(e,t,s)=>{s.d(t,{R:()=>i,x:()=>a});var n=s(6540);const o={},r=n.createContext(o);function i(e){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/172b3cfb.8a72f398.js b/assets/js/172b3cfb.8a72f398.js new file mode 100644 index 0000000000..35b141550d --- /dev/null +++ b/assets/js/172b3cfb.8a72f398.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[8929],{9411:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>s,default:()=>p,frontMatter:()=>i,metadata:()=>l,toc:()=>d});var o=t(4848),r=t(8453);const i={title:"Render",sidebar_position:4,slug:"/deployment-render"},s=void 0,l={id:"Deployment/deployment-render",title:"Render",description:"Deploy on Render",source:"@site/docs/Deployment/deployment-render.md",sourceDirName:"Deployment",slug:"/deployment-render",permalink:"/deployment-render",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:4,frontMatter:{title:"Render",sidebar_position:4,slug:"/deployment-render"},sidebar:"defaultSidebar",previous:{title:"GCP",permalink:"/deployment-gcp"},next:{title:"Railway",permalink:"/deployment-railway"}},a={},d=[{value:"Deploy on Render",id:"20a959b7047e44e490cc129fd21895c0",level:2}];function c(e){const n={a:"a",h2:"h2",hr:"hr",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",...(0,r.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h2,{id:"20a959b7047e44e490cc129fd21895c0",children:"Deploy on Render"}),"\n",(0,o.jsx)(n.hr,{}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.a,{href:"http://render.com/",children:"Render.com"})," is a unified cloud platform designed to make deploying web applications, APIs, and static sites easy. It provides a streamlined experience with powerful features like automatic SSL, managed databases, and auto-deploy from Git, making it a popular choice for developers looking to simplify their deployment workflows."]}),"\n",(0,o.jsx)(n.p,{children:"Deploying Langflow to Render is a straightforward process that can be completed in just a few steps:"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.strong,{children:"Click the Button Below"}),": Start by clicking the deployment button provided below. This will redirect you to the Render platform."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://render.com/deploy?repo=https%3A%2F%2Fgithub.com%2Flangflow-ai%2Flangflow%2Ftree%2Fdev",children:"https://render.com/deploy?repo=https://github.com/langflow-ai/langflow/tree/dev"})}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.strong,{children:"Select the Default Configuration"}),": Once on the Render platform, you will be prompted to provide a blueprint name and to select the default configuration for Langflow. This configuration includes all the necessary settings and resources to run Langflow efficiently. You can change the branch of the repo to \u201cmain\u201d or \u201cdev\u201d based on your preference. Click \u201cCreate New Resources\u201d to proceed."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{src:t(3350).A+"",width:"3930",height:"2100"})}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.strong,{children:"Deploy"}),": After selecting the configuration, proceed to deploy your Langflow instance. You can keep the default Starter instance, or change it to another instance based on your specific needs. Click Apply to deploy the instance. Render will handle the rest, including setting up the database, deploying the Langflow instance, and starting the application."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{src:t(5800).A+"",width:"1963",height:"1048"})}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:"By following these steps, your Langflow instance will be successfully deployed on Render. Remember to review the pricing details on the Render platform to understand any costs involved."})]})}function p(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},3350:(e,n,t)=>{t.d(n,{A:()=>o});const o=t.p+"assets/images/1861599636-3c0536d33fc39bbeca709ffe57c10498.png"},5800:(e,n,t)=>{t.d(n,{A:()=>o});const o=t.p+"assets/images/1929176153-7db9fecdfb9f16884cae111d2b5489f0.png"},8453:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>l});var o=t(6540);const r={},i=o.createContext(r);function s(e){const n=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/172b3cfb.f005419e.js b/assets/js/172b3cfb.f005419e.js deleted file mode 100644 index be302e73c5..0000000000 --- a/assets/js/172b3cfb.f005419e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[8929],{9411:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>s,default:()=>p,frontMatter:()=>i,metadata:()=>l,toc:()=>d});var o=t(4848),r=t(8453);const i={title:"Render",sidebar_position:4,slug:"/deployment-render"},s="Deploy on Render {#20a959b7047e44e490cc129fd21895c0}",l={id:"Deployment/deployment-render",title:"Render",description:"20a959b7047e44e490cc129fd21895c0}",source:"@site/docs/Deployment/deployment-render.md",sourceDirName:"Deployment",slug:"/deployment-render",permalink:"/deployment-render",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:4,frontMatter:{title:"Render",sidebar_position:4,slug:"/deployment-render"},sidebar:"defaultSidebar",previous:{title:"GCP",permalink:"/deployment-gcp"},next:{title:"Railway",permalink:"/deployment-railway"}},a={},d=[];function c(e){const n={a:"a",h1:"h1",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",...(0,r.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h1,{id:"20a959b7047e44e490cc129fd21895c0",children:"Deploy on Render"}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.a,{href:"http://render.com/",children:"Render.com"})," is a unified cloud platform designed to make deploying web applications, APIs, and static sites easy. It provides a streamlined experience with powerful features like automatic SSL, managed databases, and auto-deploy from Git, making it a popular choice for developers looking to simplify their deployment workflows."]}),"\n",(0,o.jsx)(n.p,{children:"Deploying Langflow to Render is a straightforward process that can be completed in just a few steps:"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.strong,{children:"Click the Button Below"}),": Start by clicking the deployment button provided below. This will redirect you to the Render platform."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"https://render.com/deploy?repo=https%3A%2F%2Fgithub.com%2Flangflow-ai%2Flangflow%2Ftree%2Fdev",children:"https://render.com/deploy?repo=https://github.com/langflow-ai/langflow/tree/dev"})}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.strong,{children:"Select the Default Configuration"}),": Once on the Render platform, you will be prompted to provide a blueprint name and to select the default configuration for Langflow. This configuration includes all the necessary settings and resources to run Langflow efficiently. You can change the branch of the repo to \u201cmain\u201d or \u201cdev\u201d based on your preference. Click \u201cCreate New Resources\u201d to proceed."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{src:t(3350).A+"",width:"3930",height:"2100"})}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.strong,{children:"Deploy"}),": After selecting the configuration, proceed to deploy your Langflow instance. You can keep the default Starter instance, or change it to another instance based on your specific needs. Click Apply to deploy the instance. Render will handle the rest, including setting up the database, deploying the Langflow instance, and starting the application."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{src:t(5800).A+"",width:"1963",height:"1048"})}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:"By following these steps, your Langflow instance will be successfully deployed on Render. Remember to review the pricing details on the Render platform to understand any costs involved."})]})}function p(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},3350:(e,n,t)=>{t.d(n,{A:()=>o});const o=t.p+"assets/images/1861599636-3c0536d33fc39bbeca709ffe57c10498.png"},5800:(e,n,t)=>{t.d(n,{A:()=>o});const o=t.p+"assets/images/1929176153-7db9fecdfb9f16884cae111d2b5489f0.png"},8453:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>l});var o=t(6540);const r={},i=o.createContext(r);function s(e){const n=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1b523369.0af77863.js b/assets/js/1b523369.0af77863.js deleted file mode 100644 index b4ef271ef6..0000000000 --- a/assets/js/1b523369.0af77863.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[1246],{3509:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>i,metadata:()=>c,toc:()=>a});var n=r(4848),s=r(8453);const i={title:"Blog Writer",sidebar_position:1,slug:"/starter-projects-blog-writer"},o=void 0,c={id:"Starter-Projects/starter-projects-blog-writer",title:"Blog Writer",description:"Build a blog writer with OpenAI that uses URLs for reference content.",source:"@site/docs/Starter-Projects/starter-projects-blog-writer.md",sourceDirName:"Starter-Projects",slug:"/starter-projects-blog-writer",permalink:"/starter-projects-blog-writer",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:1,frontMatter:{title:"Blog Writer",sidebar_position:1,slug:"/starter-projects-blog-writer"},sidebar:"defaultSidebar",previous:{title:"Basic Prompting",permalink:"/starter-projects-basic-prompting"},next:{title:"Document QA",permalink:"/starter-projects-document-qa"}},l={},a=[{value:"Prerequisites",id:"899268e6c12c49b59215373a38287507",level:2},{value:"Create the Blog Writer project",id:"0c1a9c65b7d640f693ec3aad963416ff",level:2},{value:"Run the Blog Writer",id:"b93be7a567f5400293693b31b8d0f81a",level:2}];function d(e){const t={a:"a",code:"code",h2:"h2",hr:"hr",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"Build a blog writer with OpenAI that uses URLs for reference content."}),"\n",(0,n.jsx)(t.h2,{id:"899268e6c12c49b59215373a38287507",children:"Prerequisites"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/getting-started-installation",children:"Langflow installed and running"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"https://platform.openai.com/",children:"OpenAI API key created"})}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"0c1a9c65b7d640f693ec3aad963416ff",children:"Create the Blog Writer project"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["From the Langflow dashboard, click\xa0",(0,n.jsx)(t.strong,{children:"New Project"}),"."]}),"\n",(0,n.jsxs)(t.li,{children:["Select\xa0",(0,n.jsx)(t.strong,{children:"Blog Writer"}),"."]}),"\n",(0,n.jsxs)(t.li,{children:["A workspace for the\xa0",(0,n.jsx)(t.strong,{children:"Blog Writer"})," is displayed."]}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{src:r(8244).A+"",width:"2592",height:"1458"})}),"\n",(0,n.jsxs)(t.p,{children:["This flow creates a one-shot article generator with\xa0",(0,n.jsx)(t.strong,{children:"Prompt"}),",\xa0",(0,n.jsx)(t.strong,{children:"OpenAI"}),", and\xa0",(0,n.jsx)(t.strong,{children:"Chat Output"}),"\xa0components, augmented with reference content and instructions from the\xa0",(0,n.jsx)(t.strong,{children:"URL"}),"\xa0and\xa0",(0,n.jsx)(t.strong,{children:"Instructions"}),"\xa0components."]}),"\n",(0,n.jsxs)(t.p,{children:["The\xa0",(0,n.jsx)(t.strong,{children:"Template"}),"\xa0field of the ",(0,n.jsx)(t.strong,{children:"Prompt"})," looks like this:"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{src:r(5955).A+"",width:"3008",height:"1692"})}),"\n",(0,n.jsxs)(t.p,{children:["The\xa0",(0,n.jsx)(t.code,{children:"{instructions}"}),"\xa0value is received from the\xa0",(0,n.jsx)(t.strong,{children:"Instructions"}),"\xa0component. One or more\xa0",(0,n.jsx)(t.code,{children:"{references}"}),"\xa0 are received from a list of URLs."]}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"URL"})," extracts raw text and metadata from one or more web links."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Parse Data"})," converts the data coming from the ",(0,n.jsx)(t.strong,{children:"URL"})," component into plain text to feed a prompt."]}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{src:r(4107).A+"",width:"1022",height:"974"})}),"\n",(0,n.jsx)(t.h2,{id:"b93be7a567f5400293693b31b8d0f81a",children:"Run the Blog Writer"}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["Click the\xa0",(0,n.jsx)(t.strong,{children:"Playground"}),"\xa0button. Here you can chat with the AI that has access to the ",(0,n.jsx)(t.strong,{children:"URL"})," content."]}),"\n",(0,n.jsxs)(t.li,{children:["Click the\xa0",(0,n.jsx)(t.strong,{children:"Lighting Bolt"}),"\xa0icon to run it."]}),"\n",(0,n.jsxs)(t.li,{children:["To write about something different, change the values in the\xa0",(0,n.jsx)(t.strong,{children:"URL"}),"\xa0component and adjust the instructions on the left side bar of the ",(0,n.jsx)(t.strong,{children:"Playground"}),". Try again and see what the LLM constructs."]}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{src:r(1409).A+"",width:"864",height:"486"})})]})}function h(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},4107:(e,t,r)=>{r.d(t,{A:()=>n});const n=r.p+"assets/images/25156979-f9afe1dc4e9909a38175ff116e661ec3.png"},5955:(e,t,r)=>{r.d(t,{A:()=>n});const n=r.p+"assets/images/257920618-0d1d385e97f8cf314cce8ca33bf0f99d.png"},8244:(e,t,r)=>{r.d(t,{A:()=>n});const n=r.p+"assets/images/282456806-faa80dd0e38cef41d6fafdd70cfc3a37.png"},1409:(e,t,r)=>{r.d(t,{A:()=>n});const n=r.p+"assets/images/447530731-02815856687a7761856799816c74f168.png"},8453:(e,t,r)=>{r.d(t,{R:()=>o,x:()=>c});var n=r(6540);const s={},i=n.createContext(s);function o(e){const t=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),n.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1b523369.9ab26cae.js b/assets/js/1b523369.9ab26cae.js new file mode 100644 index 0000000000..d547640bf9 --- /dev/null +++ b/assets/js/1b523369.9ab26cae.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[1246],{3509:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>i,metadata:()=>c,toc:()=>a});var n=r(4848),s=r(8453);const i={title:"Blog Writer",sidebar_position:1,slug:"/starter-projects-blog-writer"},o=void 0,c={id:"Starter-Projects/starter-projects-blog-writer",title:"Blog Writer",description:"Build a blog writer with OpenAI that uses URLs for reference content.",source:"@site/docs/Starter-Projects/starter-projects-blog-writer.md",sourceDirName:"Starter-Projects",slug:"/starter-projects-blog-writer",permalink:"/starter-projects-blog-writer",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:1,frontMatter:{title:"Blog Writer",sidebar_position:1,slug:"/starter-projects-blog-writer"},sidebar:"defaultSidebar",previous:{title:"Basic Prompting",permalink:"/starter-projects-basic-prompting"},next:{title:"Document QA",permalink:"/starter-projects-document-qa"}},l={},a=[{value:"Prerequisites",id:"899268e6c12c49b59215373a38287507",level:2},{value:"Blog Writer",id:"ef6e7555a96d4cbab169fbd2d8578bdc",level:2},{value:"Create the Blog Writer project",id:"0c1a9c65b7d640f693ec3aad963416ff",level:3},{value:"Run the Blog Writer",id:"b93be7a567f5400293693b31b8d0f81a",level:3}];function d(e){const t={a:"a",code:"code",h2:"h2",h3:"h3",hr:"hr",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"Build a blog writer with OpenAI that uses URLs for reference content."}),"\n",(0,n.jsx)(t.h2,{id:"899268e6c12c49b59215373a38287507",children:"Prerequisites"}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/getting-started-installation",children:"Langflow installed and running"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"https://platform.openai.com/",children:"OpenAI API key created"})}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"ef6e7555a96d4cbab169fbd2d8578bdc",children:"Blog Writer"}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h3,{id:"0c1a9c65b7d640f693ec3aad963416ff",children:"Create the Blog Writer project"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["From the Langflow dashboard, click\xa0",(0,n.jsx)(t.strong,{children:"New Project"}),"."]}),"\n",(0,n.jsxs)(t.li,{children:["Select\xa0",(0,n.jsx)(t.strong,{children:"Blog Writer"}),"."]}),"\n",(0,n.jsxs)(t.li,{children:["A workspace for the\xa0",(0,n.jsx)(t.strong,{children:"Blog Writer"})," is displayed."]}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{src:r(748).A+"",width:"2000",height:"915"})}),"\n",(0,n.jsxs)(t.p,{children:["This flow creates a one-shot article generator with\xa0",(0,n.jsx)(t.strong,{children:"Prompt"}),",\xa0",(0,n.jsx)(t.strong,{children:"OpenAI"}),", and\xa0",(0,n.jsx)(t.strong,{children:"Chat Output"}),"\xa0components, augmented with reference content and instructions from the\xa0",(0,n.jsx)(t.strong,{children:"URL"}),"\xa0and\xa0",(0,n.jsx)(t.strong,{children:"Instructions"}),"\xa0components."]}),"\n",(0,n.jsxs)(t.p,{children:["The\xa0",(0,n.jsx)(t.strong,{children:"Template"}),"\xa0field of the ",(0,n.jsx)(t.strong,{children:"Prompt"})," looks like this:"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{src:r(5955).A+"",width:"3008",height:"1692"})}),"\n",(0,n.jsxs)(t.p,{children:["The\xa0",(0,n.jsx)(t.code,{children:"{instructions}"}),"\xa0value is received from the\xa0",(0,n.jsx)(t.strong,{children:"Instructions"}),"\xa0component. One or more\xa0",(0,n.jsx)(t.code,{children:"{references}"}),"\xa0 are received from a list of URLs."]}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"URL"})," extracts raw text and metadata from one or more web links."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Parse Data"})," converts the data coming from the ",(0,n.jsx)(t.strong,{children:"URL"})," component into plain text to feed a prompt."]}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{src:r(4107).A+"",width:"1022",height:"974"})}),"\n",(0,n.jsx)(t.h3,{id:"b93be7a567f5400293693b31b8d0f81a",children:"Run the Blog Writer"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["Click the\xa0",(0,n.jsx)(t.strong,{children:"Playground"}),"\xa0button. Here you can chat with the AI that has access to the ",(0,n.jsx)(t.strong,{children:"URL"})," content."]}),"\n",(0,n.jsxs)(t.li,{children:["Click the\xa0",(0,n.jsx)(t.strong,{children:"Lighting Bolt"}),"\xa0icon to run it."]}),"\n",(0,n.jsxs)(t.li,{children:["To write about something different, change the values in the\xa0",(0,n.jsx)(t.strong,{children:"URL"}),"\xa0component and adjust the instructions on the left side bar of the ",(0,n.jsx)(t.strong,{children:"Playground"}),". Try again and see what the LLM constructs."]}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{src:r(1409).A+"",width:"864",height:"486"})})]})}function h(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},748:(e,t,r)=>{r.d(t,{A:()=>n});const n=r.p+"assets/images/1190998947-8b21612eb550df8064412299959cf147.png"},4107:(e,t,r)=>{r.d(t,{A:()=>n});const n=r.p+"assets/images/25156979-f9afe1dc4e9909a38175ff116e661ec3.png"},5955:(e,t,r)=>{r.d(t,{A:()=>n});const n=r.p+"assets/images/257920618-0d1d385e97f8cf314cce8ca33bf0f99d.png"},1409:(e,t,r)=>{r.d(t,{A:()=>n});const n=r.p+"assets/images/447530731-02815856687a7761856799816c74f168.png"},8453:(e,t,r)=>{r.d(t,{R:()=>o,x:()=>c});var n=r(6540);const s={},i=n.createContext(s);function o(e){const t=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),n.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/20e9af62.64167b21.js b/assets/js/20e9af62.64167b21.js deleted file mode 100644 index 1e0fe5e853..0000000000 --- a/assets/js/20e9af62.64167b21.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[5562],{8096:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>l,contentTitle:()=>r,default:()=>d,frontMatter:()=>i,metadata:()=>a,toc:()=>c});var o=t(4848),s=t(8453);const i={title:"Community",sidebar_position:3,slug:"/contributing-community"},r=void 0,a={id:"Contributing/contributing-community",title:"Community",description:"\ud83e\udd16 Join\xa0Langflow\xa0Discord server",source:"@site/docs/Contributing/contributing-community.md",sourceDirName:"Contributing",slug:"/contributing-community",permalink:"/contributing-community",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:3,frontMatter:{title:"Community",sidebar_position:3,slug:"/contributing-community"},sidebar:"defaultSidebar",previous:{title:"GitHub Issues",permalink:"/contributing-github-issues"}},l={},c=[{value:"\ud83e\udd16 Join\xa0Langflow\xa0Discord server",id:"80011e0bda004e83a8012c7ec6eab29a",level:2},{value:"\ud83d\udc26 Stay tuned for\xa0Langflow\xa0on Twitter",id:"6a17ba5905ad4f7aa5347af7854779f6",level:2},{value:"\u2b50\ufe0f Star\xa0Langflow\xa0on GitHub",id:"c903a569934643799bf52b7d1b3514e1",level:2},{value:"\ud83d\udc40 Watch the GitHub repository for releases",id:"d0a089ed717742308bd17430e5ae6309",level:2}];function u(n){const e={a:"a",h2:"h2",hr:"hr",p:"p",strong:"strong",...(0,s.R)(),...n.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(e.h2,{id:"80011e0bda004e83a8012c7ec6eab29a",children:["\ud83e\udd16 Join\xa0",(0,o.jsx)(e.strong,{children:"Langflow"}),"\xa0Discord server"]}),"\n",(0,o.jsx)(e.p,{children:"Join us to ask questions and showcase your projects."}),"\n",(0,o.jsx)(e.p,{children:"Let's bring together the building blocks of AI integration!"}),"\n",(0,o.jsxs)(e.p,{children:["Langflow\xa0",(0,o.jsx)(e.a,{href:"https://discord.gg/EqksyE2EX9",children:"Discord"}),"\xa0server."]}),"\n",(0,o.jsx)(e.hr,{}),"\n",(0,o.jsxs)(e.h2,{id:"6a17ba5905ad4f7aa5347af7854779f6",children:["\ud83d\udc26 Stay tuned for\xa0",(0,o.jsx)(e.strong,{children:"Langflow"}),"\xa0on Twitter"]}),"\n",(0,o.jsxs)(e.p,{children:["Follow\xa0",(0,o.jsx)(e.a,{href:"https://twitter.com/langflow_ai",children:"@langflow_ai"}),"\xa0on\xa0",(0,o.jsx)(e.strong,{children:"Twitter"}),"\xa0to get the latest news about\xa0",(0,o.jsx)(e.strong,{children:"Langflow"}),"."]}),"\n",(0,o.jsx)(e.hr,{}),"\n",(0,o.jsxs)(e.h2,{id:"c903a569934643799bf52b7d1b3514e1",children:["\u2b50\ufe0f Star\xa0",(0,o.jsx)(e.strong,{children:"Langflow"}),"\xa0on GitHub"]}),"\n",(0,o.jsxs)(e.p,{children:['You can "star"\xa0',(0,o.jsx)(e.strong,{children:"Langflow"}),"\xa0in\xa0",(0,o.jsx)(e.a,{href:"https://github.com/langflow-ai/langflow",children:"GitHub"}),"."]}),"\n",(0,o.jsx)(e.p,{children:"By adding a star, other users will be able to find it more easily and see that it has been already useful for others."}),"\n",(0,o.jsx)(e.hr,{}),"\n",(0,o.jsx)(e.h2,{id:"d0a089ed717742308bd17430e5ae6309",children:"\ud83d\udc40 Watch the GitHub repository for releases"}),"\n",(0,o.jsxs)(e.p,{children:['You can "watch"\xa0',(0,o.jsx)(e.strong,{children:"Langflow"}),"\xa0in\xa0",(0,o.jsx)(e.a,{href:"https://github.com/langflow-ai/langflow",children:"GitHub"}),'. If you select "Watching" instead of "Releases only" you will receive notifications when someone creates a new issue or question. You can also specify that you only want to be notified about new issues, discussions, PRs, etc. so you can try and help them solve those questions.']}),"\n",(0,o.jsx)(e.hr,{}),"\n",(0,o.jsx)(e.p,{children:"Thanks! \ud83d\ude80"})]})}function d(n={}){const{wrapper:e}={...(0,s.R)(),...n.components};return e?(0,o.jsx)(e,{...n,children:(0,o.jsx)(u,{...n})}):u(n)}},8453:(n,e,t)=>{t.d(e,{R:()=>r,x:()=>a});var o=t(6540);const s={},i=o.createContext(s);function r(n){const e=o.useContext(i);return o.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function a(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(s):n.components||s:r(n.components),o.createElement(i.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/assets/js/20e9af62.8d63ec91.js b/assets/js/20e9af62.8d63ec91.js new file mode 100644 index 0000000000..9b20787f8a --- /dev/null +++ b/assets/js/20e9af62.8d63ec91.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[5562],{8096:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>l,contentTitle:()=>r,default:()=>d,frontMatter:()=>i,metadata:()=>a,toc:()=>c});var o=t(4848),s=t(8453);const i={title:"Community",sidebar_position:3,slug:"/contributing-community"},r=void 0,a={id:"Contributing/contributing-community",title:"Community",description:"\ud83e\udd16 Join\xa0Langflow\xa0Discord server",source:"@site/docs/Contributing/contributing-community.md",sourceDirName:"Contributing",slug:"/contributing-community",permalink:"/contributing-community",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:3,frontMatter:{title:"Community",sidebar_position:3,slug:"/contributing-community"},sidebar:"defaultSidebar",previous:{title:"GitHub Issues",permalink:"/contributing-github-issues"}},l={},c=[{value:"\ud83e\udd16 Join\xa0Langflow\xa0Discord server",id:"80011e0bda004e83a8012c7ec6eab29a",level:2},{value:"\ud83d\udc26 Stay tuned for\xa0Langflow\xa0on Twitter",id:"6a17ba5905ad4f7aa5347af7854779f6",level:2},{value:"\u2b50\ufe0f Star\xa0Langflow\xa0on GitHub",id:"c903a569934643799bf52b7d1b3514e1",level:2},{value:"\ud83d\udc40 Watch the GitHub repository for releases",id:"d0a089ed717742308bd17430e5ae6309",level:2}];function u(n){const e={a:"a",h2:"h2",hr:"hr",p:"p",strong:"strong",...(0,s.R)(),...n.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(e.h2,{id:"80011e0bda004e83a8012c7ec6eab29a",children:["\ud83e\udd16 Join\xa0",(0,o.jsx)(e.strong,{children:"Langflow"}),"\xa0Discord server"]}),"\n",(0,o.jsx)(e.hr,{}),"\n",(0,o.jsx)(e.p,{children:"Join us to ask questions and showcase your projects."}),"\n",(0,o.jsx)(e.p,{children:"Let's bring together the building blocks of AI integration!"}),"\n",(0,o.jsxs)(e.p,{children:["Langflow\xa0",(0,o.jsx)(e.a,{href:"https://discord.gg/EqksyE2EX9",children:"Discord"}),"\xa0server."]}),"\n",(0,o.jsxs)(e.h2,{id:"6a17ba5905ad4f7aa5347af7854779f6",children:["\ud83d\udc26 Stay tuned for\xa0",(0,o.jsx)(e.strong,{children:"Langflow"}),"\xa0on Twitter"]}),"\n",(0,o.jsx)(e.hr,{}),"\n",(0,o.jsxs)(e.p,{children:["Follow\xa0",(0,o.jsx)(e.a,{href:"https://twitter.com/langflow_ai",children:"@langflow_ai"}),"\xa0on\xa0",(0,o.jsx)(e.strong,{children:"Twitter"}),"\xa0to get the latest news about\xa0",(0,o.jsx)(e.strong,{children:"Langflow"}),"."]}),"\n",(0,o.jsxs)(e.h2,{id:"c903a569934643799bf52b7d1b3514e1",children:["\u2b50\ufe0f Star\xa0",(0,o.jsx)(e.strong,{children:"Langflow"}),"\xa0on GitHub"]}),"\n",(0,o.jsx)(e.hr,{}),"\n",(0,o.jsxs)(e.p,{children:['You can "star"\xa0',(0,o.jsx)(e.strong,{children:"Langflow"}),"\xa0in\xa0",(0,o.jsx)(e.a,{href:"https://github.com/langflow-ai/langflow",children:"GitHub"}),"."]}),"\n",(0,o.jsx)(e.p,{children:"By adding a star, other users will be able to find it more easily and see that it has been already useful for others."}),"\n",(0,o.jsx)(e.h2,{id:"d0a089ed717742308bd17430e5ae6309",children:"\ud83d\udc40 Watch the GitHub repository for releases"}),"\n",(0,o.jsx)(e.hr,{}),"\n",(0,o.jsxs)(e.p,{children:['You can "watch"\xa0',(0,o.jsx)(e.strong,{children:"Langflow"}),"\xa0in\xa0",(0,o.jsx)(e.a,{href:"https://github.com/langflow-ai/langflow",children:"GitHub"}),'. If you select "Watching" instead of "Releases only" you will receive notifications when someone creates a new issue or question. You can also specify that you only want to be notified about new issues, discussions, PRs, etc. so you can try and help them solve those questions.']})]})}function d(n={}){const{wrapper:e}={...(0,s.R)(),...n.components};return e?(0,o.jsx)(e,{...n,children:(0,o.jsx)(u,{...n})}):u(n)}},8453:(n,e,t)=>{t.d(e,{R:()=>r,x:()=>a});var o=t(6540);const s={},i=o.createContext(s);function r(n){const e=o.useContext(i);return o.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function a(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(s):n.components||s:r(n.components),o.createElement(i.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/assets/js/22dd74f7.bafe1a7a.js b/assets/js/22dd74f7.bafe1a7a.js new file mode 100644 index 0000000000..16fd7af4a5 --- /dev/null +++ b/assets/js/22dd74f7.bafe1a7a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[1567],{5226:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"defaultSidebar":[{"type":"category","label":"What\u2019s New?","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"1.0 - A new chapter for Langflow","href":"/whats-new-a-new-chapter-langflow","docId":"What\u2019s-New/whats-new-a-new-chapter-langflow","unlisted":false}]},{"type":"category","label":"Getting Started","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"\ud83d\udc4b\xa0Welcome to Langflow","href":"/","docId":"Getting-Started/\ud83d\udc4b\xa0Welcome-to-Langflow","unlisted":false},{"type":"link","label":"\ud83d\udce6\xa0Installation","href":"/getting-started-installation","docId":"Getting-Started/getting-started-installation","unlisted":false},{"type":"link","label":"\u26a1\ufe0f Quickstart","href":"/getting-started-quickstart","docId":"Getting-Started/getting-started-quickstart","unlisted":false},{"type":"link","label":"\u2757\ufe0f Common Installation Issues","href":"/getting-started-common-installation-issues","docId":"Getting-Started/getting-started-common-installation-issues","unlisted":false}]},{"type":"category","label":"Starter Projects","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"Basic Prompting","href":"/starter-projects-basic-prompting","docId":"Starter-Projects/starter-projects-basic-prompting","unlisted":false},{"type":"link","label":"Blog Writer","href":"/starter-projects-blog-writer","docId":"Starter-Projects/starter-projects-blog-writer","unlisted":false},{"type":"link","label":"Document QA","href":"/starter-projects-document-qa","docId":"Starter-Projects/starter-projects-document-qa","unlisted":false},{"type":"link","label":"Memory Chatbot","href":"/starter-projects-memory-chatbot","docId":"Starter-Projects/starter-projects-memory-chatbot","unlisted":false},{"type":"link","label":"Vector Store RAG","href":"/starter-projects-vector-store-rag","docId":"Starter-Projects/starter-projects-vector-store-rag","unlisted":false}]},{"type":"category","label":"Guides","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"\ud83d\udcda New to LLMs?","href":"/guides-new-to-llms","docId":"Guides/guides-new-to-llms","unlisted":false},{"type":"link","label":"Chat Memory","href":"/guides-chat-memory","docId":"Guides/guides-chat-memory","unlisted":false},{"type":"link","label":"Data & Message","href":"/guides-data-message","docId":"Guides/guides-data-message","unlisted":false}]},{"type":"category","label":"Workspace","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"Playground","href":"/workspace-playground","docId":"Workspace/workspace-playground","unlisted":false},{"type":"link","label":"API","href":"/workspace-api","docId":"Workspace/workspace-api","unlisted":false},{"type":"link","label":"Logs","href":"/workspace-logs","docId":"Workspace/workspace-logs","unlisted":false}],"href":"/workspace"},{"type":"category","label":"Components","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"Inputs & Outputs","href":"/components-io","docId":"Components/components-io","unlisted":false},{"type":"link","label":"Prompts","href":"/components-prompts","docId":"Components/components-prompts","unlisted":false},{"type":"link","label":"Data","href":"/components-data","docId":"Components/components-data","unlisted":false},{"type":"link","label":"Helpers","href":"/components-helpers","docId":"Components/components-helpers","unlisted":false},{"type":"link","label":"Models","href":"/components-models","docId":"Components/components-models","unlisted":false},{"type":"link","label":"Embedding Models","href":"/components-embedding-models","docId":"Components/components-embedding-models","unlisted":false},{"type":"link","label":"Vector Stores","href":"/components-vector-stores","docId":"Components/components-vector-stores","unlisted":false},{"type":"link","label":"Custom Components","href":"/components-custom-components","docId":"Components/components-custom-components","unlisted":false}],"href":"/components"},{"type":"category","label":"Deployment","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"\ud83e\udd17\xa0Spaces","href":"/deployment-hugging-face-spaces","docId":"Deployment/deployment-hugging-face-spaces","unlisted":false},{"type":"link","label":"Kubernetes","href":"/deployment-kubernetes","docId":"Deployment/deployment-kubernetes","unlisted":false},{"type":"link","label":"Docker","href":"/deployment-docker","docId":"Deployment/deployment-docker","unlisted":false},{"type":"link","label":"GCP","href":"/deployment-gcp","docId":"Deployment/deployment-gcp","unlisted":false},{"type":"link","label":"Render","href":"/deployment-render","docId":"Deployment/deployment-render","unlisted":false},{"type":"link","label":"Railway","href":"/deployment-railway","docId":"Deployment/deployment-railway","unlisted":false}]},{"type":"category","label":"Settings","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"Global Variables","href":"/settings-global-variables","docId":"Settings/settings-global-variables","unlisted":false},{"type":"link","label":"Project & General Settings","href":"/settings-project-general-settings","docId":"Settings/settings-project-general-settings","unlisted":false}]},{"type":"category","label":"Configuration","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"Authentication","href":"/configuration-authentication","docId":"Configuration/configuration-authentication","unlisted":false},{"type":"link","label":"API Keys","href":"/configuration-api-keys","docId":"Configuration/configuration-api-keys","unlisted":false},{"type":"link","label":"Command Line Interface (CLI)","href":"/configuration-cli","docId":"Configuration/configuration-cli","unlisted":false},{"type":"link","label":"My Collection","href":"/365085a8-a90a-43f9-a779-f8769ec7eca1","docId":"Configuration/My-Collection","unlisted":false},{"type":"link","label":"Backend-Only","href":"/configuration-backend-only","docId":"Configuration/configuration-backend-only","unlisted":false}]},{"type":"category","label":"Integrations","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"LangSmith","href":"/integrations-langsmith","docId":"Integrations/integrations-langsmith","unlisted":false}]},{"type":"category","label":"Contributing","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"Telemetry","href":"/contributing-telemetry","docId":"Contributing/contributing-telemetry","unlisted":false},{"type":"link","label":"How to contribute?","href":"/contributing-how-to-contribute","docId":"Contributing/contributing-how-to-contribute","unlisted":false},{"type":"link","label":"GitHub Issues","href":"/contributing-github-issues","docId":"Contributing/contributing-github-issues","unlisted":false},{"type":"link","label":"Community","href":"/contributing-community","docId":"Contributing/contributing-community","unlisted":false}]}]},"docs":{"Components/components":{"id":"Components/components","title":"Intro to Components","description":"Component","sidebar":"defaultSidebar"},"Components/components-custom-components":{"id":"Components/components-custom-components","title":"Custom Components","description":"Langflow components can be created from within the platform, allowing users to extend the platform\'s functionality using Python code. They encapsulate are designed to be independent units, reusable across different workflows.","sidebar":"defaultSidebar"},"Components/components-data":{"id":"Components/components-data","title":"Data","description":"This page may contain outdated information. It will be updated as soon as possible.","sidebar":"defaultSidebar"},"Components/components-embedding-models":{"id":"Components/components-embedding-models","title":"Embedding Models","description":"This page may contain outdated information. It will be updated as soon as possible.","sidebar":"defaultSidebar"},"Components/components-helpers":{"id":"Components/components-helpers","title":"Helpers","description":"This page may contain outdated information. It will be updated as soon as possible.","sidebar":"defaultSidebar"},"Components/components-io":{"id":"Components/components-io","title":"Inputs & Outputs","description":"Inputs and Outputs are a category of components that are used to define where data comes in and out of your flow. They also dynamically change the Playground and can be renamed to facilitate building and maintaining your flows.","sidebar":"defaultSidebar"},"Components/components-models":{"id":"Components/components-models","title":"Models","description":"This page may contain outdated information. It will be updated as soon as possible.","sidebar":"defaultSidebar"},"Components/components-prompts":{"id":"Components/components-prompts","title":"Prompts","description":"This page may contain outdated information. It will be updated as soon as possible.","sidebar":"defaultSidebar"},"Components/components-vector-stores":{"id":"Components/components-vector-stores","title":"Vector Stores","description":"This page may contain outdated information. It will be updated as soon as possible.","sidebar":"defaultSidebar"},"Configuration/configuration-api-keys":{"id":"Configuration/configuration-api-keys","title":"API Keys","description":"This page may contain outdated information. It will be updated as soon as possible.","sidebar":"defaultSidebar"},"Configuration/configuration-authentication":{"id":"Configuration/configuration-authentication","title":"Authentication","description":"This page may contain outdated information. It will be updated as soon as possible.","sidebar":"defaultSidebar"},"Configuration/configuration-backend-only":{"id":"Configuration/configuration-backend-only","title":"Backend-Only","description":"This page may contain outdated information. It will be updated as soon as possible.","sidebar":"defaultSidebar"},"Configuration/configuration-cli":{"id":"Configuration/configuration-cli","title":"Command Line Interface (CLI)","description":"This page may contain outdated information. It will be updated as soon as possible.","sidebar":"defaultSidebar"},"Configuration/My-Collection":{"id":"Configuration/My-Collection","title":"My Collection","description":"This page may contain outdated information. It will be updated as soon as possible.","sidebar":"defaultSidebar"},"Contributing/contributing-community":{"id":"Contributing/contributing-community","title":"Community","description":"\ud83e\udd16 Join\xa0Langflow\xa0Discord server","sidebar":"defaultSidebar"},"Contributing/contributing-github-issues":{"id":"Contributing/contributing-github-issues","title":"GitHub Issues","description":"Our\xa0issues\xa0page is kept up to date with bugs, improvements, and feature requests. There is a taxonomy of labels to help with sorting and discovery of issues of interest.","sidebar":"defaultSidebar"},"Contributing/contributing-how-to-contribute":{"id":"Contributing/contributing-how-to-contribute","title":"How to contribute?","description":"This page may contain outdated information. It will be updated as soon as possible.","sidebar":"defaultSidebar"},"Contributing/contributing-telemetry":{"id":"Contributing/contributing-telemetry","title":"Telemetry","description":"This page may contain outdated information. It will be updated as soon as possible.","sidebar":"defaultSidebar"},"Deployment/deployment-docker":{"id":"Deployment/deployment-docker","title":"Docker","description":"This guide will help you get LangFlow up and running using Docker and Docker Compose.","sidebar":"defaultSidebar"},"Deployment/deployment-gcp":{"id":"Deployment/deployment-gcp","title":"GCP","description":"This page may contain outdated information. It will be updated as soon as possible.","sidebar":"defaultSidebar"},"Deployment/deployment-hugging-face-spaces":{"id":"Deployment/deployment-hugging-face-spaces","title":"\ud83e\udd17\xa0Spaces","description":"HuggingFace Spaces","sidebar":"defaultSidebar"},"Deployment/deployment-kubernetes":{"id":"Deployment/deployment-kubernetes","title":"Kubernetes","description":"This guide will help you get LangFlow up and running in Kubernetes cluster, including the following steps:","sidebar":"defaultSidebar"},"Deployment/deployment-railway":{"id":"Deployment/deployment-railway","title":"Railway","description":"Deploy on Railway","sidebar":"defaultSidebar"},"Deployment/deployment-render":{"id":"Deployment/deployment-render","title":"Render","description":"Deploy on Render","sidebar":"defaultSidebar"},"Getting-Started/\ud83d\udc4b\xa0Welcome-to-Langflow":{"id":"Getting-Started/\ud83d\udc4b\xa0Welcome-to-Langflow","title":"\ud83d\udc4b\xa0Welcome to Langflow","description":"Introduction","sidebar":"defaultSidebar"},"Getting-Started/getting-started-common-installation-issues":{"id":"Getting-Started/getting-started-common-installation-issues","title":"\u2757\ufe0f Common Installation Issues","description":"This is a list of possible issues that you may encounter when installing Langflow and how to solve them.","sidebar":"defaultSidebar"},"Getting-Started/getting-started-installation":{"id":"Getting-Started/getting-started-installation","title":"\ud83d\udce6\xa0Installation","description":"DataStax Langflow","sidebar":"defaultSidebar"},"Getting-Started/getting-started-quickstart":{"id":"Getting-Started/getting-started-quickstart","title":"\u26a1\ufe0f Quickstart","description":"Prerequisites","sidebar":"defaultSidebar"},"Guides/guides-chat-memory":{"id":"Guides/guides-chat-memory","title":"Chat Memory","description":"Langflow allows every chat message to be stored, and a single flow can have multiple memory sessions. This enables you to create separate memories for agents to store and recall information as needed.","sidebar":"defaultSidebar"},"Guides/guides-data-message":{"id":"Guides/guides-data-message","title":"Data & Message","description":"In Langflow, the\xa0Data\xa0and\xa0Message\xa0objects serve as structured, functional representations of data that enhance the capabilities and reliability of the platform.","sidebar":"defaultSidebar"},"Guides/guides-new-to-llms":{"id":"Guides/guides-new-to-llms","title":"\ud83d\udcda New to LLMs?","description":"Large Language Models, or LLMs, are part of an exciting new world in computing.","sidebar":"defaultSidebar"},"Integrations/integrations-langsmith":{"id":"Integrations/integrations-langsmith","title":"LangSmith","description":"LangSmith is a full-lifecycle DevOps service from LangChain that provides monitoring and observability. To integrate with Langflow, just add your LangChain API key as a Langflow environment variable and you are good to go!","sidebar":"defaultSidebar"},"Settings/settings-global-variables":{"id":"Settings/settings-global-variables","title":"Global Variables","description":"This page may contain outdated information. It will be updated as soon as possible.","sidebar":"defaultSidebar"},"Settings/settings-project-general-settings":{"id":"Settings/settings-project-general-settings","title":"Project & General Settings","description":"This page may contain outdated information. It will be updated as soon as possible.","sidebar":"defaultSidebar"},"Starter-Projects/starter-projects-basic-prompting":{"id":"Starter-Projects/starter-projects-basic-prompting","title":"Basic Prompting","description":"Prompts serve as the inputs to a large language model (LLM), acting as the interface between human instructions and computational tasks.","sidebar":"defaultSidebar"},"Starter-Projects/starter-projects-blog-writer":{"id":"Starter-Projects/starter-projects-blog-writer","title":"Blog Writer","description":"Build a blog writer with OpenAI that uses URLs for reference content.","sidebar":"defaultSidebar"},"Starter-Projects/starter-projects-document-qa":{"id":"Starter-Projects/starter-projects-document-qa","title":"Document QA","description":"Build a question-and-answer chatbot with a document loaded from local memory.","sidebar":"defaultSidebar"},"Starter-Projects/starter-projects-memory-chatbot":{"id":"Starter-Projects/starter-projects-memory-chatbot","title":"Memory Chatbot","description":"This flow extends the\xa0Basic Prompting\xa0flow to include a chat memory. This makes the AI remember previous user inputs.","sidebar":"defaultSidebar"},"Starter-Projects/starter-projects-vector-store-rag":{"id":"Starter-Projects/starter-projects-vector-store-rag","title":"Vector Store RAG","description":"Retrieval Augmented Generation, or RAG, is a pattern for training LLMs on your data and querying it.","sidebar":"defaultSidebar"},"What\u2019s-New/whats-new-a-new-chapter-langflow":{"id":"What\u2019s-New/whats-new-a-new-chapter-langflow","title":"1.0 - A new chapter for Langflow","description":"First things first","sidebar":"defaultSidebar"},"Workspace/workspace":{"id":"Workspace/workspace","title":"Workspace Overview","description":"The Langflow Workspace","sidebar":"defaultSidebar"},"Workspace/workspace-api":{"id":"Workspace/workspace-api","title":"API","description":"The\xa0API\xa0section presents code templates for integrating your flow into external applications.","sidebar":"defaultSidebar"},"Workspace/workspace-logs":{"id":"Workspace/workspace-logs","title":"Logs","description":"The\xa0Logs\xa0page provides a detailed record of all component executions within a workspace. It is designed to help you track actions, debug issues, and understand the flow of data through various components.","sidebar":"defaultSidebar"},"Workspace/workspace-playground":{"id":"Workspace/workspace-playground","title":"Playground","description":"The\xa0Playground\xa0is a dynamic interface designed for real-time interaction with AIs, allowing users to chat, access memories and monitor inputs and outputs. Here, users can directly prototype and their models, making adjustments and observing different outcomes.","sidebar":"defaultSidebar"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/22dd74f7.c5a7bdba.js b/assets/js/22dd74f7.c5a7bdba.js deleted file mode 100644 index 136ff7d9ad..0000000000 --- a/assets/js/22dd74f7.c5a7bdba.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[1567],{5226:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"defaultSidebar":[{"type":"category","label":"What\u2019s New?","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"1.0 - A new chapter for Langflow","href":"/whats-new-a-new-chapter-langflow","docId":"What\u2019s-New/whats-new-a-new-chapter-langflow","unlisted":false}]},{"type":"category","label":"Getting Started","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"\ud83d\udc4b\xa0Welcome to Langflow","href":"/","docId":"Getting-Started/\ud83d\udc4b\xa0Welcome-to-Langflow","unlisted":false},{"type":"link","label":"\ud83d\udce6\xa0Installation","href":"/getting-started-installation","docId":"Getting-Started/getting-started-installation","unlisted":false},{"type":"link","label":"\u26a1\ufe0f Quickstart","href":"/getting-started-quickstart","docId":"Getting-Started/getting-started-quickstart","unlisted":false},{"type":"link","label":"\u2757\ufe0f Common Installation Issues","href":"/getting-started-common-installation-issues","docId":"Getting-Started/getting-started-common-installation-issues","unlisted":false}]},{"type":"category","label":"Starter Projects","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"Basic Prompting","href":"/starter-projects-basic-prompting","docId":"Starter-Projects/starter-projects-basic-prompting","unlisted":false},{"type":"link","label":"Blog Writer","href":"/starter-projects-blog-writer","docId":"Starter-Projects/starter-projects-blog-writer","unlisted":false},{"type":"link","label":"Document QA","href":"/starter-projects-document-qa","docId":"Starter-Projects/starter-projects-document-qa","unlisted":false},{"type":"link","label":"Memory Chatbot","href":"/starter-projects-memory-chatbot","docId":"Starter-Projects/starter-projects-memory-chatbot","unlisted":false},{"type":"link","label":"Vector Store RAG","href":"/starter-projects-vector-store-rag","docId":"Starter-Projects/starter-projects-vector-store-rag","unlisted":false}]},{"type":"category","label":"Guides","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"\ud83d\udcda New to LLMs?","href":"/guides-new-to-llms","docId":"Guides/guides-new-to-llms","unlisted":false},{"type":"link","label":"Chat Memory","href":"/guides-chat-memory","docId":"Guides/guides-chat-memory","unlisted":false},{"type":"link","label":"Data & Message","href":"/guides-data-message","docId":"Guides/guides-data-message","unlisted":false}]},{"type":"category","label":"Workspace","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"Playground","href":"/workspace-playground","docId":"Workspace/workspace-playground","unlisted":false},{"type":"link","label":"API","href":"/workspace-api","docId":"Workspace/workspace-api","unlisted":false},{"type":"link","label":"Logs","href":"/workspace-logs","docId":"Workspace/workspace-logs","unlisted":false}],"href":"/workspace"},{"type":"category","label":"Components","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"Inputs & Outputs","href":"/components-io","docId":"Components/components-io","unlisted":false},{"type":"link","label":"Prompts","href":"/components-prompts","docId":"Components/components-prompts","unlisted":false},{"type":"link","label":"Data","href":"/components-data","docId":"Components/components-data","unlisted":false},{"type":"link","label":"Helpers","href":"/components-helpers","docId":"Components/components-helpers","unlisted":false},{"type":"link","label":"Models","href":"/components-models","docId":"Components/components-models","unlisted":false},{"type":"link","label":"Embedding Models","href":"/components-embedding-models","docId":"Components/components-embedding-models","unlisted":false},{"type":"link","label":"Vector Stores","href":"/components-vector-stores","docId":"Components/components-vector-stores","unlisted":false},{"type":"link","label":"Custom Components","href":"/components-custom-components","docId":"Components/components-custom-components","unlisted":false}],"href":"/components"},{"type":"category","label":"Deployment","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"\ud83e\udd17\xa0Spaces","href":"/deployment-hugging-face-spaces","docId":"Deployment/deployment-hugging-face-spaces","unlisted":false},{"type":"link","label":"Kubernetes","href":"/deployment-kubernetes","docId":"Deployment/deployment-kubernetes","unlisted":false},{"type":"link","label":"Docker","href":"/deployment-docker","docId":"Deployment/deployment-docker","unlisted":false},{"type":"link","label":"GCP","href":"/deployment-gcp","docId":"Deployment/deployment-gcp","unlisted":false},{"type":"link","label":"Render","href":"/deployment-render","docId":"Deployment/deployment-render","unlisted":false},{"type":"link","label":"Railway","href":"/deployment-railway","docId":"Deployment/deployment-railway","unlisted":false}]},{"type":"category","label":"Settings","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"Global Variables","href":"/settings-global-variables","docId":"Settings/settings-global-variables","unlisted":false},{"type":"link","label":"Project & General Settings","href":"/settings-project-general-settings","docId":"Settings/settings-project-general-settings","unlisted":false}]},{"type":"category","label":"Configuration","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"Authentication","href":"/configuration-authentication","docId":"Configuration/configuration-authentication","unlisted":false},{"type":"link","label":"API Keys","href":"/configuration-api-keys","docId":"Configuration/configuration-api-keys","unlisted":false},{"type":"link","label":"Command Line Interface (CLI)","href":"/configuration-cli","docId":"Configuration/configuration-cli","unlisted":false},{"type":"link","label":"Folders","href":"/365085a8-a90a-43f9-a779-f8769ec7eca1","docId":"Configuration/Folders","unlisted":false},{"type":"link","label":"Backend-Only","href":"/configuration-backend-only","docId":"Configuration/configuration-backend-only","unlisted":false}]},{"type":"category","label":"Integrations","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"LangSmith","href":"/integrations-langsmith","docId":"Integrations/integrations-langsmith","unlisted":false}]},{"type":"category","label":"Contributing","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"Telemetry","href":"/contributing-telemetry","docId":"Contributing/contributing-telemetry","unlisted":false},{"type":"link","label":"How to contribute?","href":"/contributing-how-to-contribute","docId":"Contributing/contributing-how-to-contribute","unlisted":false},{"type":"link","label":"GitHub Issues","href":"/contributing-github-issues","docId":"Contributing/contributing-github-issues","unlisted":false},{"type":"link","label":"Community","href":"/contributing-community","docId":"Contributing/contributing-community","unlisted":false}]}]},"docs":{"Components/components":{"id":"Components/components","title":"Intro to Components","description":"Component","sidebar":"defaultSidebar"},"Components/components-custom-components":{"id":"Components/components-custom-components","title":"Custom Components","description":"Langflow components can be created from within the platform, allowing users to extend the platform\'s functionality using Python code. They encapsulate are designed to be independent units, reusable across different workflows.","sidebar":"defaultSidebar"},"Components/components-data":{"id":"Components/components-data","title":"Data","description":"API Request","sidebar":"defaultSidebar"},"Components/components-embedding-models":{"id":"Components/components-embedding-models","title":"Embedding Models","description":"Amazon Bedrock Embeddings","sidebar":"defaultSidebar"},"Components/components-helpers":{"id":"Components/components-helpers","title":"Helpers","description":"Chat memory","sidebar":"defaultSidebar"},"Components/components-io":{"id":"Components/components-io","title":"Inputs & Outputs","description":"Inputs and Outputs are a category of components that are used to define where data comes in and out of your flow. They also dynamically change the Playground and can be renamed to facilitate building and maintaining your flows.","sidebar":"defaultSidebar"},"Components/components-models":{"id":"Components/components-models","title":"Models","description":"Amazon Bedrock","sidebar":"defaultSidebar"},"Components/components-prompts":{"id":"Components/components-prompts","title":"Prompts","description":"A prompt is the input provided to a language model, consisting of multiple components and can be parameterized using prompt templates. A prompt template offers a reproducible method for generating prompts, enabling easy customization through input variables.","sidebar":"defaultSidebar"},"Components/components-vector-stores":{"id":"Components/components-vector-stores","title":"Vector Stores","description":"Astra DB","sidebar":"defaultSidebar"},"Configuration/configuration-api-keys":{"id":"Configuration/configuration-api-keys","title":"API Keys","description":"This page may contain outdated information. It will be updated as soon as possible.","sidebar":"defaultSidebar"},"Configuration/configuration-authentication":{"id":"Configuration/configuration-authentication","title":"Authentication","description":"Sign Up and Sign In","sidebar":"defaultSidebar"},"Configuration/configuration-backend-only":{"id":"Configuration/configuration-backend-only","title":"Backend-Only","description":"\u26a0\ufe0f\xa0WARNING","sidebar":"defaultSidebar"},"Configuration/configuration-cli":{"id":"Configuration/configuration-cli","title":"Command Line Interface (CLI)","description":"\u26a0\ufe0f\xa0WARNING","sidebar":"defaultSidebar"},"Configuration/Folders":{"id":"Configuration/Folders","title":"Folders","description":"Collections and Projects","sidebar":"defaultSidebar"},"Contributing/contributing-community":{"id":"Contributing/contributing-community","title":"Community","description":"\ud83e\udd16 Join\xa0Langflow\xa0Discord server","sidebar":"defaultSidebar"},"Contributing/contributing-github-issues":{"id":"Contributing/contributing-github-issues","title":"GitHub Issues","description":"Our\xa0issues\xa0page is kept up to date with bugs, improvements, and feature requests. There is a taxonomy of labels to help with sorting and discovery of issues of interest.","sidebar":"defaultSidebar"},"Contributing/contributing-how-to-contribute":{"id":"Contributing/contributing-how-to-contribute","title":"How to contribute?","description":"\ud83d\udc4b Hello there! We welcome contributions from developers of all levels to our open-source project on\xa0GitHub. If you\'d like to contribute, please check our contributing guidelines and help make Langflow more accessible.","sidebar":"defaultSidebar"},"Contributing/contributing-telemetry":{"id":"Contributing/contributing-telemetry","title":"Telemetry","description":"Our system uses anonymous telemetry to collect essential usage statistics to enhance functionality and user experience. This data helps us identify commonly used features and areas needing improvement, ensuring our development efforts align with what you need.","sidebar":"defaultSidebar"},"Deployment/deployment-docker":{"id":"Deployment/deployment-docker","title":"Docker","description":"This guide will help you get LangFlow up and running using Docker and Docker Compose.","sidebar":"defaultSidebar"},"Deployment/deployment-gcp":{"id":"Deployment/deployment-gcp","title":"GCP","description":"4ee01cda736c4f7396936409f23cdb52}","sidebar":"defaultSidebar"},"Deployment/deployment-hugging-face-spaces":{"id":"Deployment/deployment-hugging-face-spaces","title":"\ud83e\udd17\xa0Spaces","description":"00f5b3a6818d496dbb18e1a6a910e57d}","sidebar":"defaultSidebar"},"Deployment/deployment-kubernetes":{"id":"Deployment/deployment-kubernetes","title":"Kubernetes","description":"This guide will help you get LangFlow up and running in Kubernetes cluster, including the following steps:","sidebar":"defaultSidebar"},"Deployment/deployment-railway":{"id":"Deployment/deployment-railway","title":"Railway","description":"a9a1ce4d39e74cc29aef4d30c6172d10}","sidebar":"defaultSidebar"},"Deployment/deployment-render":{"id":"Deployment/deployment-render","title":"Render","description":"20a959b7047e44e490cc129fd21895c0}","sidebar":"defaultSidebar"},"Getting-Started/\ud83d\udc4b\xa0Welcome-to-Langflow":{"id":"Getting-Started/\ud83d\udc4b\xa0Welcome-to-Langflow","title":"\ud83d\udc4b\xa0Welcome to Langflow","description":"Introduction","sidebar":"defaultSidebar"},"Getting-Started/getting-started-common-installation-issues":{"id":"Getting-Started/getting-started-common-installation-issues","title":"\u2757\ufe0f Common Installation Issues","description":"This is a list of possible issues that you may encounter when installing Langflow and how to solve them.","sidebar":"defaultSidebar"},"Getting-Started/getting-started-installation":{"id":"Getting-Started/getting-started-installation","title":"\ud83d\udce6\xa0Installation","description":"DataStax Langflow","sidebar":"defaultSidebar"},"Getting-Started/getting-started-quickstart":{"id":"Getting-Started/getting-started-quickstart","title":"\u26a1\ufe0f Quickstart","description":"Prerequisites","sidebar":"defaultSidebar"},"Guides/guides-chat-memory":{"id":"Guides/guides-chat-memory","title":"Chat Memory","description":"Langflow allows every chat message to be stored, and a single flow can have multiple memory sessions. This enables you to create separate memories for agents to store and recall information as needed.","sidebar":"defaultSidebar"},"Guides/guides-data-message":{"id":"Guides/guides-data-message","title":"Data & Message","description":"In Langflow, the\xa0Data\xa0and\xa0Message\xa0objects serve as structured, functional representations of data that enhance the capabilities and reliability of the platform.","sidebar":"defaultSidebar"},"Guides/guides-new-to-llms":{"id":"Guides/guides-new-to-llms","title":"\ud83d\udcda New to LLMs?","description":"Large Language Models, or LLMs, are part of an exciting new world in computing.","sidebar":"defaultSidebar"},"Integrations/integrations-langsmith":{"id":"Integrations/integrations-langsmith","title":"LangSmith","description":"LangSmith is a full-lifecycle DevOps service from LangChain that provides monitoring and observability. To integrate with Langflow, just add your LangChain API key as a Langflow environment variable and you are good to go!","sidebar":"defaultSidebar"},"Settings/settings-global-variables":{"id":"Settings/settings-global-variables","title":"Global Variables","description":"\u26a0\ufe0f WARNING","sidebar":"defaultSidebar"},"Settings/settings-project-general-settings":{"id":"Settings/settings-project-general-settings","title":"Project & General Settings","description":"\u26a0\ufe0f WARNING","sidebar":"defaultSidebar"},"Starter-Projects/starter-projects-basic-prompting":{"id":"Starter-Projects/starter-projects-basic-prompting","title":"Basic Prompting","description":"Prompts serve as the inputs to a large language model (LLM), acting as the interface between human instructions and computational tasks.","sidebar":"defaultSidebar"},"Starter-Projects/starter-projects-blog-writer":{"id":"Starter-Projects/starter-projects-blog-writer","title":"Blog Writer","description":"Build a blog writer with OpenAI that uses URLs for reference content.","sidebar":"defaultSidebar"},"Starter-Projects/starter-projects-document-qa":{"id":"Starter-Projects/starter-projects-document-qa","title":"Document QA","description":"Build a question-and-answer chatbot with a document loaded from local memory.","sidebar":"defaultSidebar"},"Starter-Projects/starter-projects-memory-chatbot":{"id":"Starter-Projects/starter-projects-memory-chatbot","title":"Memory Chatbot","description":"This flow extends the\xa0Basic Prompting\xa0flow to include a chat memory. This makes the AI remember previous user inputs.","sidebar":"defaultSidebar"},"Starter-Projects/starter-projects-vector-store-rag":{"id":"Starter-Projects/starter-projects-vector-store-rag","title":"Vector Store RAG","description":"Retrieval Augmented Generation, or RAG, is a pattern for training LLMs on your data and querying it.","sidebar":"defaultSidebar"},"What\u2019s-New/whats-new-a-new-chapter-langflow":{"id":"What\u2019s-New/whats-new-a-new-chapter-langflow","title":"1.0 - A new chapter for Langflow","description":"First things first","sidebar":"defaultSidebar"},"Workspace/workspace":{"id":"Workspace/workspace","title":"Workspace Overview","description":"The Langflow Workspace","sidebar":"defaultSidebar"},"Workspace/workspace-api":{"id":"Workspace/workspace-api","title":"API","description":"The\xa0API\xa0section presents code templates for integrating your flow into external applications.","sidebar":"defaultSidebar"},"Workspace/workspace-logs":{"id":"Workspace/workspace-logs","title":"Logs","description":"The\xa0Logs\xa0page provides a detailed record of all component executions within a workspace. It is designed to help you track actions, debug issues, and understand the flow of data through various components.","sidebar":"defaultSidebar"},"Workspace/workspace-playground":{"id":"Workspace/workspace-playground","title":"Playground","description":"The\xa0Playground\xa0is a dynamic interface designed for real-time interaction with AIs, allowing users to chat, access memories and monitor inputs and outputs. Here, users can directly prototype and their models, making adjustments and observing different outcomes.","sidebar":"defaultSidebar"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/23d0e682.c4fbb446.js b/assets/js/23d0e682.c4fbb446.js deleted file mode 100644 index cedaf90e7b..0000000000 --- a/assets/js/23d0e682.c4fbb446.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[9461],{6459:(e,t,n)=>{n.r(t),n.d(t,{CH:()=>a,assets:()=>i,chCodeConfig:()=>h,contentTitle:()=>l,default:()=>x,frontMatter:()=>c,metadata:()=>d,toc:()=>p});var o=n(4848),s=n(8453),r=n(4754);const c={title:"API",sidebar_position:2,slug:"/workspace-api"},l=void 0,d={id:"Workspace/workspace-api",title:"API",description:"The\xa0API\xa0section presents code templates for integrating your flow into external applications.",source:"@site/docs/Workspace/workspace-api.md",sourceDirName:"Workspace",slug:"/workspace-api",permalink:"/workspace-api",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:2,frontMatter:{title:"API",sidebar_position:2,slug:"/workspace-api"},sidebar:"defaultSidebar",previous:{title:"Playground",permalink:"/workspace-playground"},next:{title:"Logs",permalink:"/workspace-logs"}},i={},a={annotations:r.hk,Code:r.Cy},h={staticMediaQuery:"not screen, (max-width: 768px)",lineNumbers:!0,showCopyButton:!0,themeName:"github-dark"},p=[{value:"cURL",id:"4eb287a8424349c4b0b436a6703de5f3",level:3},{value:"Python API",id:"fb7db14e6330418389562ef647aa2354",level:3},{value:"Python Code",id:"7af87438549b4972907ac310a4193067",level:3},{value:"Tweaks",id:"5680600063724590ac2302b4ddeea867",level:3},{value:"Chat Widget HTML",id:"48f121a6cb3243979a341753da0c2700",level:3},{value:"Embed your flow into HTML",id:"6e84db2f2a0d451db6fa03c57e9bf9a4",level:3},{value:"Embed your flow with React",id:"fe5d3b1c42e74e4c84ebc9d1799b7665",level:3},{value:"Embed your flow with Angular",id:"4fd87355b9aa409894acfbb9e1497980",level:3},{value:"Chat widget configuration",id:"5ede4bbbd2ac43e29c90f3edb43cba58",level:2}];function u(e){const t={admonition:"admonition",code:"code",em:"em",h2:"h2",h3:"h3",hr:"hr",img:"img",li:"li",ol:"ol",p:"p",reactplayer:"reactplayer",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,s.R)(),...e.components};return a||j("CH",!1),a.Code||j("CH.Code",!0),(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("style",{dangerouslySetInnerHTML:{__html:'[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; }'}}),"\n",(0,o.jsx)(t.p,{children:'import ReactPlayer from "react-player";'}),"\n",(0,o.jsxs)(t.p,{children:["The\xa0",(0,o.jsx)(t.strong,{children:"API"}),"\xa0section presents code templates for integrating your flow into external applications."]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{src:n(9065).A+"",width:"2656",height:"1494"})}),"\n",(0,o.jsx)(t.h3,{id:"4eb287a8424349c4b0b436a6703de5f3",children:"cURL"}),"\n",(0,o.jsxs)(t.p,{children:["The\xa0",(0,o.jsx)(t.strong,{children:"cURL"}),"\xa0tab displays sample code for posting a query to your flow. Modify the\xa0",(0,o.jsx)(t.code,{children:"input_value"}),"\xa0to change your input message. Copy the code and run it to post a query to your flow and get the result."]}),"\n",(0,o.jsx)(t.h3,{id:"fb7db14e6330418389562ef647aa2354",children:"Python API"}),"\n",(0,o.jsxs)(t.p,{children:["The\xa0",(0,o.jsx)(t.strong,{children:"Python API"}),"\xa0tab displays code to interact with your flow using the Python HTTP requests library."]}),"\n",(0,o.jsx)(t.h3,{id:"7af87438549b4972907ac310a4193067",children:"Python Code"}),"\n",(0,o.jsxs)(t.p,{children:["The\xa0",(0,o.jsx)(t.strong,{children:"Python Code"}),"\xa0tab displays code to interact with your flow's\xa0",(0,o.jsx)(t.code,{children:".json"}),"\xa0file using the Langflow runtime."]}),"\n",(0,o.jsx)(t.h3,{id:"5680600063724590ac2302b4ddeea867",children:"Tweaks"}),"\n",(0,o.jsxs)(t.p,{children:["The\xa0",(0,o.jsx)(t.strong,{children:"Tweaks"}),"\xa0tab displays the available parameters for your flow. Modifying the parameters changes the code parameters across all windows. For example, changing the\xa0",(0,o.jsx)(t.strong,{children:"Chat Input"}),"\xa0component's\xa0",(0,o.jsx)(t.code,{children:"input_value"}),"\xa0will change that value across all API calls."]}),"\n",(0,o.jsxs)(t.reactplayer,{controls:!0,url:"https://prod-files-secure.s3.us-west-2.amazonaws.com/09f11537-5a5b-4f56-9e8d-de8ebcfae549/d4b5f648-d99f-47cc-9ac6-986e1c32a71d/langflow_api.mp4?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIAT73L2G45HZZMZUHI%2F20240712%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20240712T215853Z&X-Amz-Expires=3600&X-Amz-Signature=04dac9770b972cad199be655db11a8e81d293b5eba4a32b10fa680487f850650&X-Amz-SignedHeaders=host&x-id=GetObject",children:["\n",(0,o.jsx)(t.h3,{id:"48f121a6cb3243979a341753da0c2700",children:"Chat Widget HTML"}),"\n",(0,o.jsxs)(t.p,{children:["The\xa0",(0,o.jsx)(t.strong,{children:"Chat Widget HTML"}),"\xa0tab displays code that can be inserted in the\xa0",(0,o.jsx)(t.code,{children:""}),"\xa0of your HTML to interact with your flow."]}),"\n",(0,o.jsxs)(t.p,{children:["The\xa0",(0,o.jsx)(t.strong,{children:"Langflow Chat Widget"}),"\xa0is a powerful web component that enables communication with a Langflow project. This widget allows for a chat interface embedding, allowing the integration of Langflow into web applications effortlessly."]}),"\n",(0,o.jsx)(t.p,{children:"You can get the HTML code embedded with the chat by clicking the Code button at the Sidebar after building a flow."}),"\n",(0,o.jsx)(t.p,{children:"Clicking the Chat Widget HTML tab, you'll get the code to be inserted. Read below to learn how to use it with HTML, React and Angular."}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{src:n(1056).A+"",width:"2974",height:"2006"})}),"\n",(0,o.jsx)(t.h3,{id:"6e84db2f2a0d451db6fa03c57e9bf9a4",children:"Embed your flow into HTML"}),"\n",(0,o.jsxs)(t.p,{children:["The Chat Widget can be embedded into any HTML page, inside a\xa0",(0,o.jsx)(t.code,{children:""}),"\xa0tag, as demonstrated in the video below."]}),"\n",(0,o.jsxs)(t.reactplayer,{controls:!0,url:"https://prod-files-secure.s3.us-west-2.amazonaws.com/09f11537-5a5b-4f56-9e8d-de8ebcfae549/01200476-f343-41e1-8be7-059250e0ce5e/langflow_widget.mp4?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIAT73L2G45HZZMZUHI%2F20240712%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20240712T215853Z&X-Amz-Expires=3600&X-Amz-Signature=20a6051ace6798a47ce595026a856286f81facd75ad04adae75edf0368d30c0e&X-Amz-SignedHeaders=host&x-id=GetObject",children:["\n",(0,o.jsx)(t.h3,{id:"fe5d3b1c42e74e4c84ebc9d1799b7665",children:"Embed your flow with React"}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsxs)(t.li,{children:["To embed the Chat Widget using React, insert this\xa0",(0,o.jsx)(t.code,{children:" - - + + -
Skip to main content

Custom Components

+

Custom Components

Langflow components can be created from within the platform, allowing users to extend the platform's functionality using Python code. They encapsulate are designed to be independent units, reusable across different workflows.

These components can be easily connected within a language model pipeline, adding freedom and flexibility to what can be included in between user and AI messages.

diff --git a/components-data.html b/components-data.html index 9f1383845b..3cf878da6e 100644 --- a/components-data.html +++ b/components-data.html @@ -3,15 +3,16 @@ -Data | Langflow Documentation +Data | Langflow Documentation - - + + -

Data

API Request

+

Data

info

This page may contain outdated information. It will be updated as soon as possible.

+

API Request


This component sends HTTP requests to the specified URLs.

Use this component to interact with external APIs or services and retrieve data. Ensure that the URLs are valid and that you configure the method, headers, body, and timeout correctly.

diff --git a/components-embedding-models.html b/components-embedding-models.html index 888c571155..d00763d6fe 100644 --- a/components-embedding-models.html +++ b/components-embedding-models.html @@ -3,15 +3,16 @@ -Embedding Models | Langflow Documentation +Embedding Models | Langflow Documentation - - + + -

Embedding Models

Amazon Bedrock Embeddings

+

Embedding Models

info

This page may contain outdated information. It will be updated as soon as possible.

+

Amazon Bedrock Embeddings

Used to load embedding models from Amazon Bedrock.

diff --git a/components-helpers.html b/components-helpers.html index cd7dfe6ad8..65e4adb1a5 100644 --- a/components-helpers.html +++ b/components-helpers.html @@ -3,17 +3,18 @@ -Helpers | Langflow Documentation +Helpers | Langflow Documentation - - + + -

Helpers

Chat memory

+

Helpers

info

This page may contain outdated information. It will be updated as soon as possible.

+

Chat memory

This component retrieves stored chat messages based on a specific session ID.

-

Parameters

+

Parameters

Hi, how can I help you?

\ No newline at end of file diff --git a/guides-chat-memory.html b/guides-chat-memory.html index 7fc1563ae8..5e8e18f77a 100644 --- a/guides-chat-memory.html +++ b/guides-chat-memory.html @@ -7,11 +7,11 @@ - - + + -

Chat Memory

Langflow allows every chat message to be stored, and a single flow can have multiple memory sessions. This enables you to create separate memories for agents to store and recall information as needed.

+

Chat Memory

Langflow allows every chat message to be stored, and a single flow can have multiple memory sessions. This enables you to create separate memories for agents to store and recall information as needed.

In any project, as long as there are Chat being used, memories are always being stored by default. These are messages from a user to the AI or vice-versa.

To see and access this history of messages, Langflow features a component called Chat Memory. It retrieves previous messages and outputs them in structured format or parsed.

diff --git a/guides-data-message.html b/guides-data-message.html index 2168df87ad..fa27190c26 100644 --- a/guides-data-message.html +++ b/guides-data-message.html @@ -7,13 +7,14 @@ - - + + -

Data & Message

+

Data & Message

In Langflow, the Data and Message objects serve as structured, functional representations of data that enhance the capabilities and reliability of the platform.

-

The Data Object

+

The Data Object

+

The Data object is a Pydantic model that serves as a container for storing and manipulating data. It carries data—a dictionary that can be accessed as attributes—and uses text_key to specify which key in the dictionary should be considered the primary text content.

  • Main Attributes: @@ -24,14 +25,15 @@
-

Creating a Data Object:

+

Creating a Data Object

You can create a Data object by directly assigning key-value pairs to it. For example:


_10
from langflow.schema import Data
_10
_10
# Creating a Data object with specified key-value pairs
_10
data = Data(text="my_string", bar=3, foo="another_string")
_10
_10
# Outputs:
_10
print(data.text) # Outputs: "my_string"
_10
print(data.bar) # Outputs: 3
_10
print(data.foo) # Outputs: "another_string"

The text_key specifies which key in the data dictionary should be considered the primary text content. The default_value provides a fallback if the text_key is not present.


_10
# Creating a Data object with a specific text_key and default_value
_10
data = Data(data={"title": "Hello, World!"}, text_key="content", default_value="No content available")
_10
_10
# Accessing the primary text using text_key and default_value
_10
print(data.get_text()) # Outputs: "No content available" because "content" key is not in the data dictionary
_10
_10
# Accessing data keys by calling the attribute directly
_10
print(data.title) # Outputs: "Hello, World!" because "title" key is in the data dictionary

The Data object is also convenient for visualization of outputs, since the output preview has visual elements to inspect data as a table and its cells as pop ups for basic types. The idea is to create a unified way to work and visualize complex information in Langflow.

To receive Data objects in a component input, you can use the DataInput input type.

-

The Message Object

+

The Message Object

+

The Message object extends the functionality of Data and includes additional attributes and methods for chat interactions.

  • Main Attributes: @@ -49,6 +51,6 @@

The Message object can be used to send, store and manipulate chat messages within Langflow. You can create a Message object by directly assigning key-value pairs to it. For example:


_10
from langflow.schema.message import Message
_10
_10
message = Message(text="Hello, AI!", sender="User", sender_name="John Doe")

-

To receive Message objects in a component input, you can use the MessageInput input type or MessageTextInput when the goal is to extract just the text field of the Message object.

Hi, how can I help you?

+

To receive Message objects in a component input, you can use the MessageInput input type or MessageTextInput when the goal is to extract just the text field of the Message object.

Hi, how can I help you?

\ No newline at end of file diff --git a/guides-new-to-llms.html b/guides-new-to-llms.html index 3cff72a4c8..44e8c56245 100644 --- a/guides-new-to-llms.html +++ b/guides-new-to-llms.html @@ -7,11 +7,11 @@ - - + + -

📚 New to LLMs?

Large Language Models, or LLMs, are part of an exciting new world in computing.

+

📚 New to LLMs?

Large Language Models, or LLMs, are part of an exciting new world in computing.

We made Langflow for anyone to create with LLMs, and hope you'll feel comfortable installing Langflow and getting started.

If you want to learn the basics of LLMs, prompt engineering, and AI models, Langflow recommends promptingguide.ai, an open-source repository of prompt engineering content maintained by AI experts. PromptingGuide offers content for beginners and experts, as well as the latest research papers and test results fueling AI's progress.

For in depth readings, we recommend Awesome LLM Books, a curated list of resources for learning about LLMs and their applications.

Hi, how can I help you?

diff --git a/index.html b/index.html index 274a0ca1ac..7b516ff06f 100644 --- a/index.html +++ b/index.html @@ -7,16 +7,17 @@ - - + + -

👋 Welcome to Langflow

Introduction

+

👋 Welcome to Langflow

Introduction


Langflow is a new, visual framework for building multi-agent and RAG applications. It is open-source, Python-powered, fully customizable, LLM and vector store agnostic.

Its intuitive interface allows for easy manipulation of AI building blocks, enabling developers to quickly prototype and turn their ideas into powerful, real-world solutions.

🚀 First steps

+
- +

Hi, how can I help you?

\ No newline at end of file diff --git a/settings-project-general-settings.html b/settings-project-general-settings.html index 34f3be9a07..cc44b6c0f7 100644 --- a/settings-project-general-settings.html +++ b/settings-project-general-settings.html @@ -3,20 +3,18 @@ -Project & General Settings | Langflow Documentation +Project & General Settings | Langflow Documentation - - + + -

Project & General Settings

-

⚠️ WARNING -This page may contain outdated information. It will be updated as soon as possible.

-
+

Project & General Settings

info

This page may contain outdated information. It will be updated as soon as possible.

Change the Project Settings or General Settings for Langflow.

Project Settings

+

Click Project Name > Settings to view your Project Settings.

  • Name - the name of your project.
  • @@ -26,6 +24,7 @@ Visible on the Langflow Store. To use the default value, leave this field blank.

General Settings

+

Select your Profile Picture > Settings to view your General Settings.

Profile Picture

Select a profile picture.

diff --git a/starter-projects-basic-prompting.html b/starter-projects-basic-prompting.html index 3f9456de2b..6412804ff8 100644 --- a/starter-projects-basic-prompting.html +++ b/starter-projects-basic-prompting.html @@ -7,33 +7,41 @@ - - + + -

Basic Prompting

Prompts serve as the inputs to a large language model (LLM), acting as the interface between human instructions and computational tasks.

+

Basic Prompting

Prompts serve as the inputs to a large language model (LLM), acting as the interface between human instructions and computational tasks.

By submitting natural language requests in a prompt to an LLM, you can obtain answers, generate text, and solve problems.

This article demonstrates how to use Langflow's prompt tools to issue basic prompts to an LLM, and how various prompting strategies can affect your outcomes.

-

Prerequisites

+

Prerequisites

+
-

Create the basic prompting project

+

Basic Prompting

+
+

Create the basic prompting project

  1. From the Langflow dashboard, click New Project.

-
    -
  1. Select Basic Prompting.
  2. -
  3. The Basic Prompting flow is created.
  4. +
      +
    1. +

      Select Basic Prompting.

      +
    2. +
    3. +

      The Basic Prompting flow is created.

      +

    This flow allows you to chat with the OpenAI component through the Prompt component.

    Examine the Prompt component. The Template field instructs the LLM to Answer the user as if you were a pirate. This should be interesting...

    -
      -
    1. To create an environment variable for the OpenAI component, in the OpenAI API Key field, click the Globe button, and then click Add New Variable. +
        +
      1. +

        To create an environment variable for the OpenAI component, in the OpenAI API Key field, click the Globe button, and then click Add New Variable.

        1. In the Variable Name field, enter openai_api_key.
        2. In the Value field, paste your OpenAI API Key (sk-...).
        3. @@ -42,16 +50,16 @@

        -

        Run

        +

        Run

        1. Click the Playground button on the control panel (bottom right side of the workspace). This is where you can interact with your AI.
        2. Type a message and press Enter. The bot should respond in a markedly piratical manner!
        -

        Modify the prompt for a different result

        +

        Modify the prompt for a different result

        1. To modify your prompt results, in the Prompt template, click the Template field. The Edit Prompt window opens.
        2. Change Answer the user as if you were a pirate to a different character, perhaps Answer the user as if you were Hermione Granger.
        3. Run the workflow again. The response will be markedly different.
        4. -

Hi, how can I help you?

+

Hi, how can I help you?

\ No newline at end of file diff --git a/starter-projects-blog-writer.html b/starter-projects-blog-writer.html index 2feb2f3747..6eeb4a9e8c 100644 --- a/starter-projects-blog-writer.html +++ b/starter-projects-blog-writer.html @@ -7,23 +7,26 @@ - - + + -

Blog Writer

Build a blog writer with OpenAI that uses URLs for reference content.

+

Blog Writer

Build a blog writer with OpenAI that uses URLs for reference content.

Prerequisites

+
-

Create the Blog Writer project

+

Blog Writer

+
+

Create the Blog Writer project

  1. From the Langflow dashboard, click New Project.
  2. Select Blog Writer.
  3. A workspace for the Blog Writer is displayed.
-

+

This flow creates a one-shot article generator with PromptOpenAI, and Chat Output components, augmented with reference content and instructions from the URL and Instructions components.

The Template field of the Prompt looks like this:

@@ -33,13 +36,12 @@
  • Parse Data converts the data coming from the URL component into plain text to feed a prompt.
  • -

    Run the Blog Writer

    -
    +

    Run the Blog Writer

    1. Click the Playground button. Here you can chat with the AI that has access to the URL content.
    2. Click the Lighting Bolt icon to run it.
    3. To write about something different, change the values in the URL component and adjust the instructions on the left side bar of the Playground. Try again and see what the LLM constructs.
    -

    Hi, how can I help you?

    +

    Hi, how can I help you?

    \ No newline at end of file diff --git a/starter-projects-document-qa.html b/starter-projects-document-qa.html index 9b4f0eeba0..9a53d5fe1a 100644 --- a/starter-projects-document-qa.html +++ b/starter-projects-document-qa.html @@ -7,33 +7,40 @@ - - + + -

    Document QA

    Build a question-and-answer chatbot with a document loaded from local memory.

    +

    Document QA

    Build a question-and-answer chatbot with a document loaded from local memory.

    Prerequisites

    +
    -

    Create the Document QA project

    +

    Document QA

    +
    +

    Create the Document QA project

    1. From the Langflow dashboard, click New Project.
    2. Select Document QA.
    3. The Document QA project is created.
    -

    +

    This flow is composed of a standard chatbot with the Chat InputPromptOpenAI, and Chat Output components, but it also incorporates a File component, which loads a file from your local machine. Parse Data is used to convert the data from File into the Prompt component as {Document}. The Prompt component is instructed to answer questions based on the contents of {Document}. This gives the OpenAI component context it would not otherwise have access to.

    -

    Run the Document QA

    +

    Run the Document QA

    1. To select a document to load, in the File component, click the Path field. Select a local file, and then click Open. The file name appears in the field.

    -
      -
    1. Click the Playground button. Here you can chat with the AI that has access to your document's content.
    2. -
    3. Type in a question about the document content and press Enter. You should see a contextual response.
    4. -

    Hi, how can I help you?

    +
      +
    1. +

      Click the Playground button. Here you can chat with the AI that has access to your document's content.

      +
    2. +
    3. +

      Type in a question about the document content and press Enter. You should see a contextual response.

      +
    4. +

    Hi, how can I help you?

    \ No newline at end of file diff --git a/starter-projects-memory-chatbot.html b/starter-projects-memory-chatbot.html index 915e8ad9e5..24d8f90e4e 100644 --- a/starter-projects-memory-chatbot.html +++ b/starter-projects-memory-chatbot.html @@ -7,17 +7,20 @@ - - + + -

    Memory Chatbot

    This flow extends the Basic Prompting flow to include a chat memory. This makes the AI remember previous user inputs.

    +

    Memory Chatbot

    This flow extends the Basic Prompting flow to include a chat memory. This makes the AI remember previous user inputs.

    Prerequisites

    +
    -

    Create the memory chatbot project

    +

    Memory Chatbot

    +
    +

    Create the memory chatbot project

    1. From the Langflow dashboard, click New Project.
    2. Select Memory Chatbot.
    3. @@ -28,19 +31,15 @@

      By clicking the template, you'll see the prompt editor like below:

      This gives the OpenAI component a memory of previous chat messages.

      -
        -
      1. Don't forget to set up your OpenAI API key
      2. -
      -

      Run

      +

      Run

      1. Open the Playground.
      2. Type multiple questions. In the Memories tab, your queries are logged in order. Up to 100 queries are stored by default. Try telling the AI your name and asking What is my name? on a second message, or What is the first subject I asked you about? to validate that previous knowledge is taking effect.
      -
      -

      💡  Check and adjust advanced parameters by opening the Advanced Settings of the Chat Memory component.

      -
      +
      tip

      Check and adjust advanced parameters by opening the Advanced Settings of the Chat Memory component.

      Session ID

      +

      SessionID is a unique identifier in Langflow that stores conversation sessions between the AI and a user. A SessionID is created when a conversation is initiated, and then associated with all subsequent messages during that session.

      In the Memory Chatbot flow you created, the Chat Memory component references past interactions by Session ID. You can demonstrate this by modifying the Session ID value to switch between conversation histories.

        @@ -48,9 +47,7 @@
      1. Now, once you send a new message the Playground, you should have a new memory created on the Memories tab.
      2. Notice how your conversation is being stored in different memory sessions.
      -
      -

      💡  Every chat component in Langflow comes with a SessionID. It defaults to the flow ID. Explore how changing it affects what the AI remembers.

      -
      -

      Learn more about memories in the Chat Memory section.

    Hi, how can I help you?

    +
    tip

    Every chat component in Langflow comes with a SessionID. It defaults to the flow ID. Explore how changing it affects what the AI remembers.

    +

    Learn more about memories in the Chat Memory section.

    Hi, how can I help you?

    \ No newline at end of file diff --git a/starter-projects-vector-store-rag.html b/starter-projects-vector-store-rag.html index 78783d6d8c..0883c964c6 100644 --- a/starter-projects-vector-store-rag.html +++ b/starter-projects-vector-store-rag.html @@ -7,15 +7,16 @@ - - + + -

    Vector Store RAG

    Retrieval Augmented Generation, or RAG, is a pattern for training LLMs on your data and querying it.

    +

    Vector Store RAG

    Retrieval Augmented Generation, or RAG, is a pattern for training LLMs on your data and querying it.

    RAG is backed by a vector store, a vector database which stores embeddings of the ingested data.

    This enables vector search, a more powerful and context-aware search.

    We've chosen Astra DB as the vector database for this starter project, but you can follow along with any of Langflow's vector database options.

    Prerequisites

    +

    -

    Create the vector store RAG project

    +

    Vector Store RAG

    +
    +

    Create the vector store RAG project

    1. From the Langflow dashboard, click New Project.
    2. Select Vector Store RAG.
    3. @@ -36,9 +39,7 @@

      The vector store RAG flow is built of two separate flows. Ingestion and query.

      The ingestion part (bottom of the screen) populates the vector store with data from a local file. It ingests data from a file (File), splits it into chunks (Split Text), indexes it in Astra DB (Astra DB), and computes embeddings for the chunks using an embedding model (OpenAI Embeddings).

      -
      -

      💡  Embeddings are numerical vectors that represent data meaningfully. They enable efficient similarity searches in vector stores by placing similar items close together in the vector space, enhancing search and recommendation tasks.

      -
      +
      tip

      Embeddings are numerical vectors that represent data meaningfully. They enable efficient similarity searches in vector stores by placing similar items close together in the vector space, enhancing search and recommendation tasks.

      This part creates a searchable index to be queried for contextual similarity.

      The query part (top of the screen) allows users to retrieve embedded vector store data. Components:

        @@ -69,11 +70,11 @@
    -

    Run the Vector Store RAG

    +

    Run the Vector Store RAG

    1. Click the Playground button. Here you can chat with the AI that uses context from the database you created.
    2. Type a message and press Enter. (Try something like "What topics do you know about?")
    3. The bot will respond with a summary of the data you've embedded.
    4. -

    Hi, how can I help you?

    +

    Hi, how can I help you?

    \ No newline at end of file diff --git a/whats-new-a-new-chapter-langflow.html b/whats-new-a-new-chapter-langflow.html index 2a5402f89a..cf92de2532 100644 --- a/whats-new-a-new-chapter-langflow.html +++ b/whats-new-a-new-chapter-langflow.html @@ -7,11 +7,11 @@ - - + + -

    1.0 - A new chapter for Langflow

    +

    1.0 - A new chapter for Langflow

    First things first


    Thank you all for being part of the Langflow community. The journey so far has been amazing, and we are thrilled to have you with us.

    diff --git a/workspace-api.html b/workspace-api.html index 9d33192a71..90e626bfdf 100644 --- a/workspace-api.html +++ b/workspace-api.html @@ -7,11 +7,11 @@ - - + + -

    API

    +

    API

    import ReactPlayer from "react-player";

    The API section presents code templates for integrating your flow into external applications.

    @@ -23,8 +23,9 @@

    The Python Code tab displays code to interact with your flow's .json file using the Langflow runtime.

    Tweaks

    The Tweaks tab displays the available parameters for your flow. Modifying the parameters changes the code parameters across all windows. For example, changing the Chat Input component's input_value will change that value across all API calls.

    - -

    Chat Widget HTML

    + +

    Chat Widget

    +

    The Chat Widget HTML tab displays code that can be inserted in the <body> of your HTML to interact with your flow.

    The Langflow Chat Widget is a powerful web component that enables communication with a Langflow project. This widget allows for a chat interface embedding, allowing the integration of Langflow into web applications effortlessly.

    You can get the HTML code embedded with the chat by clicking the Code button at the Sidebar after building a flow.

    @@ -32,47 +33,31 @@

    Embed your flow into HTML

    The Chat Widget can be embedded into any HTML page, inside a <body> tag, as demonstrated in the video below.

    - +

    Embed your flow with React

    -
      -
    1. To embed the Chat Widget using React, insert this <script> tag into the React index.html file, inside the <body>tag:
    2. -
    +

    To embed the Chat Widget using React, insert this <script> tag into the React index.html file, inside the <body>tag:


    _10
    <script src="https://cdn.jsdelivr.net/gh/langflow-ai/langflow-embedded-chat@main/dist/build/static/js/bundle.min.js"></script>

    -
      -
    1. Declare your Web Component and encapsulate it in a React component.
    2. -
    +

    Declare your Web Component and encapsulate it in a React component.


    _10
    declare global { namespace JSX { interface IntrinsicElements { "langflow-chat": any; } }}export default function ChatWidget({ className }) { return ( <div className={className}> <langflow-chat chat_inputs='{"your_key":"value"}' chat_input_field="your_chat_key" flow_id="your_flow_id" host_url="langflow_url" ></langflow-chat> </div> );}

    -
      -
    1. Finally, you can place the component anywhere in your code to display the Chat Widget.
    2. -
    -
    +

    Finally, you can place the component anywhere in your code to display the Chat Widget.

    Embed your flow with Angular

    -
      -
    1. To use the chat widget in Angular, first add this <script> tag into the Angular index.html file, inside the <body> tag.
    2. -
    +

    To use the chat widget in Angular, first add this <script> tag into the Angular index.html file, inside the <body> tag.


    _10
    <script src="https://cdn.jsdelivr.net/gh/langflow-ai/langflow-embedded-chat@main/dist/build/static/js/bundle.min.js"></script>

    -
      -
    1. When you use a custom web component in an Angular template, the Angular compiler might show a warning when it doesn't recognize the custom elements by default. To suppress this warning, add CUSTOM_ELEMENTS_SCHEMA to the module's @NgModule.schemas.
    2. +

      When you use a custom web component in an Angular template, the Angular compiler might show a warning when it doesn't recognize the custom elements by default. To suppress this warning, add CUSTOM_ELEMENTS_SCHEMA to the module's @NgModule.schemas.

      +
      • Open the module file (it typically ends with .module.ts) where you'd add the langflow-chat web component.
      • Import CUSTOM_ELEMENTS_SCHEMA at the top of the file:
      • -
    -

    import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from "@angular/core";

    -
      -
    1. Add CUSTOM_ELEMENTS_SCHEMA to the 'schemas' array inside the '@NgModule' decorator:
    2. -
    -

    _10
    @NgModule({ declarations: [ // ... Other components and directives ... ], imports: [ // ... Other imported modules ... ], schemas: [CUSTOM_ELEMENTS_SCHEMA], // Add the CUSTOM_ELEMENTS_SCHEMA here})export class YourModule {}

    -
      -
    1. In your Angular project, find the component belonging to the module where CUSTOM_ELEMENTS_SCHEMA was added. Inside the template, add the langflow-chat tag to include the Chat Widget in your component's view:
    2. -
    -

    _10
    <langflow-chat chat_inputs='{"your_key":"value"}' chat_input_field="your_chat_key" flow_id="your_flow_id" host_url="langflow_url"></langflow-chat>

    -

    INFO

    -
      -
    • CUSTOM_ELEMENTS_SCHEMA is a built-in schema that allows Angular to recognize custom elements.
    • -
    • Adding CUSTOM_ELEMENTS_SCHEMA tells Angular to allow custom elements in your templates, and it will suppress the warning related to unknown elements like langflow-chat.
    • -
    • Notice that you can only use the Chat Widget in components that are part of the module where you added CUSTOM_ELEMENTS_SCHEMA.
    +

    import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from "@angular/core";

    +
      +
    • Add CUSTOM_ELEMENTS_SCHEMA to the 'schemas' array inside the '@NgModule' decorator:
    • +
    +

    _10
    @NgModule({ declarations: [ // ... Other components and directives ... ], imports: [ // ... Other imported modules ... ], schemas: [CUSTOM_ELEMENTS_SCHEMA], // Add the CUSTOM_ELEMENTS_SCHEMA here})export class YourModule {}

    +

    In your Angular project, find the component belonging to the module where CUSTOM_ELEMENTS_SCHEMA was added. Inside the template, add the langflow-chat tag to include the Chat Widget in your component's view:

    +

    _10
    <langflow-chat chat_inputs='{"your_key":"value"}' chat_input_field="your_chat_key" flow_id="your_flow_id" host_url="langflow_url"></langflow-chat>

    +
    tip

    CUSTOM_ELEMENTS_SCHEMA is a built-in schema that allows Angular to recognize custom elements. Adding CUSTOM_ELEMENTS_SCHEMA tells Angular to allow custom elements in your templates, and it will suppress the warning related to unknown elements like langflow-chat. Notice that you can only use the Chat Widget in components that are part of the module where you added CUSTOM_ELEMENTS_SCHEMA.

    +

    Chat Widget Configuration


    -

    Chat widget configuration

    Use the widget API to customize your Chat Widget:

    caution

    Props with the type JSON need to be passed as stringified JSONs, with the format {"key":"value"}.

    @@ -225,6 +210,6 @@
    PropTypeRequiredDescription
    bot_message_styleJSONNoApplies custom formatting to bot messages.
    chat_input_fieldStringYesDefines the type of the input field for chat messages.
    chat_inputsJSONYesDetermines the chat input elements and their respective values.
    chat_output_keyStringNoSpecifies which output to display if multiple outputs are available.
    chat_positionStringNoPositions the chat window on the screen (options include: top-left, top-center, top-right, center-left, center-right, bottom-right, bottom-center, bottom-left).
    chat_trigger_styleJSONNoStyles the chat trigger button.
    chat_window_styleJSONNoCustomizes the overall appearance of the chat window.
    error_message_styleJSONNoSets the format for error messages within the chat window.
    flow_idStringYesIdentifies the flow that the component is associated with.
    heightNumberNoSets the height of the chat window in pixels.
    host_urlStringYesSpecifies the URL of the host for chat component communication.
    input_container_styleJSONNoApplies styling to the container where chat messages are entered.
    input_styleJSONNoSets the style for the chat input field.
    onlineBooleanNoToggles the online status of the chat component.
    online_messageStringNoSets a custom message to display when the chat component is online.
    placeholderStringNoSets the placeholder text for the chat input field.
    placeholder_sendingStringNoSets the placeholder text to display while a message is being sent.
    send_button_styleJSONNoSets the style for the send button in the chat window.
    send_icon_styleJSONNoSets the style for the send icon in the chat window.
    tweaksJSONNoApplies additional custom adjustments for the associated flow.
    user_message_styleJSONNoDetermines the formatting for user messages in the chat window.
    widthNumberNoSets the width of the chat window in pixels.
    window_titleStringNoSets the title displayed in the chat window's header or title bar.
    -

    Hi, how can I help you?

    +

    Hi, how can I help you?

    \ No newline at end of file diff --git a/workspace-logs.html b/workspace-logs.html index d4a06aed56..d30892cc56 100644 --- a/workspace-logs.html +++ b/workspace-logs.html @@ -7,11 +7,11 @@ - - + + -

    Logs

    The Logs page provides a detailed record of all component executions within a workspace. It is designed to help you track actions, debug issues, and understand the flow of data through various components.

    + diff --git a/workspace-playground.html b/workspace-playground.html index 28a968e7ff..4ce4ca3888 100644 --- a/workspace-playground.html +++ b/workspace-playground.html @@ -7,24 +7,20 @@ - - + + -

    Playground

    import ReactPlayer from "react-player";

    +

    Playground

    import ReactPlayer from "react-player";

    The Playground is a dynamic interface designed for real-time interaction with AIs, allowing users to chat, access memories and monitor inputs and outputs. Here, users can directly prototype and their models, making adjustments and observing different outcomes.

    -

    As long as you have an Input or Output component working, you can open it up by clicking the Playground button.

    -
    -

    💡  Notice how the Playground's window arrangement changes depending on what components are being used. Langflow can be used for applications that go beyond chat-based interfaces.

    -
    +
    tip

    Notice how the Playground's window arrangement changes depending on what components are being used. Langflow can be used for applications that go beyond chat-based interfaces.

    You can also open a flow's Playground without entering its workspace. From My Collections or Langflow Store, click the Playground in one of the projects card.

    - +

    Memory Management


    Whenever you send a message from the Playground interface, under the Memories Tab you'll see a table of previous interactions for that session.

    -

    Langflow allows every chat message to be stored, and a single flow can have multiple memory sessions. To learn more about how to use memories in Langflow, see Chat Memory.

    Hi, how can I help you?

    diff --git a/workspace.html b/workspace.html index 83004b3eb8..8fe15748fa 100644 --- a/workspace.html +++ b/workspace.html @@ -7,25 +7,22 @@ - - + + -

    Workspace Overview

    The Langflow Workspace

    +

    Workspace Overview

    The Langflow Workspace


    The Langflow Workspace is where you assemble new flows and create AIs by connecting and running components.

    Sidebar

    -

    Located on the left, this the sidebar includes several collapsible sections that categorize the different types of pre-built components available in Langflow. Use the search bar to locate components by name.

    Canvas

    -

    The canvas is the main area in the center where you can drag and drop components to create workflows.

    Use canvas controls in the bottom left side for zooming in and out, resetting the view, and locking or unlocking the canvas.

    Top Navigation Bar

    -

    In the top navigation bar, the dropdown menu labeled with the project name offers several management and customization options for the current flow in the Langflow Workspace.

      @@ -39,7 +36,6 @@
    • Refresh All: Refresh all components and delete cache.

    Toolbar

    -

    The toolbar at the bottom-right corner that provides options for executing, accessing the API, and sharing workflows.