La API de Chat Completions funciona como un extremo compatible con OpenAI, diseñado para facilitar la conexió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 los modelos de OpenAI y los modelos alojados en Vertex AI para comparar el resultado, 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 IA generativa de Google.
Modelos compatibles
La API de Chat Completions admite los modelos de Gemini y algunos modelos autodeployados de Model Garden.
Modelos de Gemini
Los siguientes modelos proporcionan compatibilidad con la API de Chat Completions:
Modelos implementados por el usuario desde Model Garden
Los contenedores Hugging Face Text Generation Interface (HF TGI) y vLLM precompilado de Model Garden de Vertex AI 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
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 finalizaciones de chat. La compatibilidad con 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 |
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 con 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 obtener información sobre el uso, 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 aún se pueden pasar como parámetros, pero deben estar dentro de un extra_content
o extra_body
, o se ignorarán.
extra_body
funciones
Incluye un campo google
para contener cualquier función específica de extra_body
Gemini.
{
...,
"extra_body": {
"google": {
...,
// Add extra_body features here.
}
}
}
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 las ideas de un modelo de sus respuestas en los modelos con la función Thinking disponible. Si no se especifica, no se devolverán etiquetas sobre 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 conservar el contexto adecuado para las consultas posteriores. |
extra_part
funciones
extra_part
te permite especificar parámetros de configuración adicionales a nivel de cada Part
.
Incluye un campo google
para contener cualquier función específica de extra_part
Gemini.
{
...,
"extra_part": {
"google": {
...,
// Add extra_part features here.
}
}
}
extra_content |
Es un campo para agregar 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 la herramienta es parte de un pensamiento o no. |
¿Qué sigue?
- Obtén más información sobre la autenticación y la administración de credenciales con la sintaxis compatible con OpenAI.
- Para ver ejemplos de cómo llamar a la API de Chat Completions con la sintaxis compatible con OpenAI.
- Para ver ejemplos de cómo llamar a la API de Inference con una 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.