Este guia mostra como usar a API Text Embeddings para converter texto em vetores numéricos. Neste documento, discutimos os seguintes tópicos: A API Text Embeddings converte texto em vetores numéricos chamados embeddings. Essas representações vetoriais capturam o significado semântico e o contexto do texto. Modelos com suporte: Você pode obter embeddings de texto usando os seguintes modelos: Para uma qualidade de incorporação superior, o A tabela a seguir descreve os valores do parâmetro Exemplo de resposta O exemplo a seguir mostra como receber o embedding de uma string de texto.
Depois de
configurou seu ambiente
use REST para testar uma solicitação de texto. O exemplo a seguir envia uma solicitação ao publisher
endpoint do modelo.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
Método HTTP e URL:
Corpo JSON da solicitação: Para enviar a solicitação, escolha uma destas opções:
Salve o corpo da solicitação em um arquivo com o nome
Salve o corpo da solicitação em um arquivo com o nome Você receberá uma resposta JSON semelhante a seguinte. Observe que Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python.
Para mais informações, consulte a
documentação de referência da API Python.
Antes de testar esse exemplo, siga as instruções de configuração para Go no Guia de início rápido da Vertex AI sobre como usar bibliotecas de cliente.
Para mais informações, consulte a documentação de referência da API Vertex AI para Go.
Para autenticar na Vertex AI, configure o Application Default Credentials.
Para mais informações, consulte
Configurar a autenticação para um ambiente de desenvolvimento local.
Antes de testar esse exemplo, siga as instruções de configuração para Java no Guia de início rápido da Vertex AI sobre como usar bibliotecas de cliente.
Para mais informações, consulte a documentação de referência da API Vertex AI para Java.
Para autenticar na Vertex AI, configure o Application Default Credentials.
Para mais informações, consulte
Configurar a autenticação para um ambiente de desenvolvimento local.
Antes de testar esse exemplo, siga as instruções de configuração para Node.js no Guia de início rápido da Vertex AI sobre como usar bibliotecas de cliente.
Para mais informações, consulte a documentação de referência da API Vertex AI para Node.js.
Para autenticar na Vertex AI, configure o Application Default Credentials.
Para mais informações, consulte
Configurar a autenticação para um ambiente de desenvolvimento local.
Todos os modelos de embedding de texto são compatíveis com texto em inglês e foram avaliados nesse idioma. O modelo O modelo Para usar um modelo estável atual, especifique o número da versão do modelo, por exemplo, Não é recomendável especificar um modelo sem um número de versão porque ele é um ponteiro legado para outro modelo e não é estável. Para mais informações, consulte Versões e ciclo de vida do modelo. Saiba mais sobre embeddings de texto:
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 ponta em tarefas de inglês, multilíngues e de 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
Especializado em tarefas de inglês e programação.
até 768
2.048 tokens
Inglês
text-multilingual-embedding-002
Especializado em tarefas multilíngues.
até 768
2.048 tokens
Idiomas de texto compatíveis
gemini-embedding-001
é nosso modelo grande projetado para oferecer a melhor performance. O gemini-embedding-001
aceita uma instância por solicitação.Sintaxe
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(...)
Solicitação e resposta
Corpo da solicitação
{
"instances": [
{
"task_type": "RETRIEVAL_DOCUMENT",
"title": "document title",
"content": "I would like embeddings for this text!"
},
]
}
Parâmetros de solicitação
instances
: obrigatório. Uma lista de objetos que contêm o texto a ser incorporado. Os seguintes campos são compatíveis:
content
(string
): o texto para gerar embeddings.task_type
(string
): opcional. Especifica o aplicativo downstream pretendido para ajudar o modelo a produzir embeddings de melhor qualidade. Se você não especificar um valor, o padrão será RETRIEVAL_QUERY
. Para mais informações sobre tipos de tarefas, consulte Escolher um tipo de tarefa de embeddings.title
(string
): opcional. Um título para o conteúdo de texto. Esse campo só é aplicado quando task_type
é RETRIEVAL_DOCUMENT
.parameters
: opcional. Um objeto que contém os seguintes campos:
autoTruncate
(bool
): se true
, o texto de entrada será truncado se for maior que o comprimento máximo do modelo. Se false
, um erro será retornado para entrada grande demais. O padrão é true
.outputDimensionality
(int
): o tamanho de embedding desejado. Se definido, os embeddings de saída serão truncados nessa dimensão.Tipos de tarefa
task_type
e os casos de uso deles:
task_type
Descrição
Caso de uso
RETRIEVAL_QUERY
O texto de entrada é uma consulta em uma configuração de pesquisa ou recuperação.
Usado para o texto da consulta ao pesquisar uma coleção de documentos. Pareie com
RETRIEVAL_DOCUMENT
para os documentos.
RETRIEVAL_DOCUMENT
O texto de entrada é um documento em uma configuração de pesquisa ou recuperação.
Usado para os documentos em uma coleção que serão pesquisados. Use com
RETRIEVAL_QUERY
para a consulta de pesquisa.
SEMANTIC_SIMILARITY
O texto de entrada é usado para similaridade textual semântica (STS).
Comparar dois trechos de texto para determinar a similaridade de significado.
CLASSIFICATION
O embedding será usado para tarefas de classificação.
Treinar um modelo para categorizar texto em classes predefinidas.
CLUSTERING
O embedding será usado para tarefas de clustering.
Agrupar textos semelhantes sem rótulos predefinidos.
QUESTION_ANSWERING
O texto de entrada é uma consulta para um sistema de resposta a perguntas.
Encontrar respostas para perguntas em um conjunto de documentos. Use
RETRIEVAL_DOCUMENT
para os documentos.
FACT_VERIFICATION
O texto de entrada é uma declaração a ser verificada em relação a um conjunto de documentos.
Verificar a precisão factual de uma declaração. Use
RETRIEVAL_DOCUMENT
para os documentos.
CODE_RETRIEVAL_QUERY
O texto de entrada é uma consulta para recuperar snippets de código relevantes (Java e Python).
Pesquisar uma base de código por funções ou snippets relevantes. Use
RETRIEVAL_DOCUMENT
para os documentos de código.
task_type=RETRIEVAL_QUERY
para o texto de entrada que é uma consulta de pesquisa.task_type=RETRIEVAL_DOCUMENT
para o texto de entrada que faz parte da coleção de documentos pesquisada.
task_type=SEMANTIC_SIMILARITY
para os dois textos de entrada e avalie a similaridade geral de significado.SEMANTIC_SIMILARITY
não foi criado para casos de uso de recuperação, como pesquisa de documentos e recuperação de informações. Para esses casos de uso, use RETRIEVAL_DOCUMENT
, RETRIEVAL_QUERY
, QUESTION_ANSWERING
e FACT_VERIFICATION
.Corpo da resposta
{
"predictions": [
{
"embeddings": {
"statistics": {
"truncated": boolean,
"token_count": integer
},
"values": [ number ]
}
}
]
}
Parâmetros de resposta
predictions
: uma lista de objetos, em que cada objeto corresponde a uma instância de entrada da solicitação. Cada objeto contém o seguinte campo:
embeddings
: o embedding gerado com base no texto de entrada. Ele contém os seguintes campos:
values
: uma lista de números de ponto flutuante que representa o vetor de embedding do texto de entrada.statistics
: as estatísticas calculadas a partir do texto de entrada. Ele contém os seguintes campos:
truncated
(bool
): true
se o texto de entrada foi truncado por ser maior que o número máximo de tokens permitido pelo modelo.token_count
(int
): o número de tokens no texto de entrada.{
"predictions": [
{
"embeddings": {
"values": [
0.0058424929156899452,
0.011848051100969315,
0.032247550785541534,
-0.031829461455345154,
-0.055369812995195389,
...
],
"statistics": {
"token_count": 4,
"truncated": false
}
}
}
]
}
Exemplos
Incorporar uma string de texto
REST
textembedding-gecko@001
. O comprimento máximo do token de entrada para textembedding-gecko@001
é 3.072. Para gemini-embedding-001
, cada solicitação só pode incluir um texto de entrada. Para mais informações, consulte Limites de embeddings de texto.
false
, o texto que exceder o limite de tokens fará com que a solicitação falhe. O valor padrão é 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
e execute o comando a seguir:
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
e execute o comando a seguir:
$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
foi truncado para economizar espaço.
generateContent
para solicitar que a resposta seja retornada depois de ser totalmente gerada.
Para reduzir a percepção de latência ao público humano, transmita a resposta à medida que
geradas usando o
streamGenerateContent
.
gemini-2.0-flash
). Este exemplo pode oferecer suporte a outros
modelos de classificação.
Python
Go
Java
Node.js
Idiomas de texto compatíveis
text-multilingual-embedding-002
também é compatível com os seguintes idiomas: Ele foi avaliado nos idiomas da lista Idiomas avaliados.
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
é compatível com os seguintes idiomas: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
, Catalan
.Zulu
Versões do modelo
gemini-embedding-001
.A seguir
API Text Embeddings
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-08-19 UTC.