文本向量化推理框架(TEI)使用说明

Text Embedding Inference(TEI)是Huggingface发布的一个用于部署和服务开源Text Embedding、Sequence Classification 和 Re-Ranking模型的工具包。相较于原生Transformers它可显著提升推理速度,并便于部署为推理服务。目前支持的模型也比较多,详见下图:

根据硬件的不同,目前支持多种硬件架构下的推理,,包括CPU和不同型号的GPU,且针对不同的硬件提供了相应的docker安装包,如下图:

1. TEI Docker部署

本部分介绍在CPU环境下的Docker部署方案。

  • step1:创建共享目录data,为便于模型管理,需要创建模型存储目录,避免每次都重新从Huggingface上拉取。也可以使用自己微调后的模型。
  • 拉取镜像并启动容器

#  使用cpu版本

docker run  -p 10088:80 -v ${models}/data:/data  ghcr.io/huggingface/text-embeddings-inference:cpu-1.5 --model-id /data/gte-large-zh-onnx

在上述命令中奖docker容器的80端口映射到宿主机的10088端口 ,并主机的${models}/data目录挂在到容器的/data目录下,这样避免重复下载模型,如果想要下载最新的镜像可以添加参数“--pull always”

--model-id 后可以为huggingface模型库中的模型名字或本地容器内路径,会优先找本地容器内路径,没有找到则会从huggingface 模型库中下载。如果上诉路径模型不存在,则会报错。在第二节中会介绍模型下载及模型格式转换。

模型启动后如下图所示

2.模型格式转换

使用TEI 加载模型时,需要提供onnx格式的模型,而很多模型只有Transformers的.bin格式的模型文件,所以需要自行进行转换。如Embedding 模型 ABBI/bge-base-en-v1.5中含有onnx格式的模型。

Embedding模型 lier007/xiaobu-embedding-v2 中没有onnx格式的模型。

以下说明如何进行格式转换。

  • step1:使用conda创建python虚拟环境

conda create -n model_trans python==3.10 -y

conda activate model_trans

  • step2: 安装依赖包

pip install optimum[onnxruntime] 

  •  step3:格式转换,以gte-large-zh模型为例,使用如下命令进行转换:

optimum-cli export onnx --model E:/models/gte-large-zh/ --task  feature-extraction E:/models/gte-large-zh-onnx 

转换后在生成的目录下回出现model.onnx文件 将生成的model.onnx复制到目录{path}/gte-large-zh/onnx/目录下。

3.模型应用

在网页上登录swagger页面,查看接口信息:http://{ip}/{port}/docs

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值