incorporato#
Impara come creare un embedding di testo in Xinference.
Introduzione#
L’embedding testuale viene utilizzato per quantificare la correlazione tra diversi testi. Può essere applicato a varie applicazioni, tra cui ricerca, clustering, raccomandazioni, rilevamento di anomalie, misurazione della diversità e classificazione.
Un embedding è un vettore di numeri a virgola mobile. La vicinanza tra due vettori può essere utilizzata come indicatore della loro somiglianza. Una distanza minore indica una correlazione maggiore, mentre una distanza maggiore indica una correlazione ridotta.
Tramite l’API Embeddings in Xinference, è possibile chiamare un modello di embedding per crearne di nuovi. L’API Embeddings replica l”API di creazione embedding di OpenAI.
Endpoint API |
Endpoint compatibile con OpenAI |
|---|---|
Embeddings API |
/v1/embeddings |
Elenco dei modelli supportati#
Puoi consultare tutti i modelli di embedding integrati in Xinference.
Guida rapida#
Possiamo provare l’API Embeddings tramite cURL, il client OpenAI o il client Python di 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
}
}
Puoi trovare ulteriori esempi sulle capacità di embed nel quaderno tutoriale.
Impara come utilizzare l’API di embedding tramite LangChain partendo da un esempio.
FAQ#
LLM supporta l’API Embeddings in Xinference?#
No. Xinference doesn’t provide embed API for LLMs due to considerations of performance.
L’API Embeddings fornisce metodi di integrazione con LangChain?#
Sì, puoi fare riferimento alla documentazione ufficiale di Xinference per la parte relativa a LangChain. Ecco il 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.