Adăugarea de instrumente externe la un chatbot

Proiectarea sistemelor agentice cu LangChain

Dilini K. Sumanapala, PhD

Founder & AI Engineer, Genverv, Ltd.

Instrumente externe cu LangGraph

  Monitor desktop cu grafic de microchip în centru și "API" scris la mijloc.

     

  • Instrumente API pentru chatboți

     
    • Știri
    • Baze de date
    • Rețele sociale
    • Etc.
Proiectarea sistemelor agentice cu LangChain

Adăugarea unui instrument Wikipedia

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

  Pictograma Wikipedia.

Proiectarea sistemelor agentice cu LangChain

Adăugarea unui instrument Wikipedia

# Modules for building a Wikipedia tool
from langchain_community.utilities import WikipediaAPIWrapper
from langchain_community.tools import WikipediaQueryRun


# Initialize Wikipedia API wrapper to fetch top 1 result api_wrapper = WikipediaAPIWrapper(top_k_results=1)
# Create a Wikipedia query tool using the API wrapper wikipedia_tool = WikipediaQueryRun(api_wrapper=api_wrapper)
tools = [wikipedia_tool]
Proiectarea sistemelor agentice cu LangChain

Adăugarea unui instrument Wikipedia

# Bind the Wikipedia tool to 
# the language model
llm_with_tools = llm.bind_tools(tools)


# Modify chatbot function to # respond with Wikipedia def chatbot(state: State): return {"messages": [llm_with_tools.invoke( state["messages"])]}

   

  • Asociere instrumente

 

  • Actualizare nod chatbot

  • Activare Wikipedia

  • LLM decide apelurile de instrumente

Proiectarea sistemelor agentice cu LangChain

Alte instrumente API

  Monitor desktop cu grafic de microchip în centru și "API" scris la mijloc.

   

Proiectarea sistemelor agentice cu LangChain

Adăugarea nodurilor de instrumente

# Modules for adding tool conditions 
# and nodes
from langgraph.prebuilt import 
ToolNode, tools_condition


# Add chatbot node to the graph graph_builder.add_node("chatbot", chatbot)

Nodul chatbot.

Proiectarea sistemelor agentice cu LangChain

Adăugarea nodurilor de instrumente

# Modules for adding tool conditions 
# and nodes
from langgraph.prebuilt import 
ToolNode, tools_condition

# Add chatbot node to the graph
graph_builder.add_node("chatbot",
                       chatbot)


# Create a ToolNode to handle tool calls # and add it to the graph tool_node = ToolNode(tools=[wikipedia_tool]) graph_builder.add_node("tools", tool_node)

Nodurile chatbot și instrumente.

Proiectarea sistemelor agentice cu LangChain

Adăugarea nodurilor de instrumente

# Set up a condition to direct from chatbot 
# to tool or end node
graph_builder.add_conditional_edges(
             "chatbot", tools_condition)



Chatbot cu nodurile END și instrumente, conectate cu linii întrerupte reprezentând muchii condiționale.

Proiectarea sistemelor agentice cu LangChain

Adăugarea nodurilor de instrumente

# Set up a condition to direct from chatbot 
# to tool or end node
graph_builder.add_conditional_edges(
             "chatbot", tools_condition)



# Connect tools back to chatbot and # add START and END nodes graph_builder.add_edge("tools", "chatbot") graph_builder.add_edge(START, "chatbot") graph_builder.add_edge("chatbot", END)

Diagrama completă a chatbotului: nodul chatbot conectat la instrumente și nodul END, cu nodul START în partea de sus.

Proiectarea sistemelor agentice cu LangChain

Să exersăm!

Proiectarea sistemelor agentice cu LangChain

Preparing Video For Download...