L'API Text Embeddings converte i dati testuali in vettori numerici. Queste rappresentazioni vettoriali sono progettate per acquisire il significato semantico e il contesto delle parole che rappresentano.
Modelli supportati:
Puoi ottenere incorporamenti di testo utilizzando i seguenti modelli:
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 |
Per una qualità di incorporamento superiore, 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(...)
Elenco dei parametri
Campi di primo livello | |
---|---|
|
Un elenco di oggetti contenenti i seguenti campi:
|
|
Un oggetto contenente i seguenti campi:
|
instance campi |
|
---|---|
|
Il testo per cui vuoi generare incorporamenti. |
|
(Facoltativo) Utilizzato per comunicare l'applicazione downstream prevista per aiutare il modello a produrre incorporamenti migliori. Se non la specifichi, viene utilizzato il valore predefinito
Per ulteriori informazioni sui tipi di attività, vedi Scegliere un tipo di attività di incorporamento. |
|
(Facoltativo) Utilizzato per aiutare il modello a produrre incorporamenti migliori.
Valido solo con |
task_type
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 indicato è una query in un'impostazione di ricerca o recupero. Utilizza RETRIEVAL_DOCUMENT per il lato del documento. |
RETRIEVAL_DOCUMENT |
Specifica che il testo indicato è un documento in un'impostazione di ricerca o recupero. |
SEMANTIC_SIMILARITY |
Specifica che il testo indicato viene utilizzato per la similarità semantica del testo (STS). |
CLASSIFICATION |
Specifica che l'incorporamento viene utilizzato per la classificazione. |
CLUSTERING |
Specifica che l'incorporamento viene utilizzato per il clustering. |
QUESTION_ANSWERING |
Specifica che l'incorporamento della query viene utilizzato per rispondere alle domande. Utilizza RETRIEVAL_DOCUMENT per il lato del documento. |
FACT_VERIFICATION |
Specifica che l'incorporamento della query viene utilizzato per la verifica dei fatti. Utilizza RETRIEVAL_DOCUMENT per il lato del documento. |
CODE_RETRIEVAL_QUERY |
Specifica che l'incorporamento della query viene utilizzato per il recupero del codice per Java e Python. Utilizza RETRIEVAL_DOCUMENT per il lato del documento. |
Attività di recupero:
Query: utilizza task_type=RETRIEVAL_QUERY
per indicare che il testo di input è una query di ricerca.
Corpus: utilizza task_type=RETRIEVAL_DOCUMENT
per indicare che il testo di input fa parte
della raccolta di documenti in cui viene eseguita la ricerca.
Attività di similarità:
Similarità semantica: utilizza task_type= SEMANTIC_SIMILARITY
per entrambi i testi di input per valutare
la similarità complessiva del significato.
parameters campi |
|
---|---|
|
(Facoltativo) Se impostato su true, il testo di input verrà troncato. Se impostato su false, viene restituito un errore se il testo di input è 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 in base alle dimensioni specificate. |
Corpo della richiesta
{
"instances": [
{
"task_type": "RETRIEVAL_DOCUMENT",
"title": "document title",
"content": "I would like embeddings for this text!"
},
]
}
Corpo della risposta
{
"predictions": [
{
"embeddings": {
"statistics": {
"truncated": boolean,
"token_count": integer
},
"values": [ number ]
}
}
]
}
Elementi di risposta | |
---|---|
|
Un elenco di oggetti con i seguenti campi:
|
embeddings campi |
|
---|---|
|
Un elenco di |
|
Le statistiche calcolate dal testo di input. Contiene:
|
Esempio di risposta
{
"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
Il seguente esempio mostra come ottenere l'incorporamento di una stringa di testo.
REST
Dopo aver configurato l'ambiente, puoi utilizzare REST per testare un prompt di testo. L'esempio seguente 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 incorporamenti. Limite:cinque testi di massimo 2048 token per testo per tutti i modelli,tranne
textembedding-gecko@001
. La lunghezza massima del token di input pertextembedding-gecko@001
è 3072. Pergemini-embedding-001
, ogni richiesta può includere un solo testo di input. Per ulteriori informazioni, consulta Limiti di incorporamento del testo. - AUTO_TRUNCATE: se impostato su
false
, il testo che supera il limite di token causa l'esito negativo 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/gemini-embedding-001:predict
Corpo JSON della richiesta:
{ "instances": [ { "content": "TEXT"} ], "parameters": { "autoTruncate": AUTO_TRUNCATE } }
Per inviare la richiesta, scegli una di queste 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/gemini-embedding-001: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/gemini-embedding-001: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 generata completamente. Per ridurre la percezione della latenza per un pubblico umano, trasmetti 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-2.0-flash
). Questo esempio potrebbe supportare anche altri modelli.
Python
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.
Go
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.
Java
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.
Node.js
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.
Lingue di testo supportate
Tutti i modelli di incorporamento di testo supportano e sono stati valutati su testo in lingua inglese. Il modello text-multilingual-embedding-002
supporta e
valuta anche le 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
.
Il modello 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
Per utilizzare un modello stabile corrente, specifica il numero di versione del modello, ad esempio
gemini-embedding-001
. Specificare un modello senza un numero di versione
non è consigliato, in quanto si tratta semplicemente di un puntatore legacy a un altro modello e non è
stabile.
Per saperne di più, consulta Versioni e ciclo di vita del modello.
Passaggi successivi
Per la documentazione dettagliata, consulta quanto segue: