Live API - WebSockets API reference

API Trực tiếp là một API có trạng thái sử dụng WebSockets. Trong phần này, bạn sẽ tìm thấy thêm thông tin chi tiết về API WebSockets.

Phiên

Kết nối WebSocket thiết lập một phiên giữa ứng dụng và máy chủ Gemini. Sau khi ứng dụng khởi tạo một kết nối mới, phiên có thể trao đổi thông báo với máy chủ để:

  • Gửi văn bản, âm thanh hoặc video đến máy chủ Gemini.
  • Nhận yêu cầu gọi âm thanh, văn bản hoặc hàm từ máy chủ Gemini.

Kết nối WebSocket

Để bắt đầu một phiên, hãy kết nối với điểm cuối websocket này:

wss://generativelanguage.googleapis.com/ws/google.ai.generativelanguage.v1beta.GenerativeService.BidiGenerateContent

Cấu hình phiên

Thông báo ban đầu sau khi kết nối sẽ thiết lập cấu hình phiên, bao gồm mô hình, tham số tạo, hướng dẫn hệ thống và các công cụ.

Bạn có thể thay đổi các tham số cấu hình ngoại trừ mô hình trong phiên.

Hãy xem cấu hình mẫu sau. Xin lưu ý rằng cách viết hoa tên trong SDK có thể khác nhau. Bạn có thể tra cứu các tuỳ chọn cấu hình SDK Python tại đây.


{
  "model": string,
  "generationConfig": {
    "candidateCount": integer,
    "maxOutputTokens": integer,
    "temperature": number,
    "topP": number,
    "topK": integer,
    "presencePenalty": number,
    "frequencyPenalty": number,
    "responseModalities": [string],
    "speechConfig": object,
    "mediaResolution": object
  },
  "systemInstruction": string,
  "tools": [object]
}

Để biết thêm thông tin về trường API, hãy xem generationConfig.

Gửi tin nhắn

Để trao đổi thông điệp qua kết nối WebSocket, ứng dụng phải gửi một đối tượng JSON qua kết nối WebSocket đang mở. Đối tượng JSON phải có chính xác một trường trong tập hợp đối tượng sau:


{
  "setup": BidiGenerateContentSetup,
  "clientContent": BidiGenerateContentClientContent,
  "realtimeInput": BidiGenerateContentRealtimeInput,
  "toolResponse": BidiGenerateContentToolResponse
}

Tin nhắn ứng dụng được hỗ trợ

Xem các thông báo ứng dụng được hỗ trợ trong bảng sau:

Thông điệp Mô tả
BidiGenerateContentSetup Cấu hình phiên sẽ được gửi trong thông báo đầu tiên
BidiGenerateContentClientContent Nội dung cập nhật gia tăng của cuộc trò chuyện hiện tại do ứng dụng gửi
BidiGenerateContentRealtimeInput Nhập âm thanh, video hoặc văn bản theo thời gian thực
BidiGenerateContentToolResponse Phản hồi ToolCallMessage nhận được từ máy chủ

Nhận tin nhắn

Để nhận thông báo từ Gemini, hãy theo dõi sự kiện "message" (thông báo) của WebSocket, sau đó phân tích cú pháp kết quả theo định nghĩa của thông báo máy chủ được hỗ trợ.

Xem các mục sau đây:

async with client.aio.live.connect(model='...', config=config) as session:
    await session.send(input='Hello world!', end_of_turn=True)
    async for message in session.receive():
        print(message)

Thông báo của máy chủ có thể có trường usageMetadata, nhưng sẽ bao gồm chính xác một trong các trường khác của thông báo BidiGenerateContentServerMessage. (Kết hợp messageType không được biểu thị bằng JSON nên trường này sẽ xuất hiện ở cấp cao nhất của thông báo.)

Tin nhắn và sự kiện

ActivityEnd

Loại này không có trường nào.

Đánh dấu thời điểm kết thúc hoạt động của người dùng.

ActivityHandling

Các cách xử lý hoạt động của người dùng.

Enum
ACTIVITY_HANDLING_UNSPECIFIED Nếu không chỉ định, hành vi mặc định sẽ là START_OF_ACTIVITY_INTERRUPTS.
START_OF_ACTIVITY_INTERRUPTS Nếu đúng, hoạt động bắt đầu sẽ làm gián đoạn phản hồi của mô hình (còn gọi là "barge in"). Phản hồi hiện tại của mô hình sẽ bị cắt bỏ tại thời điểm bị gián đoạn. Đây là hành vi mặc định.
NO_INTERRUPTION Phản hồi của mô hình sẽ không bị gián đoạn.

