Promptowanie słów kluczowych

Ten przewodnik pokazuje, jak używać promptowania słów kluczowych z API Speech to Text.

Przewodnik krok po kroku · Zakłada, że masz za sobą krótki przewodnik po Speech to Text .

Omówienie

Promptowanie kluczowymi terminami jest dostępne w Scribe v2, Scribe v2 Medical (batch) i Scribe v2 Realtime i wiąże się z dodatkową opłatą. Szczegółowe informacje o cenach znajdziesz na stronie cen API.

Promptowanie kluczowymi terminami pozwala wyróżnić słowa lub frazy, aby zwiększyć szansę, że model je przetranskrybuje. Przydaje się to do transkrypcji konkretnych słów lub zdań, które rzadko pojawiają się w audio, takich jak nazwy produktów, imiona i nazwiska czy inne określone terminy. Kluczowe terminy są skuteczniejsze niż słowa kluczowe z preferencją lub niestandardowe słowniki oferowane przez inne modele, ponieważ model korzysta z kontekstu, by zdecydować, czy transkrybować dany termin.

Batch (Scribe v2 / Scribe v2 Medical)Realtime (Scribe v2 Realtime)
Maks. liczba kluczowych terminów100050
Maks. liczba znaków na kluczowy termin5020

Jeśli na przykład nazwa twojej firmy nie jest popularną frazą albo ma nietypową pisownię lub wymowę, możesz użyć kluczowych terminów, by model poprawnie ją przetranskrybował. Posłuchaj tego nagrania:

Bez promptowania kluczowymi terminami model może przetranskrybować je tak:

I work at eleven labs.

Używa to niewłaściwego zapisu nazwy firmy. Dzięki promptowaniu kluczowymi terminami możesz dopilnować, by model przetranskrybował nagranie z poprawną pisownią i stylem:

I work at ElevenLabs.

Kontekst

Model może wykorzystać kontekst, by ustalić, czy dany termin należy transkrybować. Gdy podasz kluczowy termin “ElevenLabs”, powyższe nagranie zostanie przetranskrybowane zgodnie z oczekiwaniami, ale model nadal poprawnie przetranskrybuje poniższe nagranie na podstawie kontekstu:

Wynikowa transkrypcja wygląda tak:

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

Transkrypcja batch

Promptowanie kluczowymi terminami jest dostępne w batch API Speech to Text — przekaż parametr keyterms do metody 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)

Strumieniowanie w czasie rzeczywistym

Promptowanie kluczowymi terminami jest też dostępne w WebSocket API Speech to Text w czasie rzeczywistym. Przekaż parametr keyterms podczas łączenia.

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

Gdy używasz WebSocket API bezpośrednio, przekaż kluczowe terminy jako parametry zapytania:

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

Kolejne kroki