Créer des graphes pour chatbots

Concevoir des systèmes agentiques avec LangChain

Dilini K. Sumanapala, PhD

Founder & AI Engineer, Genverv, Ltd.

Chatbots avec LangGraph

Tête de chatbot

 

  • Agents personnalisés avec LangGraph

     
    • Gestion des workflows
      • États du graphe
      • États d’agent
    • Construction d’un chatbot
      • Nœuds
      • Arêtes
Concevoir des systèmes agentiques avec LangChain

États du graphe et de l’agent

Icône LangGraph

   

État du graphe

  • Organise différentes tâches
    • Utilisation d’outils
    • Appels LLM
  • Ordre des tâches = workflow

État de l’agent

  • Suit la progression de l’agent
  • Enregistre l’achèvement des tâches
Concevoir des systèmes agentiques avec LangChain

Créer un agent avec LangGraph

Personnes lisant, assises sur de grands livres.

Loupe représentant l’information.

Concevoir des systèmes agentiques avec LangChain

Nœuds et arêtes

Schéma de chatbot.

   

Nœuds

  • Fonctions ou actions
    • Réponse
    • Appel d’outil

Arêtes

  • Règles reliant les nœuds
Concevoir des systèmes agentiques avec LangChain

Nœuds et arêtes

Schéma de chatbot avec la première arête en surbrillance.

   

Nœuds

  • Tâches ou actions
    • Réponse
    • Appel d’outil

Arêtes

  • Règles reliant les nœuds
Concevoir des systèmes agentiques avec LangChain

Nœuds et arêtes

Schéma de chatbot avec la deuxième arête en surbrillance.

   

Nœuds

  • Tâches ou actions
    • Réponse
    • Appel d’outil

Arêtes

  • Règles reliant les nœuds
Concevoir des systèmes agentiques avec LangChain

Nœuds et arêtes

Schéma complet du chatbot en surbrillance.

   

Nœuds

  • Tâches ou actions
    • Réponse
    • Appel d’outil

Arêtes

  • Règles reliant les nœuds

Nœuds préconstruits

Nœuds START et END de LangGraph

Concevoir des systèmes agentiques avec LangChain

Créer les états du graphe et de l’agent

# 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
Concevoir des systèmes agentiques avec LangChain

Créer les états du graphe et de l’agent

# 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)
Concevoir des systèmes agentiques avec LangChain

Ajouter des nœuds et des arêtes

# 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)

Nœud chatbot.

Concevoir des systèmes agentiques avec LangChain

Ajouter des nœuds et des arêtes

# 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()

Schéma de chatbot.

Concevoir des systèmes agentiques avec LangChain

Passons à la pratique !

Concevoir des systèmes agentiques avec LangChain

Preparing Video For Download...