ActivityStart

Loại này không có trường nào.

Đánh dấu thời điểm bắt đầu hoạt động của người dùng.

AudioTranscriptionConfig

Loại này không có trường nào.

Cấu hình bản chép lời âm thanh.

AutomaticActivityDetection

Định cấu hình tính năng tự động phát hiện hoạt động.

Trường
disabled

bool

Không bắt buộc. Nếu được bật (mặc định), hoạt động nhập liệu bằng giọng nói và văn bản được phát hiện sẽ được tính là hoạt động. Nếu bị tắt, ứng dụng phải gửi tín hiệu hoạt động.

startOfSpeechSensitivity

StartSensitivity

Không bắt buộc. Xác định khả năng phát hiện lời nói.

prefixPaddingMs

int32

Không bắt buộc. Thời lượng bắt buộc của lời nói được phát hiện trước khi bắt đầu lời nói được xác nhận. Giá trị này càng thấp thì tính năng phát hiện bắt đầu lời nói càng nhạy và có thể nhận dạng được lời nói ngắn hơn. Tuy nhiên, điều này cũng làm tăng khả năng có kết quả dương tính giả.

endOfSpeechSensitivity

EndSensitivity

Không bắt buộc. Xác định khả năng lời nói được phát hiện đã kết thúc.

silenceDurationMs

int32

Không bắt buộc. Thời lượng bắt buộc của nội dung không phải lời nói được phát hiện (ví dụ: im lặng) trước khi kết thúc lời nói. Giá trị này càng lớn thì khoảng thời gian không có lời nói càng dài mà không làm gián đoạn hoạt động của người dùng, nhưng điều này sẽ làm tăng độ trễ của mô hình.

BidiGenerateContentClientContent

Nội dung cập nhật gia tăng của cuộc trò chuyện hiện tại do ứng dụng gửi. Tất cả nội dung ở đây được thêm vào nhật ký cuộc trò chuyện một cách vô điều kiện và được dùng làm một phần của câu lệnh cho mô hình để tạo nội dung.

Thông báo tại đây sẽ làm gián đoạn mọi hoạt động tạo mô hình hiện tại.

Trường
turns[]

Content

Không bắt buộc. Nội dung được thêm vào cuộc trò chuyện hiện tại với mô hình.

Đối với truy vấn một lượt, đây là một thực thể duy nhất. Đối với các truy vấn nhiều lượt, đây là trường lặp lại chứa nhật ký trò chuyện và yêu cầu mới nhất.

turnComplete

bool

Không bắt buộc. Nếu đúng, hãy cho biết rằng quá trình tạo nội dung máy chủ sẽ bắt đầu bằng lời nhắc hiện đã tích luỹ. Nếu không, máy chủ sẽ chờ thêm thông báo trước khi bắt đầu tạo.

BidiGenerateContentRealtimeInput

Dữ liệu do người dùng nhập được gửi theo thời gian thực.

Các phương thức khác nhau (âm thanh, video và văn bản) được xử lý dưới dạng luồng đồng thời. Chúng tôi không đảm bảo thứ tự của các luồng này.

Phương thức này khác với BidiGenerateContentClientContent ở một số điểm:

  • Có thể gửi liên tục mà không bị gián đoạn để tạo mô hình.
  • Nếu cần kết hợp dữ liệu được xen kẽ trên BidiGenerateContentClientContentBidiGenerateContentRealtimeInput, máy chủ sẽ cố gắng tối ưu hoá để phản hồi tốt nhất, nhưng không có gì đảm bảo.
  • Điểm kết thúc lượt nói không được chỉ định rõ ràng, mà thay vào đó là bắt nguồn từ hoạt động của người dùng (ví dụ: kết thúc lời nói).
  • Ngay cả trước khi kết thúc lượt, dữ liệu vẫn được xử lý tăng dần để tối ưu hoá việc bắt đầu nhanh phản hồi từ mô hình.
Trường
mediaChunks[]

Blob

Không bắt buộc. Dữ liệu byte nội tuyến cho dữ liệu đầu vào đa phương tiện. Không hỗ trợ nhiều mediaChunks, tất cả trừ mediaChunks đầu tiên sẽ bị bỏ qua.

KHÔNG DÙNG NỮA: Thay vào đó, hãy sử dụng một trong các audio, video hoặc text.

audio

Blob

