Questo documento descrive come creare un incorporamento di testo utilizzando Vertex AI API Text Embeddings.
L'API Vertex AI text Embeddings utilizza rappresentazioni vettoriali dense: text-embedding-gecko, ad esempio, utilizza vettori a 768 dimensionali. I modelli di incorporamento vettoriale denso utilizzano metodi di deep learning simili a quelli utilizzati dai modelli linguistici di grandi dimensioni. A differenza dei vettori sparsi, che tendono a mappare direttamente le parole ai numeri, i vettori densi sono progettati per rappresentare meglio il significato di una porzione di testo. Il vantaggio dell'utilizzo dei vettori densi degli incorporamenti nell'AI generativa è che, invece di cercare parole dirette corrispondenze di sintassi, puoi cercare meglio i passaggi che sono in linea con il significato la query, anche se i passaggi non usano la stessa lingua.
- Per saperne di più sugli incorporamenti, consulta Panoramica delle API di incorporamento.
- Per saperne di più sui modelli di incorporamento del testo, consulta Incorporamenti di testo.
- Per informazioni sulle lingue supportate da ciascun modello di incorporazione, consulta Lingue di testo supportate.
Prima di iniziare
- Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Attiva l'API Vertex AI.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Attiva l'API Vertex AI.
Modelli supportati
Puoi ottenere gli incorporamenti di testo utilizzando i seguenti modelli:
Modelli inglesi | Modelli multilingue |
---|---|
textembedding-gecko@001 |
textembedding-gecko-multilingual@001 |
textembedding-gecko@003 |
text-multilingual-embedding-002 |
text-embedding-004 |
Ottieni gli incorporamenti di testo per uno snippet di testo
Puoi ottenere gli incorporamenti di testo per uno snippet di testo utilizzando l'API Vertex AI oppure
l'SDK Vertex AI per Python. Per ogni richiesta, il limite è di 250 testi di input
in us-central1
e in altre regioni, il numero massimo di testi di input è 5.
Ogni testo di input ha un limite di token di 2048. Gli input più lunghi di questa lunghezza sono
troncato in modo automatico. Puoi anche disattivare il troncamento silenzioso impostando
Da autoTruncate
a false
.
Questi esempi utilizzano il modello text-embedding-004
.
REST
Per ottenere gli incorporamenti di testo, invia una richiesta POST specificando l'ID modello del modello di publisher.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto.
- TEXT: il testo che deve generare gli incorporamenti.
. Limite: cinque testi fino a un massimo di 2048 token per testo per tutti i modelli eccetto
textembedding-gecko@001
. La lunghezza massima del token di input pertextembedding-gecko@001
è 3072. - AUTO_TRUNCATE: se impostato su
false
, il testo che supera il limite di token determina la mancata riuscita della richiesta. Il valore predefinito ètrue
.
Metodo HTTP e URL:
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/text-embedding-004:predict
Corpo JSON della richiesta:
{ "instances": [ { "content": "TEXT"} ], "parameters": { "autoTruncate": AUTO_TRUNCATE } }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/text-embedding-004:predict"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/text-embedding-004:predict" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente. Tieni presente che values
è stato troncato per risparmiare spazio.
Comando curl di esempio
MODEL_ID="text-embedding-004"
PROJECT_ID=PROJECT_ID
curl \
-X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/${MODEL_ID}:predict -d \
$'{
"instances": [
{ "content": "What is life?"}
],
}'
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, vedi Installare l'SDK Vertex AI per Python. Per ulteriori informazioni, consulta documentazione di riferimento dell'API Python.
Go
Prima di provare questo esempio, segui le istruzioni per la configurazione di Go nel Guida rapida di Vertex AI con librerie client. Per ulteriori informazioni, consulta API Go Vertex AI documentazione di riferimento.
Per eseguire l'autenticazione su Vertex AI, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Prima di provare questo esempio, segui le istruzioni per la configurazione di Java nel Guida rapida di Vertex AI con librerie client. Per ulteriori informazioni, consulta API Java Vertex AI documentazione di riferimento.
Per eseguire l'autenticazione su Vertex AI, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Prima di provare questo esempio, segui le istruzioni per la configurazione di Node.js nel Guida rapida di Vertex AI con librerie client. Per ulteriori informazioni, consulta API Node.js Vertex AI documentazione di riferimento.
Per eseguire l'autenticazione su Vertex AI, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Aggiungi un incorporamento a un database vettoriale
Dopo aver generato l'incorporamento, puoi aggiungerlo a un vettore come Vector Search. Ciò consente il recupero a bassa latenza, ed è fondamentale con l'aumento delle dimensioni dei dati.
Per scoprire di più sulla ricerca vettoriale, consulta la Panoramica della ricerca vettoriale.
Passaggi successivi
- Per ottenere previsioni batch per gli incorporamenti, consulta Ottenere previsioni batch per gli incorporamenti di testo
- Per saperne di più sugli incorporamenti multimodali, consulta Ottenere incorporamenti multimodali
- Per ottimizzare un incorporamento, consulta Ottimizzare gli incorporamenti di testo.
- Per saperne di più sulla ricerca alla base di
text-embedding-004
etext-multilingual-embedding-002
, consulta il documento di ricerca Gecko: Versatile Text Embeddings Distilled from Large Language Models.