Vai alla navigazione

Prompting dei termini chiave

Questa guida mostra come usare il prompting dei termini chiave con l'API Speech to Text.

Guida pratica · Presuppone che tu abbia completato la guida rapida di Speech to Text .

Panoramica

Il prompting dei termini chiave è disponibile con Scribe v2, Scribe v2 Medical (batch) e Scribe v2 Realtime e comporta un costo aggiuntivo. Consulta la pagina dei prezzi dell’API per informazioni dettagliate sui prezzi.

Il prompting dei termini chiave è una funzionalità che ti consente di evidenziare parole o frasi per indirizzare il modello verso la loro trascrizione. È utile per trascrivere parole o frasi specifiche non comuni nell’audio, come nomi di prodotti, nomi propri o altri termini specifici. I termini chiave sono più efficaci delle parole chiave orientate o dei vocabolari personalizzati offerti da altri modelli, perché si basano sul contesto per decidere se trascrivere o meno quel termine.

Batch (Scribe v2 / Scribe v2 Medical)In tempo reale (Scribe v2 Realtime)
Numero massimo di termini chiave100050
Numero massimo di caratteri per termine chiave5020

Ad esempio, se il nome della tua azienda non è una frase comune o ha un’ortografia o una pronuncia particolare, puoi usare i termini chiave per assicurarti che il modello lo trascriva correttamente. Prendi il seguente audio:

Senza prompting dei termini chiave, il modello potrebbe trascrivere quanto sopra così:

I work at eleven labs.

Usando uno stile errato per il nome dell’azienda. Con il prompting dei termini chiave, puoi assicurarti che il modello trascriva quanto sopra con l’ortografia e lo stile corretti:

I work at ElevenLabs.

Contesto

Il modello può usare il contesto per determinare se un termine debba essere trascritto o meno. Se fornisci il termine chiave “ElevenLabs”, l’audio qui sopra viene trascritto come previsto, ma il modello sarà comunque in grado di trascrivere correttamente quanto segue in base al contesto:

Che produce la seguente trascrizione:

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

Trascrizione batch

Il prompting dei termini chiave è integrato nell’API batch Speech to Text passando il parametro keyterms al metodo 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 in tempo reale

Il prompting dei termini chiave è disponibile anche per l’API WebSocket Speech to Text in tempo reale. Passa il parametro keyterms durante la connessione.

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

Quando usi direttamente l’API WebSocket, passa i termini chiave come parametri query:

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

Passaggi successivi