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 2.5 Flash (pré-lançamento)
- Gemini 2.5 Pro
- Gemini 2.5 Flash
- Gemini 2.0 Flash
- Gemini 2.0 Flash-Lite
Modelos autoimplantados do Model Garden
Os contêineres Hugging Face Text Generation Interface (HF TGI) e vLLM pré-criado 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_effortouextra_body.google.thinking_configpode ser especificado. | 
| response_format | 
 | 
| seed | Corresponde a GenerationConfig.seed. | 
| stop | |
| stream | |
| temperature | |
| top_p | |
| tools | 
 | 
| tool_choice | 
 | 
| web_search_options | Corresponde à ferramenta GoogleSearch. Nenhuma subopção é compatível. | 
| 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 multimodal
A API Chat Completions aceita 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
extra_body específicos do Gemini.
{
  ...,
  "extra_body": {
     "google": {
       ...,
       // Add extra_body features here.
     }
   }
}
| safety_settings | Isso corresponde ao SafetySettingdo Gemini. | 
| cached_content | Isso corresponde ao GenerateContentRequest.cached_contentdo Gemini. | 
| thinking_config | Isso corresponde ao GenerationConfig.ThinkingConfigdo Gemini. | 
| thought_tag_marker | Usado para separar os pensamentos de um modelo das respostas dele em modelos com o recurso "Pensando" disponível. Se não for especificado, nenhuma tag será retornada em torno das ideias 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
extra_part específicos do 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 | Isso marca explicitamente se um campo é um pensamento e tem precedência sobre thought_tag_marker. Deve ser usado para especificar se uma chamada de função faz parte de um pensamento ou não. | 
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.