Không bắt buộc. Các gói này tạo thành luồng đầu vào âm thanh theo thời gian thực.

video

Blob

Không bắt buộc. Các khung hình này tạo thành luồng đầu vào video theo thời gian thực.

activityStart

ActivityStart

Không bắt buộc. Đánh dấu thời điểm bắt đầu hoạt động của người dùng. Bạn chỉ có thể gửi thông báo này nếu tính năng phát hiện hoạt động tự động (tức là phía máy chủ) bị tắt.

activityEnd

ActivityEnd

Không bắt buộc. Đánh dấu thời điểm kết thúc hoạt động của người dùng. Bạn chỉ có thể gửi thông báo này nếu tính năng phát hiện hoạt động tự động (tức là phía máy chủ) bị tắt.

audioStreamEnd

bool

Không bắt buộc. Cho biết luồng âm thanh đã kết thúc, ví dụ: do micrô bị tắt.

Bạn chỉ nên gửi thông báo này khi bật tính năng tự động phát hiện hoạt động (đây là chế độ mặc định).

Ứng dụng khách có thể mở lại luồng bằng cách gửi tin nhắn âm thanh.

text

string

Không bắt buộc. Các dòng này tạo thành luồng nhập văn bản theo thời gian thực.

BidiGenerateContentServerContent

Nội dung cập nhật máy chủ gia tăng do mô hình tạo ra để phản hồi thông báo của ứng dụng khách.

Nội dung được tạo nhanh nhất có thể chứ không phải theo thời gian thực. Ứng dụng có thể chọn lưu vào bộ đệm và phát theo thời gian thực.

Trường
generationComplete

bool

Chỉ có đầu ra. Nếu là true, cho biết mô hình đã tạo xong.

Khi mô hình bị gián đoạn trong khi tạo, sẽ không có thông báo "generation_complete" trong lượt bị gián đoạn, mà sẽ chuyển sang "interrupted > turn_complete".

Khi mô hình giả định phát trực tiếp, sẽ có độ trễ giữa generation_complete và turn_complete do mô hình chờ quá trình phát kết thúc.

turnComplete

bool

Chỉ có đầu ra. Nếu là true, cho biết mô hình đã hoàn tất lượt của mình. Quá trình tạo sẽ chỉ bắt đầu khi phản hồi các thông báo khác của ứng dụng.

interrupted

bool

Chỉ có đầu ra. Nếu đúng, cho biết một thông báo của ứng dụng đã làm gián đoạn quá trình tạo mô hình hiện tại. Nếu ứng dụng đang phát nội dung theo thời gian thực, thì đây là tín hiệu tốt để dừng và làm trống hàng đợi phát hiện tại.

groundingMetadata

GroundingMetadata

Chỉ có đầu ra. Siêu dữ liệu cơ sở cho nội dung được tạo.

outputTranscription

BidiGenerateContentTranscription

Chỉ có đầu ra. Xuất bản chép lời âm thanh. Bản chép lời được gửi độc lập với các thông báo khác của máy chủ và không có thứ tự nào được đảm bảo, đặc biệt là không có thứ tự nào giữa serverContentoutputTranscription này.

modelTurn

Content

Chỉ có đầu ra. Nội dung mà mô hình đã tạo trong cuộc trò chuyện hiện tại với người dùng.

BidiGenerateContentServerMessage

Thông báo phản hồi cho lệnh gọi BidiGenerateContent.

Trường
usageMetadata

UsageMetadata

Chỉ có đầu ra. Siêu dữ liệu về cách sử dụng(các) phản hồi.

Trường hợp hợp nhất messageType. Loại thông báo. messageType chỉ có thể là một trong những giá trị sau:
setupComplete

BidiGenerateContentSetupComplete

Chỉ có đầu ra. Được gửi để phản hồi một thông báo BidiGenerateContentSetup từ ứng dụng khi quá trình thiết lập hoàn tất.

serverContent

BidiGenerateContentServerContent

Chỉ có đầu ra. Nội dung do mô hình tạo ra để phản hồi tin nhắn của ứng dụng khách.

toolCall

BidiGenerateContentToolCall

Chỉ có đầu ra. Yêu cầu ứng dụng khách thực thi functionCalls và trả về các phản hồi bằng id phù hợp.

toolCallCancellation

BidiGenerateContentToolCallCancellation

Chỉ có đầu ra. Thông báo cho ứng dụng khách rằng ToolCallMessage đã phát hành trước đó với các id được chỉ định sẽ bị huỷ.

