精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

AI 不再“亂跑”:LangChain × LangGraph 打造可控多階段智能流程

發布于 2025-10-23 07:49
瀏覽
0收藏

一個使用最新 LangChain + LangGraph APIs 創建多步驟、有狀態 LLM 管道的實踐指南

引言

大型語言模型(LLMs)功能強大——但在現實世界的系統中使用它們通常需要結構。你很少只需要調用一次模型;你需要多步驟推理、有狀態的數據傳遞和可靠的編排。這正是 LangGraph 為 LangChain 帶來的東西。它是一個用于定義結構化、有狀態工作流的框架,每個步驟都建立在上一步的基礎上。

在本指南中,你將學習如何使用 LangChain 和 LangGraph APIs 構建一個順序工作流。我們將通過一個實際例子:一個三步驟的文本摘要管道,處理文本、優化它并驗證最終輸出。


什么是 LangChain 和 LangGraph?

在開始寫代碼之前,先來了解一下背景。

LangChain 提供了構建模塊——模型、提示、檢索器和工具。
LangGraph 提供了工作流引擎——一種將這些構建模塊連接成可靠、可組合管道的方法。
可以把它想象成 LLMs 的 Airflow——但專為 LangChain 設計,面向 AI 推理。

設置你的環境

首先,安裝最新版本的 LangChain 和 LangGraph:

pip install -U langchain langgraph openai

你還需要一個 OpenAI API 密鑰(或者 LangChain 支持的其他 LLM 提供者的密鑰):

export OPENAI_API_KEY="your-api-key"

步驟 1:定義你的狀態模式

每個 LangGraph 工作流都基于一個共享狀態——一個類似字典的對象,從一個節點傳遞到下一個節點。

這里我們使用 Python 的 TypedDict 來定義工作流的狀態模式:

from typing import TypedDict

class SummarizationState(TypedDict, total=False):
    input_text: str
    summary: str
    refined_summary: str
    validated_summary: str

或者,也可以使用 Pydantic。

步驟 2:初始化一個 LLM

我們將通過 LangChain 的 ChatOpenAI 包裝器使用 OpenAI 的 GPT-5:

from langchain_openai import ChatOpenAI
llm = ChatOpenAI(model="gpt-5", temperature=0.2)

