Files
auto_agent/llm_server/README.md
T

5.3 KiB
Raw Blame History

LLM Server 部署指南

本目录包含 4 个模型的推理服务:ASR(语音识别)、TTS(语音合成)、Reranker(重排序)、Embedding(文本嵌入)。

1. 上传到远程服务器

scp -P 60007 -r C:\Users\86166\Desktop\Agent_Learning_minor\Agent\llm_server\* minor123@semi-ai.tech:~/llm_server/

2. 远程服务器环境准备

ssh minor123@6000d
cd ~/llm_server

# 给所有脚本添加执行权限
chmod +x *.sh

# 配置 HuggingFace 镜像加速(国内服务器必需)
export HF_ENDPOINT=https://hf-mirror.com
export HF_HUB_ENABLE_XET=0
echo 'export HF_ENDPOINT=https://hf-mirror.com' >> ~/.bashrc
echo 'export HF_HUB_ENABLE_XET=0' >> ~/.bashrc

# 安装 modelscope CLI(用于下载模型)
pip install modelscope

# 创建虚拟环境(如尚未创建,需安装对应依赖)
python3 -m venv myenv
source myenv/bin/activate
pip install vllm modelscope transformers fastapi uvicorn torch soundfile bitsandbytes
pip install genie-tts "huggingface_hub>=0.25,<0.30"

3. 模型下载

所有模型统一存放在 ~/llm_server/models/ 目录下。

3.1 安装 modelscope CLI

pip install modelscope -U

3.2 Qwen3-ASR-1.7B(语音识别)

cd ~/llm_server

# 用于 start_asr.sh (vLLM 加载)
modelscope download --model Qwen/Qwen3-ASR-1.7B --local_dir ./models/Qwen/Qwen3-ASR-1.7B

两个目录内容相同,只是命名不同以适配不同加载方式。

3.3 Qwen3-Embedding-0.6B(文本嵌入)

cd ~/llm_server
modelscope download --model Qwen/Qwen3-Embedding-0.6B --local_dir ./models/Qwen/Qwen3-Embedding-0___6B

3.4 Qwen3-Reranker-4B(重排序)

cd ~/llm_server
modelscope download --model Qwen/Qwen3-Reranker-4B --local_dir ./models/Qwen/Qwen3-Reranker-4B

3.5 Genie TTS(语音合成,端口 8902)

GENIE 是一个基于开源 TTS 项目 GPT-SoVITS 构建的轻量级推理引擎,支持中文/日语/英语/韩语,提供极致的 CPU/GPU 推理性能。

Step 1:安装 genie-tts

pip install genie-tts

Step 2:下载基础资源文件 GenieData(~391MB)

git clone https://huggingface.co/High-Logic/Genie

方式三:从本地上传

如果已在本地下载好完整 Genie 目录(如 Agent/Genie/),直接 scp:

scp -P 60007 -r C:\Users\86166\Desktop\Agent_Learning_minor\Agent\Genie\* minor123@semi-ai.tech:~/llm_server/models/genie_tts/

注意:环境变量 GENIE_DATA_DIR 已在 tts_server.py 中自动指向 models/genie_tts/GenieData,无需额外设置。

Step 3:验证文件完整性

完成后检查以下路径均存在:

文件/目录 说明
models/genie_tts/GenieData/ 基础资源(词典、声码器等)
models/genie_tts/CharacterModels/v2ProPlus/feibi/tts_models/ feibi 角色 ONNX 模型
models/genie_tts/CharacterModels/v2ProPlus/feibi/prompt_wav/zh_vo_Main_Linaxita_2_1_10_26.wav feibi 参考音频

如需使用其他预定义角色(mika、ThirtySeven 等),可浏览 HuggingFace CharacterModels 并按相同方式下载。

3.7 完成后的目录结构

~/llm_server/
├── models/
│   ├── Qwen/
│   │   ├── Qwen3-ASR-1.7B/          # ASR(vLLM)
│   │   ├── Qwen3-Embedding-0___6B/   # Embedding
│   │   └── Qwen3-Reranker-4B/        # Reranker
│   └── genie_tts/
│       ├── GenieData/
│       └── CharacterModels/
│           └── v2ProPlus/
│               └── feibi/
│                   ├── tts_models/
│                   └── prompt_wav/
│                       └── zh_vo_Main_Linaxita_2_1_10_26.wav
├── start_asr.sh          # 启动 ASR 服务
├── start_tts.sh          # 启动 TTS 服务
├── start_rag_server.sh   # 启动 Reranker + Embedding 服务
└── ...

4. 启动各服务

4.1 ASR(语音识别)— 端口 8901

cd ~/llm_server
bash start_asr.sh

测试:

python3 test_asr.py --audio /path/to/audio.wav --url http://127.0.0.1:8901/v1/chat/completions

4.2 TTS(语音合成)— 端口 8902

cd ~/llm_server
bash start_tts.sh

测试:

python3 test_tts.py

注意:测试脚本中 TTS_BASE_URL 默认为 http://192.168.137.164:8902,在远程服务器上需改为 http://127.0.0.1:8902。

4.3 Reranker + Embedding — 端口 8903

cd ~/llm_server
bash start_rag_server.sh

测试:

python3 test_rag.py

5. 服务端口汇总

服务 脚本 端口
ASR start_asr.sh 8901
TTS start_tts.sh 8902
Reranker start_rag_server.sh 8903
Embedding start_rag_server.sh 8903

6. 停止服务

kill $(lsof -t -i:8901)  # 停止 ASR
kill $(lsof -t -i:8902)  # 停止 TTS
kill $(lsof -t -i:8903)  # 停止 Reranker/Embedding

7. 路径说明

所有 Python 脚本中的模型路径已改为基于脚本所在目录的相对路径(通过 os.path.dirname(os.path.abspath(__file__)) 动态获取),Shell 脚本使用 ${SCRIPT_DIR} 定位。因此目录整体迁移到任意位置均可正常运行,无需再修改路径。