그래프와 에이전트 상태
여러분은 고등학교 교육 앱에서 질문에 답하는 기본 챗봇을 만들도록 의뢰받았어요. 학교 측은 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를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 = ____(____)