Questa guida mostra come utilizzare l'API Text Embeddings per convertire il testo in vettori numerici. Questo documento tratta i seguenti argomenti: L'API Text Embeddings converte il testo in vettori numerici chiamati incorporamenti. Queste rappresentazioni vettoriali acquisiscono il significato semantico e il contesto del testo. Modelli supportati: Puoi ottenere incorporamenti di testo utilizzando i seguenti modelli: Per una qualità di incorporamento superiore, La seguente tabella descrive i valori del parametro Esempio di risposta Il seguente esempio mostra come ottenere l'incorporamento per una stringa di testo.
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:
Metodo HTTP e URL:
Corpo JSON della richiesta:
Per inviare la richiesta, scegli una di queste opzioni:
Salva il corpo della richiesta in un file denominato
Salva il corpo della richiesta in un file denominato Dovresti ricevere una risposta JSON simile alla seguente. Tieni presente che Per scoprire come installare o aggiornare l'SDK Vertex AI Python, consulta Installare l'SDK Vertex AI Python.
Per saperne di più, consulta la
documentazione di riferimento dell'API Python.
Prima di provare questo esempio, segui le istruzioni di configurazione di Go nella
guida rapida di Vertex AI per l'utilizzo
delle librerie client.
Per saperne di più, consulta la
documentazione di riferimento dell'API
Vertex AI Go.
Per autenticarti in Vertex AI, configura le Credenziali predefinite dell'applicazione.
Per ulteriori informazioni, consulta
Configura l'autenticazione per un ambiente di sviluppo locale.
Prima di provare questo esempio, segui le istruzioni di configurazione di Java nella
guida rapida di Vertex AI per l'utilizzo
delle librerie client.
Per saperne di più, consulta la
documentazione di riferimento dell'API
Vertex AI Java.
Per autenticarti in Vertex AI, configura le Credenziali predefinite dell'applicazione.
Per ulteriori informazioni, consulta
Configura l'autenticazione per un ambiente di sviluppo locale.
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js nella
guida rapida di Vertex AI per l'utilizzo
delle librerie client.
Per saperne di più, consulta la
documentazione di riferimento dell'API
Vertex AI Node.js.
Per autenticarti in Vertex AI, configura le Credenziali predefinite dell'applicazione.
Per ulteriori informazioni, consulta
Configura l'autenticazione per un ambiente di sviluppo locale.
Tutti i modelli di incorporamento di testo supportano il testo in lingua inglese e sono stati valutati in base a questo. Il modello Il modello Per utilizzare un modello stabile attuale, specifica il numero di versione del modello, ad esempio Specificare un modello senza un numero di versione non è consigliato perché è un puntatore legacy a un altro modello e non è stabile. Per saperne di più, consulta Versioni e ciclo di vita del modello. Scopri di più sugli incorporamenti di testo:
Nome modello
Descrizione
Dimensioni di output
Lunghezza massima della sequenza
Lingue di testo supportate
gemini-embedding-001
Prestazioni all'avanguardia in attività in inglese, multilingue e di programmazione. Unifica i modelli precedentemente specializzati come
text-embedding-005
e text-multilingual-embedding-002
e ottiene prestazioni migliori nei rispettivi domini. Per ulteriori dettagli, leggi il nostro report tecnico.fino a 3072
2048 token
Lingue di testo supportate
text-embedding-005
Specializzato in attività in inglese e di programmazione.
fino a 768
2048 token
Inglese
text-multilingual-embedding-002
Specializzato in attività multilingue.
fino a 768
2048 token
Lingue di testo supportate
gemini-embedding-001
è il nostro modello di grandi dimensioni progettato per offrire le massime prestazioni. Tieni presente che
gemini-embedding-001
supporta un'istanza per richiesta.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(...)
Richiesta e risposta
Corpo della richiesta
{
"instances": [
{
"task_type": "RETRIEVAL_DOCUMENT",
"title": "document title",
"content": "I would like embeddings for this text!"
},
]
}
Parametri di richiesta
instances
: obbligatorio. Un elenco di oggetti che contengono il testo da incorporare. Sono supportati i seguenti campi:
content
(string
): il testo per cui generare gli incorporamenti.task_type
(string
): facoltativo. Specifica l'applicazione downstream prevista per aiutare il modello a produrre incorporamenti di qualità migliore. Se non specifichi un valore, il valore predefinito è RETRIEVAL_QUERY
. Per saperne di più sui tipi di attività, consulta Scegliere un tipo di attività di incorporamento.title
(string
): facoltativo. Un titolo per il contenuto testuale. Questo campo si applica solo quando task_type
è RETRIEVAL_DOCUMENT
.parameters
: (Facoltativo) Un oggetto contenente i seguenti campi:
autoTruncate
(bool
): se true
, il testo di input viene troncato se supera la lunghezza massima del modello. Se false
, viene restituito un errore per l'input di dimensioni eccessive. Il valore predefinito è true
.outputDimensionality
(int
): la dimensione dell'incorporamento desiderata. Se impostato, gli embedding di output vengono troncati a questa dimensione.Tipi di attività
task_type
e i relativi casi d'uso:
task_type
Descrizione
Caso d'uso
RETRIEVAL_QUERY
Il testo di input è una query in un'impostazione di ricerca o recupero.
Utilizza per il testo della query quando cerchi una raccolta di documenti. Accoppia con
RETRIEVAL_DOCUMENT
per i documenti.
RETRIEVAL_DOCUMENT
Il testo di input è un documento in un'impostazione di ricerca o recupero.
Utilizza per i documenti di una raccolta in cui verrà eseguita la ricerca. Accoppia con
RETRIEVAL_QUERY
per la query di ricerca.
SEMANTIC_SIMILARITY
Il testo di input viene utilizzato per la somiglianza semantica testuale (STS).
Confrontare due testi per determinare la somiglianza di significato.
CLASSIFICATION
L'incorporamento verrà utilizzato per le attività di classificazione.
Addestramento di un modello per classificare il testo in classi predefinite.
CLUSTERING
L'incorporamento verrà utilizzato per le attività di clustering.
Raggruppamento di testi simili senza etichette predefinite.
QUESTION_ANSWERING
Il testo di input è una query per un sistema di risposta alle domande.
Trovare le risposte alle domande all'interno di un insieme di documenti. Utilizza
RETRIEVAL_DOCUMENT
per i documenti.
FACT_VERIFICATION
Il testo inserito è un'affermazione da verificare rispetto a un insieme di documenti.
Verificare l'accuratezza fattuale di un'affermazione. Utilizza
RETRIEVAL_DOCUMENT
per i documenti.
CODE_RETRIEVAL_QUERY
Il testo di input è una query per recuperare snippet di codice pertinenti (Java e Python).
Cercare in una codebase funzioni o snippet pertinenti. Utilizza
RETRIEVAL_DOCUMENT
per i documenti del codice.
task_type=RETRIEVAL_QUERY
per il testo di input che è una query di ricerca.task_type=RETRIEVAL_DOCUMENT
per il testo di input che fa parte della raccolta di documenti in cui viene eseguita la ricerca.
task_type=SEMANTIC_SIMILARITY
per entrambi i testi di input per valutare la loro somiglianza complessiva di significato.SEMANTIC_SIMILARITY
non è destinato a casi d'uso di recupero come la ricerca di documenti e il recupero di informazioni. Per questi casi d'uso, utilizza RETRIEVAL_DOCUMENT
, RETRIEVAL_QUERY
, QUESTION_ANSWERING
e FACT_VERIFICATION
.Corpo della risposta
{
"predictions": [
{
"embeddings": {
"statistics": {
"truncated": boolean,
"token_count": integer
},
"values": [ number ]
}
}
]
}
Parametri di risposta
predictions
: un elenco di oggetti, in cui ogni oggetto corrisponde a un'istanza di input della richiesta. Ogni oggetto contiene il seguente campo:
embeddings
: l'incorporamento generato dal testo di input. Contiene i seguenti campi:
values
: un elenco di numeri in virgola mobile che rappresenta il vettore di embedding del testo di input.statistics
: le statistiche calcolate dal testo di input. Contiene i seguenti campi:
truncated
(bool
): true
se il testo di input è stato troncato perché superava il numero massimo di token consentiti dal modello.token_count
(int
): il numero di token nel testo di input.{
"predictions": [
{
"embeddings": {
"values": [
0.0058424929156899452,
0.011848051100969315,
0.032247550785541534,
-0.031829461455345154,
-0.055369812995195389,
...
],
"statistics": {
"token_count": 4,
"truncated": false
}
}
}
]
}
Esempi
Incorporare una stringa di testo
REST
textembedding-gecko@001
. La lunghezza massima del token di input per textembedding-gecko@001
è 3072. Per gemini-embedding-001
, ogni richiesta può includere un solo testo di input. Per ulteriori informazioni, vedi Limiti di incorporamento del testo.
false
, il testo che supera il limite di token causa l'esito negativo della richiesta. Il valore
predefinito è true
.POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/gemini-embedding-001:predict
{
"instances": [
{ "content": "TEXT"}
],
"parameters": {
"autoTruncate": AUTO_TRUNCATE
}
}
curl
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/gemini-embedding-001:predict"PowerShell
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/gemini-embedding-001:predict" | Select-Object -Expand Contentvalues
è stato troncato per risparmiare spazio.
generateContent
per richiedere che la risposta venga restituita dopo essere stata generata completamente.
Per ridurre la percezione della latenza per un pubblico umano, trasmetti in streaming la risposta mentre viene
generata utilizzando il
metodo
streamGenerateContent
.
gemini-2.0-flash
). Questo campione potrebbe supportare anche altri
modelli.
Python
Go
Java
Node.js
Lingue di testo supportate
text-multilingual-embedding-002
supporta anche le seguenti lingue. È stato valutato nelle lingue dell'elenco 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)
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
.gemini-embedding-001
supporta le seguenti lingue:Arabic
, Bengali
, Bulgarian
, Chinese (Simplified and Traditional)
, Croatian
, Czech
, Danish
, Dutch
, English
, Estonian
, Finnish
, French
, German
, Greek
, Hebrew
, Hindi
, Hungarian
, Indonesian
, Italian
, Japanese
, Korean
, Latvian
, Lithuanian
, Norwegian
, Polish
, Portuguese
, Romanian
, Russian
, Serbian
, Slovak
, Slovenian
, Spanish
, Swahili
, Swedish
, Thai
, Turkish
, Ukrainian
, Vietnamese
, Afrikaans
, Amharic
, Assamese
, Azerbaijani
, Belarusian
, Bosnian
, Catalan
, Cebuano
, Corsican
, Welsh
, Dhivehi
, Esperanto
, Basque
, Persian
, Filipino (Tagalog)
, Frisian
, Irish
, Scots Gaelic
, Galician
, Gujarati
, Hausa
, Hawaiian
, Hmong
, Haitian Creole
, Armenian
, Igbo
, Icelandic
, Javanese
, Georgian
, Kazakh
, Khmer
, Kannada
, Krio
, Kurdish
, Kyrgyz
, Latin
, Luxembourgish
, Lao
, Malagasy
, Maori
, Macedonian
, Malayalam
, Mongolian
, Meiteilon (Manipuri)
, Marathi
, Malay
, Maltese
, Myanmar (Burmese)
, Nepali
, Nyanja (Chichewa)
, Odia (Oriya)
, Punjabi
, Pashto
, Sindhi
, Sinhala (Sinhalese)
, Samoan
, Shona
, Somali
, Albanian
, Sesotho
, Sundanese
, Tamil
, Telugu
, Tajik
, Uyghur
, Urdu
, Uzbek
, Xhosa
, Yiddish
, Yoruba
, Zulu
.Versioni modello
gemini-embedding-001
.Passaggi successivi
API Text embeddings
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-08-19 UTC.