Creare strumenti personalizzati

Progettare sistemi agentici con LangChain

Dilini K. Sumanapala, PhD

Founder & AI Engineer, Genverv, Ltd.

Calcolare i metri quadrati

Planimetria rettangolare di un monolocale

Progettare sistemi agentici con LangChain

Calcolare i metri quadrati

Planimetria rettangolare di un monolocale con lunghezza e larghezza indicate come "lato a" e "lato b".

Progettare sistemi agentici con LangChain

Creare uno strumento matematico

Gestione interna delle query in LangChain

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

input = " 5, 7"

     

  • Input in linguaggio naturale

         
  • Estrai i valori numerici come stringhe

Progettare sistemi agentici con LangChain

Creare uno strumento matematico

Definisci la funzione dello strumento

@tool

def rectangle_area(input: str) -> float:
"""Calcola l'area di un rettangolo date le lunghezze dei lati a e b."""
sides = input.split(',')
a = float(sides[0].strip()) b = float(sides[1].strip())
return a * b

 

  • Usa il decoratore @tool
  • Dai un nome alla funzione
  • Crea una docstring
  • Separa l'input con .split()
  • Rimuovi spazi con .strip() e converti in float
  • Moltiplica a e b e restituisci il risultato
Progettare sistemi agentici con LangChain

Configurazione di strumenti e query

# Definisci gli strumenti a cui l'agente può accedere
tools = [rectangle_area]

# Crea una query in linguaggio naturale query = "What is the area of a rectangle with sides 5 and 7?"
# Passa lo strumento per la lunghezza dell'ipotenusa e avvia l'agente app = create_react_agent(model, tools)
Progettare sistemi agentici con LangChain

Configurazione di strumenti e query

# Esegui l'agente e stampa la risposta
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.
Progettare sistemi agentici con LangChain

Strumenti predefiniti e personalizzati

    Icona di strumenti

 

Progettare sistemi agentici con LangChain

Esercitiamoci!

Progettare sistemi agentici con LangChain

Preparing Video For Download...