瞭解音訊

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 儲存空間值區中的音訊檔案。詳情請參閱儲存資料

後續步驟