Graph- und Agenten-States
Du wurdest beauftragt, einen einfachen Chatbot zu erstellen, der Fragen innerhalb einer Schul-App für die Oberstufe beantworten kann. Die Schule möchte, dass du eine Version von ChatGPT von OpenAI als LLM verwendest. Du hast entschieden, dass du diese Aufgabe effizient mit LangGraph lösen kannst, indem du einen Chatbot-Agenten mit Nodes aufbaust. Zuerst definierst du einen Agenten-State(), um die Daten des Agenten zu speichern, und richtest ein StateGraph()-Objekt ein, um den Workflow des Agenten zu steuern.
Die benötigten Module wurden für diese und die folgenden Übungen bereits importiert:
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
Diese Übung ist Teil des Kurses
Agentische Systeme mit LangChain entwerfen
Anleitung zur Übung
- Richte das
llmmitChatOpenAI()und dem Modell"gpt-4o-mini"ein. - Definiere die Klasse
StatemitTypedDict, um die Daten des Chatbots zu verwalten. - Gib
messagesalsAnnotated-listunter Verwendung vonadd_messagesan. - Initialisiere eine
StateGraph-Instanz mitState, um den Workflow des Chatbots zu strukturieren.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Define the llm
llm = ____(model="____", api_key="OPENAI_API_KEY")
# Define the State
class State(____):
# Define messages with metadata
messages: ____[____, ____]
# Initialize StateGraph
graph_builder = ____(____)