Prompting de términos clave

Esta guía te muestra cómo usar el prompting de términos clave con la API de Voz a Texto.

Guía práctica · Da por hecho que has completado la guía de inicio rápido de Voz a Texto .

Descripción general

La indicación de términos clave está disponible con Scribe v2, Scribe v2 Medical (por lotes) y Scribe v2 Realtime, y tiene un coste adicional. Consulta la página de precios de la API para obtener información detallada sobre los precios.

La indicación de términos clave es una función que te permite destacar palabras o frases para orientar al modelo a transcribirlas. Resulta útil para transcribir palabras o frases específicas que no son habituales en el audio, como nombres de productos, nombres u otros términos concretos. Los términos clave son más eficaces que las palabras clave sesgadas o los vocabularios personalizados que ofrecen otros modelos, porque se basa en el contexto para decidir si debe transcribir ese término o no.

Por lotes (Scribe v2 / Scribe v2 Medical)En tiempo real (Scribe v2 Realtime)
Máximo de términos clave100050
Máximo de caracteres por término clave5020

Por ejemplo, si el nombre de tu empresa no es una frase habitual o tiene una ortografía o pronunciación únicas, puedes usar términos clave para asegurarte de que el modelo lo transcriba correctamente. Escucha el siguiente audio:

Sin la indicación de términos clave, el modelo podría transcribir lo anterior así:

I work at eleven labs.

Lo que usa un estilo incorrecto para el nombre de la empresa. Con la indicación de términos clave, puedes asegurarte de que el modelo transcriba lo anterior con la ortografía y el estilo correctos:

I work at ElevenLabs.

Contexto

El modelo puede usar el contexto para determinar si debe transcribir un término o no. Al proporcionar el término clave “ElevenLabs”, el audio anterior se transcribe como se espera; sin embargo, el modelo seguirá pudiendo transcribir correctamente lo siguiente según el contexto:

Lo que genera la siguiente transcripción:

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

Transcripción por lotes

La indicación de términos clave se integra en la API de Voz a Texto por lotes pasando el parámetro keyterms al 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 en tiempo real

La indicación de términos clave también está disponible para la API WebSocket de Voz a Texto en tiempo real. Pasa el parámetro keyterms al conectarte.

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

Si usas la API WebSocket directamente, pasa los términos clave como parámetros de consulta:

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

Siguientes pasos