> ## Documentation Index
> Fetch the complete documentation index at: https://langchain-docs-zh.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 文本 embeddings 推理集成

> 使用 LangChain Python 集成文本嵌入推理嵌入模型。

⟩[Hugging Face 文本嵌入与序列分类模型推理（TEI）](https://huggingface.co/docs/text-embeddings-inference/index) 是一个工具包，用于部署和托管开源文本嵌入及序列分类模型。`TEI` 支持高性能提取主流模型，包括 `FlagEmbedding`、`Ember`、`GTE` 和 `E5`。

TEI 提供与 OpenAI 兼容的 `/v1/embeddings` 端点，因此可通过 `langchain-openai` 包的 `OpenAIEmbeddings` 从 LangChain 消费 TEI 部署。

> [!NOTE]
>
> 早期版本的指南使用了 `HuggingFaceEndpointEmbeddings(model="http://localhost:8080")`。`langchain-huggingface` 不再接受 `model` 的 URL，而是会在 TEI 服务器上抛出 `` `model` must be a HuggingFace repo ID, not a URL. ``. Point `OpenAIEmbeddings` 错误，示例如下。

## 设置

安装 `langchain-openai`：

```shell theme={null}
pip install -qU langchain-openai
```

## 使用 TEI 部署模型

通过 TEI 暴露嵌入模型。例如使用 Docker 可按如下方式托管 `sentence-transformers/all-MiniLM-L6-v2`：

```bash theme={null}
model=sentence-transformers/all-MiniLM-L6-v2
volume=$PWD/data  # share a volume with the Docker container to avoid downloading weights every run

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

若使用仅支持 CPU 的硬件，使用 `cpu-1.9` 镜像并移除 `--gpus all` 标志。Docker 配置因底层硬件而异。例如在 Intel Gaudi/Gaudi2 硬件上部署，请参考 [tei-gaudi 仓库](https://github.com/huggingface/tei-gaudi) 的相关 docker run 命令。

## 嵌入文本

向 TEI 服务器实例化 `OpenAIEmbeddings`：

```python theme={null}
from langchain_openai import OpenAIEmbeddings

embeddings = OpenAIEmbeddings(
    model="sentence-transformers/all-MiniLM-L6-v2",
    base_url="http://localhost:8080/v1",
    api_key="unused",  # TEI does not require authentication by default
    check_embedding_ctx_length=False,  # send raw text; TEI tokenizes server-side
)
```

> [!NOTE]
>
> 设置 `check_embedding_ctx_length=False`。若未启用该标志， `OpenAIEmbeddings` 会使用 `tiktoken` 对输入进行分词并发送 Token IDs，但 TEI 不支持该格式。该标志会直接发送原始文本。若 TEI 启用了 API 密钥，请将其值传递给 `api_key`。

然后嵌入您的文本：

```python theme={null}
text = "What is deep learning?"

query_result = embeddings.embed_query(text)
query_result[:3]
```

```text theme={null}
[-0.077851, -0.033281, 0.019743]
```

```python theme={null}
doc_result = embeddings.embed_documents([text])
doc_result[0][:3]
```

```text theme={null}
[-0.077851, -0.033281, 0.019743]
```

***

> 官方原文：[src/oss/python/integrations/embeddings/text\_embeddings\_inference.mdx](https://github.com/langchain-ai/docs/blob/main/src/oss/python/integrations/embeddings/text_embeddings_inference.mdx) · 非官方翻译，译文由 AI 生成，以英文原文为准。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.