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"
  }'
相关推荐
AI科技星36 分钟前
基于全域数学公理体系求解三元约束极值题【乖乖数学】
人工智能·算法·机器学习·密码学·拓扑学·乖乖数学·全域数学
汤姆小白4 小时前
01-环境搭建与项目导览
人工智能·python·机器学习·numpy
喜欢就别6 小时前
【Agentic RL / 强化学习 / OPD】OpenClaw-RL 源码阅读笔记 --- (2)--- On-Policy Distillation
人工智能·笔记
糯米导航8 小时前
AI 视觉回归实战:截图对比不是“找不同”,如何让智能差异分析真正服务 UI 质量
人工智能·ui·回归
科技圈观察9 小时前
2026年好伴AI医疗专用大模型应用梳理与梯队参考
人工智能
jkyy20149 小时前
深耕AI健康医疗数据智库,赋能企业构建主动健康管理新生态
大数据·人工智能·健康医疗
cd_949217219 小时前
3D角色自动绑骨怎么做?用V2Fun完成建模、绑定、动作和导出
人工智能·3d
瑞禧生物tech10 小时前
SH-PEG-Biotin巯基-聚乙二醇-生物素 HS-PEG-Bio 深度解析
人工智能
QYR-分析10 小时前
机器人安全控制器行业高速扩容 本土替代迎来全新发展窗口期
人工智能·安全·机器人
冬奇Lab10 小时前
MCP 系列(06):MCP vs Function Calling——用数据说话的选型指南
人工智能