嵌入#

學習如何在 Xinference 中建立文字嵌入。

Introduction#

文本嵌入用於量化不同文字之間的相關性。它們可以應用於各種應用程式,包括搜尋、聚類、推薦、異常檢測、多樣性度量和分類。

嵌入是一組浮點數的向量。兩個向量之間的接近程度可以作為它們相似性的指標。距離越小表示相關性越高,而距離越大則表示相關性降低。

通過 Embeddings API 在 Xinference 中嵌入模型可以被調用,以創建嵌入。Embeddings API 模仿了 OpenAI 的 create embeddings API

API 端點

OpenAI 兼容端點

Embeddings API

/v1/embeddings

支援的模型列表#

你可以查看所有 Xinference 內建中的嵌入模型

快速入門#

我們可以透過 cURL、OpenAI Client 或 Xinference 的 Python 客戶端來嘗試 Embeddings API。

curl -X 'POST' \
  'http://<XINFERENCE_HOST>:<XINFERENCE_PORT>/v1/embeddings' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "<MODEL_UID>",
    "input": "What is the capital of China?"
  }'

你可以在教學筆記本中找到更多關於 embed 能力的範例。

LangChain Streamlit 文件對話

從一個範例中學習如何透過 LangChain 使用嵌入 API

https://github.com/xorbitsai/inference/blob/main/examples/LangChain_Streamlit_Doc_Chat.py

FAQ#

LLM 在 Xinference 中是否支援 Embeddings API?#

No. Xinference doesn't provide embed API for LLMs due to considerations of performance.

Embeddings API 是否提供了與 LangChain 的整合方法?#

是的,你可以參考LangChain相關部分的官方Xinference文件。這裡是連結:Text Embedding Models: Xinference

Does Embeddings API support hrbrid model?#

Yes, you can use flag as the engine to deploy the model and call Embeddings API by setting the extra parameter return_parse=True which will return sparse vectors.