Học AI

GPT Actions: Nối ChatGPT Với API Riêng Của Bạn

Cách khai báo một Action để ChatGPT gọi thẳng API nội bộ, lấy dữ liệu thời gian thực thay vì chỉ trả lời dựa trên kiến thức tĩnh.

Bài viết có thể chứa liên kết tiếp thị (affiliate) — Kudomax có thể nhận hoa hồng khi bạn mua hàng qua các liên kết này, không phát sinh thêm chi phí cho bạn. Xem chính sách minh bạch.

ChatGPT mặc định không biết tồn kho cửa hàng mình còn bao nhiêu, vì kiến thức của nó dừng ở thời điểm huấn luyện. Nối GPT Actions với API tồn kho thật, giờ hỏi cái gì cũng ra số liệu đúng ngay lúc đó, không phải số liệu cũ. Bài này đi qua cách khai báo một Action từ đầu, kèm schema mẫu và các lỗi mình từng vấp.

GPT Actions: Nối ChatGPT Với API Riêng Của Bạn

GPT Actions là gì?

Là cơ chế cho phép một Custom GPT gọi tới API bên ngoài trong lúc trả lời, thay vì chỉ dựa vào kiến thức đã huấn luyện sẵn. Khi người dùng hỏi điều gì cần dữ liệu thời gian thực, GPT tự gọi Action tương ứng, lấy kết quả rồi mới trả lời.

📌 Chưa chắc nên chọn gì? Đọc trước Học AI: Dùng Claude, ChatGPT, Gemini Đúng Việc — hướng dẫn tổng hợp của Kudomax về học ai.

Cách nó hoạt động khá giống việc đưa tài liệu API cho một nhân viên mới: bạn mô tả API bằng chuẩn OpenAPI, GPT đọc phần mô tả đó để biết có những endpoint nào, nhận tham số gì. Gặp câu hỏi phù hợp, nó tự điền tham số từ câu chữ của người dùng, gọi API, nhận JSON trả về rồi diễn giải thành câu trả lời tự nhiên. Người dùng cuối không cần biết phía sau có API tồn tại.

Quảng cáo

Khai báo một Action gồm những bước nào?

  • 1. Chuẩn bị đặc tả API theo chuẩn OpenAPI, mô tả rõ endpoint, tham số đầu vào và định dạng dữ liệu trả về. Chưa quen viết thì dán tài liệu API vào ChatGPT nhờ nó sinh schema, xong tự rà lại URL và tên tham số.
  • 2. Mở Custom GPT trong trình dựng, vào tab Configure, kéo xuống mục Actions rồi bấm Create new action, dán schema vào ô Schema. Trình soạn có kiểm tra cú pháp, sai chỗ nào báo đỏ chỗ đó.
  • 3. Khai báo xác thực: None, API key hay OAuth, tuỳ cách API của bạn yêu cầu quyền truy cập.
  • 4. Test ngay trong editor: mỗi endpoint có nút Test để gọi thử và xem request lẫn response thô. Sau đó hỏi bằng câu hỏi thật để kiểm tra GPT có chọn đúng endpoint và hiểu đúng kết quả không.
  • 5. Điền Privacy policy URL nếu định chia sẻ GPT công khai, đây là mục bắt buộc khi đăng lên GPT Store.

Một schema tối giản cho API tra tồn kho trông thế này, viết dạng YAML cho dễ đọc:

openapi: 3.1.0
info:
  title: API ton kho cua hang
  version: 1.0.0
servers:
  - url: https://api.cuahangcuaban.vn
paths:
  /inventory:
    get:
      operationId: checkInventory
      summary: Tra so luong ton kho hien tai theo ten san pham
      parameters:
        - name: product
          in: query
          required: true
          schema:
            type: string
      responses:
        "200":
          description: So luong ton va gia hien tai cua san pham

Hai trường quan trọng nhất là operationId và summary: GPT quyết định gọi endpoint nào dựa gần như hoàn toàn vào phần mô tả này. Viết summary bằng ngôn ngữ tự nhiên, nói rõ endpoint trả lời cho loại câu hỏi nào, đừng viết kiểu mã kỹ thuật cụt lủn.

Chọn kiểu xác thực nào cho Action?

