使用Text-Embeddings-Inference部署大模型

1. TEI 简介

Text Embeddings Inference,简称TEI,是一个用于部署开源文本嵌入及序列分类模型的工具集。TEI为当前最流行的模型(包括FlagEmbedding、Ember、GTE和E5等)提供高性能的向量提取能力。

特点

  • 无需模型图编译步骤
  • 支持Mac本地运行的Metal加速
  • 轻量化Docker镜像与极速启动——真正实现无服务器化部署
  • 基于令牌的动态批处理技术
  • 采用Flash Attention、Candle及cuBLASLt优化的Transformer推理代码
  • 支持Safetensors权重加载
  • 兼容ONNX权重加载
  • 生产级就绪(集成Open Telemetry分布式追踪和Prometheus指标监控)

网站:TEI

2. 安装 TEI

这里采用Docker的方式来安装TEI,这种方式比较快捷。
Docker镜像列表如下:

ArchitectureImage
CPUghcr.io/huggingface/text-embeddings-inference:cpu-1.7
VoltaNOT SUPPORTED
Turing (T4, RTX 2000 series, …)ghcr.io/huggingface/text-embeddings-inference:turing-1.7 (experimental)
Ampere 80 (A100, A30)ghcr.io/huggingface/text-embeddings-inference:1.7
Ampere 86 (A10, A40, …)ghcr.io/huggingface/text-embeddings-inference:86-1.7
Ada Lovelace (RTX 4000 series, …)ghcr.io/huggingface/text-embeddings-inference:89-1.7
Hopper (H100)ghcr.io/huggingface/text-embeddings-inference:hopper-1.7 (experimental)

依据服务器的配置选择相应的镜像进行安装。

2.1 在线安装

直接使用docker命令拉取相应的镜像,比如CPU版本的

docker pull ghcr.io/huggingface/text-embeddings-inference:cpu-1.7

2.2 离线安装

如果服务器不能拉取镜像,可以采用手动上传镜像的方式来完成离线安装。

  1. 在能拉取镜像的机器上先拉取镜像
docker pull ghcr.io/huggingface/text-embeddings-inference:cpu-1.7
  1. 导出镜像,并上传到服务器
docker save -o text-embeddings-inference.tar ghcr.io/huggingface/text-embeddings-inference:cpu-1.7

# 压缩
gzip text-embeddings-inference.tar
  1. 在服务器上导入镜像
gzip -d text-embeddings-inference.tar.gz
docker load -i text-embeddings-inference.tar

3. 部署大模型

3.1 部署BAAI/bge-reranker-large

3.1.1 搜索模型

huggingface上搜索模型

3.1.2 在线安装

  1. 在服务器上编写一个shell脚本,比如 run_bge-reranker-large.sh
model=BAAI/bge-reranker-large
volume=$PWD/data # share a volume with the Docker container to avoid downloading weights every run

docker run -d --gpus all -p 8080:80 -v $volume:/data ghcr.io/huggingface/text-embeddings-inference:1.7 --model-id $model
  1. 直接运行 run_bge-reranker-large.sh
sh ./run_bge-reranker-large.sh

3.1.3 离线安装

  1. 在能够联网的机器上下载模型,下载后模型的所有文件都保存在目录bge-reranker-large中
# 因为有大文件,所以这里需用到gitlfs
git lfs install
git clone https://huggingface.co/BAAI/bge-reranker-large
  1. 编写启动脚本 run-bge-reranker-large.sh
volume=$PWD # share a volume with the Docker container to avoid downloading weights every run

sudo docker run -d -p 8080:80 -v $volume:/data --name bge-rerank-large ghcr.io/huggingface/text-embeddings-inference:cpu-1.7 --model-id /data/bge-reranker-large
  1. 上传文件夹bge-reranker-large和脚本run-bge-reranker-large.sh到服务器,放在相同目录下
  2. 直接运行 run_bge-reranker-large.sh
sh ./run_bge-reranker-large.sh

3.1.4 测试模型

curl 127.0.0.1:8080/rerank \
    -X POST \
    -d '{"query": "中国国庆节是哪一天?", "texts": ["国庆节是10月1日", "端午节是5月1日",  "美国国庆节是3月1日"]}' \
    -H 'Content-Type: application/json'; echo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值