精品欧美一区二区三区在线观看 _久久久久国色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修改
收藏
回復
舉報
回復
相關推薦
欧美精品影院| 91福利在线视频| 伊人精品成人久久综合软件| 欧美精品一区在线观看| 国产黄色片免费在线观看| 91麻豆成人精品国产| 欧美激情日韩| 精品亚洲一区二区三区在线播放 | 国产精品日韩在线观看| 曰本女人与公拘交酡| 国产一区二区三区不卡av| 欧美性猛交xxxx乱大交3| 亚洲图片在线观看| 少妇高潮一区二区三区69| 秋霞电影网一区二区| 欧美xxxx18性欧美| caopeng视频| 精品精品视频| 欧美三电影在线| 99热自拍偷拍| a在线免费观看| 久久亚洲免费视频| 国产精品久久久久久久天堂第1集 国产精品久久久久久久免费大片 国产精品久久久久久久久婷婷 | 一本色道久久综合亚洲精品不卡| 在线精品国产欧美| 中文字幕一区二区人妻电影丶| 精品三区视频| 午夜欧美一区二区三区在线播放| 婷婷久久伊人| 无码国产色欲xxxx视频| 黄网站免费久久| 日韩av理论片| 日韩欧美中文字幕一区二区| 午夜精品视频一区二区三区在线看| 亚洲精品短视频| 国产成人精品一区二区在线小狼| 日本在线视频一区二区| 丰满岳妇乱一区二区三区| 日韩中文在线字幕| 在线a免费看| 久久久另类综合| 精品国产一区二区三区四区vr| 国产精品美女一区| 日韩制服丝袜av| 久久久亚洲影院| 国产大学生自拍| 中文字幕日韩一区二区不卡| 中文字幕亚洲综合久久筱田步美| 国产精品1000部啪视频| 国产伦乱精品| 欧美精品一区二区三区很污很色的 | 国产写真视频在线观看| 国产三级精品三级| 欧美一级二级三级| 日本一区二区三区在线观看视频| 粉嫩高潮美女一区二区三区| av成人综合网| 99免费在线视频| 国产麻豆欧美日韩一区| 成人午夜在线影院| 国产三级小视频| 国产精品一区免费视频| 91在线观看免费| 国产美女三级无套内谢| 国产原创一区二区| 亚洲free嫩bbb| 亚洲第一色视频| 成人av影院在线| 蜜桃视频成人| 国产一区二区三区福利| 国产蜜臀av在线一区二区三区| 日韩精品一区二区三区外面 | 精品国产美女在线| 999精品在线视频| 一区二区三区在线电影| 欧美乱妇高清无乱码| 久久久久久久9999| 99在线|亚洲一区二区| 欧美性一区二区三区| 欧美性猛交bbbbb精品| 久久久久国内| 国产欧美日韩最新| www.热久久| 97se亚洲国产综合自在线不卡| 久久大香伊蕉在人线观看热2| 国产在线色视频| 国产精品美女久久久久久| 99亚洲精品视频| 黑人极品ⅴideos精品欧美棵| 欧美日韩国产中字| 欧美三级理论片| 国产在线一区不卡| 欧美成人国产一区二区| 人妻无码中文久久久久专区| 国产尤物久久久| 久久精品成人欧美大片古装| 久久精品美女视频| 日韩制服丝袜先锋影音| 91黄色精品| 水莓100在线视频| 一区免费观看视频| 国产在线精品91| 日韩伦理一区二区| 亚洲精品国产精品久久清纯直播| 日韩不卡av在线| 合欧美一区二区三区| 国产mv免费观看入口亚洲| 一区二区三区亚洲视频| 91一区二区在线| 国产麻豆电影在线观看| 小早川怜子影音先锋在线观看| 欧美亚洲愉拍一区二区| 中文字幕在线永久| 午夜精品毛片| 国产成人久久久| 亚洲成人av综合| 国产精品理伦片| 国产精品免费入口| 精品国产乱码一区二区三区| 亚洲欧美激情另类校园| 免费在线观看av网址| 美女网站在线免费欧美精品| 好吊色欧美一区二区三区四区| 97电影在线观看| 调教+趴+乳夹+国产+精品| 国产精品久久久久久9999| 国产剧情在线观看一区| 国内精品久久久久影院 日本资源 国内精品久久久久伊人av | 欧美激情国内自拍| 国产成人手机高清在线观看网站| 精品综合久久久久久97| 一级黄色短视频| 国产视频一区二区在线| 国产视频九色蝌蚪| 精品按摩偷拍| 欧美国产日韩免费| 国产视频一区二区三| 国产精品天干天干在观线| 免费在线观看日韩视频| 欧美a一欧美| 欧美精品久久久久a| 国产乱叫456在线| 国产精品久久久99| 高清一区二区视频| 国产精品手机在线播放| 欧美在线视频a| 亚洲人在线观看视频| 亚洲成人在线观看视频| 不许穿内裤随时挨c调教h苏绵| 91精品国产乱码久久久久久久| 国产在线观看不卡| 人人干在线视频| 欧美日韩dvd在线观看| 三级黄色录像视频| 麻豆成人久久精品二区三区小说| 四虎永久在线精品免费一区二区| 都市激情亚洲一区| 亚洲一区第一页| 在线观看国产区| 国产精品日日摸夜夜摸av| 国产九九在线视频| 91蜜臀精品国产自偷在线| 国产欧美在线视频| av观看在线| 亚洲精品在线三区| 久久久久女人精品毛片九一| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 午夜不卡在线视频| 变态另类丨国产精品| 亚洲永久视频| 日韩av电影免费播放| 全球最大av网站久久| 日韩亚洲一区二区| 99热这里只有精品1| 亚洲成a人在线观看| 特大黑人巨人吊xxxx| 老司机精品导航| 亚洲欧美电影在线观看| 黄色av电影在线播放| 你懂的国产精品| 91网站免费观看| 色www永久免费视频首页在线| 日韩一区二区在线观看视频播放| 久久国产免费观看| 91在线免费播放| 国产偷人视频免费| 日本久久精品| 99精品99久久久久久宅男| 阿v视频在线| 中文字幕日韩欧美| 性生活视频软件| 色诱视频网站一区| 午夜国产福利一区二区| 99精品久久99久久久久| 最新中文字幕免费视频| 国产精品hd| 日本一区免费观看| 日韩免费精品| 国产精品久久久久久搜索| yellow91字幕网在线| 日韩精品免费在线播放| 91国在线视频| 精品国产乱码久久久久久婷婷| 性爱在线免费视频| 99久久久久久99| 污污的视频免费| 夜夜夜久久久| 日韩不卡视频一区二区| 国产探花一区二区| 国产伦精品一区二区三区照片| 97久久网站| 欧美一级电影免费在线观看| 毛片在线不卡| 亚洲三级 欧美三级| 亚洲国产综合网| 91精品久久久久久久99蜜桃| 五月天婷婷激情| 亚洲一级二级在线| 神马久久精品综合| 国产色产综合色产在线视频| a级片在线观看视频| 精品一区二区久久久| 亚洲熟妇国产熟妇肥婆| 午夜精品久久| 一区二区三区av| 蜜桃一区二区三区| 国产伦视频一区二区三区| 亚洲精品三区| 国产精品自拍小视频| 欧美xx视频| 羞羞色国产精品| 国产精品一品| 欧美精品情趣视频| 免费在线视频欧美| 中文字幕一区二区三区电影| 内衣办公室在线| 亚洲精品视频播放| 亚洲人成色777777精品音频| 亚洲成avwww人| 亚洲精品久久久久avwww潮水| 91麻豆精品国产91久久久使用方法| 伊人成年综合网| 日韩欧美a级成人黄色| 天天做天天爱夜夜爽| 亚洲va欧美va国产va天堂影院| 538精品在线视频| 成人免费在线观看入口| 国产男女猛烈无遮挡在线喷水| 国产欧美一区二区三区网站| 日本一级免费视频| 久久久99精品久久| 色一情一交一乱一区二区三区| 2017欧美狠狠色| 欧美成人午夜精品免费| 久久精品视频在线看| 亚洲区免费视频| 国产午夜一区二区三区| 91成人精品一区二区| 国产精品麻豆久久久| 日本裸体美女视频| 亚洲欧美另类小说| 免费毛片在线播放免费| 亚洲午夜精品久久久久久久久| 免费在线观看亚洲| 图片区日韩欧美亚洲| 国产成人综合欧美精品久久| 好吊成人免视频| 久久久久精彩视频| 欧美美女视频在线观看| 精品黑人一区二区三区国语馆| 日韩免费在线观看| 香蕉国产在线视频| 亚洲欧洲激情在线| 黄网页免费在线观看| 欧美激情18p| 中文字幕人成乱码在线观看| 国产精品国产亚洲伊人久久| 91精品麻豆| 国产日韩精品推荐| 国产亚洲一卡2卡3卡4卡新区| 亚洲一区二区三区色| 午夜精品久久| 黄色a级片免费| 激情综合色综合久久| 911亚洲精选| 久久九九国产精品| 国产精品 欧美激情| 精品动漫一区二区| 一级黄色免费片| 精品裸体舞一区二区三区| 久蕉在线视频| 久久高清视频免费| 都市激情亚洲一区| 亚洲www在线观看| 天天做夜夜做人人爱精品 | 一区二区三区欧洲区| 精品蜜桃传媒| 91青青国产在线观看精品| 免费网站永久免费观看| 久久蜜桃精品| 四虎国产精品永久免费观看视频| 99视频一区二区三区| 999久久久国产| 图片区小说区区亚洲影院| 91精品视频免费在线观看| 精品国产乱码久久久久久1区2区| 岛国视频免费在线观看| 欧美激情一级欧美精品| 99久久精品一区二区成人| 国产精品美女黄网| 91日韩免费| 国产av人人夜夜澡人人爽| 福利电影一区二区三区| 国产精品麻豆免费版现看视频| 亚洲mv大片欧洲mv大片精品| 亚洲手机在线观看| 亚洲级视频在线观看免费1级| 免费网站成人| 国产精品电影网站| 神马日本精品| 成人黄色大片网站| 国产一区二区三区观看| 天天操天天舔天天射| 粉嫩av一区二区三区免费野| 草逼视频免费看| 日韩视频在线一区| 欧美中文字幕精在线不卡| 国产区二精品视| 午夜日韩视频| 欧美视频亚洲图片| 国产精品人成在线观看免费| 丰满少妇xoxoxo视频| 亚洲电影在线观看| 欧美xxx黑人xxx水蜜桃| 亚洲va久久久噜噜噜| 成人av动漫在线观看| 99久久激情视频| 久久久亚洲高清| 精品欧美一区二区三区免费观看 | 国产精品久久久久国产a级| 天天做夜夜做人人爱精品 | 日韩国产在线一| 性色av蜜臀av色欲av| 午夜婷婷国产麻豆精品| 色婷婷av一区二区三区之红樱桃| 欧美精品激情视频| 亚洲综合影院| 国产a级黄色大片| 精彩视频一区二区| 国产福利视频网站| 7777精品伊人久久久大香线蕉经典版下载 | 日韩午夜视频在线观看| 久久精品日韩欧美| 能免费看av的网站| 欧美午夜在线观看| av在线播放网站| 成人黄色短视频在线观看| 91久久夜色精品国产按摩| 日日干日日操日日射| 亚洲欧美日韩电影| 亚洲va天堂va欧美ⅴa在线| 精品中文字幕在线2019| 国产精品chinese在线观看| 僵尸世界大战2 在线播放| 99精品1区2区| 黄色av网站免费| 日韩中文在线视频| 精品午夜av| 男女视频网站在线观看| 久久久精品黄色| 91成人国产综合久久精品| 久久中文字幕视频| 风间由美中文字幕在线看视频国产欧美| 久久久性生活视频| 久久精品欧美一区二区三区不卡| 无码任你躁久久久久久久| xxxxx成人.com| 91精品入口| 成年人黄色片视频| 亚洲欧洲性图库| 好吊视频一区二区三区| 日韩美女在线观看一区| 欧美超碰在线| 久草视频福利在线| 在线免费观看日本欧美| 在线网址91| 欧美日本韩国一区二区三区| 激情综合色综合久久综合| 久久夜靖品2区| 在线亚洲午夜片av大片| 在线观看视频一区二区三区| 男人的天堂99| 亚洲精品国产一区二区精华液| 亚洲欧美日韩动漫| 国产在线98福利播放视频| 亚洲免费播放| 亚欧精品视频一区二区三区| 欧美精品一区二区精品网| 国产极品一区| 免费一级特黄特色毛片久久看|