whisper.api 使用教程
欢迎来到 whisper.api
的使用教程,这个开源项目提供了一个自托管的 API,用于使用经过微调的 Whisper 模型进行语音转文字识别。以下是项目的安装和使用步骤。
1. 项目目录结构及介绍
whisper.api/
│
├── Dockerfile # Docker 镜像构建文件
├── app.py # 主应用文件,包含了 API 接口逻辑
├── requirements.txt # 依赖库列表
├── config.yaml # 配置文件
└── logs/ # 日志文件夹
- Dockerfile:定义了项目运行所需的环境。
- app.py:应用程序的入口点,包括 Flask 应用实例和 API 路由。
- requirements.txt:列出所有必要的 Python 包,用于安装依赖项。
- config.yaml:配置文件,存储 API 的设置,如模型路径等。
- logs/:存储应用程序日志的目录。
2. 项目启动文件介绍
app.py
在 app.py
中,主要包含了以下部分:
- 导入必需的库和模块。
- 初始化 Flask 应用并设置路由。
- 配置 Whisper 模型,加载预训练模型。
- 定义 API 接口,如
/transcribe
,用于处理音频转文本请求。
示例代码片段:
from flask import Flask, request, jsonify
import os
import librosa
from whisper.transcribe import transcribe
app = Flask(__name__)
@app.route('/transcribe', methods=['POST'])
def transcribe_audio():
# 获取上传的音频文件
audio_file = request.files.get('audio')
# 转录音频
text = transcribe(audio_file)
return jsonify({'transcription': text})
if __name__ == '__main__':
app.run(debug=True)
3. 项目的配置文件介绍
config.yaml
配置文件 config.yaml
提供了 API 运行时的相关设置。通常应包括以下字段:
model_path
: Whisper 模型的本地路径或远程 URL。temp_dir
: 临时目录,用于存储上传的音频文件。log_level
: 设置日志级别(例如,'DEBUG'、'INFO' 等)。
一个简单的 config.yaml
示例可能如下所示:
model_path: /path/to/your/whisper/model.onnx
temp_dir: ./temp/
log_level: INFO
确保在实际部署中替换 model_path
为你自己的 Whisper 模型文件位置。
启动项目
要启动项目,首先确保已正确安装所有依赖项(通过 pip install -r requirements.txt
),然后你可以使用以下命令运行:
flask run --config config.yaml
或者,如果你选择使用 Docker,可以构建和运行容器:
docker build -t whisper-api .
docker run -p 5000:5000 -v /path/to/config:/app/config.yaml whisper-api
在这之后,你的 whisper.api
就准备好了接收音频转文字请求!
请注意,本教程假设您已经具备 Python 和 Flask 的基础知识,以及对 Docker 的了解。如有任何问题,查阅项目仓库中的 README 或者进一步探索源代码会有帮助。祝您开发愉快!