始める無料で始める

グラフとエージェントの状態

あなたは高校向け学習アプリ内で質問に答える基本的なチャットボットの作成を依頼されています。学校側は、LLM として OpenAI の ChatGPT のバージョンを使ってほしいと考えています。あなたは、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

この演習はコースの一部です

LangChainで設計するエージェント型システム

コースを見る

演習の手順

  • ChatOpenAI() とモデル "gpt-4o-mini" を使って llm をセットアップします。
  • チャットボットのデータを管理するため、TypedDict を使って State クラスを定義します。
  • add_messages を用いて、messagesAnnotatedlist として指定します。
  • チャットボットのワークフローを構造化するため、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 = ____(____)
コードを編集して実行