Crear gráficos para chatbots

Diseño de sistemas agénticos con LangChain

Dilini K. Sumanapala, PhD

Founder & AI Engineer, Genverv, Ltd.

Chatbots con LangGraph

Cabeza de chatbot

 

  • Agentes a medida con LangGraph

     
    • Gestión del flujo de trabajo
      • Estados del grafo
      • Estados del agente
    • Construcción de chatbots
      • Nodos
      • Aristas
Diseño de sistemas agénticos con LangChain

Estados de grafos y agentes

Icono de LangGraph

   

Estado del grafo

  • Organiza tareas
    • Uso de herramientas
    • Llamadas al LLM
  • Orden de tareas = flujo de trabajo

Estado del agente

  • Sigue el progreso del agente
  • Registra tareas completadas
Diseño de sistemas agénticos con LangChain

Crear un agente con LangGraph

Personas leyendo, sentadas sobre libros grandes.

Lupa que representa información.

Diseño de sistemas agénticos con LangChain

Nodos y aristas

Diagrama de chatbot.

   

Nodos

  • Funciones o acciones
    • Respuesta
    • Llamada a herramienta

Aristas

  • Reglas que conectan nodos
Diseño de sistemas agénticos con LangChain

Nodos y aristas

Diagrama de chatbot con la primera arista resaltada.

   

Nodos

  • Tareas o acciones
    • Respuesta
    • Llamada a herramienta

Aristas

  • Reglas que conectan nodos
Diseño de sistemas agénticos con LangChain

Nodos y aristas

Diagrama de chatbot con la segunda arista resaltada.

   

Nodos

  • Tareas o acciones
    • Respuesta
    • Llamada a herramienta

Aristas

  • Reglas que conectan nodos
Diseño de sistemas agénticos con LangChain

Nodos y aristas

Diagrama completo de chatbot resaltado.

   

Nodos

  • Tareas o acciones
    • Respuesta
    • Llamada a herramienta

Aristas

  • Reglas que conectan nodos

Nodos predefinidos

Nodos START y END de LangGraph

Diseño de sistemas agénticos con LangChain

Crear estados de grafo y agente

# 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
Diseño de sistemas agénticos con LangChain

Crear estados de grafo y agente

# 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)
Diseño de sistemas agénticos con LangChain

Añadir nodos y aristas

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

Nodo de chatbot.

Diseño de sistemas agénticos con LangChain

Añadir nodos y aristas

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

Diagrama de chatbot.

Diseño de sistemas agénticos con LangChain

¡Vamos a practicar!

Diseño de sistemas agénticos con LangChain

Preparing Video For Download...