Construindo gráficos para chatbots

Projetando Sistemas Agentes com LangChain

Dilini K. Sumanapala, PhD

Founder & AI Engineer, Genverv, Ltd.

Chatbots com LangGraph

Cabeça de chatbot

 

  • Agentes customizados com LangGraph

     
    • Gestão de workflow
      • Estados do grafo
      • Estados do agente
    • Construção de chatbot
      • Nós
      • Arestas
Projetando Sistemas Agentes com LangChain

Estados de grafos e de agentes

Ícone do LangGraph

   

Estado do grafo

  • Organiza tarefas
    • Uso de ferramentas
    • Chamadas ao LLM
  • Ordem das tarefas = workflow

Estado do agente

  • Acompanha o progresso
  • Registra conclusão de tarefas
Projetando Sistemas Agentes com LangChain

Construindo um agente com LangGraph

Pessoas lendo, sentadas sobre livros grandes.

Lupa representando informação.

Projetando Sistemas Agentes com LangChain

Nós e arestas

Diagrama de chatbot.

   

Nós

  • Funções ou ações
    • Resposta
    • Chamada de ferramenta

Arestas

  • Regras que conectam nós
Projetando Sistemas Agentes com LangChain

Nós e arestas

Diagrama de chatbot com a primeira aresta destacada.

   

Nós

  • Tarefas ou ações
    • Resposta
    • Chamada de ferramenta

Arestas

  • Regras que conectam nós
Projetando Sistemas Agentes com LangChain

Nós e arestas

Diagrama de chatbot com a segunda aresta destacada.

   

Nós

  • Tarefas ou ações
    • Resposta
    • Chamada de ferramenta

Arestas

  • Regras que conectam nós
Projetando Sistemas Agentes com LangChain

Nós e arestas

Diagrama completo do chatbot destacado.

   

Nós

  • Tarefas ou ações
    • Resposta
    • Chamada de ferramenta

Arestas

  • Regras que conectam nós

Nós prontos

Nós START e END do LangGraph

Projetando Sistemas Agentes com LangChain

Construindo estados do grafo e do agente

# Módulos para estruturar texto
from typing import Annotated
from typing_extensions import TypedDict


# Módulos do LangGraph para definir gráficos from langgraph.graph import StateGraph, START, END from langgraph.graph.message import add_messages
# Módulo para configurar o OpenAI from langchain_openai import ChatOpenAI
Projetando Sistemas Agentes com LangChain

Construindo estados do grafo e do agente

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


# Definir o State class State(TypedDict):
# Definir mensagens com metadados messages: Annotated[list, add_messages]
# Iniciar o StateGraph graph_builder = StateGraph(State)
Projetando Sistemas Agentes com LangChain

Adicionando nós e arestas

# Definir função do chatbot para responder
# com o modelo
def chatbot(state: State):
    return {"messages": 
    [llm.invoke(state["messages"])]}


# Adicionar o nó chatbot ao grafo graph_builder.add_node("chatbot", chatbot)

Nó do chatbot.

Projetando Sistemas Agentes com LangChain

Adicionando nós e arestas

# Definir início e fim do fluxo 
# da conversa
graph_builder.add_edge(START, "chatbot")
graph_builder.add_edge("chatbot", END)


# Compilar o grafo para preparar # a execução graph = graph_builder.compile()

Diagrama de chatbot.

Projetando Sistemas Agentes com LangChain

Vamos praticar!

Projetando Sistemas Agentes com LangChain

Preparing Video For Download...