goAway

GoAway

Chỉ có đầu ra. Thông báo cho biết máy chủ sắp ngắt kết nối.

sessionResumptionUpdate

SessionResumptionUpdate

Chỉ có đầu ra. Cập nhật trạng thái tiếp tục phiên.

BidiGenerateContentSetup

Thông báo sẽ được gửi trong BidiGenerateContentClientMessage đầu tiên (và chỉ trong BidiGenerateContentClientMessage đầu tiên). Chứa cấu hình sẽ áp dụng trong suốt thời gian của RPC truyền trực tuyến.

Ứng dụng nên đợi thông báo BidiGenerateContentSetupComplete trước khi gửi thêm thông báo.

Trường
model

string

Bắt buộc. Tên tài nguyên của mô hình. Đây là mã nhận dạng để Mô hình sử dụng.

Định dạng models/{model}

generationConfig

GenerationConfig

Không bắt buộc. Cấu hình tạo.

Các trường sau đây không được hỗ trợ:

  • responseLogprobs
  • responseMimeType
  • logprobs
  • responseSchema
  • stopSequence
  • routingConfig
  • audioTimestamp
systemInstruction

Content

Không bắt buộc. Người dùng đã cung cấp hướng dẫn hệ thống cho mô hình.

Lưu ý: Chỉ nên sử dụng văn bản trong các phần và nội dung trong mỗi phần sẽ nằm trong một đoạn riêng.

tools[]

Tool

Không bắt buộc. Danh sách Tools mà mô hình có thể sử dụng để tạo phản hồi tiếp theo.

Tool là một đoạn mã cho phép hệ thống tương tác với các hệ thống bên ngoài để thực hiện một hành động hoặc một tập hợp hành động nằm ngoài kiến thức và phạm vi của mô hình.

realtimeInputConfig

RealtimeInputConfig

Không bắt buộc. Định cấu hình cách xử lý dữ liệu đầu vào theo thời gian thực.

sessionResumption

SessionResumptionConfig

Không bắt buộc. Định cấu hình cơ chế tiếp tục phiên.

Nếu có, máy chủ sẽ gửi thông báo SessionResumptionUpdate.

contextWindowCompression

ContextWindowCompressionConfig

Không bắt buộc. Định cấu hình cơ chế nén cửa sổ ngữ cảnh.

Nếu có, máy chủ sẽ tự động giảm kích thước của ngữ cảnh khi ngữ cảnh đó vượt quá độ dài đã định cấu hình.

outputAudioTranscription

AudioTranscriptionConfig

Không bắt buộc. Nếu được đặt, sẽ bật tính năng chép lời đầu ra âm thanh của mô hình. Bản chép lời sẽ phù hợp với mã ngôn ngữ được chỉ định cho âm thanh đầu ra, nếu bạn đã định cấu hình.

BidiGenerateContentSetupComplete

Loại này không có trường nào.

Được gửi để phản hồi một thông báo BidiGenerateContentSetup từ ứng dụng khách.

BidiGenerateContentToolCall

Yêu cầu ứng dụng khách thực thi functionCalls và trả về các phản hồi bằng id phù hợp.

Trường
functionCalls[]

FunctionCall

Chỉ có đầu ra. Lệnh gọi hàm sẽ được thực thi.

BidiGenerateContentToolCallCancellation

Thông báo cho ứng dụng khách rằng ToolCallMessage đã phát hành trước đó với các id được chỉ định không được thực thi và phải bị huỷ. Nếu có hiệu ứng phụ đối với các lệnh gọi công cụ đó, ứng dụng có thể cố gắng huỷ các lệnh gọi công cụ. Thông báo này chỉ xảy ra trong trường hợp ứng dụng khách làm gián đoạn lượt chuyển đổi máy chủ.

Trường
ids[]

string

Chỉ có đầu ra. Mã của các lệnh gọi công cụ cần huỷ.

BidiGenerateContentToolResponse

Phản hồi do ứng dụng tạo cho một ToolCall nhận được từ máy chủ. Các đối tượng FunctionResponse riêng lẻ được so khớp với các đối tượng FunctionCall tương ứng theo trường id.

Xin lưu ý rằng trong API Tạo nội dung một chiều và API Tạo nội dung truyền trực tuyến qua máy chủ, việc gọi hàm diễn ra bằng cách trao đổi các phần Content, trong khi trong API Tạo nội dung hai chiều, việc gọi hàm diễn ra qua các nhóm thông báo chuyên dụng này.

