ToB企服应用市场:ToB评测及商务社交产业平台

标题: 利用 Conda 部署 Whisper 模子 [打印本页]

作者: 惊落一身雪    时间: 5 天前
标题: 利用 Conda 部署 Whisper 模子
1. 创建 Conda 情况

首先,我们需要为 Whisper 创建一个新的 Conda 情况,如许可以隔离项目的依赖,制止和其他项目的库产生辩论。
1.1 创建情况

打开终端并运行以下命令创建一个新的 Conda 情况(这里我们利用 Python 3.8 版本):
  1. conda create -n whisper-env python=3.8
复制代码
该命令会创建一个名为 whisper-env 的新情况,并安装指定版本的 Python。
1.2 激活情况

创建完情况后,运行以下命令激活情况:
  1. conda activate whisper-env
复制代码
激活情况后,你的所有利用都将在该情况内进行。记得在利用完情况后,可以通过以下命令退出情况:
  1. conda deactivate
复制代码
2. 安装 Whisper 和依赖

Whisper 模子依赖于 PyTorch、ffmpeg 等多个库。接下来我们将安装这些依赖。
2.1 安装 PyTorch

Whisper 依赖于 PyTorch,且支持 GPU 加快。如果你的机器有 NVIDIA GPU,可以安装支持 CUDA 的版本来加快盘算。如果没有 GPU,可以安装 CPU 版本。
安装 GPU 版本的 PyTorch(支持 CUDA 11.8):
  1. conda install pytorch torchvision torchaudio cudatoolkit=11.8 -c pytorch
复制代码
如果没有 GPU,安装 CPU 版本:
  1. conda install pytorch torchvision torchaudio cpuonly -c pytorch
复制代码
2.2 安装 Whisper

Whisper 模子可以通过 pip 从 GitHub 安装。运行以下命令来安装 Whisper:
  1. pip install git+https://github.com/openai/whisper.git
复制代码
2.3 安装 FFmpeg

Whisper 依赖于 ffmpeg 来处理音频文件格式。可以通过 Conda 安装 ffmpeg:
  1. conda install -c conda-forge ffmpeg
复制代码
3. 测试 Whisper 模子

安装完成后,接下来我们可以测试 Whisper 是否正常工作。
3.1 测试代码

打开 Python 交互式终端或创建一个 Python 脚本,运行以下代码:
python
复制代码
import whisper
3.2 加载 Whisper 模子

model = whisper.load_model(“base”)
3.3 转录本地音频文件

result = model.transcribe(“your_audio_file.mp3”)
3.4 打印转录文本

  1. print(result["text"])
复制代码
上述代码会加载 Whisper 的基础模子(base),并对本地的音频文件进行转录。你可以将 “your_audio_file.mp3” 替换成你本身的音频文件路径。转录后的文本将会打印在终端。
4 利用 GPU 加快(可选)

如果你的机器支持 NVIDIA GPU,并且已精确安装了 PyTorch 的 CUDA 版本,可以启用 GPU 加快。在模子加载时,调用 .to(“cuda”) 即可将模子转移到 GPU 上进行盘算:
  1. # 将模子加载到 GPU 上model = whisper.load_model("base").to("cuda")# 转灌音频文件result = model.transcribe("your_audio_file.mp3")# 打印转录文本print(result["text"])
  2. 启用 GPU 后,语音转录过程将更加高效,尤其是在处理大量音频数据时。
复制代码
5. 创建简单的 API 服务

如果你希望将 Whisper 功能袒露为一个 API,便于其他应用程序调用,可以利用 FastAPI 创建一个简单的 Web 服务。
5.1 安装 FastAPI 和 Uvicorn

首先,安装 FastAPI 和 Uvicorn:
bash
复制代码
pip install fastapi uvicorn
5.2 创建 API

在项目文件夹下,创建一个 whisper_api.py 文件,内容如下:
  1. from fastapi import FastAPI, UploadFile
  2. import whisper
  3. import os
  4. # 加载 Whisper 模型
  5. model = whisper.load_model("base").to("cuda")
  6. app = FastAPI()
  7. @app.post("/transcribe")
  8. async def transcribe(file: UploadFile):
  9.     # 保存上传的音频文件
  10.     temp_file = f"temp_{file.filename}"
  11.     with open(temp_file, "wb") as f:
  12.         f.write(await file.read())
  13.     try:
  14.         # 使用 Whisper 进行音频转录
  15.         result = model.transcribe(temp_file)
  16.         text = result["text"]
  17.     except Exception as e:
  18.         return {"error": str(e)}
  19.     finally:
  20.         os.remove(temp_file)
  21.     return {"transcription": text}
复制代码
5.3 启动 API 服务

利用以下命令启动 FastAPI 服务:
  1. uvicorn whisper_api:app --reload
复制代码
FastAPI 服务将在 http://127.0.0.1:8000 上运行。你可以通过 HTTP POST 请求将音频文件发送到 /transcribe 接口,并汲取转录效果。
5.4 测试 API

你可以利用 curl 或 Postman 发送 POST 请求进行测试:
  1. curl -X 'POST' \
  2.   'http://127.0.0.1:8000/transcribe' \
  3.   -H 'accept: application/json' \
  4.   -H 'Content-Type: multipart/form-data' \
  5.   -F 'file=@your_audio_file.mp3'
复制代码
如果一切正常,API 将返回音频文件的转录文本。

彩蛋,附一个AI编写投标文件的小软件


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4