L'API Text embeddings converte i dati di testo in vettori numerici. Queste rappresentazioni vettoriali sono progettate per cogliere il significato semantico e il contesto delle parole che rappresentano.
Modelli supportati:
Modelli in inglese | Modelli multilingue |
---|---|
textembedding-gecko@001 |
textembedding-gecko-multilingual@001 |
textembedding-gecko@003 |
text-multilingual-embedding-002 |
text-embedding-004 |
|
text-embedding-005 |
Sintassi
curl
PROJECT_ID = PROJECT_ID REGION = us-central1 MODEL_ID = MODEL_ID curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://${REGION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${REGION}/publishers/google/models/${MODEL_ID}:predict -d \ '{ "instances": [ ... ], "parameters": { ... } }'
Python
PROJECT_ID = PROJECT_ID REGION = us-central1 MODEL_ID = MODEL_ID import vertexai from vertexai.language_models import TextEmbeddingModel vertexai.init(project=PROJECT_ID, location=REGION) model = TextEmbeddingModel.from_pretrained(MODEL_ID) embeddings = model.get_embeddings(...)
Elenco dei parametri
Parametri | |
---|---|
|
Ogni istanza rappresenta un singolo testo da incorporare. |
|
Il testo per cui vuoi generare gli incorporamenti. |
|
(Facoltativo) Se impostato su true, il testo inserito verrà troncato. Se impostato su false, viene restituito un errore se il testo inserito è più lungo della lunghezza massima supportata dal modello. Il valore predefinito è true. |
|
(Facoltativo) Utilizzato per specificare le dimensioni dell'embedding di output. Se impostato, gli embedding di output verranno troncati alle dimensioni specificate. |
Corpo della richiesta
{
"instances": [
{
"task_type": "RETRIEVAL_DOCUMENT",
"title": "document title",
"content": "I would like embeddings for this text!"
},
]
}
Parametri | |
---|---|
|
Il testo per cui vuoi generare gli incorporamenti. |
|
(Facoltativo) Viene utilizzato per trasmettere l'applicazione a valle prevista per aiutare il modello a produrre embedding migliori. Se non viene specificato, il valore predefinito utilizzato è
Il parametro Per ulteriori informazioni sui tipi di attività, consulta Scegliere un tipo di attività di inserimento. |
|
(Facoltativo) Viene utilizzato per aiutare il modello a produrre embedding migliori.
Valido solo con |
taskType
La seguente tabella descrive i valori del parametro task_type
e i relativi casi d'uso:
task_type |
Descrizione |
---|---|
RETRIEVAL_QUERY |
Specifica che il testo specificato è una query in un'impostazione di ricerca o recupero. |
RETRIEVAL_DOCUMENT |
Specifica che il testo specificato è un documento in un'impostazione di ricerca o recupero. |
SEMANTIC_SIMILARITY |
Specifica che il testo specificato viene utilizzato per la somiglianza testuale semantica (STS). |
CLASSIFICATION |
Specifica che l'embedding viene utilizzato per la classificazione. |
CLUSTERING |
Specifica che l'embedding viene utilizzato per il clustering. |
QUESTION_ANSWERING |
Specifica che l'embedding della query viene utilizzato per rispondere alle domande. Utilizza RETRIEVAL_DOCUMENT per il lato del documento. |
FACT_VERIFICATION |
Specifica che l'embedding della query viene utilizzato per la verifica dei fatti. |
CODE_RETRIEVAL_QUERY |
Specifica che l'embedding della query viene utilizzato per il recupero del codice per Java e Python. |
Attività di recupero:
Query: utilizza task_type=RETRIEVAL_QUERY
per indicare che il testo inserito è una query di ricerca.
Corpus: utilizza task_type=RETRIEVAL_DOCUMENT
per indicare che il testo inserito fa parte della raccolta di documenti in cui viene eseguita la ricerca.
Attività di somiglianza:
Similarità semantica: utilizza task_type= SEMANTIC_SIMILARITY
per entrambi i testi di input per valutare la loro somiglianza di significato complessiva.
Corpo della risposta
{
"predictions": [
{
"embeddings": {
"statistics": {
"truncated": boolean,
"token_count": integer
},
"values": [ number ]
}
}
]
}
Elemento Response | Descrizione |
---|---|
embeddings |
Il risultato generato dal testo inserito. |
statistics |
Le statistiche calcolate dal testo inserito. |
truncated |
Indica se il testo inserito era più lungo del numero massimo di token consentiti ed è stato troncato. |
tokenCount |
Numero di token del testo di input. |
values |
Il campo values contiene i vettori di embedding corrispondenti alle parole nel testo di input. |
Risposta di esempio
{
"predictions": [
{
"embeddings": {
"values": [
0.0058424929156899452,
0.011848051100969315,
0.032247550785541534,
-0.031829461455345154,
-0.055369812995195389,
...
],
"statistics": {
"token_count": 4,
"truncated": false
}
}
}
]
}
Esempi
Eseguire l'embedding di una stringa di testo
Caso d'uso di base
L'esempio seguente mostra come ottenere l'embedding di una stringa di testo.
REST
Dopo aver configurato l'ambiente, puoi utilizzare REST per testare un prompt di testo. Il seguente esempio invia una richiesta all'endpoint del modello del publisher.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto.
- TEXT: il testo per cui vuoi generare gli incorporamenti. Limite: cinque testi con un massimo di 2048 token per testo per tutti i modelli tranne
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 causa il fallimento 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
,
quindi esegui il comando seguente:
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
,
quindi esegui il comando seguente:
$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.
- Utilizza il metodo
generateContent
per richiedere che la risposta venga restituita dopo essere stata completamente generata. Per ridurre la percezione della latenza da parte di un pubblico di persone, riproduci in streaming la risposta man mano che viene generata utilizzando il metodostreamGenerateContent
. - L'ID del modello multimodale si trova alla fine dell'URL prima del metodo
(ad esempio
gemini-1.5-flash
ogemini-1.0-pro-vision
). Questo sample potrebbe supportare anche altri modelli.
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, consulta Installare l'SDK Vertex AI per Python. Per saperne di più, consulta la documentazione di riferimento dell'API Python.
Go
Prima di provare questo esempio, segui le istruzioni di configurazione Go riportate nella guida rapida all'utilizzo delle librerie client di Vertex AI. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Go di Vertex AI.
Per autenticarti a Vertex AI, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione Java riportate nella guida rapida all'utilizzo delle librerie client di Vertex AI. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Java di Vertex AI.
Per autenticarti a Vertex AI, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione Node.js riportate nella guida rapida all'utilizzo delle librerie client di Vertex AI. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Node.js di Vertex AI.
Per autenticarti a Vertex AI, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Caso d'uso avanzato
L'esempio seguente mostra alcune funzionalità avanzate
- Utilizza
task_type
etitle
per migliorare la qualità dell'embedding. - Utilizza i parametri per controllare il comportamento dell'API.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto.
- TEXT: il testo per cui vuoi generare gli incorporamenti. Limite: cinque testi con un massimo di 3072 token per testo.
- TASK_TYPE: utilizzato per trasmettere l'applicazione a valle prevista per aiutare il modello a produrre incorporamenti migliori.
- TITLE: utilizzato per aiutare il modello a produrre embedding migliori.
- AUTO_TRUNCATE: se impostato su
false
, il testo che supera il limite di token causa il fallimento della richiesta. Il valore predefinito ètrue
. - OUTPUT_DIMENSIONALITY: utilizzato per specificare le dimensioni dell'embedding di output. Se impostato, gli embedding di output verranno troncati alle dimensioni specificate.
Metodo HTTP e URL:
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/textembedding-gecko@003:predict
Corpo JSON della richiesta:
{ "instances": [ { "content": "TEXT", "task_type": "TASK_TYPE", "title": "TITLE" }, ], "parameters": { "autoTruncate": AUTO_TRUNCATE, "outputDimensionality": OUTPUT_DIMENSIONALITY } }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
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/textembedding-gecko@003:predict"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
$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/textembedding-gecko@003:predict" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente. Tieni presente che values
è stato troncato per risparmiare spazio.
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, consulta Installare l'SDK Vertex AI per Python. Per saperne di più, consulta la documentazione di riferimento dell'API Python.
Go
Prima di provare questo esempio, segui le istruzioni di configurazione Go riportate nella guida rapida all'utilizzo delle librerie client di Vertex AI. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Go di Vertex AI.
Per autenticarti a Vertex AI, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione Java riportate nella guida rapida all'utilizzo delle librerie client di Vertex AI. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Java di Vertex AI.
Per autenticarti a Vertex AI, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione Node.js riportate nella guida rapida all'utilizzo delle librerie client di Vertex AI. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Node.js di Vertex AI.
Per autenticarti a Vertex AI, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Lingue dei testi supportate
Tutti i modelli di embedding di testo supportano e sono stati valutati su testo in lingua inglese. I modelli textembedding-gecko-multilingual@001
e
text-multilingual-embedding-002
supportano inoltre e sono stati
valutati nelle seguenti lingue:
- Lingue valutate:
Arabic (ar)
,Bengali (bn)
,English (en)
,Spanish (es)
,German (de)
,Persian (fa)
,Finnish (fi)
,French (fr)
,Hindi (hi)
,Indonesian (id)
,Japanese (ja)
,Korean (ko)
,Russian (ru)
,Swahili (sw)
,Telugu (te)
,Thai (th)
,Yoruba (yo)
,Chinese (zh)
- Lingue supportate:
Afrikaans
,Albanian
,Amharic
,Arabic
,Armenian
,Azerbaijani
,Basque
,Belarusiasn
,Bengali
,Bulgarian
,Burmese
,Catalan
,Cebuano
,Chichewa
,Chinese
,Corsican
,Czech
,Danish
,Dutch
,English
,Esperanto
,Estonian
,Filipino
,Finnish
,French
,Galician
,Georgian
,German
,Greek
,Gujarati
,Haitian Creole
,Hausa
,Hawaiian
,Hebrew
,Hindi
,Hmong
,Hungarian
,Icelandic
,Igbo
,Indonesian
,Irish
,Italian
,Japanese
,Javanese
,Kannada
,Kazakh
,Khmer
,Korean
,Kurdish
,Kyrgyz
,Lao
,Latin
,Latvian
,Lithuanian
,Luxembourgish
,Macedonian
,Malagasy
,Malay
,Malayalam
,Maltese
,Maori
,Marathi
,Mongolian
,Nepali
,Norwegian
,Pashto
,Persian
,Polish
,Portuguese
,Punjabi
,Romanian
,Russian
,Samoan
,Scottish Gaelic
,Serbian
,Shona
,Sindhi
,Sinhala
,Slovak
,Slovenian
,Somali
,Sotho
,Spanish
,Sundanese
,Swahili
,Swedish
,Tajik
,Tamil
,Telugu
,Thai
,Turkish
,Ukrainian
,Urdu
,Uzbek
,Vietnamese
,Welsh
,West Frisian
,Xhosa
,Yiddish
,Yoruba
,Zulu
.
Versioni modello
Per utilizzare una versione stabile del modello,
specifica il numero di versione del modello, ad esempio text-embedding-004
.
Non è consigliabile specificare un modello senza un numero di versione, ad esempio textembedding-gecko
, poiché si tratta semplicemente di un puntatore precedente a un altro modello e non è stabile.
Ogni versione stabile è disponibile per sei mesi dopo la data di rilascio della
versione stabile successiva.
La tabella seguente contiene le versioni stabili del modello disponibili:
Nome modello | Data di uscita | Data di ritiro |
---|---|---|
text-embedding-005 | 18 novembre 2024 | Da stabilire. |
text-embedding-004 | 14 maggio 2024 | 18 novembre 2025 |
text-multilingual-embedding-002 | 14 maggio 2024 | Da stabilire. |
textembedding-gecko@003 | 12 dicembre 2023 | 14 maggio 2025 |
textembedding-gecko-multilingual@001 | 2 novembre 2023 | 14 maggio 2025 |
textembedding-gecko@002 (regresso, ma ancora supportato) |
2 novembre 2023 | 9 aprile 2025 |
textembedding-gecko@001 (regredito, ma ancora supportato) |
7 giugno 2023 | 9 aprile 2025 |
multimodalembedding@001 | 12 febbraio 2024 | Da stabilire. |
Per ulteriori informazioni, consulta la sezione Versioni e ciclo di vita dei modelli.
Passaggi successivi
Per la documentazione dettagliata, consulta quanto segue: