A API Text embeddings converte dados textuais em vetores numéricos. Estas representações vetoriais foram concebidas para captar o significado semântico e o contexto das palavras que representam.
Modelos suportados:
Pode obter incorporações de texto através dos seguintes modelos:
Nome do modelo | Descrição | Dimensões de saída | Duração máxima da sequência | Idiomas de texto suportados |
---|---|---|---|---|
gemini-embedding-001 |
Desempenho de última geração em tarefas em inglês, multilingues e de código. Unifica os modelos anteriormente especializados, como o text-embedding-005 e o text-multilingual-embedding-002 , e alcança um melhor desempenho nos respetivos domínios. Leia o nosso relatório técnico para ver mais detalhes. |
até 3072 | 2048 tokens | Idiomas de texto suportados |
text-embedding-005 |
Especializado em tarefas de inglês e código. | até 768 | 2048 tokens | Inglês |
text-multilingual-embedding-002 |
Especializado em tarefas multilingues. | até 768 | 2048 tokens | Idiomas de texto suportados |
Para uma qualidade de incorporação superior, o gemini-embedding-001
é o nosso modelo grande concebido para oferecer o desempenho mais elevado.
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 com os seguintes campos:
|
|
Um objeto que contém os seguintes campos:
|
instance campos |
|
---|---|
|
O texto para o qual quer gerar incorporações. |
|
Opcional: Usado para transmitir a aplicação a jusante pretendida para ajudar o modelo a produzir melhores incorporações. Se deixar em branco, o valor predefinido usado é
Para mais informações sobre os tipos de tarefas, consulte Escolha um tipo de tarefa de incorporações. |
|
Opcional: Usado para ajudar o modelo a produzir melhores incorporações.
Válido apenas com |
task_type
A tabela seguinte descreve os valores dos parâmetros task_type
e os respetivos exemplos de utilização:
task_type |
Descrição |
---|---|
RETRIEVAL_QUERY |
Especifica que o texto indicado é uma consulta numa definição de pesquisa ou obtenção. Use RETRIEVAL_DOCUMENT para o lado do documento. |
RETRIEVAL_DOCUMENT |
Especifica que o texto fornecido é um documento numa definição de pesquisa ou obtenção. |
SEMANTIC_SIMILARITY |
Especifica que o texto fornecido é usado para a similaridade textual semântica (STS). |
CLASSIFICATION |
Especifica que a incorporação é usada para a classificação. |
CLUSTERING |
Especifica que a incorporação é usada para o agrupamento. |
QUESTION_ANSWERING |
Especifica que a incorporação de consultas é usada para responder a perguntas. Use RETRIEVAL_DOCUMENT para o lado do documento. |
FACT_VERIFICATION |
Especifica que a incorporação de consultas é usada para a validação de factos. Use RETRIEVAL_DOCUMENT para o lado do documento. |
CODE_RETRIEVAL_QUERY |
Especifica que a incorporação de consultas é usada para a obtenção de código para Java e Python. Use RETRIEVAL_DOCUMENT para o lado do documento. |
Tarefas de obtençã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 que está a ser pesquisada.
Tarefas de semelhança:
Semelhança semântica: use task_type= SEMANTIC_SIMILARITY
para ambos os textos de entrada para avaliar a semelhança de significado geral.
parameters campos |
|
---|---|
|
Opcional: Quando definida como verdadeira, o texto de entrada é truncado. Quando definido como falso, é devolvido um erro se o texto de entrada for mais longo do que o comprimento máximo suportado pelo modelo. A predefinição é true. |
|
Opcional: Usado para especificar o tamanho da incorporação do resultado. Se estiver definido, as incorporações de saída são truncadas para o tamanho especificado. |
Corpo do pedido
{
"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 da 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 seguinte mostra como obter a incorporação de uma string de texto.
REST
Depois de configurar o seu ambiente, pode usar a API REST para testar um comando de texto. O exemplo seguinte envia um pedido para o ponto final do modelo do publicador.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o seu ID do projeto.
- TEXT: o texto para o qual quer gerar incorporações. Limite: cinco textos de até 2048 tokens por texto para todos os modelos,exceto o
textembedding-gecko@001
. O comprimento máximo do token de entrada paratextembedding-gecko@001
é de 3072. Para ogemini-embedding-001
, cada pedido só pode incluir um único texto de entrada. Para mais informações, consulte os limites de incorporação de texto. - AUTO_TRUNCATE: se estiver definido como
false
, o texto que exceda o limite de tokens faz com que o pedido falhe. O valor predefinido é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 do pedido:
{ "instances": [ { "content": "TEXT"} ], "parameters": { "autoTruncate": AUTO_TRUNCATE } }
Para enviar o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte comando:
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
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte comando:
$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
Deve receber uma resposta JSON semelhante à seguinte. Tenha em atenção que values
foi truncado para poupar espaço.
- Use o método
generateContent
para pedir que a resposta seja devolvida após a geração completa. Para reduzir a perceção de latência para um público humano, transmita a resposta à medida que está a ser gerada através do métodostreamGenerateContent
. - O ID do modelo multimodal encontra-se no final do URL antes do método
(por exemplo,
gemini-2.0-flash
). Este exemplo também pode suportar outros modelos.
Python
Para saber como instalar ou atualizar o SDK Vertex AI para Python, consulte o artigo Instale o SDK Vertex AI para Python. Para mais informações, consulte a Python documentação de referência da API.
Go
Antes de experimentar este exemplo, siga as Goinstruções de configuração no início rápido do Vertex AI com bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Go Vertex AI.
Para se autenticar no Vertex AI, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Java
Antes de experimentar este exemplo, siga as Javainstruções de configuração no início rápido do Vertex AI com bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Java Vertex AI.
Para se autenticar no Vertex AI, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Antes de experimentar este exemplo, siga as Node.jsinstruções de configuração no início rápido do Vertex AI com bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Node.js Vertex AI.
Para se autenticar no Vertex AI, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Idiomas de texto suportados
Todos os modelos de incorporação de texto suportam e foram avaliados em texto em inglês. Além disso, o modelo text-multilingual-embedding-002
suporta 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 suportados:
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
, 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
, English
, Latin
, Finnish
, French
, German
, Maori
, Macedonian
, Malayalam
, Mongolian
, Meiteilon (Manipuri)
, Marathi
, Malay
, Maltese
, Myanmar (Burmese)
, Lithuanian
, Norwegian
, Polish
, Portuguese
, Romanian
, Russian
, Serbian
, Slovak
, Shona
, Spanish
, Swahili
, Sesotho
, Sundanese
, Tamil
, Telugu
, Tajik
, Uyghur
, Urdu
, Uzbek
, Xhosa
, Yiddish
, Yoruba
, 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
, 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
, 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
, 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
, Bulgarian
, Chinese (Simplified and Traditional)
, Croatian
, Czech
, Danish
, Kyrgyz
Luxembourgish
Lao
Malagasy
Nepali
Nyanja (Chichewa)
Odia (Oriya)
Punjabi
Pashto
Sindhi
Sinhala (Sinhalese)
Samoan
Somali
Albanian
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, uma vez que é apenas um ponteiro antigo para outro modelo e não é estável.
Para mais informações, consulte o artigo Versões e ciclo de vida dos modelos.
O que se segue?
Para ver documentação detalhada, consulte o seguinte: