Hoppa till navigering

Nyckeltermsstyrning

Den här guiden visar hur du använder nyckeltermsstyrning med Speech to Text API.

Praktisk guide · Förutsätter att du har slutfört snabbstarten för Speech to Text .

Översikt

Nyckeltermsstyrning är tillgänglig med Scribe v2, Scribe v2 Medical (batch) och Scribe v2 Realtime, och medför en extra kostnad. Se API-prissidan för detaljerad prisinformation.

Nyckeltermsstyrning är en funktion som låter dig framhäva ord eller fraser för att styra modellen mot att transkribera dem. Detta är användbart för att transkribera specifika ord eller meningar som inte är vanliga i ljudet, till exempel produktnamn, namn eller andra specifika termer. Nyckeltermer är kraftfullare än vinklade nyckelord eller anpassade ordlistor som erbjuds av andra modeller, eftersom de använder kontexten för att avgöra om termen ska transkriberas eller inte.

Batch (Scribe v2 / Scribe v2 Medical)Realtid (Scribe v2 Realtime)
Max antal nyckeltermer100050
Max antal tecken per nyckelterm5020

Vid batchtranskribering får varje nyckelterm också innehålla högst 5 ord.

Om ditt företagsnamn till exempel inte är en vanlig fras eller har en unik stavning eller uttal kan du använda nyckeltermer för att säkerställa att modellen transkriberar korrekt. Ta följande ljud:

Utan nyckeltermsstyrning kan modellen transkribera ovanstående så här:

I work at eleven labs.

Då används fel stil för företagsnamnet. Med nyckeltermsstyrning kan du säkerställa att modellen transkriberar ovanstående med rätt stavning och stil:

I work at ElevenLabs.

Kontext

Modellen kan använda kontext för att avgöra om en term ska transkriberas eller inte. När du anger nyckeltermen “ElevenLabs” transkriberas ljudet ovan som förväntat, men modellen kan fortfarande transkribera följande korrekt baserat på kontexten:

Detta ger följande transkribering:

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

Batchtranskribering

Nyckeltermsstyrning är integrerad i batch-API:t för Speech to Text genom att skicka parametern keyterms till metoden 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)

Realtidsstreaming

Nyckeltermsstyrning är även tillgänglig för WebSocket API för Speech to Text i realtid. Skicka parametern keyterms när du ansluter.

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

När du använder WebSocket API direkt skickar du nyckeltermer som frågeparametrar:

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

Nästa steg