环境准备

前提条件

当前TEI框架只支持在x86-64/aarch64架构上运行。

操作步骤

  1. 安装Rust与必要的软件包。

    # 对于ARM 64位CPU为aarch64,对于X86 64位CPU可将下面指令的aarch64替换为x86_64
    wget https://static.rust-lang.org/dist/rust-1.81.0-aarch64-unknown-linux-gnu.tar.gz --no-check-certificate
    tar -xvf rust-1.81.0-aarch64-unknown-linux-gnu.tar.gz
    cd rust-1.81.0-aarch64-unknown-linux-gnu
    bash install.sh
    
    sudo apt update
    apt install pkg-config

  2. 设置环境变量。

    首先在命令行输入python进入交互式界面,通过torch.__file__的回显路径确认protoc所在目录,以Python 3.10.2为例:

    Python 3.10.2 (main, Sep 23 2024, 10:52:24) [GCC 9.4.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import torch
    >>> torch.__file__
    '/usr/local/python3.10.2/lib/python3.10/site-packages/torch/__init__.py'
    控制台输出的__init__.py所在目录的子文件夹bin下即为protoc的放置路径:
    # protoc所在目录 
    export PATH=/usr/local/python3.10.2/lib/python3.10/site-packages/torch/bin:$PATH

  3. 使用git clone -b v1.2.3 https://github.com/huggingface/text-embeddings-inference.git拉取TEI源码,参照TEI框架接入MindIE Torch与ATB后端全量适配代码参考中的路径替换适配代码,并通过以下指令完成TEI依赖的安装以及代码编译(与原生TEI安装编译过程一致)。

    cd ./text-embeddings-inference
    cargo install --path router -F python -F http --no-default-features
    cd ./backends/python/server
    make install

  4. 根据需要使用的模型选择安装对应的transformers版本。

    pip install transformers==4.38.2 --force-reinstall  #对于gte-Qwen2-1.5B-instruct文本嵌入模型
    pip install transformers==4.44.0 --force-reinstall  #对于其它文本嵌入或重排序模型