La API Chat Completions funciona como un endpoint compatible con OpenAI, diseñado para facilitar la interacción con Gemini en Vertex AI mediante las bibliotecas de OpenAI para Python y REST. Si ya usas las bibliotecas de OpenAI, puedes usar esta API como una forma económica de cambiar entre las llamadas a modelos de OpenAI y a modelos alojados en Vertex AI para comparar la salida, el coste y la escalabilidad sin cambiar el código. Si aún no usas las bibliotecas de OpenAI, te recomendamos que uses el SDK de IA generativa de Google.
Modelos admitidos
La API Chat Completions admite tanto modelos de Gemini como modelos autodesplegados seleccionados de Model Garden.
Modelos de Gemini
Los siguientes modelos admiten la API Chat Completions:
Modelos autodesplegados de Model Garden
Los contenedores Interfaz de generación de texto de Hugging Face (HF TGI) y vLLM precompilado de Model Garden de Vertex AI admiten la API Chat Completions. Sin embargo, no todos los modelos implementados en estos contenedores admiten la API Chat Completions. En la siguiente tabla se incluyen los modelos admitidos más populares por contenedor:
HF TGI |
vLLM |
---|---|
Parámetros admitidos
En el caso de los modelos de Google, la API Chat Completions admite los siguientes parámetros de OpenAI. Para ver una descripción de cada parámetro, consulta la documentación de OpenAI sobre cómo crear finalizaciones de conversaciones. La compatibilidad con los parámetros de los modelos de terceros varía en función del modelo. Para ver qué parámetros se admiten, consulta la documentación del modelo.
messages |
|
model |
|
max_completion_tokens |
Alias de max_tokens . |
max_tokens |
|
n |
|
frequency_penalty |
|
presence_penalty |
|
reasoning_effort |
Configura cuánto tiempo y cuántos tokens se usan en una respuesta.
reasoning_effort o extra_body.google.thinking_config .
|
response_format |
|
seed |
Corresponde a GenerationConfig.seed . |
stop |
|
stream |
|
temperature |
|
top_p |
|
tools |
|
tool_choice |
|
web_search_options |
Corresponde a la herramienta GoogleSearch . No se admiten subopciones. |
function_call |
Este campo está obsoleto, pero se admite para asegurar la retrocompatibilidad. |
functions |
Este campo está obsoleto, pero se admite para asegurar la retrocompatibilidad. |
Si envía algún parámetro no admitido, se ignorará.
Parámetros de entrada multimodales
La API Chat Completions admite determinadas entradas multimodales.
input_audio |
|
image_url |
|
En general, el parámetro data
puede ser un URI o una combinación de tipo MIME y bytes codificados en Base64 con el formato "data:<MIME-TYPE>;base64,<BASE64-ENCODED-BYTES>"
.
Para ver una lista completa de los tipos MIME, consulta GenerateContent
.
Para obtener más información sobre la codificación base64 de OpenAI, consulta su documentación.
Para ver cómo se usa, consulta nuestros ejemplos de entrada multimodal.
Parámetros específicos de Gemini
Hay varias funciones compatibles con Gemini que no están disponibles en los modelos de OpenAI.
Estas funciones se pueden seguir transfiriendo como parámetros, pero deben estar incluidas en un extra_content
o un extra_body
. De lo contrario, se ignorarán.
Funciones de extra_body
Incluye un campo google
para que contenga las funciones específicas de Gemini.extra_body
{
...,
"extra_body": {
"google": {
...,
// Add extra_body features here.
}
}
}
safety_settings |
Corresponde a SafetySetting de Gemini. |
cached_content |
Corresponde a GenerateContentRequest.cached_content de Gemini. |
thinking_config |
Corresponde a GenerationConfig.ThinkingConfig de Gemini. |
thought_tag_marker |
Se usa para separar los pensamientos de un modelo de sus respuestas en los modelos que tienen disponible la función Pensamiento. Si no se especifica, no se devolverán etiquetas en torno a las reflexiones del modelo. Si están presentes, las consultas posteriores eliminarán las etiquetas de pensamiento y marcarán los pensamientos de forma adecuada para el contexto. Esto ayuda a mantener el contexto adecuado para las consultas posteriores. |
Funciones de extra_part
extra_part
te permite especificar ajustes adicionales a nivel de Part
.
Incluye un campo google
para que contenga las funciones específicas de Gemini.extra_part
{
...,
"extra_part": {
"google": {
...,
// Add extra_part features here.
}
}
}
extra_content |
Campo para añadir contenido específico de Gemini que no se debe ignorar. |
thought |
Esto marcará explícitamente si un campo es un pensamiento (y tendrá prioridad sobre thought_tag_marker ). Se debe usar para especificar si una llamada a herramienta forma parte de un pensamiento o no. |
Siguientes pasos
- Consulta más información sobre la autenticación y las credenciales con la sintaxis compatible con OpenAI.
- Consulta ejemplos de llamadas a la API Chat Completions con la sintaxis compatible con OpenAI.
- Consulta ejemplos de llamadas a la API Inference con la sintaxis compatible con OpenAI.
- Consulta ejemplos de llamadas a la API Function Calling con sintaxis compatible con OpenAI.
- Más información sobre la API de Gemini
- Consulta más información sobre cómo migrar de Azure OpenAI a la API de Gemini.