快速浏览
文本嵌入
开始使用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