グラフとエージェントの状態
あなたは高校向け学習アプリ内で質問に答える基本的なチャットボットの作成を依頼されています。学校側は、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を用いて、messagesをAnnotatedなlistとして指定します。- チャットボットのワークフローを構造化するため、
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 = ____(____)