Đếm số lượng mã thông báo cho các mô hình Gemini

Các mô hình Gemini xử lý dữ liệu đầu vào và đầu ra theo đơn vị gọi là mã thông báo.

Mã thông báo có thể là các ký tự đơn như z hoặc toàn bộ từ như cat. Các từ dài được chia thành nhiều mã thông báo. Tập hợp tất cả mã thông báo mà mô hình sử dụng được gọi là từ vựng và quá trình phân tách văn bản thành mã thông báo được gọi là mã hoá.

Đối với các mô hình Gemini, một mã thông báo tương đương với khoảng 4 ký tự. 100 token tương đương với khoảng 60-80 từ tiếng Anh.

Mỗi mô hình có một số lượng mã thông báo tối đa mà mô hình đó có thể xử lý trong một câu lệnh và phản hồi. Việc biết số lượng mã thông báo của câu lệnh giúp bạn biết liệu mình có vượt quá giới hạn này hay không. Ngoài ra, chi phí của một yêu cầu được xác định một phần dựa trên số lượng mã thông báo đầu vào và đầu ra, vì vậy, việc biết cách đếm mã thông báo có thể hữu ích.

Mô hình được hỗ trợ

  • gemini-4-argon
  • gemini-3.8-flash (và các phiên bản cũ hơn là gemini-3.7-flash, gemini-3.6-flash và gemini-3.5-flash)
  • gemini-3.5-flash-lite (và gemini-3.1-flash-lite cũ hơn)
  • gemini-nano-banana-2.1 (Nano Banana 2.1)
  • gemini-3.1-flash-image (Nano Banana 2)
  • gemini-3.1-flash-lite-image (Nano Banana 2 Lite)
  • gemini-3-pro-image (Nano Banana Pro)
  • gemini-3.1-flash-tts-preview

Các mô hình gemini-3.1-pro-preview, mô hình tạo sinh hình ảnh và mô hình đa năng Gemini 2.5 (đã ngừng hoạt động) cũng hỗ trợ tính năng này.

Các lựa chọn để đếm mã thông báo

Tất cả dữ liệu đầu vào và đầu ra cho Gemini API đều được mã hoá, bao gồm cả văn bản, tệp hình ảnh và các phương thức không phải văn bản khác. Dưới đây là các lựa chọn để đếm mã thông báo:

Chỉ kiểm tra số lượng mã thông báo cho yêu cầu của bạn (trước khi gửi đến mô hình).
Gọi countTokens bằng dữ liệu đầu vào của yêu cầu trước khi gửi yêu cầu đó đến mô hình. Thao tác này sẽ trả về:
  • total_tokens: số lượng mã thông báo của chỉ dữ liệu đầu vào
Kiểm tra số lượng mã thông báo cho cả yêu cầu và phản hồi của bạn.
Truy cập vào thuộc tính usageMetadata trên đối tượng phản hồi. Trong đó có:
  • prompt_token_count: chỉ số lượng mã thông báo của dữ liệu đầu vào
  • candidates_token_count: chỉ tính số lượng token của kết quả đầu ra (không bao gồm token tư duy)
  • thoughts_token_count: số lượng token của mọi token tư duy được dùng để tạo câu trả lời
  • total_token_count: tổng số token cho cả đầu vào và đầu ra (bao gồm mọi token tư duy)

Khi truyền trực tuyến kết quả, thuộc tính usageMetadata chỉ xuất hiện trên đoạn cuối cùng của luồng. Giá trị này là nil cho các đoạn trung gian.

Hãy lưu ý những điểm sau về các lựa chọn nêu trên:

  • Họ sẽ không tính số lượng hình ảnh đầu vào hoặc số giây trong tệp đầu vào video hoặc âm thanh. Tuy nhiên, số lượng mã thông báo cho mỗi phương thức này sẽ tương quan với các giá trị này.
  • Số lượng mã thông báo đầu vào bao gồm câu lệnh (văn bản và mọi tệp đầu vào) cũng như mọi chỉ dẫn và công cụ hệ thống.
  • Số lượng token đầu ra không bao gồm bất kỳ token tư duy nào; những token đó được cung cấp trong một trường riêng biệt.
  • Hãy xem thông tin bổ sung dành riêng cho từng loại yêu cầu ở phần sau của trang này.
  • Các mô hình Gemini Live API không hỗ trợ countTokens. Ngoài ra, Firebase AI Logic chưa hỗ trợ thuộc tính usageMetadata đó trong phản hồi từ các mô hình Live API, nhưng tính năng này sẽ sớm ra mắt!

Giá của các lựa chọn này

  • Gọi countTokens: Bạn không mất phí khi gọi countTokens (API Count Tokens). Hạn mức tối đa cho API Đếm mã thông báo là 3.000 yêu cầu mỗi phút (RPM).

  • Sử dụng thuộc tính usageMetadata: Thuộc tính này luôn được trả về dưới dạng một phần của phản hồi và không tốn bất kỳ mã thông báo nào hoặc tự tính phí.

Thông tin khác

Sau đây là một số thông tin bổ sung khi làm việc với các loại yêu cầu cụ thể.

Đếm số token văn bản đầu vào

Không có thông tin bổ sung.

Đếm số token trong cuộc trò chuyện nhiều lượt

Lưu ý những điều sau khi gọi countTokens khi sử dụng tính năng trò chuyện:

  • Nếu bạn gọi countTokens bằng nhật ký trò chuyện, thì hàm này sẽ trả về tổng số mã thông báo của cả hai vai trò trong cuộc trò chuyện (total_tokens).
  • Để biết lượt trò chuyện tiếp theo của bạn sẽ lớn đến mức nào, bạn cần thêm lượt trò chuyện đó vào nhật ký khi gọi countTokens.

Đếm số token đầu vào đa phương thức

Hãy lưu ý những điểm sau về việc đếm mã thông báo bằng dữ liệu đầu vào đa phương thức:

  • Bạn có thể tuỳ ý gọi countTokens trên văn bản và tệp riêng biệt.
  • Đối với cả hai lựa chọn đếm mã thông báo, bạn sẽ nhận được cùng một số lượng mã thông báo cho dù bạn cung cấp tệp dưới dạng dữ liệu cùng dòng hay sử dụng URL của tệp.

Tệp hình ảnh đầu vào

Tệp đầu vào hình ảnh được chuyển đổi thành mã thông báo dựa trên kích thước của tệp:

  • Hình ảnh đầu vào có cả hai kích thước nhỏ hơn hoặc bằng 384 pixel: mỗi hình ảnh được tính là 258 mã thông báo.
  • Hình ảnh đầu vào có kích thước lớn hơn ở một hoặc cả hai chiều: mỗi hình ảnh được cắt và điều chỉnh tỷ lệ (nếu cần) thành các ô có kích thước 768x768 pixel, sau đó mỗi ô được tính là 258 mã thông báo.

Tệp đầu vào video và âm thanh

Tệp đầu vào dạng video và âm thanh được chuyển đổi thành mã thông báo theo tỷ lệ cố định sau:

  • Video: 263 token mỗi giây
  • Âm thanh: 32 token/giây

Tệp đầu vào là tài liệu (như tệp PDF)

Tệp đầu vào PDF được coi là hình ảnh, vì vậy, mỗi trang của tệp PDF được mã hoá theo cách giống như hình ảnh.