PageSourceSearch

https://langchain-doc.cn/assets/MISSING_CHECKPOINTER.html-BjD-EzqX.js

js langchain-doc.cn collected 2026-10-06 14:15:01 UTC 13,583 bytes, 24 lines download raw bytes

1import{_ as s}from"./plugin-vue_export-helper-DlAUqK2U.js";import{c as a,a as n,o as t}from"./app-CwCnZbP_.js";const h={};function l(e,i){return t(),a("div",null,i[0]||(i[0]=[n(`<p>您正在尝试使用LangGraph内置的持久化功能,但未提供检查点工具。</p><p>这种情况发生在@[<code>StateGraph</code>][StateGraph]或@[<code>@entrypoint</code>]的<code>compile()</code>方法中缺少<code>checkpointer</code>时。</p><h2 id="故障排除" tabindex="-1"><a class="header-anchor" href="#故障排除"><span>故障排除</span></a></h2><p>以下方法可能有助于解决此错误:</p><ul><li>初始化并将检查点工具传递给@[<code>StateGraph</code>][StateGraph]或@[<code>@entrypoint</code>]的<code>compile()</code>方法。</li></ul><div class="language-python line-numbers-mode" data-highlighter="shiki" data-ext="python" style="--shiki-light:#383A42;--shiki-dark:#abb2bf;--shiki-light-bg:#FAFAFA;--shiki-dark-bg:#282c34;"><pre class="shiki shiki-themes one-light one-dark-pro vp-code"><code class="language-python"><span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">from</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> langgraph.checkpoint.memory </span><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">import</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> InMemorySaver</span></span>
2<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">checkpointer </span><span style="--shiki-light:#383A42;--shiki-dark:#56B6C2;">=</span><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;"> InMemorySaver</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">()</span></span>
3<span class="line"></span>
4<span class="line"><span style="--shiki-light:#A0A1A7;--shiki-light-font-style:italic;--shiki-dark:#7F848E;--shiki-dark-font-style:italic;"># Graph API</span></span>
5<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">graph </span><span style="--shiki-light:#383A42;--shiki-dark:#56B6C2;">=</span><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;"> StateGraph</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#383A42;--shiki-dark:#D19A66;">...</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">).</span><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;">compile</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#986801;--shiki-light-font-style:inherit;--shiki-dark:#E06C75;--shiki-dark-font-style:italic;">checkpointer</span><span style="--shiki-light:#383A42;--shiki-dark:#56B6C2;">=</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">checkpointer)</span></span>
6<span class="line"></span>
7<span class="line"><span style="--shiki-light:#A0A1A7;--shiki-light-font-style:italic;--shiki-dark:#7F848E;--shiki-dark-font-style:italic;"># Functional API</span></span>
8<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">@entrypoint</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#986801;--shiki-light-font-style:inherit;--shiki-dark:#E06C75;--shiki-dark-font-style:italic;">checkpointer</span><span style="--shiki-light:#383A42;--shiki-dark:#56B6C2;">=</span><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;">checkpointer</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span>
9<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">def</span><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;"> workflow</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#986801;--shiki-light-font-style:inherit;--shiki-dark:#D19A66;--shiki-dark-font-style:italic;">messages</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">:</span><span style="--shiki-light:#986801;--shiki-dark:#ABB2BF;"> list[</span><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;">str</span><span style="--shiki-light:#986801;--shiki-dark:#ABB2BF;">]</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">) -&gt; </span><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;">str</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">:</span></span>
10<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#D19A66;">    ...</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><div class="language-typescript line-numbers-mode" data-highlighter="shiki" data-ext="typescript" style="--shiki-light:#383A42;--shiki-dark:#abb2bf;--shiki-light-bg:#FAFAFA;--shiki-dark-bg:#282c34;"><pre class="shiki shiki-themes one-light one-dark-pro vp-code"><code class="language-typescript"><span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">
10import</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> { </span><span style="--shiki-light:#E45649;--shiki-dark:#E06C75;">InMemorySaver</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">, </span><span style="--shiki-light:#E45649;--shiki-dark:#E06C75;">StateGraph</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> } </span><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">from</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> &quot;@langchain/langgraph&quot;</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">;</span></span>
11<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">const</span><span style="--shiki-light:#986801;--shiki-dark:#E5C07B;"> checkpointer</span><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;"> =</span><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;"> new</span><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;"> InMemorySaver</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">();</span></span>
12<span class="line"></span>
13<span class="line"><span style="--shiki-light:#A0A1A7;--shiki-light-font-style:italic;--shiki-dark:#7F848E;--shiki-dark-font-style:italic;">// Graph API</span></span>
14<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">import</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> { </span><span style="--shiki-light:#E45649;--shiki-dark:#E06C75;">StateGraph</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> } </span><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">from</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> &quot;@langchain/langgraph&quot;</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">;</span></span>
15<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">const</span><span style="--shiki-light:#986801;--shiki-dark:#E5C07B;"> graph</span><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;"> =</span><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;"> new</span><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;"> StateGraph</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#0184BC;--shiki-dark:#ABB2BF;">...</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">).</span><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">compile</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">({ </span><span style="--shiki-light:#383A42;--shiki-dark:#E06C75;">checkpointer</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> });</span></span>
16<span class="line"></span>
17<span class="line"><span style="--shiki-light:#A0A1A7;--shiki-light-font-style:italic;--shiki-dark:#7F848E;--shiki-dark-font-style:italic;">// Functional API</span></span>
18<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">import</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> { </span><span style="--shiki-light:#E45649;--shiki-dark:#E06C75;">entrypoint</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> } </span><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">from</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> &quot;@langchain/langgraph&quot;</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">;</span></span>
19<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">const</span><span style="--shiki-light:#986801;--shiki-dark:#E5C07B;"> workflow</span><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;"> =</span><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;"> entrypoint</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span></span>
20<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">    { </span><span style="--shiki-light:#383A42;--shiki-dark:#E06C75;">checkpointer</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">, </span><span style="--shiki-light:#E45649;--shiki-dark:#E06C75;">name</span><span style="--shiki-light:#0184BC;--shiki-dark:#ABB2BF;">:</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> &quot;workflow&quot;</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> },</span></span>
21<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">    async</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> (</span><span style="--shiki-light:#383A42;--shiki-light-font-style:inherit;--shiki-dark:#E06C75;--shiki-dark-font-style:italic;">messages</span><span style="--shiki-light:#0184BC;--shiki-dark:#ABB2BF;">:</span><span style="--shiki-light:#0184BC;--shiki-dark:#E5C07B;"> string</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">[]) </span><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">=&gt;</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> {</span></span>
22<span class="line"><span style="--shiki-light:#A0A1A7;--shiki-light-font-style:italic;--shiki-dark:#7F848E;--shiki-dark-font-style:italic;">
22        // ...</span></span>
23<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">    }</span></span>
24<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">);</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><ul><li>使用LangGraph API,这样您就不需要手动实现或配置检查点工具。API会为您处理所有持久化基础设施。</li></ul><h2 id="相关链接" tabindex="-1"><a class="header-anchor" href="#相关链接"><span>相关链接</span></a></h2><ul><li>阅读更多关于<a href="/v1/python/langgraph/persistence">持久化</a>的信息。</li></ul>`,10)]))}const r=s(h,[["render",l]]),d=JSON.parse('{"path":"/v1/python/langgraph/errors/MISSING_CHECKPOINTER.html","title":"MISSING_CHECKPOINTER","lang":"zh-CN","frontmatter":{"title":"MISSING_CHECKPOINTER","description":"您正在尝试使用LangGraph内置的持久化功能,但未提供检查点工具。 这种情况发生在@[StateGraph][StateGraph]或@[@entrypoint]的compile()方法中缺少checkpointer时。 故障排除 以下方法可能有助于解决此错误: 初始化并将检查点工具传递给@[StateGraph][StateGraph]或@[@e...","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"MISSING_CHECKPOINTER\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2026-09-29T12:50:46.000Z\\",\\"author\\":[]}"],["meta",{"property":"og:url","content":"https://langchain-doc.cn/v1/python/langgraph/errors/MISSING_CHECKPOINTER.html"}],["meta",{"property":"og:site_name","content":"LangChain 中文文档"}],["meta",{"property":"og:title","content":"MISSING_CHECKPOINTER"}],["meta",{"property":"og:description","content":"您正在尝试使用LangGraph内置的持久化功能,但未提供检查点工具。 这种情况发生在@[StateGraph][StateGraph]或@[@entrypoint]的compile()方法中缺少checkpointer时。 故障排除 以下方法可能有助于解决此错误: 初始化并将检查点工具传递给@[StateGraph][StateGraph]或@[@e..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2026-09-29T12:50:46.000Z"}],["meta",{"property":"article:modified_time","content":"2026-09-29T12:50:46.000Z"}]]},"git":{"createdTime":1790686246000,"updatedTime":1790686246000,"contributors":[{"name":"liaokangping","username":"liaokangping","email":"[email protected]","commits":1,"url":"https://github.com/liaokangping"}]},"readingTime":{"minutes":0.71,"words":214},"filePathRelative":"v1/python/langgraph/errors/MISSING_CHECKPOINTER.md","autoDesc":true}');export{r as comp,d as data};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.