Graph และ Agent State
คุณได้รับมอบหมายให้สร้างแชทบอตพื้นฐานสำหรับตอบคำถามในแอปการศึกษาระดับมัธยมศึกษา ทางโรงเรียนต้องการใช้ ChatGPT จาก OpenAI เป็น LLM คุณตัดสินใจใช้ LangGraph ในการสร้าง chatbot agent โดยใช้ node เพื่อจัดการงานนี้อย่างมีประสิทธิภาพ ขั้นแรก ให้กำหนด State() เพื่อจัดเก็บข้อมูลของ agent และตั้งค่าออบเจกต์ StateGraph() เพื่อจัดการ workflow ของ agent
โมดูลที่จำเป็นได้ถูก import ไว้แล้วสำหรับแบบฝึกหัดนี้และแบบฝึกหัดถัดไป:
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
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การออกแบบระบบ Agentic ด้วย LangChain
คำแนะนำการฝึกหัด
- ตั้งค่า
llmโดยใช้ChatOpenAI()กับโมเดล"gpt-4o-mini" - กำหนดคลาส
Stateโดยใช้TypedDictเพื่อจัดการข้อมูลของแชทบอต - ระบุ
messagesเป็นAnnotatedlistโดยใช้add_messages - สร้างอินสแตนซ์
StateGraphโดยส่งStateเข้าไปเพื่อกำหนดโครงสร้าง workflow ของแชทบอต
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Define the llm
llm = ____(model="____", api_key="OPENAI_API_KEY")
# Define the State
class State(____):
# Define messages with metadata
messages: ____[____, ____]
# Initialize StateGraph
graph_builder = ____(____)