Trường
functionResponses[]

FunctionResponse

Không bắt buộc. Phản hồi cho các lệnh gọi hàm.

BidiGenerateContentTranscription

Bản chép lời âm thanh (đầu vào hoặc đầu ra).

Trường
text

string

Văn bản chép lời.

ContextWindowCompressionConfig

Bật tính năng nén cửa sổ ngữ cảnh — một cơ chế để quản lý cửa sổ ngữ cảnh của mô hình sao cho không vượt quá một độ dài nhất định.

Trường
Trường hợp hợp nhất compressionMechanism. Cơ chế nén cửa sổ ngữ cảnh được sử dụng. compressionMechanism chỉ có thể là một trong những giá trị sau:
slidingWindow

SlidingWindow

Cơ chế cửa sổ trượt.

triggerTokens

int64

Số lượng mã thông báo (trước khi chạy một lượt) cần thiết để kích hoạt quá trình nén cửa sổ ngữ cảnh.

Bạn có thể dùng thông tin này để cân bằng chất lượng với độ trễ vì cửa sổ ngữ cảnh ngắn hơn có thể giúp mô hình phản hồi nhanh hơn. Tuy nhiên, mọi thao tác nén sẽ làm tăng độ trễ tạm thời, vì vậy, bạn không nên kích hoạt các thao tác này thường xuyên.

Nếu bạn không đặt, giá trị mặc định sẽ là 80% giới hạn cửa sổ ngữ cảnh của mô hình. Điều này sẽ để lại 20% cho yêu cầu/phản hồi mô hình tiếp theo của người dùng.

EndSensitivity

Xác định cách phát hiện điểm kết thúc lời nói.

Enum
END_SENSITIVITY_UNSPECIFIED Giá trị mặc định là END_SENSITIVITY_HIGH.
END_SENSITIVITY_HIGH Tính năng tự động phát hiện kết thúc lời nói thường xuyên hơn.
END_SENSITIVITY_LOW Tính năng tự động phát hiện ít kết thúc lời nói hơn.

GoAway

Thông báo cho biết máy chủ sắp ngắt kết nối.

Trường
timeLeft

Duration

Thời gian còn lại trước khi kết nối bị chấm dứt là ABORTED (BỊ HUỶ).

Thời lượng này sẽ không bao giờ nhỏ hơn thời lượng tối thiểu dành riêng cho mô hình. Thời lượng này sẽ được chỉ định cùng với giới hạn tốc độ cho mô hình.

RealtimeInputConfig

Định cấu hình hành vi nhập theo thời gian thực trong BidiGenerateContent.

Trường
automaticActivityDetection

AutomaticActivityDetection

Không bắt buộc. Nếu bạn không đặt, tính năng tự động phát hiện hoạt động sẽ được bật theo mặc định. Nếu tính năng phát hiện giọng nói tự động bị tắt, thì ứng dụng phải gửi tín hiệu hoạt động.

activityHandling

ActivityHandling

Không bắt buộc. Xác định hiệu ứng của hoạt động.

turnCoverage

TurnCoverage

Không bắt buộc. Xác định dữ liệu đầu vào nào có trong lượt của người dùng.

SessionResumptionConfig

Cấu hình tiếp tục phiên.

Thông báo này được đưa vào cấu hình phiên dưới dạng BidiGenerateContentSetup.sessionResumption. Nếu được định cấu hình, máy chủ sẽ gửi thông báo SessionResumptionUpdate.

Trường
handle

string

Tên người dùng của một phiên trước đó. Nếu không có, một phiên mới sẽ được tạo.

Tên phiên hoạt động đến từ các giá trị SessionResumptionUpdate.token trong các kết nối trước đó.

SessionResumptionUpdate

Cập nhật trạng thái tiếp tục phiên.

Chỉ gửi nếu bạn đã đặt BidiGenerateContentSetup.sessionResumption.

Trường
newHandle

string

Tên người dùng mới đại diện cho trạng thái có thể tiếp tục. Trống nếu resumable=false.

resumable

bool

Đúng nếu có thể tiếp tục phiên hiện tại tại thời điểm này.

Không thể tiếp tục ở một số điểm trong phiên. Ví dụ: khi mô hình đang thực thi lệnh gọi hàm hoặc tạo. Việc tiếp tục phiên (sử dụng mã thông báo phiên trước đó) ở trạng thái như vậy sẽ dẫn đến việc mất một số dữ liệu. Trong những trường hợp này, newHandle sẽ trống và resumable sẽ là sai.

