Стани графа та агента
Вам доручили створити базового чат-бота, який відповідатиме на запитання в освітньому застосунку для школи. Школа хоче, щоб ви використали версію ChatGPT від OpenAI як 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
Ця вправа є частиною курсу
Проєктування агентних систем з LangChain
Інструкції до вправи
- Налаштуйте
llmза допомогоюChatOpenAI()і моделі"gpt-4o-mini". - Визначте клас
State, використовуючиTypedDict, щоб керувати даними чат-бота. - Задайте
messagesякAnnotatedlist, використовуючиadd_messages. - Ініціалізуйте екземпляр
StateGraphізState, щоб структуризувати робочий процес чат-бота.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Define the llm
llm = ____(model="____", api_key="OPENAI_API_KEY")
# Define the State
class State(____):
# Define messages with metadata
messages: ____[____, ____]
# Initialize StateGraph
graph_builder = ____(____)