1import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{c as k,a as h,b as i,f as p,e as a,d as l,w as t,r as d,o as r}from"./app-CwCnZbP_.js";const g={};function A(y,s){const n=d("RouteLink");return r(),k("div",null,[s[24]||(s[24]=h('<p>LangChain å®ç°äºä¸ä¸ªæµå¼ä¼ è¾ç³»ç»æ¥æä¾<strong>宿¶æ´æ°</strong>ã</p><p>æµå¼ä¼ è¾å¯¹äºå¢å¼ºåºäº <strong>LLM</strong>ï¼å¤§åè¯è¨æ¨¡åï¼æå»ºçåºç¨ç¨åºç<strong>ååºè½å</strong>è³å
³éè¦ãéè¿<strong>æ¸è¿å¼</strong>å°æ¾ç¤ºè¾åºï¼å³ä½¿å¨å®æ´çååºåå¤å¥½ä¹åï¼æµå¼ä¼ è¾ä¹è½æ¾è<strong>æ¹åç¨æ·ä½éª (UX)</strong>ï¼å°¤å
¶æ¯å¨å¤ç LLM çå»¶è¿æ¶ã</p><h2 id="æ¦è¿°-overview" tabindex="-1"><a class="header-anchor" href="#æ¦è¿°-overview"><span>æ¦è¿° (Overview)</span></a></h2><p>LangChain çæµå¼ä¼ è¾ç³»ç»å
许æ¨å°ä»£çè¿è¡ç<strong>宿¶åé¦</strong>å±ç¤ºç»æ¨çåºç¨ç¨åºã</p><p>LangChain æµå¼ä¼ è¾å¯è½å®ç°çåè½ï¼</p><ul><li><strong>æµå¼ä¼ è¾ä»£çè¿åº¦</strong> â 卿¯ä¸ªä»£çæ¥éª¤åè·åç¶ææ´æ°ã</li><li><strong>æµå¼ä¼ è¾ LLM 令ç</strong> â å¨è¯è¨æ¨¡åçæä»¤çæ¶è¿è¡æµå¼ä¼ è¾ã</li><li><strong>æµå¼ä¼ è¾èªå®ä¹æ´æ°</strong> â ååºç¨æ·å®ä¹çä¿¡å·ï¼ä¾å¦ï¼<code>"Fetched 10/100 records"</code>ï¼ã</li><li><strong>æµå¼ä¼ è¾å¤ç§æ¨¡å¼</strong> â å¯éæ© <code>updates</code>ï¼ä»£çè¿åº¦ï¼ã<code>messages</code>ï¼LLM 令ç + å
æ°æ®ï¼æ <code>custom</code>ï¼ä»»æç¨æ·æ°æ®ï¼ã</li></ul><h2 id="代çè¿åº¦-agent-progress" tabindex="-1"><a class="header-anchor" href="#代çè¿åº¦-agent-progress"><span>代çè¿åº¦ (Agent progress)</span></a></h2>',7)),i("p",null,[s[2]||(s[2]=a("è¦æµå¼ä¼ è¾ä»£çè¿åº¦ï¼è¯·ä½¿ç¨ ",-1)),s[3]||(s[3]=i("code",null,'stream_mode="updates"',-1)),s[4]||(s[4]=a(" ç ",-1)),l(n,{to:"/v1/python/langchain/%5Bhttps:/reference.langchain.com/python/langgraph/graphs/#langgraph.graph.state.CompiledStateGraph.stream%5D(https://reference.langchain.com/python/langgraph/graphs/#langgraph.graph.state.CompiledStateGraph.stream)"},{default:t(()=>s[0]||(s[0]=[i("code",null,"stream",-1)])),_:1,__:[0]}),s[5]||(s[5]=a(" æ ",-1)),l(n,{to:"/v1/python/langchain/%5Bhttps:/reference.langchain.com/python/langgraph/graphs/#langgraph.graph.state.CompiledStateGraph.astream%5D(https://reference.langchain.com/python/langgraph/graphs/#langgraph.graph.state.CompiledStateGraph.astream)"},{default:t(()=>s[1]||(s[1]=[i("code",null,"astream",-1)])),_:1,__:[1]}),s[6]||(s[6]=a(" æ¹æ³ãè¿ä¼å¨",-1)),s[7]||(s[7]=i("strong",null,"æ¯ä¸ªä»£çæ¥éª¤",-1)),s[8]||(s[8]=a("åååºä¸ä¸ªäºä»¶ã",-1))]),s[25]||(s[25]=i("p",null,"ä¾å¦ï¼å¦ææ¨æä¸ä¸ªè°ç¨å·¥å
·ä¸æ¬¡ç代çï¼æ¨åºè¯¥ä¼çå°ä»¥ä¸æ´æ°ï¼",-1)),i("ul",null,[i("li",null,[s[10]||(s[10]=i("strong",null,"LLM èç¹",-1)),s[11]||(s[11]=a(": 带æå·¥å
·è°ç¨è¯·æ±ç ",-1)),l(n,{to:"/v1/python/langchain/%5Bhttps:/reference.langchain.com/python/langchain/messages/#langchain.messages.AIMessage%5D(https://reference.langchain.com/python/langchain/messages/#langchain.messages.AIMessage)"},{default:t(()=>s[9]||(s[9]=[i("code",null,"AIMessage",-1)])),_:1,__:[9]})]),i("li",null,[s[13]||(s[13]=i("strong",null,"å·¥å
·èç¹",-1)),s[14]||(s[14]=a(": å¸¦ææ§è¡ç»æç ",-1)),l(n,{to:"/v1/python/langchain/%5Bhttps:/reference.langchain.com/python/langchain/messages/#langchain.messages.ToolMessage%5D(https://reference.langchain.com/python/langchain/messages/#langchain.messages.ToolMessage)"},{default:t(()=>s[12]||(s[12]=[i("code",null,"ToolMessage",-1)])),_:1,__:[12]})]),s[15]||(s[15]=i("li",null,[i("strong",null,"LLM èç¹"),a(": æç»ç AI ååº")],-1))]),p(" end list "),s[26]||(s[26]=h(`<div class="code-block-with-title"><div class="code-block-title-bar" data-title="Streaming agent progress"><span>Streaming agent progress</span></div><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;"> langchain.agents </span><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">
1import</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> create_agent</span></span> 2<span class="line"></span> 3<span class="line"></span> 4<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">def</span><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;"> get_weather</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;">city</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 style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;">str</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">:</span></span> 5<span class="line"><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> """è·åç»å®åå¸ç天æ°ã"""</span></span> 6<span class="line"></span> 7<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;"> return</span><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;"> f</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"It's always sunny in </span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;">{</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">city</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;">}</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">!"</span></span> 8<span class="line"></span> 9<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">agent </span><span style="--shiki-light:#383A42;--shiki-dark:#56B6C2;">=</span><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;"> create_agent</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span></span> 10<span class="line"><span style="--shiki-light:#986801;--shiki-light-font-style:inherit;--shiki-dark:#E06C75;--shiki-dark-font-style:italic;"> model</span><span style="--shiki-light:#383A42;--shiki-dark:#56B6C2;">=</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"openai:gpt-5-nano"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">,</span></span> 11<span class="line"><span style="--shiki-light:#986801;--shiki-light-font-style:inherit;--shiki-dark:#E06C75;--shiki-dark-font-style:italic;"> tools</span><span style="--shiki-light:#383A42;--shiki-dark:#56B6C2;">=</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">[get_weather],</span></span> 12<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span> 13<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">for</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> chunk </span><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">in</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> agent.</span><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;">stream</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">( </span><span style="--shiki-light:#A0A1A7;--shiki-light-font-style:italic;--shiki-dark:#7F848E;--shiki-dark-font-style:italic;"># [!code highlight]</span></span> 14<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> {</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"messages"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">: [{</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"role"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">: </span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"user"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">, </span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"content"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">: </span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"What is the weather in SF?"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">}]},</span></span> 15<span class="line"><span style="--shiki-light:#986801;--shiki-light-font-style:inherit;--shiki-dark:#E06C75;--shiki-dark-font-style:italic;"> stream_mode</span><span style="--shiki-light:#383A42;--shiki-dark:#56B6C2;">=</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"updates"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">,</span></span> 16<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">):</span></span> 17<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;"> for</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> step, data </span><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">in</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> chunk.</span><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;">items</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">():</span></span> 18<span class="line"><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;"> print</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">f</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"step: </span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;">
18{</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">step</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;">}</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span> 19<span class="line"><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;"> print</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">f</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"content: </span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;">{</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">data[</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">'messages'</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">][</span><span style="--shiki-light:#383A42;--shiki-dark:#56B6C2;">-</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;">1</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">].content_blocks</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;">}</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"</span><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 class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></div><div class="code-block-with-title"><div class="code-block-title-bar" data-title="Output"><span>Output</span></div><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" 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-shell"><span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">step:</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> model</span></span> 20<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">content:</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> [{</span><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">'type'</span><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;">:</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'tool_call',</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'name':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'get_weather',</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'args':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> {'city':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'San Francisco'},</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'id':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'call_OW2NYNsNSKhRZpjW0wm2Aszd'}]</span></span> 21<span class="line"></span> 22<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">step:</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> tools</span></span> 23<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">content:</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> [{</span><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">'type'</span><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;">:</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'text',</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'text':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> "It's always sunny in San Francisco!"}]</span></span> 24<span class="line"></span> 25<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">step:</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> model</span></span> 26<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">content:</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> [{</span><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">'type'</span><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;">:</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'text',</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'text':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'It's</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> always</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> sunny</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> in</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> San</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> Francisco!'}]</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></div></div><h2 id="llm-令ç-llm-tokens" tabindex="-1"><a class="header-anchor" href="#llm-令ç-llm-tokens"><span>LLM 令ç (LLM tokens)</span></a></h2><p>è¦å¨ LLM çæä»¤çæ¶æµå¼ä¼ è¾å®ä»¬ï¼è¯·ä½¿ç¨ <code>stream_mode="messages"</code>ãæ¨å¯ä»¥å¨ä¸é¢çå°ä»£çæµå¼ä¼ è¾å·¥å ·è°ç¨åæç»ååºçè¾åºã</p><div class="code-block-with-title"><div class="code-block-title-bar" data-title="Streaming LLM tokens"><span>Streaming LLM tokens</span></div><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;"> langchain.agents </span><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">
26import</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> create_agent</span></span> 27<span class="line"></span> 28<span class="line"></span> 29<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">def</span><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;"> get_weather</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;">city</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 style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;">str</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">:</span></span> 30<span class="line"><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> """è·åç»å®åå¸ç天æ°ã"""</span></span> 31<span class="line"></span> 32<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;"> return</span><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;"> f</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"It's always sunny in </span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;">{</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">city</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;">}</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">!"</span></span> 33<span class="line"></span> 34<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">agent </span><span style="--shiki-light:#383A42;--shiki-dark:#56B6C2;">=</span><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;"> create_agent</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span></span> 35<span class="line"><span style="--shiki-light:#986801;--shiki-light-font-style:inherit;--shiki-dark:#E06C75;--shiki-dark-font-style:italic;"> model</span><span style="--shiki-light:#383A42;--shiki-dark:#56B6C2;">=</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"openai:gpt-5-nano"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">,</span></span> 36<span class="line"><span style="--shiki-light:#986801;--shiki-light-font-style:inherit;--shiki-dark:#E06C75;--shiki-dark-font-style:italic;"> tools</span><span style="--shiki-light:#383A42;--shiki-dark:#56B6C2;">=</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">[get_weather],</span></span> 37<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span> 38<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">for</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> token, metadata </span><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">in</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> agent.</span><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;">stream</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">( </span><span style="--shiki-light:#A0A1A7;--shiki-light-font-style:italic;--shiki-dark:#7F848E;--shiki-dark-font-style:italic;"># [!code highlight]</span></span> 39<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> {</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"messages"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">: [{</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"role"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">: </span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"user"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">, </span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"content"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">: </span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"What is the weather in SF?"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">}]},</span></span> 40<span class="line"><span style="--shiki-light:#986801;--shiki-light-font-style:inherit;--shiki-dark:#E06C75;--shiki-dark-font-style:italic;"> stream_mode</span><span style="--shiki-light:#383A42;--shiki-dark:#56B6C2;">=</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"messages"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">,</span></span> 41<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">):</span></span> 42<span class="line"><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;"> print</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">f</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"node: </span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;">
42{</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">metadata[</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">'langgraph_node'</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">]</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;">}</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span> 43<span class="line"><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;"> print</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">f</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"content: </span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;">{</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">token.content_blocks</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;">}</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span> 44<span class="line"><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;"> print</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"</span><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;">\\n</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"</span><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 class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></div><div class="code-block-with-title"><div class="code-block-title-bar" data-title="Output"><span>Output</span></div><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" 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-shell"><span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">node:</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> model</span></span> 45<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">content:</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> [{</span><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">'type'</span><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;">:</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'tool_call_chunk',</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'id':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'call_vbCyBcP8VuneUzyYlSBZZsVa',</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'name':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'get_weather',</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'args':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> '',</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'index':</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> 0</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">}]</span></span> 46<span class="line"></span> 47<span class="line"></span> 48<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">node:</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> model</span></span> 49<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">content:</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> [{</span><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">'type'</span><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;">:</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'tool_call_chunk',</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'id':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">
49 None,</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'name':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> None,</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'args':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> '{"',</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'index':</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> 0</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">}]</span></span> 50<span class="line"></span> 51<span class="line"></span> 52<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">node:</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> model</span></span> 53<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">content:</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> [{</span><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">'type'</span><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;">:</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'tool_call_chunk',</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'id':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> None,</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'name':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> None,</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'args':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'city',</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'index':</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> 0</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">}]</span></span> 54<span class="line"></span> 55<span class="line"></span> 56<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">node:</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> model</span></span> 57<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">content:</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> [{</span><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">'type'</span><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;">:</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'tool_call_chunk',</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'id':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> None,</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'name':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> None,</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'args':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> '":"',</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'index':</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> 0</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">}]</span></span> 58<span class="line"></span> 59<span class="line"></span> 60<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">node:</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> model</span></span> 61<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">content:</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> [{</span><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">'type'</span><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;">:</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'tool_call_chunk',</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'id':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> None,</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'name':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> None,</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'args':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'San',</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'index':</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> 0</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">}]</span></span> 62<span class="line"></span> 63<span class="line"></span> 64<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">node:</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> model</span></span> 65<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">content:</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> [{</span><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">'type'</span><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;">:</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'tool_call_chunk',</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'id':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">
65 None,</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'name':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> None,</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'args':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> ' Francisco',</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'index':</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> 0</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">}]</span></span> 66<span class="line"></span> 67<span class="line"></span> 68<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">node:</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> model</span></span> 69<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">content:</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> [{</span><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">'type'</span><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;">:</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'tool_call_chunk',</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'id':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> None,</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'name':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> None,</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'args':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> '"}',</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'index':</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> 0</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">}]</span></span> 70<span class="line"></span> 71<span class="line"></span> 72<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">node:</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> model</span></span> 73<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">content:</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> []</span></span> 74<span class="line"></span> 75<span class="line"></span> 76<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">node:</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> tools</span></span> 77<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">content:</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> [{</span><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">'type'</span><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;">:</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'text',</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'text':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> "It's always sunny in San Francisco!"}]</span></span> 78<span class="line"></span> 79<span class="line"></span> 80<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">node:</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> model</span></span> 81<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">content:</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> []</span></span> 82<span class="line"></span> 83<span class="line"></span> 84<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">node:</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> model</span></span> 85<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">content:</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> [{</span><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">'type'</span><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;">:</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'text',</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'text':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'Here'}]</span></span> 86<span class="line"></span> 87<span class="line"></span> 88<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">node:</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> model</span></span> 89<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">content:</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> [{</span><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">'type'</span><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;">:</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'text',</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'text':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> ''s'}]</span></span> 90<span class="line"></span> 91<span class="line"></span> 92<span class="line"><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">node: model</span></span> 93<span class="line"><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">content: [{'type': 'text', 'text': '</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> what'}]</span></span> 94<span class="line"></span> 95<span class="line"></span> 96<span class="line"><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">node: model</span></span> 97<span class="line"><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">content: [{'type': 'text', 'text': '</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> I'}]</span></span> 98<span class="line"></span> 99<span class="line"></span> 100<span class="line"><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">node: model</span></span> 101<span class="line"><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">content: [{'type': 'text', 'text': '</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> got'}]</span></span> 102<span class="line"></span> 103<span class="line"></span> 104<span class="line"><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">node: model</span></span> 105<span class="line"><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">content: [{'type': 'text', 'text': ':'}]</span></span> 106<span class="line"></span> 107<span class="line"></span> 108<span class="line"><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">node: model</span></span> 109<span class="line"><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">content: [{'type': 'text', 'text': '</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> "'}]</span></span> 110<span class="line"></span> 111<span class="line"></span> 112<span class="line"><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">node: model</span></span> 113<span class="line"><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">content: [{'type': 'text', 'text': "It's"}]</span></span> 114<span class="line"></span> 115<span class="line"></span> 116<span class="line"><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">node: model</span></span> 117<span class="line"><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">content: [{'type': 'text', 'text': '</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> always'}]</span></span> 118<span class="line"></span> 119<span class="line"></span> 120<span class="line"><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">node: model</span></span> 121<span class="line"><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">content: [{'type': 'text', 'text': '</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> sunny'}]</span></span> 122<span class="line"></span> 123<span class="line"></span> 124<span class="line"><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">node: model</span></span> 125<span class="line"><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">content: [{'type': 'text', 'text': '</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> in'}]</span></span> 126<span class="line"></span> 127<span class="line"></span> 128<span class="line"><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">node: model</span></span> 129<span class="line"><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">content: [{'type': 'text', 'text': '</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> San'}]</span></span> 130<span class="line"></span> 131<span class="line"></span> 132<span class="line"><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">node: model</span></span> 133<span class="line"><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">content: [{'type': 'text', 'text': '</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> Francisco'}]</span></span> 134<span class="line"></span> 135<span class="line"></span> 136<span class="line"><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">node: model</span></span> 137<span class="line"><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">content: [{'type': 'text', 'text': '!"\\n\\n'}]</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 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 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 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 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 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 class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></div><h2 id="èªå®ä¹æ´æ°-custom-updates" tabindex="-1">
137<a class="header-anchor" href="#èªå®ä¹æ´æ°-custom-updates"><span>èªå®ä¹æ´æ° (Custom updates)</span></a></h2>`,7)),i("p",null,[s[17]||(s[17]=a("è¦æµå¼ä¼ è¾å·¥å ·å¨æ§è¡è¿ç¨ä¸ååºçæ´æ°ï¼æ¨å¯ä»¥ä½¿ç¨ ",-1)),l(n,{to:"/v1/python/langchain/%5Bhttps:/reference.langchain.com/python/langgraph/config/#langgraph.config.get_stream_writer%5D(https://reference.langchain.com/python/langgraph/config/#langgraph.config.get_stream_writer)"},{default:t(()=>s[16]||(s[16]=[i("code",null,"get_stream_writer",-1)])),_:1,__:[16]}),s[18]||(s[18]=a("ã",-1))]),s[27]||(s[27]=h(`<div class="code-block-with-title"><div class="code-block-title-bar" data-title="Streaming custom updates"><span>Streaming custom updates</span></div><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;"> langchain.agents </span><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">import</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> create_agent</span></span> 138<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">from</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> langgraph.config </span><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">import</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> get_stream_writer </span><span style="--shiki-light:#A0A1A7;--shiki-light-font-style:italic;--shiki-dark:#7F848E;--shiki-dark-font-style:italic;"># [!code highlight]</span></span> 139<span class="line"></span> 140<span class="line"></span> 141<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">def</span><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;"> get_weather</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;">city</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 style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;">str</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">:</span></span> 142<span class="line"><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> """è·åç»å®åå¸ç天æ°ã"""</span></span> 143<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> writer </span><span style="--shiki-light:#383A42;--shiki-dark:#56B6C2;">=</span><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;"> get_stream_writer</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">() </span><span style="--shiki-light:#A0A1A7;--shiki-light-font-style:italic;--shiki-dark:#7F848E;--shiki-dark-font-style:italic;"># [!code highlight]</span></span> 144<span class="line"><span style="--shiki-light:#A0A1A7;--shiki-light-font-style:italic;--shiki-dark:#7F848E;--shiki-dark-font-style:italic;"> # æµå¼ä¼ è¾ä»»ä½ä»»ææ°æ®</span></span> 145<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;"> writer</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">f</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"Looking up data for city: </span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;">{</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">city</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;">}</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span> 146<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;"> writer</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">f</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"Acquired data for city: </span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;">
146{</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">city</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;">}</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span> 147<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;"> return</span><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;"> f</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"It's always sunny in </span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;">{</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">city</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;">}</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">!"</span></span> 148<span class="line"></span> 149<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">agent </span><span style="--shiki-light:#383A42;--shiki-dark:#56B6C2;">=</span><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;"> create_agent</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span></span> 150<span class="line"><span style="--shiki-light:#986801;--shiki-light-font-style:inherit;--shiki-dark:#E06C75;--shiki-dark-font-style:italic;"> model</span><span style="--shiki-light:#383A42;--shiki-dark:#56B6C2;">=</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"anthropic:claude-sonnet-4-5"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">,</span></span> 151<span class="line"><span style="--shiki-light:#986801;--shiki-light-font-style:inherit;--shiki-dark:#E06C75;--shiki-dark-font-style:italic;"> tools</span><span style="--shiki-light:#383A42;--shiki-dark:#56B6C2;">=</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">[get_weather],</span></span> 152<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span> 153<span class="line"></span> 154<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">for</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> chunk </span><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">in</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> agent.</span><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;">stream</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span></span> 155<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> {</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"messages"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">: [{</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"role"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">: </span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"user"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">, </span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"content"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">: </span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"What is the weather in SF?"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">}]},</span></span> 156<span class="line"><span style="--shiki-light:#986801;--shiki-light-font-style:inherit;--shiki-dark:#E06C75;--shiki-dark-font-style:italic;"> stream_mode</span><span style="--shiki-light:#383A42;--shiki-dark:#56B6C2;">=</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"custom"</span><span style="--shiki-light:#A0A1A7;--shiki-light-font-style:italic;--shiki-dark:#7F848E;--shiki-dark-font-style:italic;"> # [!code highlight]</span></span> 157<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">):</span></span> 158<span class="line"><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;"> print</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(chunk)</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 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><div class="code-block-with-title"><div class="code-block-title-bar" data-title="Output"><span>Output</span></div><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" 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-shell"><span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">Looking</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> up</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> data</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> for</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> city:</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> San</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> Francisco</span></span> 159<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">Acquired</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> data</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> for</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> city:</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> San</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> Francisco</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></div></div>`,2)),i("blockquote",null,[i("p",null,[s[20]||(s[20]=i("strong",null,"注æ (Note)",-1)),s[21]||(s[21]=i("br",null,null,-1)),s[22]||(s[22]=a(" 妿æ¨å¨å·¥å ·å 鍿·»å ",-1)),l(n,{to:"/v1/python/langchain/%5Bhttps:/reference.langchain.com/python/langgraph/config/#langgraph.config.get_stream_writer%5D(https://reference.langchain.com/python/langgraph/config/#langgraph.config.get_stream_writer)"},{default:t(()=>s[19]||(s[19]=[i("code",null,"get_stream_writer",-1)])),_:1,__:[19]}),s[23]||(s[23]=a("ï¼æ¨å°æ æ³å¨ LangGraph æ§è¡ä¸ä¸æä¹å¤è°ç¨è¯¥å·¥å ·ã",-1))])]),s[28]||(s[28]=h(`<h2 id="æµå¼ä¼ è¾å¤ç§æ¨¡å¼-stream-multiple-modes" tabindex="-1"><a class="header-anchor" href="#æµå¼ä¼ è¾å¤ç§æ¨¡å¼-stream-multiple-modes"><span>æµå¼ä¼ è¾å¤ç§æ¨¡å¼ (Stream multiple modes)</span></a></h2><p>æ¨å¯ä»¥éè¿å°æµæ¨¡å¼ä½ä¸ºåè¡¨ä¼ éæ¥æå®å¤ç§æµå¼ä¼ è¾æ¨¡å¼ï¼<code>stream_mode=["updates", "custom"]</code>ï¼</p><div class="code-block-with-title"><div class="code-block-title-bar" data-title="Streaming multiple modes"><span>Streaming multiple modes</span></div><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;"> langchain.agents </span><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">
159import</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> create_agent</span></span> 160<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">from</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> langgraph.config </span><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">import</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> get_stream_writer</span></span> 161<span class="line"></span> 162<span class="line"></span> 163<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">def</span><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;"> get_weather</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;">city</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 style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;">str</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">:</span></span> 164<span class="line"><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> """è·åç»å®åå¸ç天æ°ã"""</span></span> 165<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> writer </span><span style="--shiki-light:#383A42;--shiki-dark:#56B6C2;">=</span><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;"> get_stream_writer</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">()</span></span> 166<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;"> writer</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">f</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"Looking up data for city: </span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;">{</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">city</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;">}</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span> 167<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;"> writer</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">f</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"Acquired data for city: </span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;">{</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">city</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;">}</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span> 168<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;"> return</span><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;"> f</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"It's always sunny in </span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;">{</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">city</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;">}</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">!"</span></span> 169<span class="line"></span> 170<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">agent </span><span style="--shiki-light:#383A42;--shiki-dark:#56B6C2;">=</span><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;"> create_agent</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span></span> 171<span class="line"><span style="--shiki-light:#986801;--shiki-light-font-style:inherit;--shiki-dark:#E06C75;--shiki-dark-font-style:italic;"> model</span><span style="--shiki-light:#383A42;--shiki-dark:#56B6C2;">=</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"openai:gpt-5-nano"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">,</span></span> 172<span class="line"><span style="--shiki-light:#986801;--shiki-light-font-style:inherit;--shiki-dark:#E06C75;--shiki-dark-font-style:italic;"> tools</span><span style="--shiki-light:#383A42;--shiki-dark:#56B6C2;">=</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">
172[get_weather],</span></span> 173<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span> 174<span class="line"></span> 175<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">for</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> stream_mode, chunk </span><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">in</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> agent.</span><span style="--shiki-light:#383A42;--shiki-dark:#61AFEF;">stream</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">( </span><span style="--shiki-light:#A0A1A7;--shiki-light-font-style:italic;--shiki-dark:#7F848E;--shiki-dark-font-style:italic;"># [!code highlight]</span></span> 176<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> {</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"messages"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">: [{</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"role"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">: </span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"user"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">, </span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"content"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">: </span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"What is the weather in SF?"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">}]},</span></span> 177<span class="line"><span style="--shiki-light:#986801;--shiki-light-font-style:inherit;--shiki-dark:#E06C75;--shiki-dark-font-style:italic;"> stream_mode</span><span style="--shiki-light:#383A42;--shiki-dark:#56B6C2;">=</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">[</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"updates"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">, </span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"custom"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">]</span></span> 178<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">):</span></span> 179<span class="line"><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;"> print</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">f</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"stream_mode: </span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;">{</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">stream_mode</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;">}</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span> 180<span class="line"><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;"> print</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">f</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"content: </span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;">{</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">chunk</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;">}</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span> 181<span class="line"><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;"> print</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">(</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"</span><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;">\\n</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"</span><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 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><div class="code-block-with-title"><div class="code-block-title-bar" data-title="Output"><span>Output</span></div><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" 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-shell"><span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">stream_mode:</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> updates</span></span> 182<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">content:</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> {'model':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> {'messages':</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> [AIMessage(content=</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">''</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">, </span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">response_metadata={'token_usage':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> {'completion_tokens':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 280,</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'prompt_tokens':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 132,</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'total_tokens':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 412,</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'completion_tokens_details':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> {'accepted_prediction_tokens':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 0,</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'audio_tokens':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 0,</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'reasoning_tokens':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 256,</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'rejected_prediction_tokens':</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> 0</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">},</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'prompt_tokens_details':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> {'audio_tokens':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 0,</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'cached_tokens':</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> 0</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">}},</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'model_provider':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> '
182openai',</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'model_name':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'gpt-5-nano-2025-08-07',</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'system_fingerprint':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> None,</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'id':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'chatcmpl-C9tlgBzGEbedGYxZ0rTCz5F7OXpL7',</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'service_tier':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'default',</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'finish_reason':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'tool_calls',</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'logprobs':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> None},</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> id='lc_run--480c07cb-e405-4411-aa7f-0520fddeed66-0',</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> tool_calls=[{'name':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'get_weather',</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'args':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> {'city':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'San Francisco'},</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'id':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'call_KTNQIftMrl9vgNwEfAJMVu7r',</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'type':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'tool_call'}],</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> usage_metadata={'input_tokens':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 132,</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'output_tokens':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 280,</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'total_tokens':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 412,</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'input_token_details':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> {'audio':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 0,</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'cache_read':</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> 0</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">},</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'output_token_details':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> {'audio':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 0,</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 'reasoning':</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> 256</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">}}</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)]}}</span></span> 183<span class="line"></span> 184<span class="line"></span> 185<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">stream_mode:</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> custom</span></span> 186<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">content:</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> Looking</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> up</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> data</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> for</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> city:</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> San</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> Francisco</span></span> 187<span class="line"></span> 188<span class="line"></span> 189<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">stream_mode:</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> custom</span></span> 190<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">content:</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> Acquired</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> data</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> for</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> city:</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> San</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> Francisco</span></span> 191<span class="line"></span> 192<span class="line"></span> 193<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">stream_mode:</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> updates</span></span> 194<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">content:</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> {'tools':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> {'messages':</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">
194 [ToolMessage(content=</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"It's always sunny in San Francisco!"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">, </span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">name='get_weather',</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> tool_call_id='call_KTNQIftMrl9vgNwEfAJMVu7r'</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)]}}</span></span> 195<span class="line"></span> 196<span class="line"></span> 197<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">stream_mode:</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> updates</span></span> 198<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">content:</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> {'model':</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> {'messages':</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> [AIMessage(content=</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">'San Francisco weather: It'</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">s </span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">always</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> sunny</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> in</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> San</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> Francisco!</span><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;">\\n\\n</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">', response_metadata={'token_usage': {'completion_tokens': 764, 'prompt_tokens': 168, 'total_tokens': 932, 'completion_tokens_details': {'accepted_prediction_tokens': 0, 'audio_tokens': 0, 'reasoning_tokens': 704, 'rejected_prediction_tokens': 0}, 'prompt_tokens_details': {'audio_tokens': 0, 'cached_tokens': 0}}, 'model_provider': 'openai', 'model_name': 'gpt-5-nano-2025-08-07', 'system_fingerprint': None, 'id': 'chatcmpl-C9tljDFVki1e1haCyikBptAuXuHYG', 'service_tier': 'default', 'finish_reason': 'stop', 'logprobs': None}, id='lc_run--acbc740a-18fe-4a14-8619-da92a0d0ee90-0', usage_metadata={'input_tokens': 168, 'output_tokens': 764, 'total_tokens': 932, 'input_token_details': {'audio': 0, 'cache_read': 0}, 'output_token_details': {'audio': 0, 'reasoning': 704}})]}}</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 class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></div><h2 id="ç¦ç¨æµå¼ä¼ è¾-disable-streaming" tabindex="-1"><a class="header-anchor" href="#ç¦ç¨æµå¼ä¼ è¾-disable-streaming"><span>ç¦ç¨æµå¼ä¼ è¾ (Disable streaming)</span></a></h2><p>卿äºåºç¨ç¨åºä¸ï¼æ¨å¯è½éè¦ä¸ºç»å®ç模å<strong>ç¦ç¨å个令ççæµå¼ä¼ è¾</strong>ã</p><p>è¿å¯¹äºå<a href="/v1/python/langchain/multi-agent">å¤ä»£ç</a>ç³»ç»è¿æ ·çåºæ¯å¾æç¨ï¼ä»¥ä¾¿<strong>æ§å¶</strong>åªäºä»£çæµå¼ä¼ è¾å®ä»¬çè¾åºã</p><p>请åé <a href="/v1/python/langchain/models#disable-streaming">模å</a> æå以äºè§£å¦ä½ç¦ç¨æµå¼ä¼ è¾ã</p>`,8))])}const F=e(g,[["render",A]]),B=JSON.parse('{"path":"/v1/python/langchain/streaming.html","title":"æµå¼ä¼ è¾","lang":"zh-CN","frontmatter":{"title":"æµå¼ä¼ è¾","index":false,"description":"LangChain å®ç°äºä¸ä¸ªæµå¼ä¼ è¾ç³»ç»æ¥æä¾å®æ¶æ´æ°ã æµå¼ä¼ è¾å¯¹äºå¢å¼ºåºäº LLMï¼å¤§åè¯è¨æ¨¡åï¼æå»ºçåºç¨ç¨åºçååºè½åè³å ³éè¦ãéè¿æ¸è¿å¼å°æ¾ç¤ºè¾åºï¼å³ä½¿å¨å®æ´çååºåå¤å¥½ä¹åï¼æµå¼ä¼ è¾ä¹è½æ¾èæ¹åç¨æ·ä½éª (UX)ï¼å°¤å ¶æ¯å¨å¤ç LLM çå»¶è¿æ¶ã æ¦è¿° (Overview) LangChain çæµå¼ä¼ è¾ç³»ç»å 许æ¨å°ä»£çè¿è¡ç宿¶åé¦å±ç¤º...","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"æµå¼ä¼ è¾\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"202
1986-09-29T12:50:46.000Z\\",\\"author\\":[]}"],["meta",{"property":"og:url","content":"https://langchain-doc.cn/v1/python/langchain/streaming.html"}],["meta",{"property":"og:site_name","content":"LangChain ä¸æææ¡£"}],["meta",{"property":"og:title","content":"æµå¼ä¼ è¾"}],["meta",{"property":"og:description","content":"LangChain å®ç°äºä¸ä¸ªæµå¼ä¼ è¾ç³»ç»æ¥æä¾å®æ¶æ´æ°ã æµå¼ä¼ è¾å¯¹äºå¢å¼ºåºäº LLMï¼å¤§åè¯è¨æ¨¡åï¼æå»ºçåºç¨ç¨åºçååºè½åè³å
³éè¦ãéè¿æ¸è¿å¼å°æ¾ç¤ºè¾åºï¼å³ä½¿å¨å®æ´çååºåå¤å¥½ä¹åï¼æµå¼ä¼ è¾ä¹è½æ¾èæ¹åç¨æ·ä½éª (UX)ï¼å°¤å
¶æ¯å¨å¤ç LLM çå»¶è¿æ¶ã æ¦è¿° (Overview) LangChain çæµå¼ä¼ è¾ç³»ç»å
许æ¨å°ä»£çè¿è¡ç宿¶åé¦å±ç¤º..."}],["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":4.83,"words":1449},"filePathRelative":"v1/python/langchain/streaming.md","autoDesc":true}');export{F as comp,B 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.