Compreenda o áudio

O Gemini pode responder a comandos sobre áudio. Pode adicionar áudio aos pedidos do Gemini para realizar tarefas que envolvam a compreensão do conteúdo do áudio incluído. Por exemplo, o Gemini pode fazer o seguinte:

  • Descrever, resumir ou responder a perguntas sobre conteúdo de áudio.
  • Fornecer uma transcrição do áudio.
  • Fornecer respostas ou uma transcrição sobre um segmento específico do áudio.

A compreensão de áudio é uma das entradas multimodais do Gemini que combinam texto com ficheiros multimédia.

Para mais informações sobre a compreensão de áudio com o Gemini e instruções passo a passo para enviar pedidos de API, consulte Enviar um comando multimodal.

Especificações para comandos com áudio

Pode adicionar ficheiros de áudio ao seu pedido ao Gemini. A duração máxima suportada dos dados de áudio num único comando é de 15 minutos ou até 32 000 tokens. O Gemini não limita o número de ficheiros de áudio num único comando, mas a duração total combinada de todos os ficheiros de áudio num único comando não pode exceder 15 minutos.

O Gemini consegue compreender a voz para o resumo de áudio, a transcrição e a tradução.

O áudio tem de estar num dos seguintes tipos MIME de formato de áudio:

  • AAC: audio/aac
  • AIF: audio/aiff
  • FLAC: audio/flac
  • MP3: audio/mp3
  • OGG: audio/ogg
  • WAV: audio/wav

O Gemini impõe as seguintes regras ao áudio:

  • Representar cada segundo de áudio como 25 tokens. Por exemplo, um minuto de áudio é representado como 1500 tokens.
  • Apenas inferir respostas a voz em inglês.
  • Analisar componentes que não são discurso, como o canto de pássaros ou sirenes.
  • Amostre ficheiros de áudio a uma resolução de dados de 16 Kbps. Se a fonte de áudio contiver vários canais, o Gemini combina-os num único canal.

Pode usar o ponto final Chat Completions na API REST e usar um cliente HTTP ou os SDKs oficiais da OpenAI para Python. Pode fornecer o áudio como dados incorporados no pedido de comando como um ficheiro codificado em base64 ou carregar o ficheiro de áudio para um contentor de armazenamento antes de fazer o pedido de comando.

Saiba mais sobre as limitações de áudio na Google Cloud documentação.

Para saber mais sobre a OpenAI e o ponto final Chat Completions que o Gemini implementa no Google Distributed Cloud (GDC) air-gapped, consulte https://platform.openai.com/docs/api-reference/chat.

Compreenda o áudio de um comando

Os exemplos seguintes mostram um pedido da API Gemini Chat Completions para gerar texto a partir de entrada de texto e áudio usando os SDKs oficiais da OpenAI para Python ou curl. Pode enviar áudio como dados inline ou fornecer um URL de áudio no pedido.

Envie pedidos de dados em linha

Forneça áudio como dados inline ao pedido de comando a partir de ficheiros codificados em base64. O pedido da API contém o campo input_audio para áudio codificado em base64. O exemplo seguinte mostra como enviar pedidos de áudio codificados em 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)

Substitua o seguinte:

  • MODEL_ID: o ID do ponto final do modelo para o qual quer gerar a resposta.
  • BASE64_DATA: os dados codificados em base64 do ficheiro de áudio. Os dados codificados em Base64 têm de ter o prefixo de um esquema de URI de dados, RFC 2397. Por conseguinte, o formato do campo data para dados codificados em base64 é, por exemplo, "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"
                  }
                }
              ]
            }
          ],
      }'

Substitua o seguinte:

  • ENDPOINT: o ponto final da API que usa para a sua organização.
  • PROJECT: o ID do seu projeto.
  • MODEL_ID: o ID do ponto final do modelo para o qual quer gerar a resposta.
  • BASE64_DATA: os dados codificados em base64 do ficheiro de áudio. Os dados codificados em Base64 têm de ter o prefixo de um esquema de URI de dados, RFC 2397. Por conseguinte, o formato do campo data para dados codificados em base64 é, por exemplo, "data": f"data:audio/mp3;base64,{base64_audio}".

Envie URLs de áudio no pedido

Carregue o ficheiro de áudio para um contentor de armazenamento antes de fazer o pedido de comando. O pedido da API contém o campo audio_url para ficheiros de áudio em contentores de armazenamento. O exemplo seguinte mostra como enviar pedidos de URL de áudio:

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",
                  }
                }
              ]
            }
          ],
      }'

Substitua o seguinte:

  • ENDPOINT: o ponto final da API que usa para a sua organização.
  • PROJECT: o ID do seu projeto.
  • MODEL_ID: o ID do ponto final do modelo para o qual quer gerar a resposta.
  • AUDIO_URL: o caminho para um URL de áudio num contentor de armazenamento. Os URLs de áudio têm de referir-se a ficheiros de áudio armazenados num contentor de armazenamento do GDC. Para mais informações, consulte o artigo Armazene dados.

O que se segue?