Questo documento descrive come creare un text embedding utilizzando l'API Text Embeddings di Vertex AI.
L'API Vertex AI text embeddings utilizza rappresentazioni vettoriali dense: gemini-embedding-001, ad esempio, utilizza vettori tridimensionali. 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 un testo. Il vantaggio di utilizzare incorporamenti vettoriali densi nell'AI generativa è che, anziché cercare corrispondenze dirette di parole o sintassi, puoi cercare meglio passaggi che corrispondono al significato della query, anche se non utilizzano la stessa lingua.
I vettori sono normalizzati, quindi puoi utilizzare la somiglianza del coseno, il prodotto scalare o la distanza euclidea per fornire gli stessi ranking di somiglianza.
- Per scoprire di più sugli incorporamenti, consulta la panoramica delle API di incorporamento.
- Per scoprire di più sui modelli di incorporamento del testo, consulta Incorporamenti di testo.
- Per informazioni sulle lingue supportate da ciascun modello di incorporamento, consulta Lingue di testo supportate.
Prima di iniziare
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Vertex AI API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Vertex AI API.
- Scegli un tipo di attività per il job di incorporamento.
- Per saperne di più sui limiti di frequenza, consulta la pagina Limiti di frequenza dell'AI generativa su Vertex AI.
- Per ottenere previsioni batch per gli incorporamenti, consulta Ottenere previsioni batch per gli incorporamenti di testo.
- Per scoprire di più sugli embedding multimodali, consulta Ottenere embedding multimodali.
- Per ottimizzare un embedding, vedi Ottimizzare gli embedding di testo.
- Per scoprire di più sulla ricerca alla base di
text-embedding-005
etext-multilingual-embedding-002
, consulta il documento di ricerca Gecko: Versatile Text Embeddings Distilled from Large Language Models.
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.
Ottenere incorporamenti di testo per un frammento di testo
Puoi ottenere incorporamenti di testo per un frammento di testo utilizzando l'API Vertex AI o l'SDK Vertex AI per Python.
Limiti dell'API
Per ogni richiesta, puoi inserire un massimo di 250 testi di input.
L'API ha un limite massimo di token di input di 20.000.
Gli input che superano questo limite generano un errore 400. Ogni singolo testo di input
è ulteriormente limitato a 2048 token; l'eventuale eccesso viene troncato automaticamente. Puoi anche disattivare il troncamento silenzioso impostando autoTruncate
su false
.
Per ulteriori informazioni, consulta Limiti di incorporamento del testo.
Scegli una dimensione di incorporamento
Per impostazione predefinita, tutti i modelli producono un vettore di incorporamento a lunghezza intera. Per gemini-embedding-001
,
questo vettore ha 3072 dimensioni, mentre altri modelli producono vettori a 768 dimensioni. Tuttavia, utilizzando il parametro output_dimensionality
, gli utenti possono controllare le dimensioni del vettore di incorporamento dell'output.
La selezione di una dimensionalità di output più piccola può consentire di risparmiare spazio di archiviazione e
aumentare l'efficienza di calcolo per le applicazioni downstream, sacrificando
poco in termini di qualità.
Gli esempi riportati di seguito utilizzano il modello gemini-embedding-001
.
Python
Installa
pip install --upgrade google-genai
Per saperne di più, consulta la documentazione di riferimento dell'SDK.
Imposta le variabili di ambiente per utilizzare l'SDK Gen AI con Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
Aggiungere un embedding a un database vettoriale
Dopo aver generato l'embedding, puoi aggiungerlo a un database vettoriale, come Vector Search. Ciò consente il recupero a bassa latenza ed è fondamentale man mano che le dimensioni dei dati aumentano.
Per saperne di più su Vector Search, consulta la panoramica di Vector Search.