開始使用免費開始

圖形與代理狀態

你受託為一款高中教育 App 製作一個能回答問題的基本聊天機器人。學校希望你使用 OpenAI 的 ChatGPT 版本作為其 LLM。你評估後決定用 LangGraph 以節點方式建立一個聊天機器人代理,以更有效率地完成這項工作。首先,你會定義一個代理的 State() 來儲存代理資料,並設定一個 StateGraph() 物件來管理代理的工作流程。

本題與後續練習所需的模組都已匯入:

from langchain_openai import ChatOpenAI
from typing import Annotated
from typing_extensions import TypedDict
from langgraph.graph import StateGraph, START, END
from langgraph.graph.message import add_messages

本練習屬於課程

Designing Agentic Systems with LangChain

檢視課程

練習說明

  • 使用 ChatOpenAI() 與模型 "gpt-4o-mini" 來設定 llm
  • 使用 TypedDict 定義 State 類別以管理聊天機器人的資料。
  • 使用 add_messagesmessages 指定為 Annotatedlist
  • State 初始化一個 StateGraph 執行個體,來規劃聊天機器人的工作流程。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# Define the llm
llm = ____(model="____", api_key="OPENAI_API_KEY")

# Define the State
class State(____):
    
    # Define messages with metadata
    messages: ____[____, ____]

# Initialize StateGraph
graph_builder = ____(____)
編輯並執行程式碼