Graf i stany agenta
Masz za zadanie zbudować prostego chatbota, który będzie odpowiadał na pytania w aplikacji edukacyjnej dla uczniów szkół średnich. Szkoła chce, aby chatbot korzystał z modelu ChatGPT firmy OpenAI jako LLM. Postanowiłeś zrealizować to zadanie efektywnie przy użyciu LangGraph – zbudujesz agenta chatbota opartego na węzłach. Na początek zdefiniujesz stan agenta State(), który będzie przechowywał jego dane, oraz skonfigurujesz obiekt StateGraph() do zarządzania przepływem pracy agenta.
Wymagane moduły zostały już zaimportowane na potrzeby tego ćwiczenia i kolejnych:
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
To ćwiczenie jest częścią kursu
Projektowanie systemów agentowych z LangChain
Instrukcje do ćwiczenia
- Skonfiguruj
llm, używającChatOpenAI()z modelem"gpt-4o-mini". - Zdefiniuj klasę
Stateprzy użyciuTypedDict, aby zarządzać danymi chatbota. - Określ
messagesjako listęAnnotatedz użyciemadd_messages. - Zainicjalizuj instancję
StateGraphz parametremState, aby zdefiniować przepływ pracy chatbota.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Define the llm
llm = ____(model="____", api_key="OPENAI_API_KEY")
# Define the State
class State(____):
# Define messages with metadata
messages: ____[____, ____]
# Initialize StateGraph
graph_builder = ____(____)