← 返回列表

Tổng kết kỹ thuật Function Calling

Tổng kết kỹ thuật Function Calling

1. Định nghĩa

Function Calling là một cơ chế cho phép nhà phát triển mô tả các công cụ bên ngoài (ví dụ: API) có sẵn cho mô hình ngôn ngữ lớn (LLM) thông qua lược đồ JSON. Khi mô hình xác định cần gọi công cụ để trả lời câu hỏi của người dùng, nó xuất ra dữ liệu JSON tool_calls có cấu trúc, chỉ rõ tên hàm và tham số cần gọi. Chương trình chủ phân tích và thực thi lời gọi này, trả kết quả về cho mô hình, sau đó mô hình tạo ra câu trả lời cuối cùng.

2. Nguyên lý cốt lõi và vấn đề được giải quyết

  • Bản chất: Vòng lặp khép kín “hai lượt hội thoại + thực thi ở giữa”. Lượt đầu, mô hình ra quyết định và xuất yêu cầu gọi công cụ; ở giữa, mã nguồn thực thi công cụ; lượt hai, mô hình dựa trên kết quả thực thi để tạo câu trả lời cuối cùng.
  • Vấn đề được giải quyết: Giải quyết vấn đề trước đây khi yêu cầu mô hình gọi công cụ phải dựa vào phân tích ngôn ngữ tự nhiên không ổn định, dễ sai (if/else), thông qua đầu ra có cấu trúc giúp chuẩn hóa và nâng cao độ chính xác.

3. Phân chia trách nhiệm (tương tự ủy thác nhiệm vụ)

  • Nhà phát triển (HR): Định nghĩa công cụ, viết lược đồ JSON mô tả chức năng, tham số của công cụ.
  • Mô hình LLM (Quản lý): Hiểu mô tả công cụ, quyết định có cần gọi, gọi công cụ nào và tham số là gì, xuất ra yêu cầu gọi có cấu trúc (tool_calls). Mô hình chỉ ra quyết định và tạo văn bản, không tự thực thi mã.
  • Bộ thực thi/mã chủ (Nhân viên): Phân tích yêu cầu tool_calls của mô hình, thực sự thực thi hàm hoặc lời gọi API tương ứng, và trả kết quả về.

4. Định nghĩa công cụ (JSON Schema)

Schema là “sách hướng dẫn” của công cụ, thông tin quan trọng bao gồm:
- name: Định danh duy nhất của công cụ.
- description: Cực kỳ quan trọng, mô hình hoàn toàn dựa vào mô tả này để quyết định có gọi công cụ hay không. Mô tả càng rõ ràng, chính xác thì quyết định của mô hình càng chính xác.
- parameters: Định nghĩa các tham số cần thiết cho công cụ cùng với kiểu, mô tả, ràng buộc (ví dụ: giá trị liệt kê, có bắt buộc hay không).

5. Quy trình gọi đầy đủ

Bài viết thông qua một ví dụ mã nguồn truy vấn thời tiết, trình bày toàn bộ quá trình từ khi người dùng đặt câu hỏi, mang định nghĩa công cụ thực hiện lần gọi mô hình đầu tiên, mô hình trả về tool_calls, mã nguồn thực thi hàm, đưa kết quả dưới dạng tin nhắn role: "tool" vào lịch sử hội thoại, cho đến khi mô hình tạo ra câu trả lời ngôn ngữ tự nhiên cuối cùng.

6. Tính năng nâng cao - Gọi công cụ song song

Khi câu hỏi của người dùng cần nhiều công cụ phối hợp trả lời (ví dụ: truy vấn thời tiết nhiều thành phố cùng lúc), mô hình có thể xuất ra một danh sách chứa nhiều tool_calls trong một lần phản hồi. Mã chủ có thể thực thi song song các lời gọi này, sau đó trả tất cả kết quả về cho mô hình tổng hợp, từ đó nâng cao hiệu quả.

评论

暂无已展示的评论。

发表评论(匿名)