文本嵌入推理文档

快速浏览

Hugging Face's logo
加入Hugging Face社区

并获得增强型文档体验

开始使用

快速浏览

文本嵌入

开始使用TEI最简单的方法是使用官方Docker容器之一(请参阅支持的模型和硬件以选择正确的容器)。

在确保您的硬件受支持后,如果您计划利用GPU,请安装NVIDIA容器工具包。您设备上的NVIDIA驱动程序需要与CUDA 12.2或更高版本兼容。

接下来,按照其安装说明安装Docker。

最后,部署您的模型。假设您想使用BAAI/bge-large-en-v1.5。以下是如何操作:

model=BAAI/bge-large-en-v1.5
volume=$PWD/data

docker run --gpus all -p 8080:80 -v $volume:/data --pull always ghcr.io/huggingface/text-embeddings-inference:1.5 --model-id $model

我们还建议与Docker容器共享一个卷(volume=$PWD/data),以避免每次运行都下载权重。

部署模型后,您可以通过发送请求来使用embed端点

curl 127.0.0.1:8080/embed \
    -X POST \
    -d '{"inputs":"What is Deep Learning?"}' \
    -H 'Content-Type: application/json'

重新排序器

重新排序器模型是具有单个类别的序列分类交叉编码器模型,用于评估查询和文本之间的相似度。

请参阅LlamaIndex团队的这篇博文,了解如何在您的RAG管道中使用重新排序器模型来提高下游性能。

假设您想使用BAAI/bge-reranker-large

model=BAAI/bge-reranker-large
volume=$PWD/data

docker run --gpus all -p 8080:80 -v $volume:/data --pull always ghcr.io/huggingface/text-embeddings-inference:1.5 --model-id $model

部署模型后,您可以使用rerank端点对查询和文本列表之间的相似度进行排序

curl 127.0.0.1:8080/rerank \
    -X POST \
    -d '{"query":"What is Deep Learning?", "texts": ["Deep Learning is not...", "Deep learning is..."], "raw_scores": false}' \
    -H 'Content-Type: application/json'

序列分类

您还可以使用经典的序列分类模型,例如SamLowe/roberta-base-go_emotions

model=SamLowe/roberta-base-go_emotions
volume=$PWD/data

docker run --gpus all -p 8080:80 -v $volume:/data --pull always ghcr.io/huggingface/text-embeddings-inference:1.5 --model-id $model

部署模型后,您可以使用predict端点获取与输入最相关的表情

curl 127.0.0.1:8080/predict \
    -X POST \
    -d '{"inputs":"I like you."}' \
    -H 'Content-Type: application/json'

批处理

您可以批量发送多个输入。例如,对于嵌入:

curl 127.0.0.1:8080/embed \
    -X POST \
    -d '{"inputs":["Today is a nice day", "I like you"]}' \
    -H 'Content-Type: application/json'

对于序列分类:

curl 127.0.0.1:8080/predict \
    -X POST \
    -d '{"inputs":[["I like you."], ["I hate pineapples"]]}' \
    -H 'Content-Type: application/json'

断网部署

要在断网环境中部署文本嵌入推理,首先下载权重,然后使用卷将其挂载到容器内部。

例如:

# (Optional) create a `models` directory
mkdir models
cd models

# Make sure you have git-lfs installed (https://git-lfs.com)
git lfs install
git clone https://huggingface.co/Alibaba-NLP/gte-base-en-v1.5

# Set the models directory as the volume path
volume=$PWD

# Mount the models directory inside the container with a volume and set the model ID
docker run --gpus all -p 8080:80 -v $volume:/data --pull always ghcr.io/huggingface/text-embeddings-inference:1.5 --model-id /data/gte-base-en-v1.5
< > 更新在GitHub上