diff --git a/404.html b/404.html index 622cdf0400..c5f6d589ad 100644 --- a/404.html +++ b/404.html @@ -10,7 +10,7 @@ - +
diff --git a/Components/components-memories.html b/Components/components-memories.html index 269cd4bcce..6ea228b621 100644 --- a/Components/components-memories.html +++ b/Components/components-memories.html @@ -10,7 +10,7 @@ - + diff --git a/Components/components-tools.html b/Components/components-tools.html index 2bfb05650a..66c343725a 100644 --- a/Components/components-tools.html +++ b/Components/components-tools.html @@ -10,7 +10,7 @@ - + diff --git a/agents-overview.html b/agents-overview.html index afc525870b..c28660858f 100644 --- a/agents-overview.html +++ b/agents-overview.html @@ -10,7 +10,7 @@ - + diff --git a/agents-tool-calling-agent-component.html b/agents-tool-calling-agent-component.html index 7627111f69..e281e3e590 100644 --- a/agents-tool-calling-agent-component.html +++ b/agents-tool-calling-agent-component.html @@ -10,7 +10,7 @@ - + diff --git a/assets/images/logs-0aa9662bc9ca2a3ee43ad1349b2b829e.png b/assets/images/logs-0aa9662bc9ca2a3ee43ad1349b2b829e.png deleted file mode 100644 index 7436c08166..0000000000 Binary files a/assets/images/logs-0aa9662bc9ca2a3ee43ad1349b2b829e.png and /dev/null differ diff --git a/assets/images/logs-7deb7c1a822f826469d17856b9dcebb5.png b/assets/images/logs-7deb7c1a822f826469d17856b9dcebb5.png new file mode 100644 index 0000000000..72421ad9d2 Binary files /dev/null and b/assets/images/logs-7deb7c1a822f826469d17856b9dcebb5.png differ diff --git a/assets/js/474d53cd.cb04f4b5.js b/assets/js/474d53cd.494e7a74.js similarity index 80% rename from assets/js/474d53cd.cb04f4b5.js rename to assets/js/474d53cd.494e7a74.js index c6a39c0103..90d4f486fb 100644 --- a/assets/js/474d53cd.cb04f4b5.js +++ b/assets/js/474d53cd.494e7a74.js @@ -1 +1 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[8261],{9452:(e,s,o)=>{o.r(s),o.d(s,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>r,metadata:()=>a,toc:()=>l});var n=o(4848),t=o(8453);const r={title:"Logs",sidebar_position:4,slug:"/workspace-logs"},i=void 0,a={id:"Workspace/workspace-logs",title:"Logs",description:"The\xa0Logs\xa0pane 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.",source:"@site/docs/Workspace/workspace-logs.md",sourceDirName:"Workspace",slug:"/workspace-logs",permalink:"/workspace-logs",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:4,frontMatter:{title:"Logs",sidebar_position:4,slug:"/workspace-logs"},sidebar:"defaultSidebar",previous:{title:"Playground",permalink:"/workspace-playground"},next:{title:"Agents overview",permalink:"/agents-overview"}},c={},l=[];function d(e){const s={img:"img",li:"li",ol:"ol",p:"p",strong:"strong",...(0,t.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(s.p,{children:["The\xa0",(0,n.jsx)(s.strong,{children:"Logs"}),"\xa0pane 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."]}),"\n",(0,n.jsxs)(s.ol,{children:["\n",(0,n.jsxs)(s.li,{children:["To access the ",(0,n.jsx)(s.strong,{children:"Logs"})," pane, click your ",(0,n.jsx)(s.strong,{children:"Flow Name"}),", and then select ",(0,n.jsx)(s.strong,{children:"Logs"}),"."]}),"\n"]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{src:o(7232).A+"",width:"3216",height:"1762"})}),"\n",(0,n.jsxs)(s.ol,{start:"2",children:["\n",(0,n.jsxs)(s.li,{children:["All cells in the ",(0,n.jsx)(s.strong,{children:"Logs"})," view can be opened and inspected."]}),"\n"]})]})}function p(e={}){const{wrapper:s}={...(0,t.R)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},7232:(e,s,o)=>{o.d(s,{A:()=>n});const n=o.p+"assets/images/logs-0aa9662bc9ca2a3ee43ad1349b2b829e.png"},8453:(e,s,o)=>{o.d(s,{R:()=>i,x:()=>a});var n=o(6540);const t={},r=n.createContext(t);function i(e){const s=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:i(e.components),n.createElement(r.Provider,{value:s},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[8261],{9452:(e,s,o)=>{o.r(s),o.d(s,{assets:()=>a,contentTitle:()=>i,default:()=>p,frontMatter:()=>r,metadata:()=>c,toc:()=>l});var n=o(4848),t=o(8453);const r={title:"Logs",sidebar_position:4,slug:"/workspace-logs"},i=void 0,c={id:"Workspace/workspace-logs",title:"Logs",description:"The\xa0Logs\xa0pane 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.",source:"@site/docs/Workspace/workspace-logs.md",sourceDirName:"Workspace",slug:"/workspace-logs",permalink:"/workspace-logs",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:4,frontMatter:{title:"Logs",sidebar_position:4,slug:"/workspace-logs"},sidebar:"defaultSidebar",previous:{title:"Playground",permalink:"/workspace-playground"},next:{title:"Agents overview",permalink:"/agents-overview"}},a={},l=[];function d(e){const s={img:"img",li:"li",ol:"ol",p:"p",strong:"strong",...(0,t.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(s.p,{children:["The\xa0",(0,n.jsx)(s.strong,{children:"Logs"}),"\xa0pane 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."]}),"\n",(0,n.jsxs)(s.ol,{children:["\n",(0,n.jsxs)(s.li,{children:["To access the ",(0,n.jsx)(s.strong,{children:"Logs"})," pane, click your ",(0,n.jsx)(s.strong,{children:"Flow Name"}),", and then select ",(0,n.jsx)(s.strong,{children:"Logs"}),"."]}),"\n"]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{src:o(7232).A+"",width:"3278",height:"1884"})}),"\n",(0,n.jsxs)(s.ol,{start:"2",children:["\n",(0,n.jsxs)(s.li,{children:["All cells in the ",(0,n.jsx)(s.strong,{children:"Logs"})," view can be opened and inspected."]}),"\n"]})]})}function p(e={}){const{wrapper:s}={...(0,t.R)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},7232:(e,s,o)=>{o.d(s,{A:()=>n});const n=o.p+"assets/images/logs-7deb7c1a822f826469d17856b9dcebb5.png"},8453:(e,s,o)=>{o.d(s,{R:()=>i,x:()=>c});var n=o(6540);const t={},r=n.createContext(t);function i(e){const s=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:i(e.components),n.createElement(r.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c329cc2b.447646ac.js b/assets/js/c329cc2b.015c5a45.js similarity index 54% rename from assets/js/c329cc2b.447646ac.js rename to assets/js/c329cc2b.015c5a45.js index 2d22b61ae5..a7216cba3a 100644 --- a/assets/js/c329cc2b.447646ac.js +++ b/assets/js/c329cc2b.015c5a45.js @@ -1 +1 @@ -"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[9304],{4905:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>a,metadata:()=>i,toc:()=>d});var n=t(4848),o=t(8453);const a={title:"Chat Memory",sidebar_position:1,slug:"/guides-chat-memory"},r=void 0,i={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.",source:"@site/docs/Guides/guides-chat-memory.md",sourceDirName:"Guides",slug:"/guides-chat-memory",permalink:"/guides-chat-memory",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:1,frontMatter:{title:"Chat Memory",sidebar_position:1,slug:"/guides-chat-memory"},sidebar:"defaultSidebar",previous:{title:"\ud83d\udcda New to LLMs?",permalink:"/guides-new-to-llms"},next:{title:"Data & Message",permalink:"/guides-data-message"}},c={},d=[{value:"Session ID",id:"4ee86e27d1004e8288a72c633c323703",level:2}];function l(e){const s={a:"a",code:"code",em:"em",h2:"h2",hr:"hr",img:"img",p:"p",strong:"strong",...(0,o.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(s.p,{children:["Langflow allows every chat message to be stored, and a single flow can have multiple memory sessions. This enables you to create separate ",(0,n.jsx)(s.em,{children:"memories"})," for agents to store and recall information as needed."]}),"\n",(0,n.jsxs)(s.p,{children:["In any project, as long as there are ",(0,n.jsx)(s.a,{href:"/components-io",children:(0,n.jsx)(s.strong,{children:"Chat"})})," being used, memories are always being stored by default. These are messages from a user to the AI or vice-versa."]}),"\n",(0,n.jsxs)(s.p,{children:["To see and access this history of messages, Langflow features a component called ",(0,n.jsx)(s.strong,{children:"Chat Memory"}),". It retrieves previous messages and outputs them in structured format or parsed."]}),"\n",(0,n.jsxs)(s.p,{children:["To learn the basics about memory in Langflow, check out the ",(0,n.jsx)(s.a,{href:"/starter-projects-memory-chatbot",children:"Memory Chatbot"})," starter example."]}),"\n",(0,n.jsxs)(s.p,{children:["Memories can be visualized and managed directly from the ",(0,n.jsx)(s.strong,{children:"Playground"}),". You can edit and remove previous messages to inspect and validate the AI\u2019s response behavior. You can remove or edit previous messages to get your models acting just right."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{src:t(5918).A+"",width:"3244",height:"1776"})}),"\n",(0,n.jsx)(s.p,{children:"Modifying these memories will influence the behavior of the chatbot responses, as long as an agent uses them. Here you have the ability to remove or edit previous messages, allowing them to manipulate and explore how these changes affect model responses."}),"\n",(0,n.jsxs)(s.p,{children:["To modify chat memories, click your ",(0,n.jsx)(s.strong,{children:"Flow Name"}),", and then click ",(0,n.jsx)(s.strong,{children:"Logs"}),"."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{src:t(7232).A+"",width:"3216",height:"1762"})}),"\n",(0,n.jsx)(s.h2,{id:"4ee86e27d1004e8288a72c633c323703",children:"Session ID"}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsxs)(s.p,{children:["Chat conversations store messages categorized by a ",(0,n.jsx)(s.code,{children:"Session ID"}),". A a single flow can host multiple session IDs, and different flows can also share the same one."]}),"\n",(0,n.jsxs)(s.p,{children:["The ",(0,n.jsx)(s.strong,{children:"Chat Memory"})," component also retrieves message histories by ",(0,n.jsx)(s.code,{children:"Session ID"}),", which users can change in the component's ",(0,n.jsx)(s.strong,{children:"Controls"})," pane."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{src:t(6190).A+"",width:"3246",height:"1772"})}),"\n",(0,n.jsxs)(s.p,{children:["By default, if the ",(0,n.jsx)(s.code,{children:"Session ID"})," value is empty, it is set to match the the same value as the ",(0,n.jsx)(s.code,{children:"Flow ID"}),"."]}),"\n",(0,n.jsxs)(s.p,{children:["You can also display all messages stored across every flow and session by going to\xa0",(0,n.jsx)(s.strong,{children:"Settings"}),"\xa0>\xa0",(0,n.jsx)(s.strong,{children:"Messages"}),"."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{src:t(5381).A+"",width:"2910",height:"1686"})})]})}function h(e={}){const{wrapper:s}={...(0,o.R)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},6190:(e,s,t)=>{t.d(s,{A:()=>n});const n=t.p+"assets/images/chat-input-controls-pane-b60b21c923aa47a2265ae1775e693cb0.png"},7232:(e,s,t)=>{t.d(s,{A:()=>n});const n=t.p+"assets/images/logs-0aa9662bc9ca2a3ee43ad1349b2b829e.png"},5918:(e,s,t)=>{t.d(s,{A:()=>n});const n=t.p+"assets/images/playground-b2c623fb6849024570bc9bd5285309f5.png"},5381:(e,s,t)=>{t.d(s,{A:()=>n});const n=t.p+"assets/images/settings-messages-d0ad3a8e3bea5f8896565c041946a919.png"},8453:(e,s,t)=>{t.d(s,{R:()=>r,x:()=>i});var n=t(6540);const o={},a=n.createContext(o);function r(e){const s=n.useContext(a);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),n.createElement(a.Provider,{value:s},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunklangflow_docs=self.webpackChunklangflow_docs||[]).push([[9304],{4905:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>a,metadata:()=>i,toc:()=>d});var n=t(4848),o=t(8453);const a={title:"Chat Memory",sidebar_position:1,slug:"/guides-chat-memory"},r=void 0,i={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.",source:"@site/docs/Guides/guides-chat-memory.md",sourceDirName:"Guides",slug:"/guides-chat-memory",permalink:"/guides-chat-memory",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:1,frontMatter:{title:"Chat Memory",sidebar_position:1,slug:"/guides-chat-memory"},sidebar:"defaultSidebar",previous:{title:"\ud83d\udcda New to LLMs?",permalink:"/guides-new-to-llms"},next:{title:"Data & Message",permalink:"/guides-data-message"}},c={},d=[{value:"Session ID",id:"4ee86e27d1004e8288a72c633c323703",level:2}];function l(e){const s={a:"a",code:"code",em:"em",h2:"h2",hr:"hr",img:"img",p:"p",strong:"strong",...(0,o.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(s.p,{children:["Langflow allows every chat message to be stored, and a single flow can have multiple memory sessions. This enables you to create separate ",(0,n.jsx)(s.em,{children:"memories"})," for agents to store and recall information as needed."]}),"\n",(0,n.jsxs)(s.p,{children:["In any project, as long as there are ",(0,n.jsx)(s.a,{href:"/components-io",children:(0,n.jsx)(s.strong,{children:"Chat"})})," being used, memories are always being stored by default. These are messages from a user to the AI or vice-versa."]}),"\n",(0,n.jsxs)(s.p,{children:["To see and access this history of messages, Langflow features a component called ",(0,n.jsx)(s.strong,{children:"Chat Memory"}),". It retrieves previous messages and outputs them in structured format or parsed."]}),"\n",(0,n.jsxs)(s.p,{children:["To learn the basics about memory in Langflow, check out the ",(0,n.jsx)(s.a,{href:"/starter-projects-memory-chatbot",children:"Memory Chatbot"})," starter example."]}),"\n",(0,n.jsxs)(s.p,{children:["Memories can be visualized and managed directly from the ",(0,n.jsx)(s.strong,{children:"Playground"}),". You can edit and remove previous messages to inspect and validate the AI\u2019s response behavior. You can remove or edit previous messages to get your models acting just right."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{src:t(5918).A+"",width:"3244",height:"1776"})}),"\n",(0,n.jsx)(s.p,{children:"Modifying these memories will influence the behavior of the chatbot responses, as long as an agent uses them. Here you have the ability to remove or edit previous messages, allowing them to manipulate and explore how these changes affect model responses."}),"\n",(0,n.jsxs)(s.p,{children:["To modify chat memories, from the playground, click the ",(0,n.jsx)(s.strong,{children:"Options"})," menu of any session, and then select ",(0,n.jsx)(s.strong,{children:"Message Logs"}),"."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{src:t(7232).A+"",width:"3278",height:"1884"})}),"\n",(0,n.jsx)(s.h2,{id:"4ee86e27d1004e8288a72c633c323703",children:"Session ID"}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsxs)(s.p,{children:["Chat conversations store messages categorized by a ",(0,n.jsx)(s.code,{children:"Session ID"}),". A a single flow can host multiple session IDs, and different flows can also share the same one."]}),"\n",(0,n.jsxs)(s.p,{children:["The ",(0,n.jsx)(s.strong,{children:"Chat Memory"})," component also retrieves message histories by ",(0,n.jsx)(s.code,{children:"Session ID"}),", which users can change in the component's ",(0,n.jsx)(s.strong,{children:"Controls"})," pane."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{src:t(6190).A+"",width:"3246",height:"1772"})}),"\n",(0,n.jsxs)(s.p,{children:["By default, if the ",(0,n.jsx)(s.code,{children:"Session ID"})," value is empty, it is set to the same value as ",(0,n.jsx)(s.code,{children:"Flow ID"}),"."]}),"\n",(0,n.jsxs)(s.p,{children:["You can also display all messages stored across every flow and session by going to\xa0",(0,n.jsx)(s.strong,{children:"Settings"}),"\xa0>\xa0",(0,n.jsx)(s.strong,{children:"Messages"}),"."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{src:t(5381).A+"",width:"2910",height:"1686"})})]})}function h(e={}){const{wrapper:s}={...(0,o.R)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},6190:(e,s,t)=>{t.d(s,{A:()=>n});const n=t.p+"assets/images/chat-input-controls-pane-b60b21c923aa47a2265ae1775e693cb0.png"},7232:(e,s,t)=>{t.d(s,{A:()=>n});const n=t.p+"assets/images/logs-7deb7c1a822f826469d17856b9dcebb5.png"},5918:(e,s,t)=>{t.d(s,{A:()=>n});const n=t.p+"assets/images/playground-b2c623fb6849024570bc9bd5285309f5.png"},5381:(e,s,t)=>{t.d(s,{A:()=>n});const n=t.p+"assets/images/settings-messages-d0ad3a8e3bea5f8896565c041946a919.png"},8453:(e,s,t)=>{t.d(s,{R:()=>r,x:()=>i});var n=t(6540);const o={},a=n.createContext(o);function r(e){const s=n.useContext(a);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),n.createElement(a.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.628690dd.js b/assets/js/runtime~main.83c61fb2.js similarity index 98% rename from assets/js/runtime~main.628690dd.js rename to assets/js/runtime~main.83c61fb2.js index ec5e084b0c..ee80355733 100644 --- a/assets/js/runtime~main.628690dd.js +++ b/assets/js/runtime~main.83c61fb2.js @@ -1 +1 @@ -(()=>{"use strict";var e,a,f,c,d,t={},b={};function r(e){var a=b[e];if(void 0!==a)return a.exports;var f=b[e]={id:e,loaded:!1,exports:{}};return t[e].call(f.exports,f,f.exports,r),f.loaded=!0,f.exports}r.m=t,r.c=b,e=[],r.O=(a,f,c,d)=>{if(!f){var t=1/0;for(i=0;iMemories can be visualized and managed directly from the Playground. You can edit and remove previous messages to inspect and validate the AI’s response behavior. You can remove or edit previous messages to get your models acting just right.

Modifying these memories will influence the behavior of the chatbot responses, as long as an agent uses them. Here you have the ability to remove or edit previous messages, allowing them to manipulate and explore how these changes affect model responses.
-To modify chat memories, click your Flow Name, and then click Logs.
-
To modify chat memories, from the playground, click the Options menu of any session, and then select Message Logs.
+
Chat conversations store messages categorized by a Session ID. A a single flow can host multiple session IDs, and different flows can also share the same one.
The Chat Memory component also retrieves message histories by Session ID, which users can change in the component's Controls pane.

By default, if the Session ID value is empty, it is set to match the the same value as the Flow ID.
By default, if the Session ID value is empty, it is set to the same value as Flow ID.
You can also display all messages stored across every flow and session by going to Settings > Messages.


