Bygga egna verktyg

Designa agentbaserade system med LangChain

Dilini K. Sumanapala, PhD

Founder & AI Engineer, Genverv, Ltd.

Beräkna golvyta

Rektangulär planlösning för en studiolägenhet

Designa agentbaserade system med LangChain

Beräkna golvyta

Rektangulär planlösning för en studiolägenhet där längd och bredd är markerade som "sida a" respektive "sida b".

Designa agentbaserade system med LangChain

Skapa ett matematikverktyg

LangChains interna frågehantering

"What is the area of a rectangle with 
sides 5 and 7?"

input = " 5, 7"

     

  • Indata på naturligt språk

         
  • Extrahera numeriska värden som strängar

Designa agentbaserade system med LangChain

Skapa ett matematikverktyg

Definiera din verktygsfunktion

@tool

def rectangle_area(input: str) -> float:
"""Calculates the area of a rectangle given the lengths of sides a and b."""
sides = input.split(',')
a = float(sides[0].strip()) b = float(sides[1].strip())
return a * b

 

  • Använd @tool-dekoratorn
  • Namnge funktionen
  • Skapa en docstring
  • Dela upp indata med .split()
  • Ta bort blanksteg med .strip() och konvertera till float
  • Multiplicera a och b och returnera resultatet
Designa agentbaserade system med LangChain

Konfigurera verktyg och fråga

# Define the tools that the agent can access
tools = [rectangle_area]

# Create a query using natural language query = "What is the area of a rectangle with sides 5 and 7?"
# Pass in the hypotenuse length tool and invoke the agent app = create_react_agent(model, tools)
Designa agentbaserade system med LangChain

Konfigurera verktyg och fråga

# Invoke the agent and print the response
response = app.invoke({"messages": [("human", query)]})
print(response['messages'][-1].content)
The area of the rectangle with sides 5 and 7 is 35 square units.
Designa agentbaserade system med LangChain

Färdiga och egna verktyg

    Ikon för verktyg

 

Designa agentbaserade system med LangChain

Nu kör vi en övning!

Designa agentbaserade system med LangChain

Preparing Video For Download...