Tworzenie własnych narzędzi

Projektowanie systemów agentowych z LangChain

Dilini K. Sumanapala, PhD

Founder & AI Engineer, Genverv, Ltd.

Obliczanie powierzchni

Prostokątny rzut mieszkania typu studio

Projektowanie systemów agentowych z LangChain

Obliczanie powierzchni

Prostokątny rzut mieszkania studio z zaznaczonymi długością i szerokością jako "bok a" i "bok b".

Projektowanie systemów agentowych z LangChain

Tworzenie narzędzia matematycznego

Wewnętrzna obsługa zapytań w LangChain

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

input = " 5, 7"

     

  • Dane wejściowe w języku naturalnym

         
  • Wyodrębnienie wartości liczbowych jako ciągów znaków

Projektowanie systemów agentowych z LangChain

Tworzenie narzędzia matematycznego

Definiowanie funkcji narzędzia

@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

 

  • Użycie dekoratora @tool
  • Nazwanie funkcji
  • Tworzenie docstringa
  • Podział danych wejściowych za pomocą .split()
  • Usunięcie spacji .strip() i konwersja na float
  • Mnożenie a przez b i zwrócenie wyniku
Projektowanie systemów agentowych z LangChain

Konfiguracja narzędzi i zapytania

# 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)
Projektowanie systemów agentowych z LangChain

Konfiguracja narzędzi i zapytania

# 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.
Projektowanie systemów agentowych z LangChain

Gotowe i własne narzędzia

    Ikona narzędzi

 

Projektowanie systemów agentowych z LangChain

Czas na ćwiczenia!

Projektowanie systemów agentowych z LangChain

Preparing Video For Download...