Construirea grafurilor pentru chatboți

Proiectarea sistemelor agentice cu LangChain

Dilini K. Sumanapala, PhD

Founder & AI Engineer, Genverv, Ltd.

Chatboți cu LangGraph

Cap de chatbot

 

  • Agenți personalizați cu LangGraph

     
    • Gestionarea fluxului de lucru
      • Stări ale grafului
      • Stări ale agentului
    • Construirea chatboților
      • Noduri
      • Muchii
Proiectarea sistemelor agentice cu LangChain

Grafuri și stări ale agentului

Pictogramă LangGraph

   

Starea grafului

  • Organizează diferite sarcini
    • Utilizarea instrumentelor
    • Apeluri LLM
  • Ordinea sarcinilor = flux de lucru

Starea agentului

  • Urmărește progresul agentului
  • Înregistrează finalizarea sarcinilor
Proiectarea sistemelor agentice cu LangChain

Construirea unui agent cu LangGraph

Persoane care citesc, așezate pe cărți mari.

Lupă reprezentând informații.

Proiectarea sistemelor agentice cu LangChain

Noduri și muchii

Diagramă chatbot.

   

Noduri

  • Funcții sau acțiuni
    • Răspuns
    • Apel de instrument

Muchii

  • Reguli de conectare a nodurilor
Proiectarea sistemelor agentice cu LangChain

Noduri și muchii

Diagramă chatbot cu prima muchie evidențiată.

   

Noduri

  • Sarcini sau acțiuni
    • Răspuns
    • Apel de instrument

Muchii

  • Reguli de conectare a nodurilor
Proiectarea sistemelor agentice cu LangChain

Noduri și muchii

Diagramă chatbot cu a doua muchie evidențiată.

   

Noduri

  • Sarcini sau acțiuni
    • Răspuns
    • Apel de instrument

Muchii

  • Reguli de conectare a nodurilor
Proiectarea sistemelor agentice cu LangChain

Noduri și muchii

Diagramă completă chatbot evidențiată.

   

Noduri

  • Sarcini sau acțiuni
    • Răspuns
    • Apel de instrument

Muchii

  • Reguli de conectare a nodurilor

Noduri predefinite

Nodurile START și END din LangGraph

Proiectarea sistemelor agentice cu LangChain

Construirea stărilor grafului și agentului

# 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
Proiectarea sistemelor agentice cu LangChain

Construirea stărilor grafului și agentului

# 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)
Proiectarea sistemelor agentice cu LangChain

Adăugarea nodurilor și muchiilor

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

Nod chatbot.

Proiectarea sistemelor agentice cu LangChain

Adăugarea nodurilor și muchiilor

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

Diagramă chatbot.

Proiectarea sistemelor agentice cu LangChain

Să exersăm!

Proiectarea sistemelor agentice cu LangChain

Preparing Video For Download...