Creare grafi per chatbot

Progettare sistemi agentici con LangChain

Dilini K. Sumanapala, PhD

Founder & AI Engineer, Genverv, Ltd.

Chatbot con LangGraph

Testa di un chatbot

 

  • Agent personalizzati con LangGraph

     
    • Gestione del workflow
      • Stati del grafo
      • Stati dell'agent
    • Costruzione di chatbot
      • Nodi
      • Archi
Progettare sistemi agentici con LangChain

Grafi e stati dell'agent

Icona LangGraph

   

Stato del grafo

  • Organizza diverse attività
    • Uso di tool
    • Chiamate LLM
  • Ordine delle attività = workflow

Stato dell'agent

  • Tiene traccia dell'avanzamento
  • Registra il completamento delle attività
Progettare sistemi agentici con LangChain

Creare un agent con LangGraph

Persone che leggono, sedute su grandi libri.

Lente d'ingrandimento che rappresenta informazioni.

Progettare sistemi agentici con LangChain

Nodi e archi

Diagramma di un chatbot.

   

Nodi

  • Funzioni o azioni
    • Risposta
    • Chiamata a tool

Archi

  • Regole che collegano i nodi
Progettare sistemi agentici con LangChain

Nodi e archi

Diagramma del chatbot con primo arco evidenziato.

   

Nodi

  • Attività o azioni
    • Risposta
    • Chiamata a tool

Archi

  • Regole che collegano i nodi
Progettare sistemi agentici con LangChain

Nodi e archi

Diagramma del chatbot con secondo arco evidenziato.

   

Nodi

  • Attività o azioni
    • Risposta
    • Chiamata a tool

Archi

  • Regole che collegano i nodi
Progettare sistemi agentici con LangChain

Nodi e archi

Diagramma completo del chatbot evidenziato.

   

Nodi

  • Attività o azioni
    • Risposta
    • Chiamata a tool

Archi

  • Regole che collegano i nodi

Nodi predefiniti

Nodi START e END di LangGraph

Progettare sistemi agentici con LangChain

Creare stati di grafo e agent

# Moduli per strutturare il testo
from typing import Annotated
from typing_extensions import TypedDict


# Moduli LangGraph per definire grafi from langgraph.graph import StateGraph, START, END from langgraph.graph.message import add_messages
# Modulo per configurare OpenAI from langchain_openai import ChatOpenAI
Progettare sistemi agentici con LangChain

Creare stati di grafo e agent

# Definisci l'LLM
llm = ChatOpenAI(model="gpt-4o-mini", api_key="OPENAI_API_KEY")


# Definisci lo State class State(TypedDict):
# Definisci i messaggi con metadati messages: Annotated[list, add_messages]
# Inizializza StateGraph graph_builder = StateGraph(State)
Progettare sistemi agentici con LangChain

Aggiungere nodi e archi

# Definisci la funzione del chatbot per rispondere
# con il modello
def chatbot(state: State):
    return {"messages": 
    [llm.invoke(state["messages"])]}


# Aggiungi il nodo chatbot al grafo graph_builder.add_node("chatbot", chatbot)

Nodo chatbot.

Progettare sistemi agentici con LangChain

Aggiungere nodi e archi

# Definisci inizio e fine del 
# flusso di conversazione
graph_builder.add_edge(START, "chatbot")
graph_builder.add_edge("chatbot", END)


# Compila il grafo per # l'esecuzione graph = graph_builder.compile()

Diagramma di un chatbot.

Progettare sistemi agentici con LangChain

Esercitiamoci!

Progettare sistemi agentici con LangChain

Preparing Video For Download...