Was this page helpful?
Quando si seleziona un provider di embeddings, ci sono diversi fattori che è possibile considerare a seconda delle proprie esigenze e preferenze:
Anthropic non offre il proprio modello di embedding. Un provider di embeddings che ha un'ampia varietà di opzioni e capacità che comprendono tutte le considerazioni di cui sopra è Voyage AI.
Voyage AI crea modelli di embedding all'avanguardia e offre modelli personalizzati per domini industriali specifici come la finanza e l'assistenza sanitaria, o modelli personalizzati e messi a punto per singoli clienti.
Il resto di questa guida è per Voyage AI, ma ti incoraggiamo a valutare una varietà di fornitori di embeddings per trovare la soluzione migliore per il tuo caso d'uso specifico.
Voyage consiglia di utilizzare i seguenti modelli di embedding di testo:
| Modello | Lunghezza del contesto | Dimensione dell'embedding | Descrizione |
|---|---|---|---|
voyage-3-large | 32.000 | 1024 (predefinito), 256, 512, 2048 | La migliore qualità di recupero generale e multilingue. Vedi il post del blog per i dettagli. |
voyage-3.5 | 32.000 | 1024 (predefinito), 256, 512, 2048 | Ottimizzato per la qualità di recupero generale e multilingue. Vedi il post del blog per i dettagli. |
voyage-3.5-lite | 32.000 | 1024 (predefinito), 256, 512, 2048 | Ottimizzato per latenza e costo. Vedi il post del blog per i dettagli. |
voyage-code-3 | 32.000 | 1024 (predefinito), 256, 512, 2048 | Ottimizzato per il recupero di . Vedi il per i dettagli. |
Inoltre, sono consigliati i seguenti modelli di embedding multimodale:
| Modello | Lunghezza del contesto | Dimensione dell'embedding | Descrizione |
|---|---|---|---|
voyage-multimodal-3 | 32000 | 1024 | Modello di embedding multimodale ricco che può vettorizzare testo intercalato e immagini ricche di contenuti, come screenshot di PDF, diapositive, tabelle, figure e altro. Vedi il post del blog per i dettagli. |
Hai bisogno di aiuto per decidere quale modello di embedding di testo utilizzare? Consulta le FAQ.
Per accedere agli embeddings di Voyage:
export VOYAGE_API_KEY="<your secret key>"Puoi ottenere gli embeddings utilizzando il pacchetto Python ufficiale voyageai o richieste HTTP, come descritto di seguito.
Il pacchetto voyageai può essere installato utilizzando il seguente comando:
pip install -U voyageaiQuindi, puoi creare un oggetto client e iniziare a usarlo per incorporare i tuoi testi:
import voyageai
vo = voyageai.Client()
# This will automatically use the environment variable VOYAGE_API_KEY.
# Alternatively, you can use vo = voyageai.Client(api_key="<your secret key>")
texts = ["Sample text 1", "Sample text 2"]
result = vo.embed(texts, model="voyage-3.5", input_type="document")
print(result.embeddings[0])
print(result.embeddings[1])result.embeddings sarà un elenco di due vettori di embedding, ciascuno contenente 1024 numeri in virgola mobile. Dopo aver eseguito il codice precedente, i due embeddings verranno stampati sullo schermo:
[-0.013131560757756233, 0.019828535616397858, ...] # embedding for "Sample text 1"
[-0.0069352793507277966, 0.020878976210951805, ...] # embedding for "Sample text 2"Quando crei gli embeddings, puoi specificare alcuni altri argomenti alla funzione embed().
Per ulteriori informazioni sul pacchetto Python di Voyage, consulta la documentazione di Voyage.
Puoi anche ottenere embeddings richiedendo l'API HTTP di Voyage. Ad esempio, puoi inviare una richiesta HTTP tramite il comando curl in un terminale:
curl https://api.voyageai.com/v1/embeddings \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $VOYAGE_API_KEY" \
-d '{
"input": ["Sample text 1", "Sample text 2"],
"model": "voyage-3.5"
}'La risposta che riceverai è un oggetto JSON contenente gli embeddings e l'utilizzo dei token:
{
"object": "list",
"data": [
{
"embedding": [-0.013131560757756233, 0.019828535616397858, ...],
"index": 0
},
{
"embedding": [-0.0069352793507277966, 0.020878976210951805, ...],
"index": 1
}
],
"model": "voyage-3.5",
"usage": {
"total_tokens": 10
}
}
Per ulteriori informazioni sull'API HTTP di Voyage, consulta la documentazione di Voyage.
Gli embeddings di Voyage sono disponibili su AWS Marketplace. Le istruzioni per accedere a Voyage su AWS sono disponibili qui.
Ora che sappiamo come ottenere gli embeddings, vediamo un breve esempio.
Supponiamo di avere un piccolo corpus di sei documenti da cui recuperare
documents = [
"The Mediterranean diet emphasizes fish, olive oil, and vegetables, believed to reduce chronic diseases.",
"Photosynthesis in plants converts light energy into glucose and produces essential oxygen.",
"20th-century innovations, from radios to smartphones, centered on electronic advancements.",
"Rivers provide water, irrigation, and habitat for aquatic species, vital for ecosystems.",
"Apple's conference call to discuss fourth fiscal quarter results and business updates is scheduled for Thursday, November 2, 2023 at 2:00 p.m. PT / 5:00 p.m. ET.",
"Shakespeare's works, like 'Hamlet' and 'A Midsummer Night's Dream,' endure in literature."
]
Useremo prima Voyage per convertire ciascuno di essi in un vettore di embedding
import voyageai
vo = voyageai.Client()
# Embed the documents
doc_embds = vo.embed(
documents, model="voyage-3.5", input_type="document"
).embeddingsGli embeddings ci permetteranno di fare ricerca semantica / recupero nello spazio vettoriale. Data una query di esempio,
query = "When is Apple's conference call scheduled?"lo convertiamo in un embedding e conduciamo una ricerca del vicino più prossimo per trovare il documento più rilevante in base alla distanza nello spazio di embedding.
import numpy as np
# Embed the query
query_embd = vo.embed(
[query], model="voyage-3.5", input_type="query"
).embeddings[0]
# Compute the similarity
# Voyage embeddings are normalized to length 1, therefore dot-product
# and cosine similarity are the same.
similarities = np.dot(doc_embds, query_embd)
retrieved_id = np.argmax(similarities)
print(documents[retrieved_id])Nota che usiamo input_type="document" e input_type="query" per incorporare il documento e la query, rispettivamente. Ulteriori specifiche si trovano qui.
L'output sarebbe il 5° documento, che è effettivamente il più rilevante per la query:
Apple's conference call to discuss fourth fiscal quarter results and business updates is scheduled for Thursday, November 2, 2023 at 2:00 p.m. PT / 5:00 p.m. ET.Se stai cercando un set dettagliato di cookbook su come fare RAG con gli embeddings, inclusi i database vettoriali, consulta il nostro cookbook RAG.
Visita la pagina dei prezzi di Voyage per i dettagli sui prezzi più aggiornati.
voyage-finance-2 | 32.000 | 1024 | Ottimizzato per il recupero e RAG di finanza. Vedi il post del blog per i dettagli. |
voyage-law-2 | 16.000 | 1024 | Ottimizzato per il recupero e RAG di legge e contesto lungo. Inoltre prestazioni migliorate in tutti i domini. Vedi il post del blog per i dettagli. |