La API de Chat Completions funciona como un extremo compatible con OpenAI, diseñado para facilitar la interacción con Gemini en Gemini Enterprise Agent Platform a través de las bibliotecas de OpenAI para Python y REST. Si ya usas las bibliotecas de OpenAI, puedes usar esta API como una forma de bajo costo para cambiar entre llamar a modelos de OpenAI y modelos alojados en Agent Platform para comparar el resultado, el costo y la escalabilidad, sin cambiar tu código existente. Si aún no usas las bibliotecas de OpenAI, te recomendamos que uses el SDK de IA generativa de Google. Para migrar tu código existente del SDK de OpenAI y usar el SDK de IA generativa de Google, consulta Migra del SDK de OpenAI al SDK de IA generativa de Google.
Modelos compatibles
La API de Chat Completions admite modelos de Gemini y modelos seleccionados que se implementan por sí solos desde Model Garden.
Modelos de Gemini
Los siguientes modelos proporcionan compatibilidad con la API de Chat Completions:
Haz clic para expandir los modelos compatibles
Modelos autoimplementados de Model Garden
Los contenedores de la interfaz de generación de texto de Hugging Face (HF TGI) y vLLM compilado previamente de Model Garden de Agent Platform admiten la API de Chat Completions. Sin embargo, no todos los modelos implementados en estos contenedores admiten la API de Chat Completions. En la siguiente tabla, se incluyen los modelos compatibles más populares por contenedor:
HF TGI |
vLLM |
|---|---|
Parámetros admitidos
Para los modelos de Google, la API de Chat Completions admite los siguientes parámetros de OpenAI. Para obtener una descripción de cada parámetro, consulta la documentación de OpenAI sobre Creación de finalizaciones de chat. La compatibilidad de parámetros para modelos de terceros varía según el modelo. Para ver qué parámetros son compatibles, consulta la documentación del modelo.
messages |
|
model |
|
detail |
Para los modelos anteriores a Gemini 3, el campo detail debe ser coherente en todos los mensajes
y contenidos (es a nivel de la solicitud). Para Gemini 3 y versiones posteriores, esto corresponde a un valor de
`media_resolution` a nivel de la parte. Para obtener más información, consulta
Resolución de contenido multimedia.
|
max_completion_tokens |
Alias de max_tokens. |
modalities |
Admite audio, image y text. |
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 opciones secundarias. |
function_call |
Este campo es obsoleto, pero se admite para versiones anteriores. |
functions |
Este campo es obsoleto, pero se admite para versiones anteriores. |
Si pasas algún parámetro no admitido, se ignorará.
Parámetros de entrada multimodales
La API de Chat Completions admite entradas multimodales seleccionadas.
input_audio |
|
image_url |
|
En general, el parámetro data puede ser un URI o una combinación de tipo de MIME y
bytes codificados en base64 en el formato "data:<MIME-TYPE>;base64,<BASE64-ENCODED-BYTES>".
Para obtener una lista completa de los tipos de MIME, consulta GenerateContent.
Para obtener más información sobre la codificación en 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
Gemini admite varias funciones que no están disponibles en los modelos de OpenAI.
Estas funciones se pueden pasar como parámetros, pero deben estar contenidas en un
extra_content o extra_body; de lo contrario, se ignorarán.
extra_body funciones
Incluye un campo google para que contenga cualquier función de extra_body específica de Gemini.
{
...,
"extra_body": {
"google": {
...,
// Add extra_body features here.
}
}
}
safety_settings |
Esto corresponde al SafetySetting
de Gemini.
|
cached_content |
Esto corresponde al campo generateContent.cached_content de Gemini.
|
thinking_config |
Esto corresponde al 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 de razonamiento. Si no se especifica, no se devolverán etiquetas alrededor de los pensamientos del modelo. Si están presentes, las consultas posteriores quitarán las etiquetas de pensamiento y marcarán los pensamientos de forma adecuada para el contexto. Esto ayuda a preservar el contexto adecuado para las consultas posteriores. |
stream_function_call_arguments |
Transmite los argumentos de la llamada a función como segmentos de JSON. Para obtener más información, consulta Argumentos de llamada a función de transmisión. |
tools |
Especifica herramientas similares a `GenerateContent`. Para obtener más información, consulta
Tool. |
media_resolution |
Especifica una resolución de contenido multimedia a nivel de la solicitud similar a `GenerateContent`. Para obtener más información, consulta
MediaResolution. |
extra_content funciones
extra_content te permite especificar contenido específico de Gemini que no se debe ignorar.
Incluye un campo google para que contenga cualquier función de extra_content específica de Gemini.
{
...,
"extra_content": {
"google": {
...,
// Add extra_content features here.
}
}
}
thought |
Este campo marca de forma explícita si un campo es un pensamiento y tiene prioridad
sobre thought_tag_marker. Ayuda a distinguir entre diferentes
pasos en un proceso de pensamiento, en especial en situaciones de uso de herramientas en las que los pasos intermedios
podrían confundirse con las respuestas finales. Si etiquetas partes específicas de la
entrada como pensamientos, puedes guiar al modelo para que las trate como razonamiento interno
en lugar de respuestas para el usuario. |
thought_signature |
Es un campo de bytes que proporciona una firma de razonamiento para validarla con
los razonamientos que devuelve el modelo. Este campo es distinto de
thought, que es un campo booleano. Para obtener más información, consulta
Firmas de pensamientos. |
parts |
Es específico de un mensaje de Tool para pasar partes de la respuesta de la función multimodal de vuelta al modelo.
Para obtener más información, consulta
FunctionResponsePart y
Respuesta de función multimodal. |
¿Qué sigue?
- Obtén más información sobre la autenticación y las credenciales con la sintaxis compatible con OpenAI.
- Consulta ejemplos de llamadas a la API de Chat Completions con la sintaxis compatible con OpenAI.
- Consulta ejemplos de llamadas a la API de Inference con la sintaxis compatible con OpenAI.
- Consulta ejemplos de llamadas a la API de llamada a funciones con sintaxis compatible con OpenAI.
- Obtén más información sobre la API de Gemini.
- Obtén más información para migrar a los modelos de Gemini más recientes.
- Para migrar tu código existente del SDK de OpenAI y usar el SDK de IA generativa de Google, consulta Migra del SDK de OpenAI al SDK de IA generativa de Google.