Граф и состояния агента
Вам поручено создать базового чат-бота для приложения школьного образования. Школа хочет использовать в качестве языковой модели одну из версий ChatGPT от OpenAI. Вы решили эффективно решить эту задачу с помощью 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какAnnotated-список, используя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 = ____(____)