Chuyển đến nội dung chính
Phiên bản: 2.0.0

Gọi các công cụ bên ngoài

Gọi công cụ là một trong những chế độ tương tác "LLM gốc" thực sự chưa từng tồn tại trước đây. Nó cung cấp cho các LLM "tư duy" khả năng "hành động" - cả trong việc tiếp thu kiến thức mới và thực hiện các hành động trong thế giới thực. Nó là một phần quan trọng của bất kỳ ứng dụng đại lý nào.

LLM nguồn mở ngày càng tốt trong việc sử dụng các công cụ. Các mô hình Llama 3 hiện đã giúp bạn có thể có hiệu suất gọi công cụ đáng tin cậy trên lớp LLM 8b chạy trên máy tính xách tay của riêng bạn!

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn một chương trình Python đơn giản cho phép LLM cục bộ chạy mã và thao tác dữ liệu trên máy tính cục bộ!

Điều kiện tiên quyết

Bạn sẽ cần một nút Gaia sẵn sàng cung cấp dịch vụ LLM thông qua URL công khai. Bạn có thể

Trong bài viết này, chúng ta sẽ sử dụng một public Llama3 node với hàm call support.

Thuộc tínhGiá trị
URL điểm cuối APIhttps://llamatool.us.gaianet.network/v1
Tên Modellạc đà không bướu
KHÓA APIGaia

Chạy tác nhân demo

Ứng dụng đại lý được viết bằng Python. Nó chứng minh cách LLM có thể sử dụng các công cụ để vận hành cơ sở dữ liệu SQL. Trong trường hợp này, nó khởi động và vận hành cơ sở dữ liệu SQLite trong bộ nhớ. Cơ sở dữ liệu lưu trữ một danh sách các mục việc cần làm.

Tải xuống mã và cài đặt các phụ thuộc Python như sau.

https://github.com/second-state/llm_todo sao chép Git
llm_todo CD
pip cài đặt -r requirements.txt

Đặt các biến môi trường cho máy chủ API và tên model mà chúng ta vừa thiết lập.

xuất OPENAI_MODEL_NAME="llama"
xuất OPENAI_BASE_URL= "https://llamatool.us.gaianet.network/v1"

Chạy main.py ứng dụng và hiển thị giao diện trò chuyện dòng lệnh.

main.py Python

Sử dụng tổng đài viên

Bây giờ, bạn có thể yêu cầu LLM thực hiện các tác vụ. Ví dụ: bạn có thể nói

Người dùng: 
Giúp tôi viết ra nó, tôi sẽ có một cuộc họp với nhóm tiếp thị.

LLM hiểu rằng bạn cần chèn một bản ghi vào cơ sở dữ liệu và trả về phản hồi cuộc gọi công cụ trong JSON.

Assistant:
<tool_call>
{"id": 0, "name": "create_task", "arguments": {"task": "have a meeting with the marketing team"}}
</tool_call>

Ứng dụng đại lý (tức là main.py) thực hiện lệnh gọi công cụ create_task trong phản hồi JSON và gửi lại kết quả dưới dạng vai trò Công cụ. Bạn không cần phải làm bất cứ điều gì ở đây vì nó xảy ra tự động trong main.py. Cơ sở dữ liệu SQLite được cập nhật khi ứng dụng tác nhân thực hiện cuộc gọi công cụ.

Tool:
[{'result': 'ok'}]

LLM nhận kết quả thực hiện và sau đó trả lời bạn.

Phó:
Tôi đã thêm "có một cuộc họp với nhóm tiếp thị" vào danh sách nhiệm vụ của bạn. Có điều gì khác bạn muốn làm không?

Bạn có thể tiếp tục cuộc trò chuyện.

Để tìm hiểu thêm về cách hoạt động của tính năng gọi bằng công cụ, hãy xem bài viết này.

Làm cho nó mạnh mẽ

Một trong những thách thức lớn đối với các ứng dụng LLM là sự không đáng tin cậy thường xuyên của các phản hồi của họ. Chẳng hạn:

Nếu LLM tạo ra một cuộc gọi công cụ không chính xác không giải quyết được truy vấn của người dùng,

Bạn có thể tinh chỉnh và tối ưu hóa các mô tả cho từng hàm gọi công cụ. LLM chọn các công cụ của mình dựa trên các mô tả này, vì vậy điều quan trọng là phải tạo chúng theo cách phù hợp với các truy vấn người dùng điển hình.

Nếu LLM ảo giác và tạo ra các cuộc gọi công cụ với tên hàm không tồn tại hoặc các tham số không chính xác,

ứng dụng đại lý sẽ xác định vấn đề này và nhắc LLM tạo phản hồi mới.

Gọi công cụ là một tính năng cơ bản trong lĩnh vực phát triển của các ứng dụng LLM đại lý. Chúng tôi rất háo hức được thấy những ý tưởng sáng tạo mà bạn đưa ra!