Bygga grafer för chattbotar

Designa agentbaserade system med LangChain

Dilini K. Sumanapala, PhD

Founder & AI Engineer, Genverv, Ltd.

Chattbotar med LangGraph

Huvud av chattbot

 

  • Egna agenter med LangGraph

     
    • Arbetsflödeshantering
      • Grafstatus
      • Agentstatus
    • Chattbotsuppbyggnad
      • Noder
      • Kanter
Designa agentbaserade system med LangChain

Grafer och agentstatus

LangGraph-ikon

   

Grafstatus

  • Organiserar olika uppgifter
    • Verktygsanvändning
    • LLM-anrop
  • Uppgifternas ordning = arbetsflöde

Agentstatus

  • Spårar agentens framsteg
  • Loggar slutförda uppgifter
Designa agentbaserade system med LangChain

Bygga en agent med LangGraph

Personer som läser, sittandes på stora böcker.

Förstoringsglas som representerar information.

Designa agentbaserade system med LangChain

Noder och kanter

Diagram över chattbot.

   

Noder

  • Funktioner eller åtgärder
    • Svar
    • Verktygsanrop

Kanter

  • Regler som förbinder noder
Designa agentbaserade system med LangChain

Noder och kanter

Diagram över chattbot med första kanten markerad.

   

Noder

  • Uppgifter eller åtgärder
    • Svar
    • Verktygsanrop

Kanter

  • Regler som förbinder noder
Designa agentbaserade system med LangChain

Noder och kanter

Diagram över chattbot med andra kanten markerad.

   

Noder

  • Uppgifter eller åtgärder
    • Svar
    • Verktygsanrop

Kanter

  • Regler som förbinder noder
Designa agentbaserade system med LangChain

Noder och kanter

Fullt markerat chattbot-diagram.

   

Noder

  • Uppgifter eller åtgärder
    • Svar
    • Verktygsanrop

Kanter

  • Regler som förbinder noder

Färdiga noder

START- och END-noder från LangGraph

Designa agentbaserade system med LangChain

Bygga graf- och agentstatus

# 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
Designa agentbaserade system med LangChain

Bygga graf- och agentstatus

# 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)
Designa agentbaserade system med LangChain

Lägga till noder och kanter

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

Chattbot-nod.

Designa agentbaserade system med LangChain

Lägga till noder och kanter

# 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 över chattbot.

Designa agentbaserade system med LangChain

Nu kör vi en övning!

Designa agentbaserade system med LangChain

Preparing Video For Download...