feat: 更新模型服务脚本和配置,支持 Qwen3 系列模型
- 修改 run.sh 脚本,新增对 Qwen3-32B、Qwen3-Embedding-0.6B 和 Qwen3-Reranker-0.6B 模型的支持。 - 更新 rerank_model.py,优化 API URL 获取逻辑,使用 get_docker_safe_url 函数。 - 在 models.yaml 中添加 Qwen3 系列模型的配置信息,包括名称、维度和 API 密钥。
This commit is contained in:
parent
012c8e8e4a
commit
5000afc3ca
@ -1,23 +1,48 @@
|
|||||||
MODEL=Meta-Llama-3-8B-Instruct
|
MODEL_DIR=/data/public/models
|
||||||
|
PORT=8081
|
||||||
|
|
||||||
|
TENSOR_PARALLEL_SIZE=1
|
||||||
|
export CUDA_VISIBLE_DEVICES="0"
|
||||||
|
|
||||||
|
source .venv/bin/activate
|
||||||
|
|
||||||
if [ -z "$1" ]; then
|
if [ -z "$1" ]; then
|
||||||
echo "Error: No argument provided. Please specify a model name."
|
echo "Error: No argument provided. Please specify a model name."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$1" = "llama" ]; then
|
if [ "$1" = "qwen3:32b" ]; then
|
||||||
python -m vllm.entrypoints.openai.api_server \
|
vllm serve "$MODEL_DIR/Qwen/Qwen3-32B" \
|
||||||
--model="/hdd/zwj/models/meta-llama/Meta-Llama-3-8B-Instruct" \
|
|
||||||
--tensor-parallel-size 2 \
|
|
||||||
--trust-remote-code \
|
--trust-remote-code \
|
||||||
--device auto \
|
--device cuda --dtype auto --tensor-parallel-size $TENSOR_PARALLEL_SIZE \
|
||||||
--gpu-memory-utilization 0.8 \
|
--max_model_len 16384 \
|
||||||
--dtype half \
|
|
||||||
--served-model-name "$1" \
|
--served-model-name "$1" \
|
||||||
--host 0.0.0.0 \
|
--enable-auto-tool-choice \
|
||||||
--port 8080
|
--tool-call-parser hermes \
|
||||||
|
--host 0.0.0.0 --port $PORT
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Qwen/Qwen3-Embedding-0.6B
|
||||||
|
if [ "$1" = "Qwen3-Embedding-0.6B" ]; then
|
||||||
|
vllm serve "$MODEL_DIR/Qwen/Qwen3-Embedding-0.6B" --task embed \
|
||||||
|
--trust-remote-code --max_model_len 4096 \
|
||||||
|
--device cuda --dtype auto --tensor-parallel-size $TENSOR_PARALLEL_SIZE \
|
||||||
|
--served-model-name "$1" --host 0.0.0.0 --port $PORT
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$1" = "Qwen3-Reranker-0.6B" ]; then
|
||||||
|
vllm serve "$MODEL_DIR/Qwen/Qwen3-Reranker-0.6B" --task rerank \
|
||||||
|
--trust-remote-code \
|
||||||
|
--device cuda --dtype auto --tensor-parallel-size $TENSOR_PARALLEL_SIZE \
|
||||||
|
--max_model_len 4096 \
|
||||||
|
--served-model-name "$1" --host 0.0.0.0 --port $PORT
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# https://docs.vllm.ai/en/latest/serving/openai_compatible_server.html#named-arguments
|
# https://docs.vllm.ai/en/latest/serving/openai_compatible_server.html#named-arguments
|
||||||
# model 模型路径,以文件夹结尾
|
# model 模型路径,以文件夹结尾
|
||||||
# tensor-parallel-size 张量并行副本数,即GPU的数量,咱这儿只有2张卡
|
# tensor-parallel-size 张量并行副本数,即GPU的数量,咱这儿只有2张卡
|
||||||
|
|||||||
@ -5,7 +5,7 @@ import numpy as np
|
|||||||
from FlagEmbedding import FlagReranker
|
from FlagEmbedding import FlagReranker
|
||||||
|
|
||||||
from src import config
|
from src import config
|
||||||
from src.utils.logging_config import logger
|
from src.utils import logger, get_docker_safe_url
|
||||||
|
|
||||||
|
|
||||||
class LocalReranker(FlagReranker):
|
class LocalReranker(FlagReranker):
|
||||||
@ -24,11 +24,12 @@ def sigmoid(x):
|
|||||||
|
|
||||||
class SiliconFlowReranker:
|
class SiliconFlowReranker:
|
||||||
def __init__(self, **kwargs):
|
def __init__(self, **kwargs):
|
||||||
self.url = "https://api.siliconflow.cn/v1/rerank"
|
model_info = config.reranker_names[config.reranker]
|
||||||
self.model = config.reranker_names[config.reranker]["name"]
|
self.url = get_docker_safe_url(model_info["url"])
|
||||||
|
self.model = model_info["name"]
|
||||||
|
|
||||||
api_key = os.getenv("SILICONFLOW_API_KEY")
|
api_key = os.getenv(model_info["api_key"], model_info["api_key"])
|
||||||
assert api_key, "SILICONFLOW_API_KEY is required"
|
assert api_key, f"{model_info['name']} api_key is required"
|
||||||
self.headers = {
|
self.headers = {
|
||||||
"Authorization": f"Bearer {api_key}",
|
"Authorization": f"Bearer {api_key}",
|
||||||
"Content-Type": "application/json"
|
"Content-Type": "application/json"
|
||||||
|
|||||||
@ -130,6 +130,12 @@ EMBED_MODEL_INFO:
|
|||||||
url: https://api.siliconflow.cn/v1/embeddings
|
url: https://api.siliconflow.cn/v1/embeddings
|
||||||
api_key: SILICONFLOW_API_KEY
|
api_key: SILICONFLOW_API_KEY
|
||||||
|
|
||||||
|
vllm/Qwen/Qwen3-Embedding-0.6B:
|
||||||
|
name: qwen3-embedding-0.6b
|
||||||
|
dimension: 1024
|
||||||
|
url: http://172.19.13.6:8081/v1/embeddings
|
||||||
|
api_key: no_api_key
|
||||||
|
|
||||||
ollama/nomic-embed-text:
|
ollama/nomic-embed-text:
|
||||||
name: nomic-embed-text
|
name: nomic-embed-text
|
||||||
dimension: 768
|
dimension: 768
|
||||||
@ -146,3 +152,10 @@ RERANKER_LIST:
|
|||||||
|
|
||||||
siliconflow/BAAI/bge-reranker-v2-m3:
|
siliconflow/BAAI/bge-reranker-v2-m3:
|
||||||
name: BAAI/bge-reranker-v2-m3
|
name: BAAI/bge-reranker-v2-m3
|
||||||
|
url: https://api.siliconflow.cn/v1/rerank
|
||||||
|
api_key: SILICONFLOW_API_KEY
|
||||||
|
|
||||||
|
vllm/Qwen/Qwen3-Reranker-0.6B:
|
||||||
|
name: Qwen/Qwen3-Reranker-0.6B
|
||||||
|
url: http://172.19.13.6:8081/v1/rerank
|
||||||
|
api_key: no_api_key
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user