Whisper: промптинг для улучшения транскрипции
Используем необязательный параметр prompt API Whisper для управления стилем вывода и правильного написания имён, брендов и терминов. Разбираем, как GPT может генерировать фиктивные промпты для Whisper.
Запишите или скачайте аудио с несколькими нестандартными именами или продуктовыми названиями. Транскрибируйте без промпта и с глоссарием в промпте. Сравните точность написания в обоих вариантах.
Проверка задания
Скопируйте и адаптируйте под свой контекст. Текст в треугольных скобках — то, что нужно заменить.
from openai import OpenAI
client = OpenAI()
def transcribe(path: str, prompt: str = "") -> str:
with open(path, "rb") as f:
return client.audio.transcriptions.create(
file=f, model="whisper-1", prompt=prompt
).text
def build_glossary_prompt(*terms) -> str:
# Достаточно длинный контекст для устойчивого следования паттерну
joined = ", ".join(terms)
return (
f"Glossary of proper nouns and product names: {joined}. "
"Please ensure these terms are spelled correctly in the transcript."
)
# Использование
no_prompt = transcribe("audio.wav")
with_glossary = transcribe(
"audio.wav",
prompt=build_glossary_prompt("QuirkQuid", "GPT-4o", "Aimee", "Shawn"),
)
print("Without prompt:", no_prompt[:200])
print("With glossary: ", with_glossary[:200])