Qwen3-Embedding-Reranker本地部署教程:8B 参数登顶 MTEB 多语言榜首,100 + 语言跨模态检索无压力!

一、简介

Qwen3-Embedding与Qwen3-Reranker是阿里巴巴通义实验室于今年6月开源的双模型系列,专为文本表征、检索与排序任务设计。基于Qwen3基础模型构建,二者通过协同工作显著提升语义理解与信息检索效率,在多语言场景和工业部署中表现卓越。

基于 Qwen3 系列的密集基础模型,提供了各种大小(0.6B、4B 和 8B)的全面文本嵌入和重新排序模型。该系列继承了其基础模型出色的多语言能力、长文本理解和推理技能。

Qwen3 嵌入系列在多个文本嵌入和排名任务中代表了显著的进步,包括文本检索、代码检索、文本分类、文本聚类和双语文本挖掘。8B 大小的嵌入模型在 MTEB 多语言排行榜上排名 第 1 (截至 2025 年 6 月 5 日,得分为 70.58 ),而重新排序模型在各种文本检索场景中表现出色。

二、基础环境

  • 系统:ubuntu22.04
  • cuda:12.4
  • 显卡:4090*2(两张显卡)
  • python:3.12

三、安装

1. 需要从github中克隆源码的vllm(版本:0.9.2.dev55+ge6aab5de2)

需要使用较新vllm,它添加了对Qwen3-Embeddin和Qwen3-Reranker的支持

bash 复制代码
git clone https://github.com/vllm-project/vllm.git
cd vllm
VLLM_USE_PRECOMPILED=1 pip install --editable .
vllm -v

2. 下载模型

css 复制代码
pip install modelscope
mkdir models
modelscope download --model Qwen/Qwen3-Embedding-8B --local_dir /models/Qwen3-Embedding-8B
modelscope download --model Qwen/Qwen3-Reranker-8B --local_dir /models/Qwen3-Reranker-8B

这里的模型下载到了网盘,通过 ln -s创建链接到根目录。模型的目录链接网:算家云-AI-数据社区

3. vllm 启动模型

使用了两张显卡0,1;0 运行Qwen3-Embedding-8B模型;1 运行Qwen3-Reranker-8B

scss 复制代码
CUDA_VISIBLE_DEVICES=0 vllm serve /Qwen3-Embedding-8B --trust-remote-code --port 8000 --host 0.0.0.0 --max-model-len 32768 --block-size 16 --dtype auto --task embed --served-model-name Qwen3-Embedding-8B
CUDA_VISIBLE_DEVICES=1 vllm serve /Qwen3-Reranker-8B --trust-remote-code --port 8001 --host 0.0.0.0 --max-model-len 32768 --block-size 16 --dtype auto --served-model-name Qwen3-Reranker-8B --hf_overrides '{"architectures":["Qwen3ForSequenceClassification"],"classifier_from_token": ["no", "yes"],"is_original_qwen3_reranker": true}'

测试部署情况

Qwen3-Embedding-8B 调用端口

arduino 复制代码
curl http://127.0.0.1:8000/v1/embeddings \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "input": "Follow the white rabbit.",
    "model": "Qwen3-Embedding-8B",
    "encoding_format": "float"
  }'

Qwen3-Reranker-8B 调用/score和rerank端口

arduino 复制代码
curl http://127.0.0.1:8001/score \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "text_1": "ping",
    "text_2": "pong",
    "model": "Qwen3-Reranker-8B"
  }'

curl http://127.0.0.1:8001/rerank \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "query": "ping",
    "documents": ["pong"],
    "model": "Qwen3-Reranker-8B"
  }'

四、Nginx 代理共享 8080 端口

1.安装Nginx

sql 复制代码
apt update && apt-get install nginx -y
nginx -v
sudo nginx

2.创建配置文件

/etc/nginx/conf.d/vllm_proxy.conf

ini 复制代码
# 定义上游服务器组
upstream embedding_server {
    server 127.0.0.1:8000;
}

upstream reranker_server {
    server 127.0.0.1:8001;
}

server {
    listen 8080;
    server_name localhost;  # 或者您的域名
  
    # 代理到8000端口(embedding模型)的所有端点
    location /embedding/ {
        proxy_pass http://embedding_server/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
  
        # 支持HTTP/1.1和WebSocket
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
  
        # 关闭缓冲以支持流式响应
        proxy_buffering off;
        proxy_request_buffering off;
    }
  
    # 代理到8001端口(reranker模型)的所有端点
    location /reranker/ {
        proxy_pass http://reranker_server/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
  
        # 支持HTTP/1.1和WebSocket
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
  
        # 关闭缓冲以支持流式响应
        proxy_buffering off;
        proxy_request_buffering off;
    }
  
    # 健康检查端点
    location /health {
        add_header Content-Type application/json;
        return 200 '{"status":"OK","embedding":"http://localhost:8080/embedding/","reranker":"http://localhost:8080/reranker/"}';
    }
  
    # 错误页面
    error_page 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }
  
    # 访问日志
    access_log /var/log/nginx/vllm_access.log;
    error_log /var/log/nginx/vllm_error.log;
}

3.重新加载Nginx 配置

复制代码
sudo nginx -t && sudo nginx -s reload

4.测试调用情况

嵌入模型调用

arduino 复制代码
curl http://localhost:8080/embedding/v1/embeddings \
  -H 'Content-Type: application/json' \
  -d '{
    "input": "Follow the white rabbit.",
    "model": "Qwen3-Embedding-8B",
    "encoding_format": "float"
    }'

重排模型调用(score 端点)

arduino 复制代码
curl http://localhost:8080/reranker/v1/score \
  -H 'Content-Type: application/json' \
  -d '{
  "text_1": "ping",
  "text_2": "pong",
  "model": "Qwen3-Reranker-8B"
  }'

重排模型调用(rerank 端点)

arduino 复制代码
curl http://localhost:8080/reranker/v1/rerank \
  -H 'Content-Type: application/json' \
  -d '{
  "query": "ping",
  "documents": ["pong"],
  "model": "Qwen3-Reranker-8B"
  }'
相关推荐
guoji77883 分钟前
安全与对齐的深层博弈:Gemini 3.1 Pro 安全护栏与对抗测试深度拆解
人工智能·安全
实在智能RPA11 分钟前
实在 Agent 和通用大模型有什么不一样?深度拆解 AI Agent 的感知、决策与执行逻辑
人工智能·ai
独隅15 分钟前
PyTorch 模型部署的 Docker 配置与性能调优深入指南
人工智能·pytorch·docker
lihuayong22 分钟前
OpenClaw 系统提示词
人工智能·prompt·提示词·openclaw
黑客说36 分钟前
AI驱动剧情,解锁无限可能——AI游戏发展解析
人工智能·游戏
踩着两条虫42 分钟前
AI驱动的Vue3应用开发平台深入探究(十):物料系统之内置组件库
android·前端·vue.js·人工智能·低代码·系统架构·rxjava
小仙女的小稀罕1 小时前
听不清重要会议录音急疯?这款常见AI工具听脑AI精准转译
开发语言·人工智能·python
reesn1 小时前
qwen3.5 0.8B纠正任务实践
人工智能·语言模型
实在智能RPA1 小时前
实在Agent 制造业落地案例:探寻工业大模型从实验室走向车间的实战路径
人工智能·ai