登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
业界
›
Qwen3-Embedding国产化部署
Qwen3-Embedding国产化部署
[ 复制链接 ]
嫁吱裨
昨天 17:45
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
1.
背景
最近一直在做ToG的项目,其中用到了语义检索,研发环境使用A40和vllm,即可轻松部署Qwen3-Embedding-8B,但客户环境要求国产化环境,因此探索Qwen3-Embedding-8B如何在国产化环境部署。
实不相瞒,本来以为仅需半天搞定的事情,我居然耗费了3天半的时间(汗颜....),究其原因,主要是包含如下几个方面:
研发环境没有国产化系统及显卡,也没有相关的部署经验,
网上针对特定的300I Duo部署Qwen3-Embedding-8B的教程几乎没找到,多的是910系列。但客户只有Altas 300I Duo的环境。
最初两天一直在探索vllm-ascend进行部署,结果现阶段版本仍不支持。
最后一天转向MIS-TEI,才终于看到曙光。
下面教程就是部署成功的完整流程,各位看官如有同样环境,无脑借鉴即可,省心省力。
2.
系统环境
操作系统: 麒麟Kylin V10 (Sword)
显卡型号: 8卡Altlas 300I Duo
驱动版本: Ascend-hdk-310p-npu-driver_25.5.1_linux-aarch64.run
固件版本: Ascend-hdk-310p-npu-firmware_7.8.0.6.201.run
CANN版本: Ascend-cann_8.5.0_linux-aarch64.run
优化算子版本: Ascend-cann-310p-ops_8.5.0_linux-aarch64.run
3. 驱动安装
# 1. 创建用户及用户组
sudo groupadd HwHiAiUser
sudo useradd -g HwHiAiUser -d /home/HwHiAiUser -m -s /bin/bash HwHiAiUser
# 2. 安装驱动(等待几分钟)
sudo ./Ascend-hdk-310p-npu-driver_25.5.1_linux-aarch64.run --full --install-for-all --force
reboot # 重启
npu-smi info # 驱动验证
# 3. 安装固件
sudo ./Ascend-hdk-310p-npu-firmware_7.8.0.6.201.run --full
reboot
# 4. CANN驱动安装
sudo ./Ascend-cann_8.5.0_linux-aarch64.run --install
# 5. 安装优化算子驱动
sudo ./Ascend-cann-310p-ops_8.5.0_linux-aarch64.run --install
# 6. 设置驱动环境变量
source /usr/local/Ascend/ascend-toolkit/set_env.sh
echo 'source /usr/local/Ascend/ascend-toolkit/set_env.sh' >> ~/.bashrc
# 7. 验证驱动是否成功
npu-smi info
python3 -c "import acl; print('ACL Load OK')"
复制代码
4. Docker部署及TEI镜像拉取
# 联网环境进行拉取
docker pull swr.cn-south-1.myhuaweicloud.com/ascendhub/mis-tei:7.3.0-300I-Duo-aarch64
# 镜像打包及传输
docker save swr.cn-south-1.myhuaweicloud.com/ascendhub/mis-tei:7.3.0-300I-Duo-aarch64 -o mis-tei.tar
# 客户环境加载
docker load -i mis-tei.tar
# 模型下载Qwen3-Embedding-8B,直接通过ModelScope进行下载,此处省略其过程
复制代码
5. 容器启动
这块耗费的时间比较长,因为存在各种报错,最终才形成稳定版本
# 1. 编写/data/models/start_tei.sh的脚本
#!/bin/bash
source /usr/local/Ascend/ascend-toolkit/set_env.sh
export LD_PRELOAD=/usr/local/lib/python3.11/site-packages/scikit_learn.libs/libgomp-d22c30c5.so.1.0.0:/usr/lib/aarch64-linux-gnu/libgomp.so.1
export PYTHONPATH=/usr/local/Ascend/mxRag-7.3.0/ops/transformer_adapter:$PYTHONPATH
export RAG_SDK_HOME=/usr/local/Ascend/mxRag-7.3.0
export LD_LIBRARY_PATH=/usr/local/Ascend/nnal/atb/8.5.0/atb/cxx_abi_0/lib:/usr/local/Ascend/mxRag-7.3.0/ops/lib:$LD_LIBRARY_PATH
PORT=${PORT:-8080}
UDS_PATH=${UDS_PATH:-/tmp/text-embeddings-inference-server}
DEVICE_ID=${ASCEND_VISIBLE_DEVICES:-0}
export ASCEND_VISIBLE_DEVICES=$DEVICE_ID
export NPU_VISIBLE_DEVICES=$DEVICE_ID
export RANK=0
export LOCAL_RANK=0
exec /home/HwHiAiUser/.cargo/bin/text-embeddings-router \
--model-id /home/HwHiAiUser/model/ \
--hostname 0.0.0.0 \
--port $PORT \
--uds-path $UDS_PATH \
--auto-truncate \
--dtype float16 \
--max-batch-tokens 16384
# 2. 编写启动容器的脚本:此处8张卡上默认都启动了两个进程,总计16个进程(显卡资源需监测利用率)
for i in $(seq 0 15); do
docker stop tei-$i 2>/dev/null
docker rm tei-$i 2>/dev/null
done
for i in $(seq 0 15); do
DEVICE=$((i % 8))
PORT=$((8080 + i))
UDS="/tmp/tei-server-$i"
docker run -u root -d \
-e ENABLE_BOOST=True \
-e TEI_NPU_DEVICE=$DEVICE \
-e PORT=$PORT \
-e UDS_PATH=$UDS \
--name=tei-$i \
--net=host \
--privileged \
--device=/dev/davinci_manager \
--device=/dev/hisi_hdc \
--device=/dev/devmm_svm \
--device=/dev/davinci$DEVICE \
-v /usr/local/Ascend/driver:/usr/local/Ascend/driver:ro \
-v /usr/local/sbin:/usr/local/sbin:ro \
-v /data/models/Qwen3-Embedding-8B:/home/HwHiAiUser/model \
-v /data/models/start_tei.sh:/start_tei.sh \
-v /etc/hostname:/etc/hostname:ro \
-v /etc/hosts:/etc/hosts:ro \
--entrypoint /bin/bash \
swr.cn-south-1.myhuaweicloud.com/ascendhub/mis-tei:7.3.0-300I-Duo-aarch64 \
/start_tei.sh
echo "Started tei-$i on Device=$DEVICE PORT=$PORT"
sleep 5
done
复制代码
6. nginx负载均衡转发
[code]# 1. 镜像拉取docker pull docker.1ms.run/nginx:latest# 2. nginx配置文件mkdir -p /data/nginx/logscat > /data/nginx/tei.conf
Qwen3
Embedding
国产化
部署
相关帖子
ClawX 本地部署实战:OpenClaw 安装、API 配置与用法详解
OpenClaw安装部署教程
ClawX 消息频道快速部署:飞书、钉钉与主流 IM 一体化接入(3)
Ubuntu离线环境部署Kubernetes v1.31.3(ARM64)
Kubernetes Dashboard部署
Coolify: Vercel 的开源版私有化部署平替版
OpenClaw 智能体本地部署和使用并与飞书连接
centos7安装部署openclaw
centos7安装部署openclaw
在 Windows+WSL2 上部署 OpenClaw AI 同事的实践与踩坑
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
安全
ClawX 本地部署实战:OpenClaw 安装、API 配置与用法详解
0
90
缣移双
2026-03-03
业界
OpenClaw安装部署教程
0
726
柏球侠
2026-03-04
业界
ClawX 消息频道快速部署:飞书、钉钉与主流 IM 一体化接入(3)
0
884
缍米
2026-03-05
业界
Ubuntu离线环境部署Kubernetes v1.31.3(ARM64)
0
894
蔺蓉城
2026-03-05
安全
Kubernetes Dashboard部署
0
318
泥地锚
2026-03-05
安全
Coolify: Vercel 的开源版私有化部署平替版
0
969
能杜孱
2026-03-05
安全
OpenClaw 智能体本地部署和使用并与飞书连接
0
394
蔓好
2026-03-06
业界
centos7安装部署openclaw
0
998
班嘉淑
2026-03-06
业界
centos7安装部署openclaw
0
391
膏包
2026-03-06
业界
在 Windows+WSL2 上部署 OpenClaw AI 同事的实践与踩坑
0
354
焦和玉
2026-03-07
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
安全
签约作者
程序园优秀签约作者
发帖
嫁吱裨
昨天 17:45
关注
0
粉丝关注
17
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991125
anyue1937
9994892
kk14977
6845359
4
xiangqian
638210
5
宋子
9888
6
韶又彤
9909
7
闰咄阅
9993
8
刎唇
9995
9
蓬森莉
9871
10
遗憩
10006
查看更多
今日好文热榜
57
Redis数据迁移神器RedisShake实操指南:覆
714
预算砍半,信心翻倍?腾势Z9GT底盘制动升级
365
uni-app使用瓦片实现离线地图的两种方案
684
Prompt 一旦超出上下文窗口,该怎么办?
354
在 Windows+WSL2 上部署 OpenClaw AI 同事
559
我让 AI 帮我做 PPT、查美股、整理桌面:Bi
462
高光谱成像(四)最小噪声分数变换 MNF
403
AI生成原型实测:一条指令生成9页APP原型图
996
centos7安装部署openclaw
391
centos7安装部署openclaw
815
Vibe Coding的致命隐患:你必须知道的技术
324
巧用Qwen code,干掉垃圾广告
267
最小二乘问题详解13:对极几何中本质矩阵求
659
AI 工程化实战:拒绝“开盲盒”,像写代码
729
Windows 安装 OpenClaw 踩坑全记录:Node、
564
作为开源ClaudeCoWork!别再把 AI 当聊天框
395
空论:AI元人文的源初场域与意义根基 ——
2
Claude Code 完整上手指南
465
MySQL组复制的通信栈Communication Stack
894
3分钟搞懂深度学习AI:反向传播:链式法则