Qwen3-ASR-0.6B环境部署:supervisor服务管理+日志排查详细步骤

📅 发布时间:2026/7/7 23:26:34 👁️ 浏览次数:
Qwen3-ASR-0.6B环境部署:supervisor服务管理+日志排查详细步骤
Qwen3-ASR-0.6B环境部署supervisor服务管理日志排查详细步骤语音识别模型部署其实没那么复杂跟着这篇教程走10分钟搞定环境搭建和服务管理1. 环境准备与快速部署在开始之前我们先简单了解下Qwen3-ASR-0.6B。这是一个专门做语音识别的AI模型能识别52种语言和方言包括30种主要语言和22种中文方言。最方便的是它能自动检测语言类型不用你手动指定。1.1 系统要求首先确认你的环境满足这些基本要求操作系统Ubuntu 18.04或更高版本其他Linux发行版也可但命令可能略有不同GPU显存至少2GB推荐RTX 3060或更高性能显卡Python版本Python 3.8或更高版本网络连接需要能正常访问模型下载源1.2 一键部署脚本我准备了一个完整的部署脚本复制粘贴就能用#!/bin/bash # 创建项目目录 mkdir -p /opt/qwen3-asr cd /opt/qwen3-asr # 安装系统依赖 apt update apt install -y python3-pip python3-venv supervisor # 创建Python虚拟环境 python3 -m venv venv source venv/bin/activate # 安装Python依赖 pip install torch torchaudio transformers fastapi uvicorn python-multipart # 下载模型如果网络慢可以手动下载后放置 # 模型默认位置/root/ai-models/Qwen/Qwen3-ASR-0___6B/ echo 基础环境部署完成把这个脚本保存为setup.sh然后运行bash setup.sh就能完成基础环境搭建。2. supervisor服务配置supervisor是个很好用的进程管理工具能保证服务一直运行挂了自动重启。2.1 创建supervisor配置文件在/etc/supervisor/conf.d/qwen3-asr.conf创建配置文件[program:qwen3-asr] command/opt/qwen3-asr/venv/bin/python /opt/qwen3-asr/app.py directory/opt/qwen3-asr autostarttrue autorestarttrue startretries3 stopwaitsecs30 userroot redirect_stderrtrue stdout_logfile/root/workspace/qwen3-asr.log stdout_logfile_maxbytes10MB stdout_logfile_backups5 environmentPYTHONPATH/opt/qwen3-asr,PATH/opt/qwen3-asr/venv/bin:%(ENV_PATH)s2.2 启动和管理服务配置好后用这些命令管理服务# 重新加载supervisor配置 supervisorctl reread supervisorctl update # 启动服务 supervisorctl start qwen3-asr # 查看服务状态 supervisorctl status qwen3-asr # 重启服务修改配置后常用 supervisorctl restart qwen3-asr # 停止服务 supervisorctl stop qwen3-asr3. 应用代码部署现在来部署实际的语音识别应用。3.1 创建Web应用在/opt/qwen3-asr/app.py创建主程序from fastapi import FastAPI, File, UploadFile, Form from fastapi.responses import HTMLResponse import torch from transformers import AutoModelForSpeechSeq2Seq, AutoProcessor import torchaudio import tempfile import os app FastAPI(titleQwen3-ASR-0.6B语音识别服务) # 加载模型和处理器 model_path /root/ai-models/Qwen/Qwen3-ASR-0___6B/ model AutoModelForSpeechSeq2Seq.from_pretrained(model_path, torch_dtypetorch.float16) processor AutoProcessor.from_pretrained(model_path) app.get(/, response_classHTMLResponse) async def home(): return html body h2Qwen3-ASR-0.6B语音识别/h2 form action/recognize methodpost enctypemultipart/form-data input typefile nameaudio_file accept.wav,.mp3,.flac button typesubmit开始识别/button /form /body /html app.post(/recognize) async def recognize_speech(audio_file: UploadFile File(...)): # 保存上传的音频文件 with tempfile.NamedTemporaryFile(deleteFalse, suffix.wav) as tmp: content await audio_file.read() tmp.write(content) tmp_path tmp.name try: # 处理音频并识别 waveform, sample_rate torchaudio.load(tmp_path) inputs processor(waveform, sampling_ratesample_rate, return_tensorspt) with torch.no_grad(): outputs model.generate(**inputs) transcription processor.batch_decode(outputs, skip_special_tokensTrue)[0] return {status: success, transcription: transcription} except Exception as e: return {status: error, message: str(e)} finally: os.unlink(tmp_path) if __name__ __main__: import uvicorn uvicorn.run(app, host0.0.0.0, port7860)3.2 创建启动脚本在/opt/qwen3-asr/start.sh创建启动脚本#!/bin/bash # 激活虚拟环境 source /opt/qwen3-asr/venv/bin/activate # 启动服务 cd /opt/qwen3-asr python app.py记得给脚本执行权限chmod x /opt/qwen3-asr/start.sh4. 日志排查与问题解决服务运行中难免会遇到问题学会看日志很重要。4.1 实时监控日志# 实时查看最新日志 tail -f /root/workspace/qwen3-asr.log # 查看最近100行日志 tail -100 /root/workspace/qwen3-asr.log # 根据关键词搜索日志 grep ERROR /root/workspace/qwen3-asr.log grep WARNING /root/workspace/qwen3-asr.log4.2 常见错误排查问题1端口被占用# 检查7860端口是否被占用 netstat -tlnp | grep 7860 # 如果被占用杀掉进程或修改app.py中的端口号 kill -9 $(lsof -ti:7860)问题2模型加载失败在日志中看到Model not found错误时# 检查模型路径是否正确 ls -la /root/ai-models/Qwen/Qwen3-ASR-0___6B/ # 如果模型不存在手动下载 # 可以从Hugging Face或官方源下载问题3GPU内存不足如果日志显示CUDA out of memory# 检查GPU内存使用情况 nvidia-smi # 可以考虑减小batch size或使用CPU模式 # 在代码中修改torch_dtypetorch.float32 并使用devicecpu4.3 服务状态检查建立一套完整的检查流程#!/bin/bash # check_service.sh # 检查supervisor状态 echo Supervisor状态 supervisorctl status qwen3-asr # 检查端口监听 echo 端口检查 netstat -tlnp | grep 7860 || echo 端口7860未监听 # 检查进程是否存在 echo 进程检查 ps aux | grep app.py | grep -v grep # 检查最近错误日志 echo 错误日志检查 tail -50 /root/workspace/qwen3-asr.log | grep -E ERROR|Error|error5. 高级配置与优化部署完成后还可以做一些优化提升使用体验。5.1 nginx反向代理配置如果你有域名可以配置nginxserver { listen 80; server_name your-domain.com; location / { proxy_pass http://127.0.0.1:7860; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }5.2 开机自启动确保supervisor开机自启动systemctl enable supervisor systemctl start supervisor5.3 资源监控创建资源监控脚本#!/bin/bash # monitor_resources.sh while true; do echo $(date) echo CPU使用率: $(top -bn1 | grep Cpu(s) | awk {print $2})% echo 内存使用: $(free -h | grep Mem | awk {print $3/$2}) echo GPU内存: $(nvidia-smi --query-gpumemory.used --formatcsv,noheader,nounits)/$(nvidia-smi --query-gpumemory.total --formatcsv,noheader,nounits)MB echo 服务状态: $(supervisorctl status qwen3-asr | awk {print $2}) sleep 60 done6. 总结通过这套完整的部署方案你应该已经成功搭建了Qwen3-ASR-0.6B语音识别服务。我们来回顾一下重点部署核心步骤准备基础环境Python、依赖库配置supervisor管理服务部署应用代码启动并测试服务日常维护要点使用supervisorctl管理服务状态通过tail -f实时查看日志定期检查资源使用情况掌握常见问题的排查方法遇到问题时的排查顺序检查服务状态supervisorctl status qwen3-asr查看最新日志tail -100 /root/workspace/qwen3-asr.log检查端口监听netstat -tlnp | grep 7860确认模型路径是否正确现在你的语音识别服务应该已经正常运行了可以通过浏览器访问http://你的服务器IP:7860来测试上传音频文件了。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。