Ba lựa chọn trong phần Authentication, chọn theo mức nhạy cảm của dữ liệu:

  • None: cho API công khai, chỉ nên dùng với dữ liệu ai xem cũng được, như tỷ giá hay lịch sự kiện.
  • API key: đơn giản nhất cho API nội bộ. Key được lưu phía OpenAI và tự gửi kèm mỗi request qua header, người dùng GPT không nhìn thấy key.
  • OAuth: khi mỗi người dùng cần đăng nhập tài khoản riêng của họ để xem đúng dữ liệu của họ. Cấu hình phức tạp hơn vì phải khai báo URL cấp quyền và đổi token.

Chốt gọn: dùng API key nếu GPT chạy nội bộ và mọi người xem chung một nguồn dữ liệu. Dùng OAuth nếu chia sẻ công khai và từng người phải thấy dữ liệu riêng của mình.

Quảng cáo

Tình huống thật: GPT tra trạng thái đơn hàng?

Shop của bạn có API trả trạng thái đơn theo mã. Khai báo một Action GET nhận tham số mã đơn, thế là nhân viên chỉ cần gõ "đơn 10234 tới đâu rồi", GPT tự gọi API, đọc trạng thái và trả lời kèm ngày giao dự kiến, thay vì nhân viên phải mở phần mềm quản lý tra tay. Cùng cách đó áp dụng được cho tra công nợ, lịch hẹn, số phòng trống.

Không có sẵn backend cũng không sao: dựng một webhook trong n8n làm API trung gian, n8n nhận request từ GPT rồi gọi tiếp Google Sheets hay hệ thống nội bộ, trả kết quả về. Cách dựng webhook kiểu này có trong bài n8n cơ bản: dựng workflow tự động đầu tiên.

Giới hạn quyền và lỗi hay gặp?

Nguyên tắc đầu tiên: chỉ cấp quyền đọc cho các Action không cần ghi, và tách riêng một API key có quyền hạn giới hạn dành cho GPT thay vì dùng chung key có toàn quyền hệ thống. Với Action có khả năng ghi hoặc xoá dữ liệu, gắn cờ x-openai-isConsequential trong schema để ChatGPT buộc người dùng bấm xác nhận trước khi thực thi, thay vì để GPT tự động làm ngay.

  • API phải truy cập được từ internet qua HTTPS. Localhost hay mạng nội bộ thuần không gọi được, cần đưa API ra một domain public có xác thực.
  • Mô tả endpoint mơ hồ làm GPT gọi sai Action hoặc bỏ qua không gọi. Đa số lỗi "GPT không chịu gọi API" chữa được bằng cách viết lại summary rõ hơn.
  • API trả về quá nhiều dữ liệu khiến GPT lẫn hoặc cắt bớt. Cho endpoint trả đúng các trường cần thiết, đừng trả nguyên bảng thô.
  • API chậm quá sẽ bị cắt giữa chừng do giới hạn thời gian chờ, nên endpoint dành cho GPT cần trả lời nhanh.

Bước tiếp theo: bắt đầu bằng đúng một endpoint chỉ đọc dữ liệu, chạy ổn một tuần rồi mới thêm endpoint ghi. Còn nếu bạn cần Action trả về đúng cấu trúc dữ liệu để dùng tiếp trong hệ thống khác, kết hợp thêm Structured Output để đảm bảo định dạng nhất quán.

Hỏi & đáp

Câu Hỏi Thường Gặp

Cần hiểu cơ bản về API và cách viết đặc tả OpenAPI, không cần biết lập trình sâu nếu API đã có sẵn tài liệu mô tả rõ ràng.
Có thể, miễn API có thể truy cập được từ internet với xác thực phù hợp, không nhất thiết phải là API công khai hoàn toàn.
Có, có thể khai báo nhiều Action khác nhau cho cùng một Custom GPT, GPT sẽ tự chọn Action phù hợp theo từng câu hỏi.
Có thể nếu API hỗ trợ, nhưng nên có bước xác nhận trước khi thực thi để tránh thay đổi dữ liệu ngoài ý muốn.
Kiểm tra lại mô tả trong đặc tả OpenAPI có đủ rõ ràng không, GPT chọn Action dựa trên mô tả đó nên mô tả mơ hồ dễ dẫn tới gọi sai.
Andy
Andy
Sáng lập Kudomax

Review có tâm, chọn lọc từ dữ liệu thật. Chuyên review sản phẩm thực tế — không nhận hàng tài trợ để review thiếu khách quan.

Quảng cáo