Questo documento descrive come creare un embedding di testo utilizzando l'API Text Embeddings di Vertex AI.
L'API Vertex AI per gli embedding di testo utilizza rappresentazioni vettoriali dense: ad esempio, text-embedding-gecko utilizza vettori di 768 dimensioni. I modelli di embedding di vettori densi 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 in numeri, i vettori densi sono progettati per rappresentare meglio il significato di un testo. Il vantaggio dell'utilizzo di embedding vettoriali densi nell'IA generativa è che, anziché cercare corrispondenze dirette di parole o sintassi, puoi cercare meglio i passaggi in linea con il significato della query, anche se i passaggi 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 informazioni sui modelli di incorporamento del testo, consulta Incorporamenti di testo.
- Per informazioni sulle lingue supportate da ciascun modello di embedding, 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.
Modelli supportati
Puoi ottenere gli embedding di testo utilizzando i seguenti modelli:
Modelli in inglese | Modelli multilingue |
---|---|
textembedding-gecko@001 |
textembedding-gecko-multilingual@001 |
textembedding-gecko@002 |
text-multilingual-embedding-002 |
textembedding-gecko@003 |
|
text-embedding-004 |
|
text-embedding-005 |
Se non hai mai utilizzato questi modelli, ti consigliamo di utilizzare le versioni più recenti.
Per il testo in inglese, utilizza text-embedding-005
. Per il testo multilingue, utilizza
text-multilingual-embedding-002
.
Ottenere gli incorporamenti di testo per uno snippet di testo
Puoi ottenere gli embedding di testo per uno snippet di testo utilizzando l'API Vertex AI o
l'SDK Vertex AI per Python. Per ogni richiesta, hai un limite di 250 testi di input
in us-central1
, mentre in altre regioni il testo di input massimo è 5.
L'API ha un limite massimo di token di input pari a 20.000. Gli input che superano questo limite provocano un errore 500. Ogni singolo testo di input è ulteriormente limitato a 2048 token; eventuali eccessi vengono troncati in silenzio. Puoi anche disattivare la troncatura silenziosa impostando autoTruncate
su false
.
Per impostazione predefinita, tutti i modelli producono un output con 768 dimensioni. Tuttavia, i seguenti modelli consentono agli utenti di scegliere una dimensione di output compresa tra 1 e 768. Se selezioni una dimensione di output più piccola, puoi risparmiare memoria e spazio di archiviazione, ottenendo calcoli più efficienti.
text-embedding-005
text-multilingual-embedding-002
Gli esempi riportati di seguito utilizzano il modello text-embedding-005
.
Gen AI SDK for Python
Scopri come installare o aggiornare Gen AI SDK for Python.
Per saperne di più, consulta la documentazione di riferimento dell'SDK.Imposta le variabili di ambiente per utilizzare l'SDK di IA generativa 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=us-central1 export GOOGLE_GENAI_USE_VERTEXAI=True
SDK Vertex AI per Python
Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, consulta Installare l'SDK Vertex AI per Python. Per ulteriori informazioni, consulta la Documentazione di riferimento dell'API Vertex AI SDK per 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 ulteriori 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 ulteriori 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 ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Aggiungere un embedding a un database vettoriale
Dopo aver generato l'embedding, puoi aggiungerlo a un database di vettori, come Vector Search. Ciò consente un recupero a bassa latenza ed è fondamentale con l'aumento delle dimensioni dei dati.
Per scoprire di più su Vector Search, consulta la Panoramica di Vector Search.
Passaggi successivi
- Per scoprire di più sui limiti di frequenza, consulta Limiti di frequenza dell'IA 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'evidenziazione, consulta Ottimizzare gli incorporamenti di testo
- Per scoprire di più sulla ricerca alla base di
text-embedding-005
etext-multilingual-embedding-002
, consulta il paper di ricerca Gecko: Versatile Text Embeddings Distilled from Large Language Models.