Skip to content

接入 Whisper 语音转文字

TIP

如果您使用 Docker 部署 AstrBot,目前将无法接收到 QQ 的语音消息,因为无法访问宿主机文件系统。

AstrBot 支持接入 Whisper 语音转文字。

有两种接入方式,一种是使用 OpenAI API 的 Whisper API 接口,另一种是在本地部署 Whisper。

API 接入

和接入支持 OpenAI API 的大语言模型提供商一样,OpenAI API 也提供了调用 Whisper 模型的 API 接口。

配置文件类似:

json
{
    "id": "new_whisper(api)",
    "type": "openai_whisper_api",
    "enable": false,
    "api_key": "your_openai_api_key",
    "api_base": "your openai api base",
    "model": "whisper-1"
},

在管理面板上配置,只需要点击此项即可可视化配置:

如果你使用 OpenAI 中转服务,请确保你的 OpenAI 的中转服务商支持 Whisper 调用。

本地部署

本地运行 Whisper 模型需要 openai-whisper 的 Python 库,请先 Pip 安装。

TIP

可以在管理面板 控制台 页快捷 pip 安装。 安装此库会自动安装 Pytorch(一个深度学习库)。N 卡用户大约下载 2GB,主要是 torch 和 cuda,CPU 用户大约下载 1 GB。

除了安装 openai-whisper 库,还需要你的设备上安装有 ffmpeg

对于 Linux,大多数包管理器都有 ffmpeg,可以直接安装。

对于 Windows,可以从 ffmpeg 官网 下载。下载完成后建议重启电脑以使环境变量生效。

{
    "id": "new_whisper(本地加载)",
    "type": "openai_whisper_selfhost",
    "enable": true,
    "model": "tiny"
},

在管理面板上配置,只需要点击此项的后面那项即可可视化配置:

Whisper 有多种模型,默认启用最小的 tiny 模型,如果你的设备性能较好,可以尝试使用其他模型。

模型列表:

模型名参数量English-only modelMultilingual model需要的显存Relative speed
tiny39 Mtiny.entiny~1 GB~10x
base74 Mbase.enbase~1 GB~7x
small244 Msmall.ensmall~2 GB~4x
medium769 Mmedium.enmedium~5 GB~2x
large1550 MN/Alarge~10 GB1x
turbo809 MN/Aturbo~6 GB~8x