rag基座已经搭建好

This commit is contained in:
minorQAQ committed 2026-05-16 18:55:44 +08:00
1 parent 64cabe63d7
commit 87ee138fb5
17 files changed
+816 -251

No files matched your search

+34 -52
View File
@@ -1,62 +1,44 @@
#!/usr/bin/env bash
set -euo pipefail
# 配置区域(可根据实际情况修改)
MODEL_BASE_PATH="${MODEL_BASE_PATH:-/mnt/Qwen3-Omni-30B-A3B-Instruct-NVFP4}"
THINKER_PATH="${MODEL_BASE_PATH}/thinker"
CONTAINER_NAME="${CONTAINER_NAME:-vllm-thinker}"
HOST_PORT="${HOST_PORT:-8091}"
GPU_DEVICES="${GPU_DEVICES:-all}" # 例如 "0,1" 或 "all"
TENSOR_PARALLEL_SIZE="${TENSOR_PARALLEL_SIZE:-1}"
MAX_MODEL_LEN="${MAX_MODEL_LEN:-32768}"
VLLM_IMAGE="${VLLM_IMAGE:-vllm/vllm-openai:latest}"
# 自动获取脚本所在目录
SCRIPT_DIR="$(cd -- "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
VENV_DIR="${SCRIPT_DIR}/.venv_audio"
MODEL_DIR="${SCRIPT_DIR}/modelscope/models/Qwen/Qwen3-ASR-1.7B"
HOST_PORT="${HOST_PORT:-8901}"
# 检查模型路径是否存在
if [[ ! -d "$THINKER_PATH" ]]; then
echo "错误: 模型路径不存在: $THINKER_PATH"
echo "请设置环境变量 MODEL_BASE_PATH 指向正确的模型根目录(包含 thinker 子目录)"
# 激活虚拟环境
source "${VENV_DIR}/bin/activate"
# 检查端口占用
if lsof -i "tcp:${HOST_PORT}" -t >/dev/null 2>&1; then
echo "Port ${HOST_PORT} already in use" >&2
exit 1
fi
# 检查 Docker 可用性
if command -v docker >/dev/null 2>&1 && docker info >/dev/null 2>&1; then
DOCKER_CMD="docker"
else
DOCKER_CMD="sudo docker"
fi
echo "Starting vLLM server on port ${HOST_PORT} ..."
echo "Model path: ${MODEL_DIR}"
# 停止并移除可能已存在的同名容器
${DOCKER_CMD} rm -f "${CONTAINER_NAME}" >/dev/null 2>&1 || true
# 进入脚本目录
cd "${SCRIPT_DIR}"
echo "启动 Thinker 服务..."
echo "模型路径: $THINKER_PATH"
echo "服务端口: $HOST_PORT"
echo "Tensor Parallel Size: $TENSOR_PARALLEL_SIZE"
# 设置环境变量
export VLLM_USE_MODELSCOPE=true
export MODELSCOPE_DOWNLOAD_MODE=local
export MODELSCOPE_HUB_ENABLE_FILE_CHECK=false
export MODELSCOPE_CACHE="${SCRIPT_DIR}/modelscope"
export HF_HUB_OFFLINE=1
export TRANSFORMERS_OFFLINE=1
# 启动容器
${DOCKER_CMD} run -d \
--name "${CONTAINER_NAME}" \
--gpus "${GPU_DEVICES}" \
--ipc=host \
--network host \
-v "${THINKER_PATH}:/model:ro" \
-e VLLM_USE_MODELSCOPE=false \
"${VLLM_IMAGE}" \
sh -c "pip install --no-cache-dir nvidia-modelopt && \
vllm serve /model \
--port ${HOST_PORT} \
--quantization modelopt_fp4 \
--dtype bfloat16 \
--max-model-len ${MAX_MODEL_LEN} \
--tensor-parallel-size ${TENSOR_PARALLEL_SIZE} \
--trust-remote-code \
--enforce-eager"
# 等待服务启动
sleep 3
# 健康检查
echo "健康检查 (等待几秒后):"
echo " curl http://127.0.0.1:${HOST_PORT}/health"
echo "查看日志:"
echo " ${DOCKER_CMD} logs -f ${CONTAINER_NAME}"
# 启动 vLLM 服务
vllm serve "${MODEL_DIR}" \
--port "${HOST_PORT}" \
--host 0.0.0.0 \
--quantization fp8 \
--dtype auto \
--kv-cache-dtype fp8 \
--max-model-len 16384 \
--allowed-local-media-path / \
--tensor-parallel-size 1 \
--gpu-memory-utilization 0.10 \
--max-num-batched-tokens 4096