Gemini 可以回覆有關音訊的提示。你可以在 Gemini 要求中加入音訊,讓 Gemini 瞭解音訊內容並執行相關工作。舉例來說,Gemini 可以執行下列操作:
- 描述音訊內容、生成摘要或回答相關問題。
- 提供音訊轉錄稿。
- 提供特定音訊片段的答案或轉錄稿。
Gemini 的多模態輸入內容包括音訊理解功能,可將文字與媒體檔案結合。
如要進一步瞭解如何使用 Gemini 瞭解音訊,以及傳送 API 要求的逐步操作說明,請參閱「傳送多模態提示」。
含音訊提示的規格
你可以在 Gemini 的要求中加入音訊檔案,單一提示中支援的音訊資料長度上限為 15 分鐘,或最多 32,000 個權杖。Gemini 不會限制單一提示中的音訊檔案數量,但單一提示中所有音訊檔案的總長度不得超過 15 分鐘。
Gemini 可以理解語音,並進行音訊摘要、轉錄和翻譯。
音訊必須採用下列其中一種音訊格式 MIME 類型:
- AAC:
audio/aac - AIF:
audio/aiff - FLAC:
audio/flac - MP3:
audio/mp3 - OGG:
audio/ogg - WAV:
audio/wav
Gemini 對音訊有以下限制:
- 每秒音訊以 25 個權杖表示。舉例來說,一分鐘的音訊會以 1,500 個權杖表示。
- 僅推斷英文語音的回覆。
- 分析語音以外的成分,例如鳥鳴或警報聲。
- 將音訊檔案取樣為 16 Kbps 的資料解析度。如果音訊來源包含多個聲道,Gemini 會將其合併為單一聲道。
您可以在 REST API 中使用 Chat Completions 端點,並使用 HTTP 用戶端或 OpenAI 的 Python 官方 SDK。您可以將音訊以內嵌資料的形式提供給提示要求 (以 Base64 編碼檔案表示),或上傳音訊檔案至儲存空間值區後,再提出提示要求。
如要進一步瞭解音訊限制,請參閱 Google Cloud 說明文件。
如要進一步瞭解 OpenAI,以及 Gemini 在 Google Distributed Cloud (GDC) Air-Gapped 中實作的 Chat Completions 端點,請參閱 https://platform.openai.com/docs/api-reference/chat。
瞭解提示中的音訊
下列範例顯示 Gemini Chat Completions API 要求,可使用 OpenAI 的 Python 或 curl 官方 SDK,從文字和音訊輸入內容生成文字。你可以將音訊做為內嵌資料傳送,或在要求中提供音訊網址。
傳送內嵌資料要求
從 Base64 編碼檔案將音訊做為內嵌資料提供給提示要求。API 要求包含 Base64 編碼音訊的 input_audio 欄位。下列範例說明如何傳送 Base64 編碼的音訊要求:
Python
import openai
client = openai.OpenAI()
model_response = client.chat.completions.create(
model = "MODEL_ID",
messages = [
{
"role": "user",
"content": "Show me the lyrics of this song."
},
{
"role": "user",
"content": [
{
"type": "input_audio",
"input_audio": {
"data": BASE64_DATA,
# Valid formats are aac, aiff, flac, mp3, ogg, or wav
"format": "mp3"
}
}
]
}
]
)
print(model_response)
更改下列內容:
MODEL_ID:要生成回覆的模型端點 ID。BASE64_DATA:音訊檔案的 Base64 編碼資料。 Base64 編碼資料必須以資料 URI 結構 (RFC 2397) 為前置字元。 因此,Base64 編碼資料的data欄位格式為"data": f"data:audio/mp3;base64,{base64_audio}"。
curl
curl \
-X POST "https://ENDPOINT:443/v1/projects/PROJECT/locations/PROJECT/chat/completions" \
-H "Content-Type: application/json; charset=utf-8" \
-H "Authorization: Bearer $(gdcloud auth print-identity-token)" \
-d '{
"model_id": "MODEL_ID",
"messages": [
{
"role": "user",
"content": "Show me the lyrics of this song."
},
{
"role": "user",
"content": [
{
"type": "input_audio",
"input_audio": {
"data": BASE64_DATA,
# Valid formats are aac, aiff, flac, mp3, ogg, or wav
"format": "mp3"
}
}
]
}
],
}'
更改下列內容:
ENDPOINT:貴機構使用的 API 端點。PROJECT:您的專案 ID。MODEL_ID:要生成回覆的模型端點 ID。BASE64_DATA:音訊檔案的 Base64 編碼資料。 Base64 編碼資料必須以資料 URI 結構 (RFC 2397) 為前置字元。 因此,Base64 編碼資料的data欄位格式為"data": f"data:audio/mp3;base64,{base64_audio}"。
在要求中傳送音訊網址
上傳音訊檔案至儲存空間 bucket,然後再提出提示要求。API 要求包含儲存空間 bucket 中音訊檔案的 audio_url 欄位。下列範例顯示如何傳送音訊網址要求:
curl \
-X POST "https://ENDPOINT:443/v1/projects/PROJECT/locations/PROJECT/chat/completions" \
-H "Content-Type: application/json; charset=utf-8" \
-H "Authorization: Bearer $(gdcloud auth print-identity-token)" \
-d '{
"model_id": "MODEL_ID",
"messages": [
{
"role": "user",
"content": "Show me the lyrics of this song."
},
{
"role": "user",
"content": [
{
"type": "audio_url",
"audio_url": {
"url": "AUDIO_URL",
}
}
]
}
],
}'
更改下列內容:
ENDPOINT:貴機構使用的 API 端點。PROJECT:您的專案 ID。MODEL_ID:要生成回覆的模型端點 ID。AUDIO_URL:儲存空間值區中音訊網址的路徑。音訊網址必須參照儲存在 GDC 儲存空間值區中的音訊檔案。詳情請參閱儲存資料。