Embedding#
Aprenda como criar embeddings de texto no Xinference.
Introdução#
Embeddings de texto são usados para quantificar a correlação entre diferentes textos. Eles podem ser aplicados em diversas aplicações, incluindo busca, agrupamento, recomendação, detecção de anomalias, métricas de diversidade e classificação.
Embeddings são vetores de números de ponto flutuante. A proximidade entre dois vetores pode ser usada como um indicador de sua similaridade. Quanto menor a distância, maior a correlação; quanto maior a distância, menor a correlação.
Modelos de incorporação podem ser chamados através da API de Embeddings no Xinference para criar embeddings. A API de Embeddings imita a create embeddings API do OpenAI.
API endpoint |
Endpoint compatível com a OpenAI |
|---|---|
Embeddings API |
/v1/embeddings |
Lista de modelos suportados#
Você pode visualizar todos os modelos de incorporação integrados do Xinference.
Início Rápido#
Podemos experimentar a API de Embeddings através do cURL, do OpenAI Client ou do cliente Python do Xinference.
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?"
}'
import openai
client = openai.Client(
api_key="cannot be empty",
base_url="http://<XINFERENCE_HOST>:<XINFERENCE_PORT>/v1"
)
client.embeddings.create(
model=model_uid,
input=["What is the capital of China?"]
)
from xinference.client import Client
client = Client("http://<XINFERENCE_HOST>:<XINFERENCE_PORT>")
model = client.get_model("<MODEL_UID>")
input = "What is the capital of China?"
model.create_embedding(input)
{
"object": "list",
"model": "<MODEL_UID>",
"data": [{
"index": 0,
"object": "embedding",
"embedding": [
-0.014207549393177032,
-0.01832585781812668,
...
-0.03009396605193615,
0.05420297756791115]
}],
"usage": {
"prompt_tokens": 37,
"total_tokens": 37
}
}
Você pode encontrar mais exemplos sobre a capacidade de embed no caderno de tutorial.
Aprenda a usar a API de embeddings com LangChain a partir de um exemplo.
FAQ#
O LLM suporta a API Embeddings em Xinference?#
No. Xinference doesn’t provide embed API for LLMs due to considerations of performance.
A API Embeddings fornece métodos de integração com o LangChain?#
Sim, você pode consultar a documentação oficial de Xinference na seção relacionada ao LangChain. Aqui está o link: 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.