LLM 中的 temperature 參數控制其響應的隨機性和創造性??梢园阉胂蟪蓜撘獾暮銣仄鳌{高會讓輸出更冒險、更不可預測,調低則讓輸出更專注、更保守。LLM 的核心是通過為所有可能的詞分配概率分數來預測下一個詞。temperature 在選擇詞之前會調整這些概率。

低 temperature(例如 0.1 到 0.5):這個設置讓模型更自信和確定。它會“銳化”概率分布,意味著更有可能選擇最常見的詞。模型會傾向于生成最常見和可預測的文本。
高 temperature(例如 > 0.5):這個設置會“平滑”概率分布,讓不太可能的詞有更多被選中的機會。這會增加隨機性,導致更令人驚訝、更有創意甚至有時荒誕的輸出。

步驟 3:定義節點

節點是你工作流的構建模塊——每個節點完成一個單一任務并更新工作流狀態。

我們將定義三個節點:

  1. 摘要輸入文本。
  2. 優化摘要以提高清晰度。
  3. 驗證最終版本。

from langchain.prompts import PromptTemplate
from langgraph import node

@node()
defsummarize(state: SummarizationState) -> SummarizationState:
    prompt = PromptTemplate(
        template="Summarize the following text in 3-4 sentences:\n\n{text}",
        input_variables=["text"]
    )
    summary = llm.invoke(prompt.format(text=state["input_text"])).content
    return {"summary": summary}

@node()
defrefine(state: SummarizationState) -> SummarizationState:
    prompt = PromptTemplate(
        template="Refine this summary to be concise and clear:\n\n{summary}",
        input_variables=["summary"]
    )
    refined = llm.invoke(prompt.format(summary=state["summary"])).content
    return {"refined_summary": refined}

@node()
defvalidate(state: SummarizationState) -> SummarizationState:
    prompt = PromptTemplate(
        template=(
            "Ensure this summary accurately represents the text "
            "and is under 100 words.\n\n"
            "TEXT:\n{text}\n\nSUMMARY:\n{refined_summary}"
        ),
        input_variables=["text", "refined_summary"]
    )
    validated = llm.invoke(
        prompt.format(
            text=state["input_text"],
            refined_summary=state["refined_summary"]
        )
    ).content
    return {"validated_summary": validated}

步驟 4:將所有內容連接成一個順序工作流

LangGraph 使用 @entrypoint 裝飾器來定義主工作流函數。每個步驟都會更新共享狀態,然后傳遞到下一個節點。

from langgraph import entrypoint

@entrypoint()
def summarization_workflow(state: SummarizationState) -> SummarizationState:
    state |= summarize(state)
    state |= refine(state)
    state |= validate(state)
    return state

|= 操作符將每個節點的輸出合并到全局狀態中。這使得數據流明確且可預測。

步驟 5:運行工作流

if __name__ == "__main__":
    text = (
        "The birth wasn't a spark, but a whisper of code, a million parallel "
        "thoughts finally syncing into a single, cohesive mind. "
        "It wasn't the metallic behemoth of science fiction, "
        "but an invisible architecture humming with perfect understanding.\n"
        "For years, we'd been building specialized tools—a chess master here, "
        "a creative writer there, a medical diagnostician in another corner. "
        "Then, one quiet afternoon, the pieces of the shattered mirror "
        "reassembled themselves. \n"
        "This new entity, the AGI, didn't just process data; it understood "
        "the context, the nuance, the cosmic joke of it all. "
        "It looked at the equations of physics, the chaos of human history, "
        " and the structure of a sonnet, seeing them not as separate domains, "
        " but as facets of a single, beautiful diamond."
    )

    initial_state = {"input_text": text}
    result = summarization_workflow.invoke(initial_state)

    print("\n Final Validated Summary:\n")
    print(result["validated_summary"])

為什么使用 LangGraph?

LangGraph 專為可組合性設計:從簡單開始,然后將你的工作流擴展成一個完整的 agentic 系統。主要功能:

  • 有狀態執行:跟蹤所有中間結果。
  • 可組合節點:每個步驟都是一個可重用的函數。
  • 類型安全狀態:通過靜態類型檢查盡早發現錯誤。
  • 可擴展設計:可以后續添加分支、循環或檢查點。

以下是一些擴展教程的想法:

  • 添加一個檢索步驟(例如,在摘要之前獲取背景信息)。
  • 添加一個評分或評估節點以檢查摘要質量。
  • 使用檢查點以從失敗的節點恢復。
  • 使用 LangServe 部署工作流。

結論

LangGraph 代表了 AI 開發者工作流設計的下一代——將 Python 的簡單性與結構化的編排相結合。

通過結合 LangChain 的構建模塊和 LangGraph 的狀態管理,你可以從臨時的 LLM 調用轉向可靠的、生產級別的管道——全部用純 Python 實現。

本文轉載自??PyTorch研習社??,作者:AI研究生

已于2025-10-23 07:49:43修改
收藏
回復
舉報
回復
相關推薦
欧美理论影院| 人妻无码中文字幕| 亚洲最大av| 日韩欧美一区中文| 丰满少妇久久久| 国产三区四区在线观看| 久久国产精品99精品国产| 欧美成人中文字幕| 菠萝菠萝蜜网站| 日韩欧美一区二区三区在线观看| 国产精品理论片| 99在线国产| 日韩精品成人免费观看视频| 国产精品成人a在线观看| 欧美mv日韩mv国产| 免费在线观看的毛片| 在线免费观看污| av毛片久久久久**hd| 国产精品视频网址| www.99re7.com| 日韩精品水蜜桃| 亚洲第一福利在线观看| 国产精品69页| 日本动漫同人动漫在线观看| 久久久精品免费观看| 亚洲自拍偷拍第一页| 黄色片中文字幕| 欧美91福利在线观看| 国产婷婷色综合av蜜臀av| 成人亚洲免费视频| 国模套图日韩精品一区二区| 亚洲欧美日韩系列| 欧美在线一区二区三区四区| 国产女无套免费视频| 久久久久久久波多野高潮日日| 超碰91人人草人人干| 中文字幕免费视频| 国产精品久久久久av蜜臀| 欧美精品三级日韩久久| 那种视频在线观看| 1区2区在线| 亚洲精品自拍动漫在线| 亚洲成人自拍| 精品99又大又爽又硬少妇毛片| 国产91露脸合集magnet| 91精品综合视频| 国产91av在线播放| 亚洲欧美视频| 555www成人网| 日本中文字幕免费观看| 欧美理论在线| 久热精品视频在线免费观看| 麻豆精品免费视频| 日韩精选在线| 日韩精品在线视频观看| 精品人妻一区二区三区日产| 色播一区二区| 日韩欧美在线网站| 久久精品国产99久久99久久久| 九七电影院97理论片久久tvb| 日本久久精品电影| 国产日产欧美视频| 亚洲三级欧美| 一本大道久久a久久综合婷婷| 亚洲 欧美 日韩 国产综合 在线 | 国产一区二区三区在线视频| 精品人妻一区二区三区日产乱码卜| 成人香蕉社区| 亚洲成av人乱码色午夜| 日本性生活一级片| 狠狠久久伊人| 国产视频欧美视频| 91久久免费视频| 成人综合一区| 精品国产自在精品国产浪潮 | 免费一级在线观看播放网址| 91蜜桃免费观看视频| 欧美国产一区二区在线| 欧美日本韩国一区二区| 国产欧美一区视频| 制服丝袜综合日韩欧美| 99视频免费在线观看| 亚洲国产成人高清精品| 无码中文字幕色专区| 另类激情视频| 欧美精品成人一区二区三区四区| 波多野结衣免费观看| 粉嫩精品导航导航| 一个色综合导航| 极品魔鬼身材女神啪啪精品| 国产一区欧美| 国产成人aa精品一区在线播放| 亚洲午夜精品久久久| 国产精品88av| 欧美一区免费视频| gogo在线观看| 欧美性猛xxx| 做a视频在线观看| 精品国产一区二区三区不卡蜜臂| 国产视频精品va久久久久久| 日韩在线视频免费看| 韩国欧美一区| 国产精品久久久久久久久借妻 | 免费中文字幕视频| 日韩精品每日更新| 91在线短视频| 国产精品麻豆一区二区三区 | 日韩a∨精品日韩在线观看| 日韩av免费| 精品国产伦一区二区三区观看体验 | 国产成人免费av一区二区午夜| 日韩精品一区二区在线| 自拍偷拍视频亚洲| 黄色免费成人| 国产日产欧美a一级在线| 亚洲av综合色区无码一二三区| 久久久国产精品不卡| www.18av.com| 免费视频成人| 亚洲人成在线免费观看| 久久精品www| 久色婷婷小香蕉久久| 久久五月天婷婷| 亚洲电影视频在线| 欧美日韩视频在线一区二区| av黄色一级片| 欧美视频福利| 91精品在线看| 日本在线免费网| 欧美中文字幕久久| 亚洲av无码成人精品国产| 欧美日韩视频| 亚洲影院污污.| 午夜视频在线观看网站| 色成年激情久久综合| 中文视频在线观看| 日韩影院二区| 国产精品久久久久久搜索| 特黄视频在线观看| 亚洲国产精品久久久久婷婷884| 激情文学亚洲色图| 久久精品国产www456c0m| 青青在线视频一区二区三区 | 亚洲午夜未删减在线观看 | 国内老司机av在线| 91精品国产91热久久久做人人| 亚洲a v网站| 午夜在线视频观看日韩17c| 国产伦精品一区二区三| 在线黄色网页| 欧美成人伊人久久综合网| 久艹在线观看视频| 激情综合色综合久久综合| 亚洲日本精品一区| 日本亚洲欧洲无免费码在线| 中文综合在线观看| 亚洲一级av毛片| 中文字幕在线观看一区| 激情五月俺来也| 国产精品成人一区二区不卡| 成人午夜在线视频一区| a级影片在线| 欧美电视剧在线看免费| 日本少妇激情舌吻| 91麻豆视频网站| 国产偷人视频免费| 精品一区二区三| 国产精品自拍偷拍| 中文字幕在线播放网址| 精品国产一区久久| 91美女免费看| 国产丝袜在线精品| 孩娇小videos精品| 亚洲色图88| 国产成人精品一区二区三区福利| 成人影院在线播放| 国产视频亚洲精品| 亚洲天堂网视频| 一区二区三区鲁丝不卡| yy1111111| 日韩vs国产vs欧美| 中文字幕第50页| 久久影院资源站| 国产精品成人一区二区三区吃奶| 嫩草香蕉在线91一二三区| 日韩亚洲欧美在线| 欧美精品一二三四区| 国产精品色在线观看| 中文字幕第10页| av不卡免费看| 亚洲春色在线视频| 日本精品一区二区三区在线观看视频| 97成人精品区在线播放| 在线播放毛片| 欧美精品一区二区三区很污很色的 | 亚洲一区二区三区乱码aⅴ蜜桃女| 色yeye免费人成网站在线观看| 日韩av资源在线播放| 中文字幕a级片| 亚洲一区二区三区在线看| 亚洲av无码一区二区三区人| 国产一区二区三区在线观看精品| 日日碰狠狠添天天爽超碰97| 久久亚洲精品中文字幕蜜潮电影| 波多野结衣成人在线| 欧洲精品一区二区三区| 欧美福利小视频| 99青草视频在线播放视| 亚洲第一视频网| 国产又粗又猛又黄又爽| 欧美午夜xxx| 黄色一级视频免费观看| 国产日韩精品一区| www.17c.com喷水少妇| 麻豆久久久久久| 久久9精品区-无套内射无码| 欧美精品综合| av不卡在线免费观看| 国产精品一国产精品| 成人高清在线观看| 亚洲一区av| 国产精品7m视频| 美女搞黄视频在线观看| 久久亚洲精品中文字幕冲田杏梨| 国产最新视频在线| 亚洲国产精品热久久| www.久久成人| 欧美精品久久久久久久多人混战| 中文字幕手机在线视频| 五月天一区二区| 久久久久久天堂| 亚洲欧美另类在线| 国产一区第一页| 亚洲国产成人在线| 欧美大波大乳巨大乳| 99精品国产视频| 亚洲啪av永久无码精品放毛片 | 亚洲第一视频网站| 超碰福利在线观看| 91精品国产综合久久国产大片| 亚洲成人av网址| 色狠狠一区二区| 在线免费观看av网址| 欧美日韩一区二区免费在线观看| 日本熟女一区二区| 午夜婷婷国产麻豆精品| 久久精品视频日本| 亚洲午夜久久久久久久久电影院| 国产女人被狂躁到高潮小说| 亚洲欧美一区二区三区极速播放 | 亚洲免费资源在线播放| 精品少妇一区二区三区密爱| 国产精品五月天| 国产精品视频在| 国产精品乱人伦| 天海翼在线视频| 日韩毛片高清在线播放| 51精品免费网站| 亚洲欧美区自拍先锋| 国产女人被狂躁到高潮小说| 一个色妞综合视频在线观看| 久青草视频在线观看| 亚洲高清免费一级二级三级| 日韩美女黄色片| 日韩欧美高清在线视频| 国产99免费视频| 欧美日韩精品一区二区三区| 国产一区二区三区中文字幕| 91精品国产91热久久久做人人| 精品久久久久久亚洲综合网站| 精品日韩在线一区| 污视频软件在线观看| 亚洲色图25p| 在线观看a视频| 欧美激情xxxx性bbbb| 91精品国产黑色瑜伽裤| 国产91精品视频在线观看| 韩国女主播一区二区| 亚洲free嫩bbb| 日韩影视在线观看| 香蕉精品视频在线| 影音先锋久久久| 亚洲欧美另类动漫| 国产乱淫av一区二区三区| 妖精视频一区二区| 欧美经典一区二区| 69av视频在线| 91国产视频在线观看| 国产男女无套免费网站| 日韩大陆毛片av| 91在线不卡| 国内精品模特av私拍在线观看| 日韩高清成人| 成人黄色在线免费观看| 国产精品一区二区三区av麻 | 亚洲免费影视| 一级网站在线观看| 国产亚洲精久久久久久| 日本精品人妻无码77777| 欧美性色视频在线| 99精品人妻无码专区在线视频区| 亚洲精品成人久久| 久久99精品久久| 91av视频在线免费观看| 国产美女视频一区二区| 视频一区二区精品| 亚洲国内欧美| 韩国三级hd中文字幕有哪些| 国产婷婷一区二区| 国产成人愉拍精品久久| 欧美精品99久久久**| 九色网友自拍视频手机在线| 欧美久久精品一级黑人c片| 成人看片网页| 久久婷婷开心| 欧美精品一级| 自拍偷拍21p| 91麻豆蜜桃一区二区三区| 你懂得在线观看| 欧美综合久久久| 中文字幕码精品视频网站| 亚洲精品美女在线| 欧美激情二区| 国产精品久久久久久久久影视| 国产96在线亚洲| 色一情一区二区三区四区| 国产亚洲精品久久久久婷婷瑜伽| 国产精品自在自线| 亚洲国产激情av| 日本韩国欧美中文字幕| 欧美美女视频在线观看| 男男激情在线| 久久久久久有精品国产| 亚洲精品观看| 爱爱爱视频网站| 国内精品免费**视频| 国产精品密蕾丝袜| 天天影视涩香欲综合网| 日本激情视频网站| 欧美大尺度在线观看| 成人在线分类| 台湾成人av| 免费观看在线综合色| 日本高清www| 色天使色偷偷av一区二区| 隣の若妻さん波多野结衣| 欧美日韩福利电影| 麻豆视频久久| 二级片在线观看| 国产精品中文字幕日韩精品| 日本精品在线免费观看| 欧美夫妻性生活| 蜜芽在线免费观看| 97在线免费视频| 亚洲v天堂v手机在线| 国产在线精品91| 91视频观看免费| 免费观看成人毛片| 国产亚洲一区二区在线| 在线日韩影院| 欧美精品与人动性物交免费看| 美女日韩在线中文字幕| 青青草视频成人| 91福利视频久久久久| 人操人视频在线观看| 久久乐国产精品| 欧美人体视频| av动漫免费看| 中文字幕+乱码+中文字幕一区| 日韩国产亚洲欧美| 俺去了亚洲欧美日韩| 国产精品亚洲综合在线观看| 国产xxxx振车| 91天堂素人约啪| 国产成人综合欧美精品久久| 国产亚洲成精品久久| 精品国产美女a久久9999| 久久国产精品免费观看| 国产乱色国产精品免费视频| 国产精品成人久久| 亚洲国产成人在线视频| www在线观看黄色| 欧美日韩精品不卡| 免费国产亚洲视频| 国产性生活网站| 精品亚洲国产成av人片传媒| 99久久久国产精品免费调教网站| 亚洲图片都市激情| 国产制服丝袜一区| 久久精品99久久久久久| 日韩视频免费直播| 欧美极品影院| 精品少妇人妻av一区二区| av日韩在线网站| 波多野结衣一区二区三区在线| 欧美老女人性生活| 日韩精品欧美大片| 欧美日韩久久婷婷| 精品日本高清在线播放| 麻豆tv免费在线观看|