La API de Chat Completions funciona como un extremo compatible con Open AI, diseñado para facilitar la interacción con Gemini en Vertex AI 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 económica de cambiar entre llamar a modelos de OpenAI y modelos alojados en Vertex AI para comparar los resultados, el costo y la escalabilidad, sin cambiar tu código existente. Si todavía no usas las bibliotecas de OpenAI, te recomendamos que uses el SDK de Google Gen AI.
Modelos compatibles
La API de Chat Completions admite modelos de Gemini y modelos seleccionados que se implementaron por sí solos desde Model Garden.
Modelos de Gemini
Los siguientes modelos admiten la API de Chat Completions:
Modelos que se implementaron desde Model Garden
La interfaz de generación de texto de Hugging Face (HF TGI) y los contenedores de vLLM precompilados de Model Garden de Vertex AI admiten la API de Chat Completions. Sin embargo, no todos los modelos que se implementan en estos contenedores admiten la API de 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 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 cómo crear finalización de chats. 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 |
|
max_completion_tokens |
Es el 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 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 base64 de OpenAI, consulta su documentación.
Para ver el uso, consulta nuestros ejemplos de entradas multimodales.
Parámetros específicos de Gemini
Gemini admite varias funciones que no están disponibles en los modelos de OpenAI.
Estas funciones aún 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
safety_settings |
Esto corresponde al SafetySetting de Gemini. |
cached_content |
Esto corresponde al GenerateContentRequest.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 el caso de los modelos con Thinking disponible. Si no se especifica, no se mostrará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. |
extra_part
funciones
extra_part
te permite especificar parámetros de configuración adicionales a nivel de Part
.
extra_content |
Es un campo para agregar contenido específico de Gemini que no se debe ignorar. |
thought |
Esto marcará de forma explícita 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. |
¿Qué sigue?
- Obtén más información sobre la autenticación y las credenciales con la sintaxis compatible con OpenAI.
- Consulta ejemplos de cómo llamar a la API de Chat Completions con la sintaxis compatible con OpenAI.
- Consulta ejemplos de cómo llamar a la API de Inference con la sintaxis compatible con OpenAI.
- Para ver ejemplos de cómo llamar a la API de Functions Calling con una sintaxis compatible con OpenAI.
- Obtén más información sobre la API de Gemini.
- Obtén más información para migrar de Azure OpenAI a la API de Gemini.