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;">) -> </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;"> "@langchain/langgraph"</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;"> "@langchain/langgraph"</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;"> "@langchain/langgraph"</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;"> "workflow"</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;">=></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.