Skip to navigation

Keyterm prompting

In deze handleiding leer je hoe je keyterm prompting gebruikt met de Speech to Text API.

How-to-handleiding · Hierbij wordt ervan uitgegaan dat je de Speech to Text- quickstart hebt voltooid.

Overzicht

Keyterm prompting is beschikbaar met Scribe v2, Scribe v2 Medical (batch) en Scribe v2 Realtime, en brengt extra kosten met zich mee. Bekijk de API-prijspagina voor gedetailleerde prijsinformatie.

Keyterm prompting is een functie waarmee je woorden of zinnen kunt markeren om het model te sturen bij het transcriberen ervan. Dit is handig voor het transcriberen van specifieke woorden of zinnen die niet vaak in de audio voorkomen, zoals productnamen, namen of andere specifieke termen. Keyterms zijn krachtiger dan bevooroordeelde keywords of aangepaste woordenlijsten die andere modellen bieden, omdat het model op de context vertrouwt om te bepalen of die term al dan niet moet worden getranscribeerd.

Batch (Scribe v2 / Scribe v2 Medical)Realtime (Scribe v2 Realtime)
Max. keyterms100050
Max. tekens per keyterm5020

Bij batchtranscriptie mag elke keyterm ook maximaal 5 woorden bevatten.

Als je bedrijfsnaam bijvoorbeeld geen gebruikelijke term is of een unieke spelling of uitspraak heeft, kun je keyterms gebruiken om ervoor te zorgen dat het model correct transcribeert. Neem de volgende audio:

Zonder keyterm prompting kan het model het bovenstaande als volgt transcriberen:

I work at eleven labs.

Hierbij wordt de verkeerde stijl voor de bedrijfsnaam gebruikt. Met keyterm prompting kun je ervoor zorgen dat het model het bovenstaande met de juiste spelling en stijl transcribeert:

I work at ElevenLabs.

Context

Het model kan context gebruiken om te bepalen of een term al dan niet moet worden getranscribeerd. Wanneer je de keyterm “ElevenLabs” opgeeft, wordt de bovenstaande audio zoals verwacht getranscribeerd, maar kan het model op basis van de context nog steeds het volgende correct transcriberen:

Dit levert de volgende transcriptie op:

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

Batchtranscriptie

Keyterm prompting is geïntegreerd in de batch Speech to Text API door de parameter keyterms door te geven aan de methode 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)

Realtime streaming

Keyterm prompting is ook beschikbaar voor de realtime Speech to Text WebSocket API. Geef de parameter keyterms door bij het verbinden.

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

Wanneer je de WebSocket API rechtstreeks gebruikt, geef je keyterms door als queryparameters:

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

Volgende stappen