当前位置:AIGC资讯 > AIGC > 正文

【xinference】(3):在autodl上,使用xinference部署whisper-tiny音频模型,并成功将语音转换成文本,测试成功,还支持音频直接翻译成英文

1,视频地址

https://www.bilibili.com/video/BV1Z7421K7vL/

【xinference】(3):在autodl上,使用xinference部署whisper-tiny音频模型,并成功将语音转换成文本

2,项目地址

https://inference.readthedocs.io/zh-cn/latest/user_guide/model_abilities/audio.html

模型需要执行脚本启动:

pip3 install "xinference[all]"

apt update && apt install -y ffmpeg

# 设置学术加速,不再区分不同地区
# https://www.autodl.com/docs/network_turbo/
source /etc/network_turbo


export XINFERENCE_MODEL_SRC=modelscope
export XINFERENCE_HOME=/root/autodl-tmp

# 首先启动 xinference-local :
xinference-local --host 0.0.0.0 --port 9997 

3,下载模型

执行命令:


# 大模型
xinference launch --model-uid whisper-1 --model-name whisper-large-v3 --model-type audio
# 小模型
xinference launch --model-uid whisper-1 --model-name whisper-tiny --model-type audio

如果大模型下载异常,可以使用小模型下载。
启动成功,占用显存 3G

nvidia-smi 
Wed Jan 31 23:54:27 2024       
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.146.02             Driver Version: 535.146.02   CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA GeForce RTX 3080        On  | 00000000:86:00.0 Off |                  N/A |
|  0%   25C    P8              15W / 320W |   3405MiB / 20480MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
                                                                                         
+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
+---------------------------------------------------------------------------------------+

4,测试代码

from xinference.client import Client

client = Client("http://localhost:9997")

# xinference launch --model-uid whisper-1 --model-name whisper-tiny --model-type audio
# model_uid = client.launch_model(model_uid="whisper-1",model_name="whisper-tiny", model_type="audio")
# whisper-tiny

model = client.get_model("whisper-1")

input_text = "an apple"
with open("voice-test.mp3", "rb") as audio_file:
    out = model.transcriptions(audio_file.read())
    print(out['text'])

执行结果:
本列表列出香港航空的航点,正确。

音频文件在这里:
https://github.com/xorbitsai/inference/tree/main/xinference/model/audio/tests

5,总结

确实可以运行音频大模型。可以将音频文件转换成文本。
可以做啥呢?可以直接录用转文字,或者做字幕。

transcriptions 是音频转文本
translations 可以直接将音频翻译成英文。

使用large 模型就可以翻译:

本列表列出香港航空的航点 > 翻译成:
This list lists the airlines in Hong Kong.
还集成了翻译模块。

总结

**文章总结**
本文介绍了如何使用`xinference`工具在AutoDL平台上部署`whisper-tiny`音频模型,实现从语音到文本的成功转换。以下是具体步骤和要点总结:
1. **视频示范**: 提供了Bilibili视频链接,展示了整个部署和测试过程(https://www.bilibili.com/video/BV1Z7421K7vL/)。
2. **项目文档与安装**:
- 项目详细地址:https://inference.readthedocs.io/zh-cn/latest/user_guide/model_abilities/audio.html
- 通过安装`xinference[all]`和相关依赖(如`ffmpeg`),为部署音频模型做好准备。
- 设置学术加速和环境变量以方便模型部署与访问。
3. **模型部署与下载**:
- 使用`xinference launch`命令下载和启动`whisper`模型,支持大模型(`whisper-large-v3`)和小模型(`whisper-tiny`)的选择。
- NVIDIA-SMI显示了模型启动后GPU的使用情况,如显存占用。
4. **测试代码运行**:
- 通过`xinference`的客户端(Client)API向启动的本地服务发送请求,测试音频文件的转文本能力。
- 提供了一个简化的代码示例,展示了如何从文件读取音频、通过模型转换成文本,并打印输出结果。
5. **结果与功能拓展**:
- 信息转换准确,展示了`whisper-tiny`模型能有效将语音转为文本。
- 除了基础目录转文字功能外,`whisper`模型还支持直接将语音翻译成英文等语言翻译功能。
- 使用大模型`whisper-large-v3`可以进一步扩展至音频翻译等高级应用。
- 总体上看,利用`xinference`可以轻松实现高效的音频转文字与翻译,适用于录音转写、自动生成字幕等多种应用场景。

更新时间 2024-08-09