Insertar#
Aprende cómo crear incrustaciones de texto en Xinference.
Introducción#
Los embeddings de texto se utilizan para cuantificar la relevancia entre diferentes textos. Se pueden aplicar en diversas aplicaciones, incluyendo búsqueda, agrupamiento, recomendaciones, detección de anomalías, medición de diversidad y clasificación.
Un embedding es un vector de números de punto flotante. La proximidad entre dos vectores puede servir como indicador de su similitud. Cuanto menor es la distancia, mayor es la correlación, mientras que una distancia mayor indica una correlación reducida.
El modelo de incrustación en Xinference puede ser invocado a través de la API de Embeddings para crear incrustaciones. La API de Embeddings imita la API de creación de incrustaciones de OpenAI.
API endpoint |
Punto final compatible con OpenAI |
|---|---|
Embeddings API |
/v1/embeddings |
Lista de modelos compatibles#
Puedes ver todos los modelos de incrustación integrados en Xinference.
Inicio rápido#
Podemos probar la API de Embeddings mediante cURL, el cliente de OpenAI o el cliente Python de 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
}
}
Puedes encontrar más ejemplos sobre la capacidad de embed en el cuaderno de tutoriales.
Aprende cómo usar la API de embeddings a través de LangChain con un ejemplo.
FAQ#
¿LLM admite la API de Embeddings en Xinference?#
No. Xinference doesn’t provide embed API for LLMs due to considerations of performance.
¿La API de Embeddings proporciona un método de integración con LangChain?#
Sí, puedes consultar la documentación oficial de Xinference en la parte relacionada con LangChain. Aquí está el enlace: 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.