Створення власних інструментів

Проєктування агентних систем з LangChain

Dilini K. Sumanapala, PhD

Founder & AI Engineer, Genverv, Ltd.

Обчислення площі в футах

Прямокутний план студії

Проєктування агентних систем з LangChain

Обчислення площі в футах

Прямокутний план студії, довжина та ширина позначені відповідно як «side a» і «side b».

Проєктування агентних систем з LangChain

Створення математичного інструменту

Внутрішня обробка запиту в LangChain

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

input = " 5, 7"

     

  • Введення природною мовою

         
  • Витягніть числові значення як рядки

Проєктування агентних систем з LangChain

Створення математичного інструменту

Визначте функцію інструменту

@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

 

  • Використайте декоратор @tool
  • Дайте назву функції
  • Створіть докстрінг
  • Розбийте введення через .split()
  • Приберіть пробіли .strip() і перетворіть на float
  • Помножте a і b та поверніть результат
Проєктування агентних систем з LangChain

Налаштування інструментів і запиту

# Визначте інструменти, доступні агенту
tools = [rectangle_area]

# Створіть запит природною мовою query = "What is the area of a rectangle with sides 5 and 7?"
# Передайте інструмент для гіпотенузи та викличте агента app = create_react_agent(model, tools)
Проєктування агентних систем з LangChain

Налаштування інструментів і запиту

# Викличте агента і виведіть відповідь
response = app.invoke({"messages": [("human", query)]})
print(response['messages'][-1].content)
Площа прямокутника зі сторонами 5 і 7 дорівнює 35 квадратних одиниць.
Проєктування агентних систем з LangChain

Готові та власні інструменти

    Піктограма інструментів

 

Проєктування агентних систем з LangChain

Давайте потренуємось!

Проєктування агентних систем з LangChain

Preparing Video For Download...