SlidingWindow

Phương thức SlidingWindow hoạt động bằng cách loại bỏ nội dung ở đầu cửa sổ ngữ cảnh. Ngữ cảnh thu được sẽ luôn bắt đầu từ đầu lượt của vai trò NGƯỜI DÙNG. Hướng dẫn hệ thống và mọi BidiGenerateContentSetup.prefixTurns sẽ luôn nằm ở đầu kết quả.

Trường
targetTokens

int64

Số lượng mã thông báo mục tiêu cần giữ lại. Giá trị mặc định là trigger_tokens/2.

Việc loại bỏ các phần của cửa sổ ngữ cảnh sẽ làm tăng độ trễ tạm thời, vì vậy, bạn nên điều chỉnh giá trị này để tránh các thao tác nén thường xuyên.

StartSensitivity

Xác định cách phát hiện thời điểm bắt đầu lời nói.

Enum
START_SENSITIVITY_UNSPECIFIED Giá trị mặc định là START_SENSITIVITY_HIGH.
START_SENSITIVITY_HIGH Tính năng phát hiện tự động sẽ phát hiện điểm bắt đầu lời nói thường xuyên hơn.
START_SENSITIVITY_LOW Tính năng tự động phát hiện sẽ phát hiện ít trường hợp bắt đầu lời nói hơn.

TurnCoverage

Các tuỳ chọn về dữ liệu đầu vào được đưa vào lượt của người dùng.

Enum
TURN_COVERAGE_UNSPECIFIED Nếu không chỉ định, hành vi mặc định sẽ là TURN_INCLUDES_ONLY_ACTIVITY.
TURN_INCLUDES_ONLY_ACTIVITY Lượt của người dùng chỉ bao gồm hoạt động kể từ lượt trước, ngoại trừ thời gian không hoạt động (ví dụ: không có âm thanh trên luồng âm thanh). Đây là hành vi mặc định.
TURN_INCLUDES_ALL_INPUT Lượt của người dùng bao gồm tất cả dữ liệu đầu vào theo thời gian thực kể từ lượt trước, bao gồm cả thời gian không hoạt động (ví dụ: không có âm thanh trên luồng âm thanh).

UsageMetadata

Siêu dữ liệu về mức sử dụng của(các) phản hồi.

Trường
promptTokenCount

int32

Chỉ có đầu ra. Số lượng mã thông báo trong lời nhắc. Khi bạn đặt cachedContent, đây vẫn là tổng kích thước lời nhắc hiệu quả, tức là bao gồm cả số lượng mã thông báo trong nội dung được lưu vào bộ nhớ đệm.

cachedContentTokenCount

int32

Số lượng mã thông báo trong phần lời nhắc được lưu vào bộ nhớ đệm (nội dung được lưu vào bộ nhớ đệm)

responseTokenCount

int32

Chỉ có đầu ra. Tổng số mã thông báo trên tất cả các đề xuất phản hồi được tạo.

toolUsePromptTokenCount

int32

Chỉ có đầu ra. Số lượng mã thông báo có trong(các) lời nhắc sử dụng công cụ.

thoughtsTokenCount

int32

Chỉ có đầu ra. Số lượng mã thông báo suy nghĩ cho các mô hình suy nghĩ.

totalTokenCount

int32

Chỉ có đầu ra. Tổng số mã thông báo cho yêu cầu tạo (lời nhắc + đề xuất phản hồi).

promptTokensDetails[]

ModalityTokenCount

Chỉ có đầu ra. Danh sách các phương thức đã được xử lý trong dữ liệu đầu vào của yêu cầu.

cacheTokensDetails[]

ModalityTokenCount

Chỉ có đầu ra. Danh sách phương thức của nội dung được lưu vào bộ nhớ đệm trong dữ liệu đầu vào của yêu cầu.

responseTokensDetails[]

ModalityTokenCount

Chỉ có đầu ra. Danh sách phương thức được trả về trong phản hồi.

toolUsePromptTokensDetails[]

ModalityTokenCount

Chỉ có đầu ra. Danh sách các phương thức đã được xử lý cho dữ liệu đầu vào yêu cầu sử dụng công cụ.

Thông tin khác về các loại phổ biến

Để biết thêm thông tin về các loại tài nguyên API thường dùng Blob, Content, FunctionCall, FunctionResponse, GenerationConfig, GroundingMetadata, ModalityTokenCountTool, hãy xem phần Tạo nội dung.