Grafen bouwen voor chatbots

Agentic Systems ontwerpen met LangChain

Dilini K. Sumanapala, PhD

Founder & AI Engineer, Genverv, Ltd.

Chatbots met LangGraph

Kop van chatbot

 

  • Aangepaste agents met LangGraph

     
    • Workflowbeheer
      • Grafenstatussen
      • Agentstatussen
    • Chatbot bouwen
      • Nodes
      • Edges
Agentic Systems ontwerpen met LangChain

Grafen- en agentstatussen

LangGraph-pictogram

   

Grafenstatus

  • Organiseert verschillende taken
    • Toolgebruik
    • LLM-calls
  • Volgorde van taken = workflow

Agentstatus

  • Volgt voortgang van de agent
  • Logt taakafronding
Agentic Systems ontwerpen met LangChain

Een agent bouwen met LangGraph

Mensen die lezen, zittend op grote boeken.

Vergrootglas dat informatie voorstelt.

Agentic Systems ontwerpen met LangChain

Nodes en edges

Chatbotdiagram.

   

Nodes

  • Functies of acties
    • Antwoord
    • Toolaanroep

Edges

  • Regels die nodes verbinden
Agentic Systems ontwerpen met LangChain

Nodes en edges

Chatbotdiagram met eerste edge gemarkeerd.

   

Nodes

  • Taken of acties
    • Antwoord
    • Toolaanroep

Edges

  • Regels die nodes verbinden
Agentic Systems ontwerpen met LangChain

Nodes en edges

Chatbotdiagram met tweede edge gemarkeerd.

   

Nodes

  • Taken of acties
    • Antwoord
    • Toolaanroep

Edges

  • Regels die nodes verbinden
Agentic Systems ontwerpen met LangChain

Nodes en edges

Volledig chatbotdiagram gemarkeerd.

   

Nodes

  • Taken of acties
    • Antwoord
    • Toolaanroep

Edges

  • Regels die nodes verbinden

Voorgebouwde nodes

START- en END-nodes van LangGraph

Agentic Systems ontwerpen met LangChain

Grafen- en agentstatussen opzetten

# Modules voor tekststructuur
from typing import Annotated
from typing_extensions import TypedDict


# LangGraph-modules voor grafen from langgraph.graph import StateGraph, START, END from langgraph.graph.message import add_messages
# Module voor OpenAI-instelling from langchain_openai import ChatOpenAI
Agentic Systems ontwerpen met LangChain

Grafen- en agentstatussen opzetten

# Definieer de llm
llm = ChatOpenAI(model="gpt-4o-mini", api_key="OPENAI_API_KEY")


# Definieer de State class State(TypedDict):
# Definieer berichten met metadata messages: Annotated[list, add_messages]
# Initialiseer StateGraph graph_builder = StateGraph(State)
Agentic Systems ontwerpen met LangChain

Nodes en edges toevoegen

# Definieer chatbotfunctie die
# met het model antwoordt
def chatbot(state: State):
    return {"messages": 
    [llm.invoke(state["messages"])]}


# Voeg chatbotnode toe aan de graaf graph_builder.add_node("chatbot", chatbot)

Chatbotnode.

Agentic Systems ontwerpen met LangChain

Nodes en edges toevoegen

# Definieer het begin en einde van de
# conversatiestroom
graph_builder.add_edge(START, "chatbot")
graph_builder.add_edge("chatbot", END)


# Compileer de graaf ter voorbereiding # op uitvoering graph = graph_builder.compile()

Chatbotdiagram.

Agentic Systems ontwerpen met LangChain

Laten we oefenen!

Agentic Systems ontwerpen met LangChain

Preparing Video For Download...