Use the session_state to cache intermediate results in a database.
All Workflows come with a session_state dictionary that you can use to cache intermediate results. Provide your workflows with storage and a session_id to enable caching.For example, you can use the SqlWorkflowStorage to cache results in a Sqlite database.
Then in the run() method, you can read from and add to the session_state as needed.
class BlogPostGenerator(Workflow): # ... agents def run(self, topic: str, use_cache: bool = True) -> Iterator[RunResponse]: # Read from the session state cache if use_cache and "blog_posts" in self.session_state: logger.info("Checking if cached blog post exists") for cached_blog_post in self.session_state["blog_posts"]: if cached_blog_post["topic"] == topic: logger.info("Found cached blog post") yield RunResponse( run_id=self.run_id, event=RunEvent.workflow_completed, content=cached_blog_post["blog_post"], ) return # ... generate the blog post # Save to session state for future runs if "blog_posts" not in self.session_state: self.session_state["blog_posts"] = [] self.session_state["blog_posts"].append({"topic": topic, "blog_post": self.writer.run_response.content})
When the workflow starts, the session_state for that particular session_id is read from the database and when the workflow ends, the session_state is stored in the database.
You can always call self.write_to_storage() to save the session_state to the database at any time. Incase you need to abort the workflow but want to store the intermediate results.
View the Blog Post Generator for an example of how to use session state for caching.
Was this page helpful?
{"docsConfig":{"$schema":"https://mintlify.com/docs.json","theme":"mint","name":"Phidata","colors":{"primary":"#FF4017","light":"#FF4017","dark":"#FF4017"},"favicon":"/favicon.png","logo":{"light":"https://mintcdn.com/phidata/lFNPEd2VNpWeOyVb/logo/light.svg?fit=max\u0026auto=format\u0026n=lFNPEd2VNpWeOyVb\u0026q=85\u0026s=f370694cd3cb79086e8da78f8cc8430b","dark":"https://mintcdn.com/phidata/lFNPEd2VNpWeOyVb/logo/dark.svg?fit=max\u0026auto=format\u0026n=lFNPEd2VNpWeOyVb\u0026q=85\u0026s=a05fc8a1e8a2fffee5af26d7e373e7ac"},"background":{"decoration":null,"color":{"light":"#FFFFFF","dark":"#111113"}},"navbar":{"links":[{"label":"Discord","href":"https://phidata.link/discord"},{"label":"Community","href":"https://community.phidata.com/"},{"label":"Log In","href":"https://phidata.app"}],"primary":{"type":"github","href":"https://github.com/agno-agi/phidata"}},"footer":{"socials":{"x":"https://x.com/phidatahq","github":"https://github.com/agno-agi/phidata","discord":"https://phidata.link/discord","youtube":"https://phidata.link/youtube","website":"https://phidata.com"}},"fonts":{"heading":{"family":"Inter","weight":900},"body":{"family":"Inter","weight":400}},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"phidata","hasAudioNarration":false,"actualSubdomain":"phidata","customDomains":["docs.phidata.com"],"gitSource":{"type":"github","owner":"agno-agi","repo":"phidata-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a21e612328cd78292a4e8fc","collectionId":"5a9d886d-1894-4941-84ab-0a66b993ff6c","schemaVersion":"v2"},"feedback":{"thumbs":true,"edits":false,"issues":false},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ae91e1edad76a2288f7e42e:success","clientVersion":"0.0.4054","searchFilterCounts":[{"language":"default","tag":"Documentation","count":284},{"language":"default","tag":"Examples","count":121},{"language":"default","tag":"Reference","count":65},{"language":"default","tag":"Models","count":57},{"language":"default","tag":"Tools","count":57},{"language":"default","tag":"Building Blocks","count":48},{"language":"default","tag":"Agents","count":36},{"language":"default","tag":"Templates","count":35},{"language":"default","tag":"Knowledge","count":17},{"language":"default","tag":"Command Line","count":17}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"workflows/session-state","slug":"/workflows/session-state","pageMetadata":{"title":"Session State","description":"**Use the `session_state` to cache intermediate results in a database.**","href":"/workflows/session-state"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: _jsxs(_components.strong, {\n children: [\"Use the \", _jsx(_components.code, {\n children: \"session_state\"\n }), \" to cache intermediate results in a database.\"]\n })\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,pre:`pre`,span:`span`,..._provideComponents(),...props.components},{CodeBlock,Tip}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`All Workflows come with a `,_jsx(_components.code,{children:`session_state`}),` dictionary that you can use to cache intermediate results. Provide your workflows with `,_jsx(_components.code,{children:`storage`}),` and a `,_jsx(_components.code,{children:`session_id`}),` to enable caching.`]}),`\n`,_jsxs(_components.p,{children:[`For example, you can use the `,_jsx(_components.code,{children:`SqlWorkflowStorage`}),` to cache results in a Sqlite database.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`8`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Create the workflow`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`generate_blog_post `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` BlogPostGenerator(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` session_id`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"my-session-id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` storage`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`SqlWorkflowStorage(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` table_name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"generate_blog_post_workflows\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` db_file`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"tmp/workflows.db\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ),`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Then in the `,_jsx(_components.code,{children:`run()`}),` method, you can read from and add to the `,_jsx(_components.code,{children:`session_state`}),` as needed.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`23`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`23`,children:[_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`class`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` BlogPostGenerator`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`Workflow`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`):`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # ... agents`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` def`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` run`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`self`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`topic`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`str`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`use_cache`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`bool`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` True`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) -> Iterator[RunResponse]:`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # Read from the session state cache`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` use_cache `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`and`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"blog_posts\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` in`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` self`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.session_state:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` logger.info(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Checking if cached blog post exists\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` for`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` cached_blog_post `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`in`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` self`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.session_state[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"blog_posts\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` cached_blog_post[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"topic\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`] `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`==`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` topic:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` logger.info(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Found cached blog post\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` yield`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` RunResponse(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` run_id`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`self`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.run_id,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` event`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`RunEvent.workflow_completed,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` content`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`cached_blog_post[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"blog_post\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` )`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` return`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # ... generate the blog post`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # Save to session state for future runs`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"blog_posts\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` not`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` in`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` self`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.session_state:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` self`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.session_state[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"blog_posts\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`] `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` []`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` self`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.session_state[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"blog_posts\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`].append({`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"topic\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: topic, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"blog_post\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`self`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.writer.run_response.content})`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`When the workflow starts, the `,_jsx(_components.code,{children:`session_state`}),` for that particular `,_jsx(_components.code,{children:`session_id`}),` is read from the database and when the workflow ends, the `,_jsx(_components.code,{children:`session_state`}),` is stored in the database.`]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`You can always call `,_jsx(_components.code,{children:`self.write_to_storage()`}),` to save the `,_jsx(_components.code,{children:`session_state`}),` to the database at any time. Incase you need to abort the workflow but want to store the intermediate results.`]})}),`\n`,_jsxs(_components.p,{children:[`View the `,_jsx(_components.a,{href:`/workflows/introduction#full-example-blog-post-generator`,children:`Blog Post Generator`}),` for an example of how to use session state for caching.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Session State","description":"**Use the `session_state` to cache intermediate results in a database.**","href":"/workflows/session-state"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"subdomain":"phidata","siteName":"Phidata","title":"Session State - Phidata","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-01-07T00:44:59.989Z","originalFileLocation":"workflows/session-state.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Use the session_state to cache intermediate results in a database.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Phidata\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/phidata/hGIXTHAhsTYBzt64/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/phidata/hGIXTHAhsTYBzt64/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/phidata/hGIXTHAhsTYBzt64/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/phidata/hGIXTHAhsTYBzt64/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/phidata/hGIXTHAhsTYBzt64/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/phidata/hGIXTHAhsTYBzt64/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/phidata/hGIXTHAhsTYBzt64/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/phidata/hGIXTHAhsTYBzt64/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/phidata/hGIXTHAhsTYBzt64/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Session State - Phidata\">\u003cmeta data-mint-head property=\"og:description\" content=\"Use the session_state to cache intermediate results in a database.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Phidata\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.phidata.com/workflows/session-state\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://phidata.mintlify.app/_mintlify/api/og/v2?division=Workflows\u0026amp;title=Session+State\u0026amp;description=**Use+the+%60session_state%60+to+cache+intermediate+results+in+a+database.**\u0026amp;theme=8c274dbbfeae8a7d49b14cfc\u0026amp;signature=785941c72d9292e6e73e48b3d8c6022d94cefdaa69ef65530e866f580d6c08d7\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Session State - Phidata\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Use the session_state to cache intermediate results in a database.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://phidata.mintlify.app/_mintlify/api/og/v2?division=Workflows\u0026amp;title=Session+State\u0026amp;description=**Use+the+%60session_state%60+to+cache+intermediate+results+in+a+database.**\u0026amp;theme=8c274dbbfeae8a7d49b14cfc\u0026amp;signature=785941c72d9292e6e73e48b3d8c6022d94cefdaa69ef65530e866f580d6c08d7\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/phidata/hGIXTHAhsTYBzt64/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Phidata\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#FF4017\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.phidata.com/workflows/session-state\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/workflows/session-state.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.phidata.com/#organization\",\"name\":\"Phidata\",\"url\":\"https://docs.phidata.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/phidata/lFNPEd2VNpWeOyVb/logo/light.svg?fit=max\u0026auto=format\u0026n=lFNPEd2VNpWeOyVb\u0026q=85\u0026s=f370694cd3cb79086e8da78f8cc8430b\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.phidata.com#website\",\"name\":\"Phidata\",\"url\":\"https://docs.phidata.com\",\"publisher\":{\"@id\":\"https://docs.phidata.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.phidata.com/workflows/session-state#webpage\",\"url\":\"https://docs.phidata.com/workflows/session-state\",\"name\":\"Session State\",\"description\":\"Use the session_state to cache intermediate results in a database.\",\"dateModified\":\"2026-01-07T00:44:59.989Z\",\"isPartOf\":{\"@id\":\"https://docs.phidata.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.phidata.com/workflows/session-state#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.phidata.com/workflows/session-state#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Documentation\",\"item\":\"https://docs.phidata.com/agents/introduction\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Workflows\",\"item\":\"https://docs.phidata.com/workflows/introduction\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Session State\",\"item\":\"https://docs.phidata.com/workflows/session-state\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.phidata.com/workflows/session-state#article\",\"headline\":\"Session State\",\"name\":\"Session State\",\"description\":\"Use the session_state to cache intermediate results in a database.\",\"url\":\"https://docs.phidata.com/workflows/session-state\",\"mainEntityOfPage\":{\"@id\":\"https://docs.phidata.com/workflows/session-state#webpage\"},\"dateModified\":\"2026-01-07T00:44:59.989Z\",\"publisher\":{\"@id\":\"https://docs.phidata.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.phidata.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Phidata\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Phidata","nav":{"global":null,"tabs":[{"tab":"Documentation","groups":[{"group":"Getting Started","pages":[{"title":"Introduction","href":"/introduction"},{"title":"Agent UI","href":"/agent-ui"},{"title":"Examples","href":"/more-examples"},{"title":"Monitoring","href":"/monitoring"},{"title":"Workflows","href":"/workflows"},{"title":"Getting Help","href":"/getting-help"}]},{"group":"Documentation","pages":[{"group":"Agents","pages":[{"title":"Introduction","href":"/agents/introduction"},{"title":"Prompts","href":"/agents/prompts"},{"title":"Tools","href":"/agents/tools"},{"title":"Knowledge","href":"/agents/knowledge"},{"title":"Memory","href":"/agents/memory"},{"title":"Storage","href":"/agents/storage"},{"title":"Structured Output","href":"/agents/structured-output"},{"title":"Reasoning","href":"/agents/reasoning"},{"title":"Teams","href":"/agents/teams"}]},{"group":"Models","pages":[{"title":"Introduction","href":"/models/introduction"},{"title":"OpenAI","href":"/models/openai"},{"title":"OpenAI Like","href":"/models/openai-like"},{"title":"Anthropic Claude","href":"/models/anthropic"},{"title":"AWS Bedrock Claude","href":"/models/aws-bedrock"},{"title":"Azure","href":"/models/azure"},{"title":"Cohere","href":"/models/cohere"},{"title":"DeepSeek","href":"/models/deepseek"},{"title":"Fireworks","href":"/models/fireworks"},{"title":"Gemini - AI Studio","href":"/models/google"},{"title":"Gemini - VertexAI","href":"/models/vertexai"},{"title":"Groq","href":"/models/groq"},{"title":"HuggingFace","href":"/models/huggingface"},{"title":"Mistral","href":"/models/mistral"},{"title":"Nvidia","href":"/models/nvidia"},{"title":"Ollama","href":"/models/ollama"},{"title":"OpenRouter","href":"/models/openrouter"},{"title":"Sambanova","href":"/models/sambanova"},{"title":"Together","href":"/models/together"},{"title":"xAI","href":"/models/xai"}]},{"group":"Tools","pages":[{"title":"Introduction","href":"/tools/introduction"},{"title":"Functions","href":"/tools/functions"},{"title":"Toolkits","href":"/tools/toolkits"},{"title":"Writing your own Toolkit","href":"/tools/custom-toolkits"},{"title":"Airflow","href":"/tools/airflow"},{"title":"Apify","href":"/tools/apify"},{"title":"Arxiv","href":"/tools/arxiv"},{"title":"AWS Lambda","href":"/tools/aws_lambda"},{"title":"BaiduSearch","sidebarTitle":"BaiduSearch","href":"/tools/baidusearch"},{"title":"Calculator","href":"/tools/calculator"},{"title":"Cal.com","href":"/tools/calcom"},{"title":"Composio","href":"/tools/composio"},{"title":"Crawl4AI","href":"/tools/crawl4ai"},{"title":"CSV","href":"/tools/csv"},{"title":"Dalle","href":"/tools/dalle"},{"title":"DuckDb","href":"/tools/duckdb"},{"title":"DuckDuckGo","sidebarTitle":"DuckDuckGo","href":"/tools/duckduckgo"},{"title":"Email","href":"/tools/email"},{"title":"Exa","href":"/tools/exa"},{"title":"Fal","href":"/tools/fal"},{"title":"File","href":"/tools/file"},{"title":"Firecrawl","href":"/tools/firecrawl"},{"title":"Giphy","href":"/tools/giphy"},{"title":"Github","href":"/tools/github"},{"title":"Google Calendar","href":"/tools/googlecalendar"},{"title":"Google Search","href":"/tools/googlesearch"},{"title":"Hacker News","href":"/tools/hackernews"},{"title":"Jina Reader","href":"/tools/jina_reader"},{"title":"Jira","href":"/tools/jira"},{"title":"Linear","href":"/tools/linear"},{"title":"Lumalabs","href":"/tools/lumalabs"},{"title":"MLX Transcribe","href":"/tools/mlx_transcribe"},{"title":"ModelsLabs","href":"/tools/models_labs"},{"title":"Newspaper","href":"/tools/newspaper"},{"title":"Newspaper4k","href":"/tools/newspaper4k"},{"title":"OpenBB","href":"/tools/openbb"},{"title":"Pandas","href":"/tools/pandas"},{"title":"Phi","href":"/tools/phi"},{"title":"Postgres","href":"/tools/postgres"},{"title":"Pubmed","href":"/tools/pubmed"},{"title":"Python","sidebarTitle":"Python","href":"/tools/python"},{"title":"Replicate","href":"/tools/replicate"},{"title":"Resend","href":"/tools/resend"},{"title":"Searxng","href":"/tools/searxng"},{"title":"Serpapi","href":"/tools/serpapi"},{"title":"Shell","href":"/tools/shell"},{"title":"Slack","href":"/tools/slack"},{"title":"Sleep","href":"/tools/sleep"},{"title":"Spider","href":"/tools/spider"},{"title":"SQL","href":"/tools/sql"},{"title":"Tavily","href":"/tools/tavily"},{"title":"Twitter","href":"/tools/twitter"},{"title":"Website","href":"/tools/website"},{"title":"Wikipedia","href":"/tools/wikipedia"},{"title":"Youtube","href":"/tools/youtube"},{"title":"Zendesk","href":"/tools/zendesk"},{"title":"Zoom","href":"/tools/zoom"}]},{"group":"Knowledge","pages":[{"title":"Introduction","href":"/knowledge/introduction"},{"title":"ArXiv Knowledge Base","sidebarTitle":"ArXiv","href":"/knowledge/arxiv"},{"title":"Combined KnowledgeBase","sidebarTitle":"Combined","href":"/knowledge/combined"},{"title":"CSV Knowledge Base","sidebarTitle":"CSV","href":"/knowledge/csv"},{"title":"CSV URL Knowledge Base","sidebarTitle":"CSV URLs","href":"/knowledge/csv-url"},{"title":"Docx Knowledge Base","sidebarTitle":"Docx","href":"/knowledge/docx"},{"title":"Document Knowledge Base","sidebarTitle":"Document","href":"/knowledge/document"},{"title":"JSON Knowledge Base","sidebarTitle":"JSON","href":"/knowledge/json"},{"title":"LangChain Knowledge Base","sidebarTitle":"LangChain","href":"/knowledge/langchain"},{"title":"LlamaIndex Knowledge Base","sidebarTitle":"LlamaIndex","href":"/knowledge/llamaindex"},{"title":"PDF Knowledge Base","sidebarTitle":"PDF","href":"/knowledge/pdf"},{"title":"PDF URL Knowledge Base","sidebarTitle":"PDF URLs","href":"/knowledge/pdf-url"},{"title":"S3 PDF Knowledge Base","sidebarTitle":"S3 PDF","href":"/knowledge/s3_pdf"},{"title":"S3 Text Knowledge Base","sidebarTitle":"S3 Text","href":"/knowledge/s3_text"},{"title":"Text Knowledge Base","sidebarTitle":"Text","href":"/knowledge/text"},{"title":"Website Knowledge Base","sidebarTitle":"Website","href":"/knowledge/website"},{"title":"Wikipedia KnowledgeBase","sidebarTitle":"Wikipedia","href":"/knowledge/wikipedia"}]},{"group":"Chunking","pages":[{"title":"Fixed Size Chunking","href":"/chunking/fixed-size-chunking"},{"title":"Agentic Chunking","href":"/chunking/agentic-chunking"},{"title":"Semantic Chunking","href":"/chunking/semantic-chunking"},{"title":"Recursive Chunking","href":"/chunking/recursive-chunking"},{"title":"Document Chunking","href":"/chunking/document-chunking"}]},{"group":"VectorDbs","pages":[{"title":"Introduction","href":"/vectordb/introduction"},{"title":"PgVector Agent Knowledge","sidebarTitle":"PgVector","href":"/vectordb/pgvector"},{"title":"Qdrant Agent Knowledge","sidebarTitle":"Qdrant","href":"/vectordb/qdrant"},{"title":"Pinecone Agent Knowledge","sidebarTitle":"Pinecone","href":"/vectordb/pinecone"},{"title":"LanceDB Agent Knowledge","sidebarTitle":"LanceDB","href":"/vectordb/lancedb"},{"title":"ChromaDB Agent Knowledge","sidebarTitle":"ChromaDB","href":"/vectordb/chroma"},{"title":"SingleStore Agent Knowledge","sidebarTitle":"SingleStore","href":"/vectordb/singlestore"}]},{"group":"Storage","pages":[{"title":"Introduction","href":"/storage/introduction"},{"title":"Postgres Agent Storage","sidebarTitle":"Postgres","href":"/storage/postgres"},{"title":"Sqlite Agent Storage","sidebarTitle":"Sqlite","href":"/storage/sqlite"},{"title":"Singlestore Agent Storage","sidebarTitle":"Singlestore","href":"/storage/singlestore"},{"title":"DynamoDB Agent Storage","sidebarTitle":"DynamoDB","href":"/storage/dynamodb"},{"title":"JSON Agent Storage","sidebarTitle":"JSON","href":"/storage/json"},{"title":"YAML Agent Storage","sidebarTitle":"YAML","href":"/storage/yaml"}]},{"group":"Embeddings","pages":[{"title":"Introduction","href":"/embedder/introduction"},{"title":"OpenAI Embedder","sidebarTitle":"OpenAI","href":"/embedder/openai"},{"title":"Gemini Embedder","sidebarTitle":"Gemini","href":"/embedder/gemini"},{"title":"Ollama Embedder","sidebarTitle":"Ollama","href":"/embedder/ollama"},{"title":"Voyage AI Embedder","sidebarTitle":"Voyage AI","href":"/embedder/voyageai"},{"title":"Azure OpenAI Embedder","sidebarTitle":"Azure OpenAI","href":"/embedder/azure_openai"},{"title":"Mistral Embedder","sidebarTitle":"Mistral","href":"/embedder/mistral"},{"title":"Fireworks Embedder","sidebarTitle":"Fireworks","href":"/embedder/fireworks"},{"title":"Together Embedder","sidebarTitle":"Together","href":"/embedder/together"},{"title":"HuggingFace Embedder","sidebarTitle":"HuggingFace","href":"/embedder/huggingface"},{"title":"Qdrant FastEmbed Embedder","sidebarTitle":"Qdrant FastEmbed","href":"/embedder/qdrant_fastembed"},{"title":"SentenceTransformers Embedder","sidebarTitle":"SentenceTransformers","href":"/embedder/sentencetransformers"}]},{"group":"Workflows","pages":[{"title":"Introduction","description":null,"href":"/workflows/introduction"},{"title":"Session State","href":"/workflows/session-state"},{"title":"Streaming","description":null,"href":"/workflows/streaming"},{"title":"Advanced Example - News Report Generator","href":"/workflows/news-report-generator"}]}]},{"group":"How To","pages":[{"title":"Install \u0026 Upgrade","href":"/how-to/install"},{"title":"Upgrade to v2.5.0","href":"/migration/2-5-0"}]}]},{"tab":"Examples","pages":[{"title":"Examples","href":"/examples/introduction"}]},{"tab":"Templates","pages":[{"title":"Templates","href":"/templates/introduction"}]},{"tab":"Product Updates","pages":[{"title":"Product Updates","href":"/changelog/overview"}]},{"tab":"Reference","pages":[{"title":"Reference","href":"/reference/agent"}]},{"tab":"FAQs","pages":[{"title":"FAQs","href":"/faq/could-not-connect-to-docker"}]}]},"basePath":"","title":"Session State - Phidata","buildId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","deploymentId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","dynamics":[],"chunks":[]}