Este documento descreve como criar um embedding de texto usando a API Text embeddings da Vertex AI.
Os embeddings de texto são representações vetoriais densas de texto. Por exemplo, o modelo gemini-embedding-001 gera vetores de 3072 dimensões para um determinado texto. Esses embeddings de vetores densos são criados usando métodos de aprendizado profundo semelhantes aos usados por modelos de linguagem grandes.
Ao contrário dos vetores esparsos que mapeiam palavras para números, os vetores densos são projetados para representar o significado semântico do texto. O principal benefício do uso de embeddings de vetores densos é a capacidade de realizar pesquisas semânticas. Em vez de pesquisar correspondências de palavra ou sintaxe direta, você pode pesquisar trechos de texto que se alinham ao significado da consulta, mesmo que não usem a mesma frase.
Os vetores de embedding são normalizados, então você pode usar a similaridade de cosseno, o produto escalar ou a distância euclidiana para conseguir as mesmas classificações de similaridade.
- Para saber mais sobre embeddings, consulte Visão geral das APIs de embeddings.
- Para saber mais sobre os modelos de embedding de texto, consulte Embeddings de texto.
- Para saber quais idiomas são aceitos em cada modelo de embeddings, consulte Idiomas de texto compatíveis.

Antes de começar
- 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.
- Escolha um tipo de tarefa para o job de embeddings.
- Para saber mais sobre os limites de taxa, consulte Limites de taxa da IA generativa na Vertex AI.
- Para receber previsões em lote para embeddings, consulte Receber previsões de embeddings de texto em lote.
- Para saber mais sobre embeddings multimodais, consulte Ver embeddings multimodais.
- Para ajustar um embedding, consulte Ajustar embeddings de texto.
- Para saber mais sobre a pesquisa relacionada a
text-embedding-005
etext-multilingual-embedding-002
, consulte o artigo de pesquisa Gecko: embeddings de texto versáteis extraídos de modelos de linguagem grandes.
Modelos compatíveis
Você pode obter embeddings de texto usando os seguintes modelos:
Nome do modelo | Descrição | Dimensões de saída | Comprimento máximo da sequência | Idiomas de texto compatíveis |
---|---|---|---|---|
gemini-embedding-001 |
Desempenho de última geração em tarefas de inglês, multilíngue e código. Ele unifica os modelos especializados anteriores, como text-embedding-005 e text-multilingual-embedding-002 , e alcança um desempenho melhor nos respectivos domínios. Leia nosso Relatório técnico para mais detalhes. |
até 3072 | 2.048 tokens | Idiomas de texto compatíveis |
text-embedding-005 |
Especializou-se em tarefas de inglês e programação. | até 768 | 2.048 tokens | Inglês |
text-multilingual-embedding-002 |
Especialize-se em tarefas multilíngues. | até 768 | 2.048 tokens | Idiomas de texto compatíveis |
Para uma qualidade de incorporação superior, o gemini-embedding-001
é nosso modelo
grande projetado para oferecer o melhor desempenho. gemini-embedding-001
oferece suporte a uma instância por solicitação.
Obter embeddings de texto para um snippet de texto
É possível receber embeddings de texto para um snippet de texto usando a API Vertex AI ou o SDK da Vertex AI para Python.
Limites da API
Para cada solicitação, há um limite de 250 textos de entrada para modelos que não são do Gemini
e um único texto de entrada para modelos de embedding do Gemini.
A API tem um limite máximo de 20 mil tokens de entrada.
Entradas que excedem esse limite resultam em um erro 400. Cada texto de entrada individual
é limitado a 2.048 tokens. Qualquer excesso é truncado silenciosamente. Também é possível
desativar o truncamento silencioso definindo autoTruncate
como false
.
Para mais informações, consulte Limites de embedding de texto.
Escolher uma dimensão de incorporação
Todos os modelos produzem um vetor de embedding de tamanho completo por padrão. Para gemini-embedding-001
,
esse vetor tem 3.072 dimensões, e outros modelos produzem vetores de 768 dimensões. No entanto, usando o parâmetro output_dimensionality
, os usuários podem controlar o tamanho do vetor de incorporação de saída.
Selecionar uma dimensionalidade de saída menor pode economizar espaço de armazenamento e
aumentar a eficiência computacional para aplicativos downstream, sacrificando
pouco em termos de qualidade.
Os exemplos a seguir usam o modelo gemini-embedding-001
.
Gen AI SDK for Python
Instalar
pip install --upgrade google-genai
Para saber mais, consulte a documentação de referência do SDK.
Defina variáveis de ambiente para usar o SDK da IA generativa com a 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
Adicionar um embedding a um banco de dados de vetores
Depois de gerar o embedding, é possível adicioná-lo a um banco de dados vetorial, como o Vector Search. Isso permite a recuperação de baixa latência e é essencial à medida que o tamanho dos dados aumenta.
Para saber mais sobre a pesquisa de vetor, consulte Visão geral da pesquisa de vetor.