A API Chat Completions funciona como um endpoint compatível com a OpenAI, projetado para facilitar a interface 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 econômica de alternar entre chamar modelos OpenAI e modelos hospedados do Vertex AI para comparar resultados, custos e escalabilidade, sem mudar o código atual. Se você ainda não usa as bibliotecas OpenAI, recomendamos usar o SDK do Google Gen AI.
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 Pro
Pré-lançamento - Gemini 2.5 Flash
Pré-lançamento - Gemini 2.0 Flash
- Gemini 2.0 Flash-Lite
Modelos autoimplantados do Model Garden
O Interface de geração de texto Hugging Face (HF TGI) (link em inglês) e os contêineres de vLLM pré-criados do Model Garden da Vertex AI têm suporte à 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 especificada.
|
response_format |
|
seed |
Corresponde a GenerationConfig.seed . |
stop |
|
stream |
|
temperature |
|
top_p |
|
tools |
|
tool_choice |
|
web_search_options |
Corresponde à ferramenta GoogleSearch . Não há suporte para
subopções. |
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 conferir uma lista completa de tipos MIME, consulte GenerateContent
.
Para mais informações sobre a codificação base64 do OpenAI, consulte a documentação.
Para saber como usar, consulte nossos exemplos de entrada multimodal.
Parâmetros específicos do Gemini
O Gemini oferece vários recursos 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, eles serão ignorados.
extra_body
recursos
safety_settings |
Isso corresponde a SafetySetting do Gemini. |
cached_content |
Isso corresponde a GenerateContentRequest.cached_content do Gemini. |
thinking_config |
Isso corresponde a GenerationConfig.ThinkingConfig do Gemini. |
thought_tag_marker |
Usado para separar os pensamentos de um modelo das respostas dele para modelos com o recurso de Pensamento disponível. Se não for especificado, nenhuma tag será retornada em relação aos pensamentos do modelo. Se estiverem presentes, as consultas subsequentes vão remover as tags de pensamento e marcar os pensamentos de forma adequada 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 Part
.
extra_content |
Um campo para adicionar conteúdo específico do Gemini que não pode ser ignorado. |
thought |
Isso marca explicitamente se um campo é um pensamento (e tem precedência sobre
thought_tag_marker ). Isso deve ser usado para especificar se uma chamada de ferramenta
faz parte de um pensamento ou não. |
A seguir
- Saiba mais sobre autenticação e credenciais com a sintaxe compatível com a OpenAI.
- Confira 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.