A API Chat Completions funciona como um endpoint compatível com a OpenAI, projetado para facilitar a interação com o Gemini na Vertex AI usando as bibliotecas da OpenAI para Python e REST. Se você já estiver usando as bibliotecas OpenAI, poderá usar essa API como uma maneira de baixo custo de alternar entre chamar modelos OpenAI e modelos hospedados da Vertex AI para comparar saída, custo e escalonabilidade, sem mudar o código atual. Se você ainda não usa as bibliotecas OpenAI, recomendamos que use o SDK de IA generativa do Google.
Modelos compatíveis
A API Chat Completions oferece suporte a modelos do Gemini e a alguns modelos autoimplantados do Model Garden.
Modelos do Gemini
Os modelos a seguir oferecem suporte à API Chat Completions:
- Gemini 3 Pro Modelo de pré-lançamento
- Gemini 2.5 Pro
- Gemini 2.5 Flash Modelo de pré-lançamento
- Gemini 2.5 Flash
- Gemini 2.0 Flash
- Gemini 2.0 Flash Lite
Modelos autoimplantados do Model Garden
A interface de geração de texto da Hugging Face (HF TGI) e os contêineres vLLM pré-criados do Model Garden da Vertex AI são compatíveis com a API Chat Completions. No entanto, nem todos os modelos implantados nesses contêineres são compatíveis com a API Chat Completions. A tabela a seguir inclui os modelos com suporte mais conhecidos por contêiner:
HF TGI |
vLLM |
|---|---|
Parâmetros aceitos
Para modelos do Google, a API Chat Completions é compatível com as seguintes APIs parâmetros. Para ver uma descrição de cada parâmetro, consulte a documentação da OpenAI sobre Como criar conclusões de chat. A compatibilidade com parâmetros para modelos de terceiros varia de acordo com o modelo. Para saber quais parâmetros são aceitos, consulte a documentação do modelo.
messages |
|
model |
|
max_completion_tokens |
Alias de max_tokens. |
max_tokens |
|
n |
|
frequency_penalty |
|
presence_penalty |
|
reasoning_effort |
Configura quanto tempo e quantos tokens são usados em uma resposta.
reasoning_effort ou extra_body.google.thinking_config
pode ser especificado.
|
response_format |
|
seed |
Corresponde a GenerationConfig.seed. |
stop |
|
stream |
|
temperature |
|
top_p |
|
tools |
|
tool_choice |
|
web_search_options |
Corresponde à ferramenta GoogleSearch. Não há subopções disponíveis. |
function_call |
Este campo está obsoleto, mas tem suporte para compatibilidade com versões anteriores. |
functions |
Este campo está obsoleto, mas tem suporte para compatibilidade com versões anteriores. |
Se você passar algum parâmetro não suportado, ele será ignorado.
Parâmetros de entrada multimodais
A API Chat Completions oferece suporte a algumas entradas multimodais.
input_audio |
|
image_url |
|
Em geral, o parâmetro data pode ser um URI ou uma combinação de tipo MIME e bytes codificados em base64 no formato "data:<MIME-TYPE>;base64,<BASE64-ENCODED-BYTES>".
Para ver uma lista completa de tipos MIME, consulte GenerateContent.
Para mais informações sobre a codificação base64 da OpenAI, consulte a documentação deles.
Para saber como usar, consulte nossos exemplos de entrada multimodal.
Parâmetros específicos do Gemini
Há vários recursos compatíveis com o Gemini que não estão disponíveis nos modelos da OpenAI.
Esses recursos ainda podem ser transmitidos como parâmetros, mas precisam estar contidos em um
extra_content ou extra_body. Caso contrário, serão ignorados.
extra_body recursos
Inclua um campo google para conter recursos específicos do
extra_body Gemini.
{
...,
"extra_body": {
"google": {
...,
// Add extra_body features here.
}
}
}
safety_settings |
Isso corresponde à SafetySetting do Gemini. |
cached_content |
Isso corresponde à GenerateContentRequest.cached_content do Gemini. |
thinking_config |
Isso corresponde à GenerationConfig.ThinkingConfig do Gemini. |
thought_tag_marker |
Usado para separar os pensamentos de um modelo das respostas dele para modelos com o recurso de Raciocínio disponível. Se não for especificado, nenhuma tag será retornada em torno dos pensamentos do modelo. Se estiverem presentes, as consultas subsequentes vão remover as tags de pensamento e marcar os pensamentos adequadamente para o contexto. Isso ajuda a preservar o contexto adequado para consultas subsequentes. |
extra_part recursos
extra_part permite especificar outras configurações no nível de cada Part.
Inclua um campo google para conter recursos específicos do
extra_part Gemini.
{
...,
"extra_part": {
"google": {
...,
// Add extra_part features here.
}
}
}
extra_content |
Um campo para adicionar conteúdo específico do Gemini que não deve ser ignorado. |
thought |
Esse campo marca explicitamente se um campo é um pensamento e tem precedência sobre thought_tag_marker. Isso ajuda a distinguir entre diferentes etapas de um processo de pensamento, especialmente em cenários de uso de ferramentas em que etapas intermediárias podem ser confundidas com respostas finais. Ao marcar partes específicas da entrada como pensamentos, você pode orientar o modelo a tratá-las como raciocínio interno em vez de respostas voltadas ao usuário. |
thought_signature |
Um campo de bytes que fornece uma assinatura de pensamento para validar os pensamentos retornados pelo modelo. Esse campo é diferente de thought, que é um campo booleano. Para mais informações, consulte
Assinaturas de pensamento. |
A seguir
- Saiba mais sobre autenticação e credenciamento com a sintaxe compatível com a OpenAI.
- Veja exemplos de como chamar a API Chat Completions com a sintaxe compatível com OpenAI.
- Veja exemplos de como chamar a API Inference com a sintaxe compatível com OpenAI.
- Veja exemplos de como chamar a API Function Calling com sintaxe compatível com OpenAI.
- Saiba mais sobre a API Gemini.
- Saiba mais sobre como migrar do Azure OpenAI para a API Gemini.