Xây dựng công cụ tùy chỉnh

Thiết kế Hệ thống Agentic với LangChain

Dilini K. Sumanapala, PhD

Founder & AI Engineer, Genverv, Ltd.

Tính diện tích hình chữ nhật

Mặt bằng hình chữ nhật của một căn hộ studio

Thiết kế Hệ thống Agentic với LangChain

Tính diện tích hình chữ nhật

Mặt bằng hình chữ nhật của một căn hộ studio, chiều dài và chiều rộng lần lượt được ghi "cạnh a" và "cạnh b".

Thiết kế Hệ thống Agentic với LangChain

Tạo một công cụ toán học

Xử lý truy vấn nội bộ của LangChain

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

input = " 5, 7"

     

  • Đầu vào ngôn ngữ tự nhiên

         
  • Trích xuất số dưới dạng chuỗi

Thiết kế Hệ thống Agentic với LangChain

Tạo một công cụ toán học

Định nghĩa hàm công cụ

@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

 

  • Dùng bộ trang trí @tool
  • Đặt tên hàm
  • Tạo docstring
  • Tách đầu vào bằng .split()
  • Xóa khoảng trắng với .strip() và đổi sang float
  • Nhân ab rồi trả về kết quả
Thiết kế Hệ thống Agentic với LangChain

Thiết lập công cụ và truy vấn

# Định nghĩa các công cụ mà agent có thể truy cập
tools = [rectangle_area]

# Tạo truy vấn bằng ngôn ngữ tự nhiên query = "What is the area of a rectangle with sides 5 and 7?"
# Truyền công cụ tính cạnh huyền và gọi agent app = create_react_agent(model, tools)
Thiết kế Hệ thống Agentic với LangChain

Thiết lập công cụ và truy vấn

# Gọi agent và in phản hồi
response = app.invoke({"messages": [("human", query)]})
print(response['messages'][-1].content)
Diện tích hình chữ nhật có cạnh 5 và 7 là 35 đơn vị vuông.
Thiết kế Hệ thống Agentic với LangChain

Công cụ dựng sẵn và công cụ tùy chỉnh

    Biểu tượng công cụ

 

Thiết kế Hệ thống Agentic với LangChain

Cùng luyện tập nào!

Thiết kế Hệ thống Agentic với LangChain

Preparing Video For Download...