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())

作者:何为标准

物联沃分享整理
物联沃-IOTWORD物联网 » sensevoice部署,python调用本地部署的sensevoice的api接口

发表回复