Graphen für Chatbots erstellen

Agentische Systeme mit LangChain entwerfen

Dilini K. Sumanapala, PhD

Founder & AI Engineer, Genverv, Ltd.

Chatbots mit LangGraph

Kopf eines Chatbots

 

  • Eigene Agents mit LangGraph

     
    • Workflow-Management
      • Graph-Zustände
      • Agent-Zustände
    • Chatbot-Aufbau
      • Knoten
      • Kanten
Agentische Systeme mit LangChain entwerfen

Graph- und Agent-Zustände

LangGraph-Symbol

   

Graph-Zustand

  • Organisiert verschiedene Aufgaben
    • Tool-Nutzung
    • LLM-Aufrufe
  • Reihenfolge der Aufgaben = Workflow

Agent-Zustand

  • Verfolgt den Fortschritt des Agents
  • Protokolliert abgeschlossene Aufgaben
Agentische Systeme mit LangChain entwerfen

Einen Agent mit LangGraph bauen

Menschen lesen, sitzend auf großen Büchern.

Lupe als Symbol für Informationen.

Agentische Systeme mit LangChain entwerfen

Knoten und Kanten

Chatbot-Diagramm.

   

Knoten

  • Funktionen oder Aktionen
    • Antwort
    • Tool-Aufruf

Kanten

  • Regeln, die Knoten verbinden
Agentische Systeme mit LangChain entwerfen

Knoten und Kanten

Chatbot-Diagramm mit erster Kante markiert.

   

Knoten

  • Aufgaben oder Aktionen
    • Antwort
    • Tool-Aufruf

Kanten

  • Regeln, die Knoten verbinden
Agentische Systeme mit LangChain entwerfen

Knoten und Kanten

Chatbot-Diagramm mit zweiter Kante markiert.

   

Knoten

  • Aufgaben oder Aktionen
    • Antwort
    • Tool-Aufruf

Kanten

  • Regeln, die Knoten verbinden
Agentische Systeme mit LangChain entwerfen

Knoten und Kanten

Vollständiges Chatbot-Diagramm markiert.

   

Knoten

  • Aufgaben oder Aktionen
    • Antwort
    • Tool-Aufruf

Kanten

  • Regeln, die Knoten verbinden

Vorgefertigte Knoten

START- und END-Knoten von LangGraph

Agentische Systeme mit LangChain entwerfen

Graph- und Agent-Zustände erstellen

# Modules for structuring text
from typing import Annotated
from typing_extensions import TypedDict


# LangGraph modules for defining graphs from langgraph.graph import StateGraph, START, END from langgraph.graph.message import add_messages
# Module for setting up OpenAI from langchain_openai import ChatOpenAI
Agentische Systeme mit LangChain entwerfen

Graph- und Agent-Zustände erstellen

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


# Define the State class State(TypedDict):
# Define messages with metadata messages: Annotated[list, add_messages]
# Initialize StateGraph graph_builder = StateGraph(State)
Agentische Systeme mit LangChain entwerfen

Knoten und Kanten hinzufügen

# Define chatbot function to respond
# with the model
def chatbot(state: State):
    return {"messages": 
    [llm.invoke(state["messages"])]}


# Add chatbot node to the graph graph_builder.add_node("chatbot", chatbot)

Chatbot-Knoten.

Agentische Systeme mit LangChain entwerfen

Knoten und Kanten hinzufügen

# Define the start and end of the 
# conversation flow
graph_builder.add_edge(START, "chatbot")
graph_builder.add_edge("chatbot", END)


# Compile the graph to prepare for # execution graph = graph_builder.compile()

Chatbot-Diagramm.

Agentische Systeme mit LangChain entwerfen

Lass uns üben!

Agentische Systeme mit LangChain entwerfen

Preparing Video For Download...