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:
Modelos em inglês | Modelos multilíngues |
---|---|
textembedding-gecko@001 |
textembedding-gecko-multilingual@001 |
textembedding-gecko@003 |
text-multilingual-embedding-002 |
text-embedding-004 |
|
text-embedding-005 |
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
Parâmetros | |
---|---|
|
cada instância representa um único texto a ser incorporado. |
|
O texto para o qual você quer gerar embeddings. |
|
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!"
},
]
}
Parâmetros | |
---|---|
|
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á
O parâmetro Para mais informações sobre os tipos de tarefas, consulte Escolher um tipo de tarefa de embeddings. |
|
Opcional: Usado para ajudar o modelo a produzir embeddings melhores.
Só é válido com |
taskType
A tabela a seguir descreve os valores do parâmetro task_type
e os casos de
uso:
task_type |
Descrição |
---|---|
RETRIEVAL_QUERY |
Especifica que o texto é uma consulta em uma configuração de pesquisa ou recuperação. |
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. |
CODE_RETRIEVAL_QUERY |
Especifica que o embedding de consulta é usado para recuperação de código para Java e Python. |
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 para avaliar
a similaridade geral do significado.
Corpo da resposta
{
"predictions": [
{
"embeddings": {
"statistics": {
"truncated": boolean,
"token_count": integer
},
"values": [ number ]
}
}
]
}
Elemento de resposta | Descrição |
---|---|
embeddings |
O resultado gerado a partir do texto de entrada. |
statistics |
As estatísticas calculadas a partir do texto de entrada. |
truncated |
Indica se o texto de entrada era maior que o número máximo permitido de tokens e truncados. |
tokenCount |
Número de tokens do texto de entrada. |
values |
O campo values contém os vetores de embedding correspondentes às palavras no texto de entrada. |
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
Caso de uso básico
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. - 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/text-embedding-004: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/text-embedding-004: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/text-embedding-004: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-1.5-flash
ougemini-1.0-pro-vision
). Este exemplo pode oferecer suporte a outras 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.
Caso de uso avançado
O exemplo a seguir demonstra alguns recursos avançados
- Use
task_type
etitle
para melhorar a qualidade dos embeddings. - Usar parâmetros para controlar o comportamento da API.
REST
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 com até 3.072 tokens por texto.
- TASK_TYPE: usada para transmitir o aplicativo downstream pretendido que ajuda o modelo a produzir embeddings melhores.
- TITLE: usada para ajudar o modelo a produzir embeddings melhores.
- 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
. - OUTPUT_DIMENSIONALITY: usada para especificar o tamanho do embedding de saída. Se definido, os embeddings de saída serão truncados no tamanho especificado.
Método HTTP e URL:
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/textembedding-gecko@003:predict
Corpo JSON da solicitação:
{ "instances": [ { "content": "TEXT", "task_type": "TASK_TYPE", "title": "TITLE" }, ], "parameters": { "autoTruncate": AUTO_TRUNCATE, "outputDimensionality": OUTPUT_DIMENSIONALITY } }
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/textembedding-gecko@003: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/textembedding-gecko@003:predict" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a seguinte. Observe que values
foi truncado para economizar espaç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. Os parâmetros textembedding-gecko-multilingual@001
e
Os modelos text-multilingual-embedding-002
também oferecem suporte
avaliados 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
.
Versões do modelo
Para usar uma versão de modelo estável, especifique o número da versão de modelo, por exemplo, text-embedding-004
.
Não é recomendável especificar um modelo sem um número de versão, como textembedding-gecko
,
porque ele é apenas um ponteiro legada para outro modelo e não é estável.
Cada versão estável está disponível por seis meses após a data de lançamento da
versão estável subsequente.
A tabela a seguir contém as versões de modelo estável disponíveis:
Nome do modelo | Data da versão | Data de desativação |
---|---|---|
text-embedding-005 | 18 de novembro de 2024 | A ser determinado. |
text-embedding-004 | 14 de maio de 2024 | 18 de novembro de 2025 |
text-multilingual-embedding-002 | 14 de maio de 2024 | A ser determinado. |
textembedding-gecko@003 | 12 de dezembro de 2023 | 14 de maio de 2025 |
textembedding-gecko-multilingual@001 | 2 de novembro de 2023 | 14 de maio de 2025 |
textembedding-gecko@002 (reaberto, mas ainda com suporte) |
2 de novembro de 2023 | 9 de abril de 2025 |
textembedding-gecko@001 (reaberto, mas ainda com suporte) |
7 de junho de 2013 | 9 de abril de 2025 |
multimodalembedding@001 | 12 de fevereiro de 2024 | A ser determinado. |
Para mais informações, consulte Versões e ciclo de vida do modelo.
A seguir
Para consultar a documentação detalhada, acesse: