Loading...
  • Costruisci
  • Amministrazione
  • Modelli e prezzi
  • Client SDK
  • Riferimento API
Search...
⌘K
Log in
Embeddings
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Solutions

  • AI agents
  • Code modernization
  • Coding
  • Customer support
  • Education
  • Financial services
  • Government
  • Life sciences

Partners

  • Amazon Bedrock
  • Google Cloud's Vertex AI

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Company

  • Anthropic
  • Careers
  • Economic Futures
  • Research
  • News
  • Responsible Scaling Policy
  • Security and compliance
  • Transparency

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Help and security

  • Availability
  • Status
  • Support
  • Discord

Terms and policies

  • Privacy policy
  • Responsible disclosure policy
  • Terms of service: Commercial
  • Terms of service: Consumer
  • Usage policy
Costruisci/Capacità del modello

Embeddings

Gli embeddings di testo sono rappresentazioni numeriche del testo che consentono di misurare la somiglianza semantica. Questa guida introduce gli embeddings, le loro applicazioni e come utilizzare i modelli di embedding per attività come la ricerca, le raccomandazioni e il rilevamento di anomalie.

Prima di implementare gli embeddings

Quando si seleziona un provider di embeddings, ci sono diversi fattori che è possibile considerare a seconda delle proprie esigenze e preferenze:

  • Dimensione del dataset e specificità del dominio: dimensione del dataset di addestramento del modello e sua rilevanza per il dominio che si desidera incorporare. I dati più grandi o più specifici del dominio generalmente producono embeddings in-domain migliori
  • Prestazioni di inferenza: velocità di ricerca degli embeddings e latenza end-to-end. Questa è una considerazione particolarmente importante per i deployment di produzione su larga scala
  • Personalizzazione: opzioni per l'addestramento continuo su dati privati o specializzazione di modelli per domini molto specifici. Questo può migliorare le prestazioni su vocabolari unici

Come ottenere embeddings con Anthropic

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 è necessario valutare una varietà di fornitori di embeddings per trovare la soluzione migliore per il vostro caso d'uso specifico.

Modelli disponibili

Voyage consiglia di utilizzare i seguenti modelli di embedding di testo:

ModelloLunghezza del contestoDimensione dell'embeddingDescrizione
voyage-3-large32.0001024 (predefinito), 256, 512, 2048La migliore qualità di recupero generale e multilingue. Vedere il post del blog per i dettagli.
voyage-3.532.0001024 (predefinito), 256, 512, 2048Ottimizzato per la qualità di recupero generale e multilingue. Vedere il post del blog per i dettagli.
voyage-3.5-lite32.0001024 (predefinito), 256, 512, 2048Ottimizzato per latenza e costo. Vedere il post del blog per i dettagli.
voyage-code-332.0001024 (predefinito), 256, 512, 2048Ottimizzato per il recupero di codice. Vedere il post del blog per i dettagli.
voyage-finance-232.0001024Ottimizzato per il recupero e il RAG di finanza. Vedere il post del blog per i dettagli.
voyage-law-216.0001024Ottimizzato per il recupero e il RAG di diritto e contesto lungo. Inoltre ha migliorato le prestazioni in tutti i domini. Vedere il post del blog per i dettagli.

Inoltre, sono consigliati i seguenti modelli di embedding multimodale:

ModelloLunghezza del contestoDimensione dell'embeddingDescrizione
voyage-multimodal-3320001024Modello di embedding multimodale ricco che può vettorizzare testo intercalato e immagini ricche di contenuti, come screenshot di PDF, diapositive, tabelle, figure e altro. Vedere il post del blog per i dettagli.

Hai bisogno di aiuto per decidere quale modello di embedding di testo utilizzare? Consulta le FAQ.

Iniziare con Voyage AI

Per accedere agli embeddings di Voyage:

  1. Iscriviti sul sito web di Voyage AI
  2. Ottieni una chiave API
  3. Imposta la chiave API come variabile di ambiente per comodità:
export VOYAGE_API_KEY="<your secret key>"

Puoi ottenere gli embeddings utilizzando il pacchetto Python ufficiale voyageai o le richieste HTTP, come descritto di seguito.

Libreria Python di Voyage

Il pacchetto voyageai può essere installato utilizzando il seguente comando:

pip install -U voyageai

Quindi, 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.

API HTTP 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.

AWS Marketplace

Gli embeddings di Voyage sono disponibili su AWS Marketplace. Le istruzioni per accedere a Voyage su AWS sono disponibili nella documentazione di Voyage AWS Marketplace.

Esempio di avvio rapido

Il seguente breve esempio mostra come utilizzare gli embeddings.

Supponiamo che tu abbia 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.",
]

Per prima cosa, usa Voyage per convertire ogni documento 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").embeddings

Gli embeddings ti permettono di fare ricerca semantica / recupero nello spazio vettoriale. Data una query di esempio,

query = "When is Apple's conference call scheduled?"

Successivamente, convertilo in un embedding e conduci 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 input_type="document" e input_type="query" vengono utilizzati per incorporare il documento e la query, rispettivamente. Ulteriori specifiche si trovano nella sezione del pacchetto Python di Voyage.

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 cookbook RAG.

FAQ

Prezzi

Visita la pagina dei prezzi di Voyage per i dettagli sui prezzi più aggiornati.

Was this page helpful?

  • Prima di implementare gli embeddings
  • Come ottenere embeddings con Anthropic
  • Modelli disponibili
  • Iniziare con Voyage AI
  • Libreria Python di Voyage
  • API HTTP di Voyage
  • AWS Marketplace
  • Esempio di avvio rapido
  • FAQ
  • Prezzi