登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
业界
›
Qwen3-Embedding国产化部署
Qwen3-Embedding国产化部署
[ 复制链接 ]
嫁吱裨
5 天前
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
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
国产化
部署
相关帖子
centos7安装部署openclaw
centos7安装部署openclaw
在 Windows+WSL2 上部署 OpenClaw AI 同事的实践与踩坑
windows10本地部署openclaw
windows10本地部署openclaw
windows10本地部署openclaw
2-5 分钟部署 OpenClaw:RoutinAI 免费托管 + 免费 Kimi-K2.5 模型
性能干翻235B,单卡私有化部署OpenClaw
windows系统本地安装部署openclaw详细版教程(最细保姆版)!!!
openclaw本地部署接入飞书教程(最细保姆版)
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
centos7安装部署openclaw
0
1012
班嘉淑
2026-03-06
业界
centos7安装部署openclaw
1
403
膏包
2026-03-06
业界
在 Windows+WSL2 上部署 OpenClaw AI 同事的实践与踩坑
0
367
焦和玉
2026-03-07
业界
windows10本地部署openclaw
0
5
浦乐
2026-03-09
业界
windows10本地部署openclaw
1
6
挚魉
2026-03-09
业界
windows10本地部署openclaw
1
751
懵径
2026-03-09
业界
2-5 分钟部署 OpenClaw:RoutinAI 免费托管 + 免费 Kimi-K2.5 模型
0
660
恶凝毛
2026-03-10
业界
性能干翻235B,单卡私有化部署OpenClaw
0
52
裒噎
2026-03-10
科技
windows系统本地安装部署openclaw详细版教程(最细保姆版)!!!
0
372
沃盼盼
2026-03-10
科技
openclaw本地部署接入飞书教程(最细保姆版)
0
885
孙淼淼
2026-03-10
回复
(4)
喳谍
4 天前
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
很好很强大 我过来先占个楼 待编辑
接快背
4 天前
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
懂技术并乐意极积无私分享的人越来越少。珍惜
愤血冒
3 天前
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
喜欢鼓捣这些软件,现在用得少,谢谢分享!
玛凶
昨天 05:18
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
收藏一下 不知道什么时候能用到
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
科技
安全
签约作者
程序园优秀签约作者
发帖
嫁吱裨
昨天 05:18
关注
0
粉丝关注
17
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991125
anyue1937
9994892
kk14977
6845359
4
xiangqian
638210
5
韶又彤
9912
6
宋子
9880
7
闰咄阅
9993
8
刎唇
9995
9
蓬森莉
9869
10
遗憩
10006
查看更多
今日好文热榜
211
3分钟搞懂深度学习AI:实操篇:池化层
30
Gemini 3.1 Flash-Lite 正式上线:专为规模
246
【OpenClaw】博查搜索 Skill 正式上线|中
341
FastAPI + PostgreSQL 实战:从入门到不踩
685
MAUI 嵌入式 Web 架构实战(七) 构建设备
906
AI时代,程序员都应该是需求描述工程师
234
openclaw平替之nanobot源码解析(二):age
828
当纺织机轰鸣而来——一个数字时代“纺织女
479
空论与时论
217
搭建数据库服务高可用架构
287
2026卫生高级职称备考:卫生高级职称考试历
30
公司新招了个 5 年 Java,开工第一天就被劝
333
opencalw平替之nanobot 源码解析(一):环
983
【节点】[SceneDepth节点]原理解析与实际应
419
【节点】[SceneDepth节点]原理解析与实际应
758
"给我发个200元红包":一条群消息背后的 AI
479
使用 C++ 模拟 ShaderLanguage 的 swizzle
71
006:RAG 入门-面试官问你,RAG 为什么要切
291
Stanford-CS336-Lecture-02 Pytorch
328
【FAQ】HarmonyOS SDK 闭源开放能力 —Push