我使用OpenAI的Whisper python lib进行语音识别。我怎样才能给出一些提示短语,就像其他一些 ASR (如谷歌)一样?
使用OpenAI 的 Whisper 转录(使用 Nvidia GeForce RTX 3090 在 Ubuntu 20.04 x64 LTS 上测试):
conda create -y --name whisperpy39 python==3.9
conda activate whisperpy39
pip install git+https://github.com/openai/whisper.git
sudo apt update && sudo apt install ffmpeg
whisper recording.wav
whisper recording.wav --model large
如果使用 Nvidia GeForce RTX 3090,请在conda activate whisperpy39
后添加以下内容:
pip install -f https://download.pytorch.org/whl/torch_stable.html
conda install pytorch==1.10.1 torchvision torchaudio cudatoolkit=11.0 -c pytorch
提示短语/提升的 2 个潜在位置:
https://github.com/openai/whisper/blob/15ab54826343c27cfaf44ce31e9c8fb63d0aa775/whisper/decoding.py#L87-L88:在
prompt
中添加提示短语(而不是prefix
:请参阅有关prompt
与prefix
.自提交 2037b65 以来,有一个新的--initial_prompt
选项:whisper audio.mp3 --initial_prompt "So we were just talking about DALL·E"
https://github.com/openai/whisper/blob/15ab54826343c27cfaf44ce31e9c8fb63d0aa775/whisper/decoding.py#L302:更改代码以增加包含提示短语的序列的可能性,例如:
目前除了给出像上面这样的
initial_prompt
之外,没有接口;你可以用 logit bias 破解一些东西,这有效地提高了某些代币的预测概率。LogitFilter
类旨在支持这一点。
我不知道它会有多高效。此外,当提示词不在字典中时,会出现一个潜在的问题,在这种情况下,需要在字典中添加提示词,这可能很困难。