sensevoice部署,python调用本地部署的sensevoice的api接口
部署阿里云sensevoice
克隆源代码
git clone https://github.com/FunAudioLLM/SenseVoice.git
创建虚拟环境
conda create -n sensevoice python=3.11
安装modelscope
pip install modelscope
下载模型文件
cd SenseVoice
from modelscope.hub.snapshot_download import snapshot_download
model_dir = snapshot_download("iic/SenseVoiceSmall", cache_dir='ai_models')
print(model_dir)
model_dir = snapshot_download("iic/speech_fsmn_vad_zh-cn-16k-common-pytorch", cache_dir='ai_models')
print(model_dir)
pip install -r requirements.txt
启动api服务
修改api.py文件中model_dir地址
启动api文件
uvicorn api:api -host 0.0.0.0 --port 8000 --reload
request访问接口
import requests
def send_audio_files(files="./files/wav/zero_shot_0.wav"):
url = "http://127.0.0.1:8877/api/v1/asr"
# Headers
headers = {
"accept": "application/json",
}
# 上传文件
files = [
("files", (files, open(files, "rb"), "audio/wav")),
# ("files", ("zero_shot_0.wav", open("zero_shot_0.wav", "rb"), "audio/wav"))
]
data = {
"keys": "string",
"lang": "auto"
}
# 请求数据
response = requests.post(url, headers=headers, files=files, data=data)
# P返回数据
if response.status_code == 200:
# 返回解析到的数据
return response.json().get('result')[0].get('text')
else:
print(f"请求失败,状态码: {response.status_code}")
print("响应内容:", response.text)
return response.status_code,response.text
if __name__ == "__main__":
print(send_audio_files())
作者:何为标准