Prompting de termos-chave

Este guia mostra como usar prompting de termos-chave com a API de Speech to Text.

Guia prático · Pressupõe que você tenha concluído o guia de início rápido de Speech to Text .

Visão geral

O direcionamento por termos-chave está disponível com o Scribe v2, Scribe v2 Medical (em lote) e Scribe v2 Realtime e tem um custo adicional. Consulte a página de preços da API para informações detalhadas sobre preços.

O direcionamento por termos-chave é um recurso que permite destacar palavras ou frases para aumentar a probabilidade de o modelo transcrevê-las. Isso é útil para transcrever palavras ou frases específicas que não são comuns no áudio, como nomes de produtos, nomes próprios ou outros termos específicos. Os termos-chave são mais eficazes do que palavras-chave enviesadas ou vocabulários personalizados oferecidos por outros modelos, pois usam o contexto para decidir se devem ou não transcrever determinado termo.

Em lote (Scribe v2 / Scribe v2 Medical)Em tempo real (Scribe v2 Realtime)
Máximo de termos-chave100050
Máximo de caracteres por termo-chave5020

Por exemplo, se o nome da sua empresa não for uma expressão comum ou tiver uma grafia ou pronúncia única, você poderá usar termos-chave para garantir que o modelo faça a transcrição corretamente. Considere o áudio a seguir:

Sem o direcionamento por termos-chave, o modelo poderia transcrever o áudio acima como:

I work at eleven labs.

O que usa o estilo incorreto para o nome da empresa. Com o direcionamento por termos-chave, você pode garantir que o modelo transcreva o áudio acima com a grafia e o estilo corretos:

I work at ElevenLabs.

Contexto

O modelo consegue usar o contexto para determinar se um termo deve ser transcrito ou não. Ao fornecer o termo-chave “ElevenLabs”, o áudio acima é transcrito conforme esperado, mas o modelo ainda conseguirá transcrever corretamente o seguinte com base no contexto:

O que gera a seguinte transcrição:

I've worked at many labs. In fact I've worked at eleven labs.

Transcrição em lote

O direcionamento por termos-chave é integrado à API de Speech to Text em lote passando o parâmetro keyterms ao método convert.

import os
from dotenv import load_dotenv
from io import BytesIO
import requests
from elevenlabs.client import ElevenLabs
load_dotenv()
elevenlabs = ElevenLabs(
api_key=os.getenv("ELEVENLABS_API_KEY"),
)
audio_url = (
"https://storage.googleapis.com/eleven-public-cdn/documentation_assets/audio/stt-keyterm-prompting.mp3"
)
response = requests.get(audio_url)
audio_data = BytesIO(response.content)
transcription = elevenlabs.speech_to_text.convert(
file=audio_data,
model_id="scribe_v2", # Model to use
# Keyterms to prompt the model with.
# Up to 1000 keyterms can be provided, with a maximum length of 50 characters each
keyterms=["ElevenLabs"],
)
print(transcription)

Streaming em tempo real

O direcionamento por termos-chave também está disponível para a API WebSocket de Speech to Text em tempo real. Passe o parâmetro keyterms ao conectar.

connection = await elevenlabs.speech_to_text.realtime.connect(RealtimeUrlOptions(
model_id="scribe_v2_realtime",
keyterms=["ElevenLabs"],
))

Ao usar a API WebSocket diretamente, passe os termos-chave como parâmetros de consulta:

wss://api.elevenlabs.io/v1/speech-to-text/realtime?model_id=scribe_v2_realtime&keyterms=ElevenLabs&keyterms=AnotherTerm

Próximas etapas