Chuyển đến nội dung chính

Documentation Index

Fetch the complete documentation index at: https://docs-agents.fpt.ai/llms.txt

Use this file to discover all available pages before exploring further.

Tạo công cụ bằng IDE

  • Cập nhật thông tin công cụ:
    • Tên: Tên của công cụ. Tên cần được mô tả ngắn gọn dễ hiểu để giúp LLM lựa chọn công cụ cho phù hợp với các bước trong Nghiệp vụ.
    • Mô tả: Giải thích chi tiết về chức năng của công cụ và cách nó giúp AI Agent thực hiện các nhiệm vụ.
  • Cập nhật phần Code của công cụ: Lập trình xử lý cho tool với ngôn ngữ Python. Phần code xử lý có thể chứa các tham số đầu vào và đầu ra.
  • Cập nhật phần Metadata của công cụ: Định nghĩa các tham số đầu vào và đầu ra được nhắc đến trong Code.
    • Biến đầu vào: Các biến Agent cần thu thập từ người dùng.
    • Biến đầu ra: Các biến Agent cần lưu lại sau khi thực hiện tool (có thể sử dụng làm input cho các tool phía sau).
Khi thêm một biến, bạn cần phải chú ý các thông tin sau:
  • Đặt tên biến ngắn gọn.
  • Mô tả biến một cách rõ ràng (ví dụ như xâu, số nguyên, số thực, …). Nếu nhập nhằng hãy thêm ví dụ.
  • Loại biến: Bao gồm string, number, Boolean, Object.
  • Trường Bắt buộc: Với biến đầu vào, tool chỉ được kích hoạt khi đủ các biến. Với biến đầu ra, tool sẽ thông báo kích hoạt thất bại do không đủ đầu ra.
  • Trường Lưu vào bộ nhớ: Lưu vào bộ nhớ tạm để sử dụng cho các tool khác.
  • Gán dữ liệu thẻ cho công cụ: Sử dụng phần này để hiển thị các biến đầu ra của công cụ dưới các định dạng khác nhau (văn bản kèm nút, phản hồi nhanh, hình ảnh, slide ảnh).
Tin nhắn dạng văn bản kèm nút: Image266 Tin nhắn dạng văn bản kèm phản hồi nhanh: Image267
Hiện tại, chỉ có thể cấu hình tin nhắn dạng Văn bản kèm nútVăn bản phản hồi nhanh. Các định dạng khác sẽ được update trong thời gian sớm nhất.
Hướng dẫn xử lý gán dữ liệu thẻ cho công cụ với định dạng Văn bản:
  • Chọn loại thẻ: Chọn loại định dạng “Văn bản”.
  • Nội dung: Thể hiện phần nội dung của tin nhắn mà AI Agent trả ra cho người dùng. Tại đây, hãy chọn biến đầu ra trong Code chứa phần nội dung của tin nhắn.
  • Phần tương tác:
    • Nút: Hiển thị các biến đầu ra dưới dạng nút. Có các định dạng nút sau:
      • URL: Hiển thị nút có dữ liệu là đường dẫn, khi người dùng nhấn nút tương đương với việc nhấn vào một đường dẫn và điều hướng đến địa chỉ đường dẫn. Để hiển thị 1 nút URL, cần tạo 2 biến đầu ra trong phần Code bao gồm: biến Tiêu đề (phần text hiển thị trên nút) và biến URL (phần đường dẫn).
      • Postback: Hiển thị nút có dữ liệu là text. Người dùng nhấn nút này tương đương với việc gửi phần nội dung tiêu đề nút về Agent để xử lý và yêu cầu trả ra kết quả tương ứng. Để hiển thị 1 nút Postback, cần tạo 1 biến đầu ra trong phần Code và sử dụng biến này cho biến Tiêu đề (phần text hiển thị trên nút).
      • Phonecall: Hiển thị nút có dữ liệu là số điện thoại. Người dùng nhấn nút này tương đương với thực hiện một cuộc gọi tới số điện thoại được đặt vào nút. Để cấu tạo nút Phonecall, cần tạo 2 biến đầu ra trong phần Code bao gồm: biến Tiêu đề (phần text hiển thị trên nút) và Phone number (số điện thoại).
      • Webview: Hiển thị nút có dữ liệu là cửa sổ web. Người dùng nhấn nút này tương đương với việc mở ra một cửa sổ web. Để cấu tạo nút Webview, cần tạo 2 biến đầu ra trong phần Code bao gồm: biến Tiêu đề (phần text hiển thị trên nút) và Webview (đường dẫn tới web).
    • Phản hồi nhanh: Hiển thị các biến đầu ra dưới dạng nút, nhưng khi người dùng nhấn vào, nút sẽ biến mất và phần nội dung của nút được hiển thị lên như 1 tin nhắn của người dùng.
Giới hạn số lượng nút ở các nền tảng:
  • Facebook: tối đa 5 nút trong 1 tin nhắn, giới hạn 20 ký tự trong tiêu đề mỗi nút.
  • Zalo: tối đa 3 nút trong 1 tin nhắn, giới hạn 640 ký tự trong nội dung của nút, giới hạn tối đa 100 ký tự trong 1 nút.
Giao diện cấu hình thẻ: Image268
  • Kiểm thử code:
    • Giá trị đầu vào: Vùng nhập biến đầu vào, định dạng bắt buộc là JSON.
    • Chạy thử và kiểm tra code bằng cách nhấn [Chạy], kết quả được trả về tại vùng Giá trị đầu ra.

Một số lưu ý khi sử dụng Code trong Tool

Một số tham số đầu vào cơ bản:
  • query: Câu chat của người dùng được rewrite lại theo ngữ cảnh của cuộc trò chuyện.
  • user_message: Câu chat nguyên bản của người dùng.
  • extra (optional): Thông tin bổ sung được trả về trong trường hợp Agent được tích hợp vào app của bên thứ 3 (do bên thứ 3 quy định format). Ví dụ: truyền thông tin người dùng (tên, số hợp đồng, v.v.) khi Agent được tích hợp với Hi-FPT.
  • knowledge (optional): Tài liệu tương quan với câu hỏi của người dùng được retrieve về (có khi gắn thêm tài liệu cho agent). Có cấu trúc như sau:
{
    'answerable': Boolean,
    'query_type': 'Chitchat/QnA',
    'related_docs': list[str],                        # Tài liệu liên quan
    'instruction_if_no_doc': instruction_if_no_doc,   # Hướng dẫn trả lời nếu không tồn tại docs
    'direct_answer': direct_answer,                   # Câu trả lời cố định trong 1 số trường hợp
}
Một số output params đặc biệt:
  • final_answer: Trả về một phản hồi cố định từ tool (không đi qua LLM).
  • answer: Câu trả lời tham khảo cho Agent. Dựa trên câu trả lời này, Agent sẽ tạo sinh 1 câu trả lời hoàn thiện để tương tác với người dùng.
  • knowledge: Trả về thông tin từ tài liệu thông qua param knowledge.
Giao diện tạo công cụ với IDE: Image269