A API Text Embeddings converte dados textuais em vetores numéricos. Essas representações vetoriais são projetadas para capturar o significado semântico e o contexto das palavras que representam.
Modelos com suporte:
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 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 |
Para uma qualidade de incorporação superior, o 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(...)
Lista de parâmetros
Campos de nível superior | |
---|---|
|
Uma lista de objetos que contêm os seguintes campos:
|
|
Um objeto que contém os seguintes campos:
|
instance campos |
|
---|---|
|
O texto para o qual você quer gerar embeddings. |
|
Opcional: Usado para transmitir o aplicativo downstream pretendido que ajuda o modelo a produzir embeddings melhores. Se ficar em branco, o padrão usado será
Para mais informações sobre tipos de tarefas, consulte Escolher um tipo de tarefa de embeddings. |
|
Opcional: Usado para ajudar o modelo a produzir embeddings melhores.
Válido apenas com |
task_type
A tabela a seguir descreve os valores do parâmetro task_type
e os casos de uso deles:
task_type |
Descrição |
---|---|
RETRIEVAL_QUERY |
Especifica que o texto é uma consulta em uma configuração de pesquisa ou recuperação. Use RETRIEVAL_DOCUMENT para o documento. |
RETRIEVAL_DOCUMENT |
Especifica que o texto é um documento em uma configuração de pesquisa ou recuperação. |
SEMANTIC_SIMILARITY |
Especifica que o texto fornecido é usado para Similaridade Textual Semântica (STS). |
CLASSIFICATION |
Especifica que o embedding é usado para classificação. |
CLUSTERING |
Especifica que o embedding é usado para clustering. |
QUESTION_ANSWERING |
Especifica que o embedding de consulta é usado para responder a perguntas. Use RETRIEVAL_DOCUMENT para o documento. |
FACT_VERIFICATION |
Especifica que o embedding de consulta é usado para a verificação de fatos. Use RETRIEVAL_DOCUMENT para o documento. |
CODE_RETRIEVAL_QUERY |
Especifica que o embedding de consulta é usado para recuperação de código em Java e Python. Use RETRIEVAL_DOCUMENT para o documento. |
Tarefas de recuperação:
Consulta: use task_type=RETRIEVAL_QUERY
para indicar que o texto de entrada é uma consulta de pesquisa.
Corpus: use task_type=RETRIEVAL_DOCUMENT
para indicar que o texto de entrada faz parte
da coleção de documentos pesquisada.
Tarefas de similaridade:
Similaridade semântica: use task_type= SEMANTIC_SIMILARITY
para os dois textos de entrada e avalie a similaridade geral de significado.
parameters campos |
|
---|---|
|
Opcional: Quando definido como verdadeiro, o texto de entrada será truncado. Quando definido como falso, um erro será retornado se o texto de entrada for maior que o tamanho máximo aceito pelo modelo. O padrão é "true". |
|
Opcional: Usado para especificar o tamanho do embedding de saída. Se definido, os embeddings de saída serão truncados no tamanho especificado. |
Corpo da solicitação
{
"instances": [
{
"task_type": "RETRIEVAL_DOCUMENT",
"title": "document title",
"content": "I would like embeddings for this text!"
},
]
}
Corpo da resposta
{
"predictions": [
{
"embeddings": {
"statistics": {
"truncated": boolean,
"token_count": integer
},
"values": [ number ]
}
}
]
}
Elementos de resposta | |
---|---|
|
Uma lista de objetos com os seguintes campos:
|
embeddings campos |
|
---|---|
|
Uma lista de |
|
As estatísticas calculadas a partir do texto de entrada. Contém:
|
Exemplo de resposta
{
"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
O exemplo abaixo mostra como receber o embedding de uma string de texto.
REST
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:
- PROJECT_ID: o ID do projeto.
- TEXT: o texto ao qual você quer gerar embeddings. Limite: cinco textos de até 2.048 tokens por texto para todos os modelos, exceto
textembedding-gecko@001
. O comprimento máximo do token de entrada paratextembedding-gecko@001
é 3.072. Paragemini-embedding-001
, cada solicitação só pode incluir um texto de entrada. Para mais informações, consulte Limites de embeddings de texto. - AUTO_TRUNCATE: se definido como
false
, o texto que exceder o limite de tokens fará com que a solicitação falhe. O valor padrão étrue
.
Método 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 da solicitação:
{ "instances": [ { "content": "TEXT"} ], "parameters": { "autoTruncate": AUTO_TRUNCATE } }
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome 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
Salve o corpo da solicitação em um arquivo com o nome 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 Content
Você receberá uma resposta JSON semelhante a seguinte. Observe que values
foi truncado para economizar espaço.
- Use 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 ostreamGenerateContent
. - O ID do modelo multimodal está localizado no final do URL, antes do método
Por exemplo,
gemini-2.0-flash
). Este exemplo pode oferecer suporte a outros modelos de classificação.
Python
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.
Go
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.
Java
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.
Node.js
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.
Idiomas de texto compatíveis
Todos os modelos de embedding de texto são compatíveis e foram avaliados em inglês
de texto. O modelo text-multilingual-embedding-002
também oferece suporte e foi avaliado nos seguintes idiomas:
- 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)
- Idiomas disponíveis:
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
.
O modelo 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
, , , , , , , , , , , , , , , , , 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
.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
Versões do modelo
Para usar um modelo estável atual, especifique o número da versão do modelo, por exemplo, gemini-embedding-001
. Não é recomendável especificar um modelo sem um número de versão, já que ele é apenas um ponteiro legado para outro modelo e não é estável.
Para mais informações, consulte Versões e ciclo de vida do modelo.
A seguir
Para consultar a documentação detalhada, acesse: