Usa generateContent
o streamGenerateContent
para generar contenido con Gemini.
La familia de modelos de Gemini incluye modelos que funcionan con solicitudes de instrucciones multimodales. El término multimodal indica que puedes usar más de una modalidad, o tipo de entrada, en una instrucción. Los modelos que no son multimodales aceptan instrucciones solo con texto. Las modalidades pueden incluir texto, audio, video y mucho más.
Crea una cuenta de Google Cloud para comenzar
Para comenzar a usar la API de Vertex AI para Gemini, crea una cuenta de Google Cloud.
Después de crear tu cuenta, usa este documento para revisar el cuerpo de la solicitud, los parámetros del modelo, el cuerpo de la respuesta y algunas solicitudes de muestra del modelo de Gemini.
Cuando tengas todo listo, consulta la guía de inicio rápido de la API de Vertex AI para Gemini para aprender a enviar una solicitud a la API de Vertex AI Gemini con un SDK de lenguaje de programación o REST API
Modelos compatibles
Modelo | Versión |
---|---|
Gemini 1.5 Flash | gemini-1.5-flash-001 gemini-1.5-flash-002 |
Gemini 1.5 Pro | gemini-1.5-pro-001 gemini-1.5-pro-002 |
Gemini 1.0 Pro Vision | gemini-1.0-pro-001 gemini-1.0-pro-vision-001 |
Gemini 1.0 Pro | gemini-1.0-pro gemini-1.0-pro-001 gemini-1.0-pro-002 |
Ejemplo de sintaxis
Sintaxis para generar una respuesta del modelo.
Sin transmisión
curl
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/google/models/${MODEL_ID}:generateContent \ -d '{ "contents": [{ ... }], "generationConfig": { ... }, "safetySettings": { ... } ... }'
Python
gemini_model = GenerativeModel(MODEL_ID) generation_config = GenerationConfig(...) model_response = gemini_model.generate_content([...], generation_config, safety_settings={...})
Transmisión
curl
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/google/models/${MODEL_ID}:streamGenerateContent \ -d '{ "contents": [{ ... }], "generationConfig": { ... }, "safetySettings": { ... } ... }'
Python
gemini_model = GenerativeModel(MODEL_ID) model_response = gemini_model.generate_content([...], generation_config, safety_settings={...}, stream=True)
Lista de parámetros
Consulta ejemplos para obtener detalles sobre la implementación.
Cuerpo de la solicitud
{ "cachedContent": string, "contents": [ { "role": string, "parts": [ { // Union field data can be only one of the following: "text": string, "inlineData": { "mimeType": string, "data": string }, "fileData": { "mimeType": string, "fileUri": string }, // End of list of possible types for union field data. "videoMetadata": { "startOffset": { "seconds": integer, "nanos": integer }, "endOffset": { "seconds": integer, "nanos": integer } } } ] } ], "systemInstruction": { "role": string, "parts": [ { "text": string } ] }, "tools": [ { "functionDeclarations": [ { "name": string, "description": string, "parameters": { object (OpenAPI Object Schema) } } ] } ], "safetySettings": [ { "category": enum (HarmCategory), "threshold": enum (HarmBlockThreshold) } ], "generationConfig": { "temperature": number, "topP": number, "topK": number, "candidateCount": integer, "maxOutputTokens": integer, "presencePenalty": float, "frequencyPenalty": float, "stopSequences": [ string ], "responseMimeType": string, "responseSchema": schema, "seed": integer }, "labels": { string: string } }
El cuerpo de la solicitud contiene datos con los siguientes parámetros:
Parámetros | |
---|---|
|
Opcional: Contenido almacenado en caché. Puedes usar el contenido almacenado en caché en las solicitudes que contienen contenido repetido. |
|
Obligatorio: El contenido de la conversación actual con el modelo. Para consultas de un solo turno, esta es una instancia única. Para las consultas de varios turnos, este es un campo repetido que contiene el historial de conversaciones y la solicitud más reciente. |
|
Opcional: Disponible para Instrucciones para que el modelo mejore su rendimiento. Por ejemplo, "Responde de la forma más concisa posible" o "No uses términos técnicos en tu respuesta". Las cadenas El campo |
|
Opcional. Un fragmento de código que permite que el sistema interactúe con sistemas externos para realizar una acción, o un conjunto de acciones, fuera del conocimiento y del alcance del modelo. Consulta Llamadas a funciones. |
|
Opcional. Consulta Llamadas a funciones. |
|
Opcional: Configuración por solicitud para bloquear contenido no seguro. Se aplicó de manera forzosa en |
|
Opcional: Los ajustes de configuración de generación. |
|
Opcional: Son metadatos que puedes agregar a la llamada a la API en formato de pares clave-valor. |
contents
El tipo de datos estructurados base que incluye contenido de varias partes de un mensaje.
Esta clase consta de dos propiedades principales: role
y parts
. La propiedad role
denota la persona que produce el contenido, mientras que la propiedad parts
contiene varios elementos, cada uno de los cuales representa un segmento de datos dentro
de un mensaje.
Parámetros | |
---|---|
|
Opcional: La identidad de la entidad que crea el mensaje. Se admiten los siguientes valores:
El valor En el caso de las conversaciones que no tengan varios turnos, este campo se puede dejar en blanco o sin configurar. |
|
Una lista de partes ordenadas que conforman un solo mensaje. Es posible que las diferentes partes tengan distintos tipos de MIME de IANA. Para límites sobre las entradas, como el número máximo de tokens o de imágenes, consulta las especificaciones del modelo en la página Modelos de Google. Para calcular la cantidad de tokens en tu solicitud, consulta Obtén el recuento de tokens. |
parts
Un tipo de datos que contiene contenido multimedia que forma parte de un mensaje Content
de varias partes.
Parámetros | |
---|---|
|
Opcional: Un mensaje de texto o un fragmento de código. |
|
Opcional: Datos intercalados en bytes sin procesar. Para |
|
Opcional: Datos almacenados en un archivo. |
|
Opcional: Contiene una cadena que representa el campo Consulta Llamadas a funciones. |
|
Opcional: La salida del resultado de una Consulta Llamadas a funciones. |
|
Opcional: Para la entrada de video, el desplazamiento inicial y final del video en Duración formato Por ejemplo, para especificar un clip de 10 segundos a partir de la 1:00, configura Los metadatos solo se deben especificar mientras los datos de video se presentan en |
blob
BLOB de contenido. Si es posible, envíalo como texto en lugar de bytes sin procesar.
Parámetros | |
---|---|
|
data o fileUri . Los valores aceptables son los siguientes:
Haz clic para expandir los tipos de MIME.
En el caso de En el caso de Gemini 1.5 Pro y Gemini 1.5 Flash, la duración máxima de un archivo de audio es de 8.4 horas, y la duración máxima de un archivo de video (sin audio) es de una hora. Para obtener más información, consulta Requisitos de contenido multimedia de Gemini 1.5 Pro. Los archivos de texto deben estar codificados en UTF-8. El contenido del archivo de texto se contabiliza para el límite de tokens. No hay límite en la resolución de la imagen. |
|
La codificación en base64 de la imagen, PDF o el video que se incluirá intercalada en el mensaje. Si incluyes contenido multimedia intercalado, también debes especificar el tipo
de medio ( Límite de tamaño: 20 MB |
CachedContent
Se usa para actualizar cuando vence una caché de contexto. Debes especificar ttl
o expireTime
cuando actualizas CachedContent
, pero no puedes especificar ambos. Para obtener más información, consulta Usa el almacenamiento en caché de contexto.
Parámetros | |
---|---|
|
Se usa para especificar la cantidad de segundos y nanosegundos después de que se crea o actualiza una caché de contexto que esta permanece antes de vencer. |
|
Una marca de tiempo que especifica cuándo vence una caché de contexto. |
TTL
Es el tiempo de vida, o la duración, después de que se crea o actualiza una caché de contexto antes de que venza.
Parámetros | |
---|---|
|
Es el componente de segundos de la duración antes de que venza una caché de contexto después de su creación. El valor predeterminado es 3,600 segundos. |
|
Opcional: Es el componente de nanosegundos de la duración antes de que venza una caché de contexto después de su creación. |
FileData
Datos de URI o URL web.
Parámetros | |
---|---|
|
Tipo de MIME de IANA de los datos. |
|
Es el URI o la URL del archivo que se incluirá en la instrucción. Los valores aceptables son los siguientes:
Cuando especifiques un Para Para |
functionCall
Un functionCall
predicho que muestra el modelo que contiene una cadena que representa el functionDeclaration.name
y un objeto JSON estructurado que contiene los parámetros y sus valores.
Parámetros | |
---|---|
|
El nombre de la función a la que se llamará. |
|
Los parámetros y valores de la función en formato de objeto JSON Consulta Llamadas a funciones para obtener detalles sobre los parámetros. |
functionResponse
El resultado de una FunctionCall
que contiene una cadena que representa la FunctionDeclaration.name
. También contiene un objeto JSON estructurado con el resultado de la función (y lo usa como contexto del modelo). Esto debería contener el resultado de un FunctionCall
basado en la predicción del modelo.
Parámetros | |
---|---|
|
El nombre de la función a la que se llamará. |
|
La respuesta de la función en formato de objeto JSON. |
videoMetadata
Metadatos que describen el contenido del video de entrada.
Parámetros | |
---|---|
|
Opcional: El desplazamiento inicial del video. |
|
Opcional: El desplazamiento final del video. |
safetySetting
Configuración de seguridad.
Parámetros | |
---|---|
|
Opcional:
La categoría de seguridad para la que se configura un umbral. Los valores aceptables son los siguientes:
Haz clic para expandir las categorías de seguridad
|
|
Opcional: El umbral para bloquear respuestas que podrían pertenecer a la categoría de seguridad especificada según la probabilidad.
|
|
Opcional: Especifica si se utiliza el umbral para la puntuación de probabilidad o gravedad. Si no se especifica, el umbral se utiliza para la puntuación de probabilidad. |
harmCategory
Categorías HRM que bloquean contenido.
Parámetros | |
---|---|
|
No se especifica la categoría de daño. |
|
La categoría de daño es la incitación al odio o a la violencia. |
|
La categoría de daño es el contenido peligroso. |
|
La categoría de daño es el hostigamiento. |
|
La categoría de daño es el contenido sexual explícito. |
harmBlockThreshold
Niveles de umbral de probabilidad usados para bloquear una respuesta.
Parámetros | |
---|---|
|
Umbral de bloqueo de daño no especificado. |
|
Bloquea el umbral bajo y superior (es decir, bloquea más). |
|
Bloquea el umbral medio y superior. |
|
Bloquea solo el umbral alto (es decir, bloquea menos). |
|
No bloquear. |
|
Desactiva la seguridad si todas las categorías están desactivadas. |
harmBlockMethod
Un umbral de probabilidad que bloquea una respuesta según una combinación de probabilidad y gravedad.
Parámetros | |
---|---|
|
El método de bloqueo de daño no se especifica. |
|
El método de bloqueo de daño usa puntuaciones de probabilidad y gravedad. |
|
El método de bloqueo de daño usa la puntuación de probabilidad. |
generationConfig
Los ajustes de configuración usados cuando se genera el mensaje.
Parámetros | |
---|---|
|
Opcional:
La temperatura se usa para las muestras durante la generación de respuesta, que se genera cuando se aplican Si el modelo muestra una respuesta demasiado genérica, demasiado corta o el modelo proporciona una respuesta de resguardo, intenta aumentar la temperatura.
|
|
Opcional: Si se especifica, se usa el muestreo de núcleos. Top-P cambia la manera en la que el modelo selecciona los tokens para el resultado. Los tokens se eligen del más probable (consulta Top-K) al menos probable, hasta que la suma de sus probabilidades sea igual al valor de Top-P. Por ejemplo, si los tokens A, B y C tienen una probabilidad de 0.3, 0.2 y 0.1 y el valor Top-P es Especifica un valor más bajo para respuestas menos aleatorias y un valor más alto para respuestas más aleatorias.
|
|
Opcional: El parámetro Top-K cambia la manera en la que el modelo selecciona los tokens para el resultado. Un Top-K de Para cada paso de elección de tokens, se muestrean los tokens de Top-K con las probabilidades más altas. Luego, los tokens se filtran según el Top-P, lo que significa que el token final se selecciona a través del muestreo de temperatura. Especifica un valor más bajo para respuestas menos aleatorias y un valor más alto para respuestas más aleatorias. Intervalo: Solo es compatible con Configuración predeterminada para |
|
Opcional: La cantidad de variaciones de respuesta que se mostrarán. Por cada solicitud, se te cobra por los tokens de salida de todos los candidatos, pero solo se te cobra una vez por los tokens de entrada. Especificar varios candidatos es una función de vista previa que funciona con
|
|
Opcional: int Cantidad máxima de tokens que se pueden generar en la respuesta. Un token tiene casi cuatro caracteres. 100 tokens corresponden a casi 60 u 80 palabras. Especifica un valor más bajo para las respuestas más cortas y un valor más alto para las respuestas potencialmente más largas. |
|
Opcional:
Especifica una lista de cadenas que le indica al modelo que deje de generar texto si se encuentra una de las cadenas en la respuesta. Si una cadena aparece varias veces en la respuesta, la respuesta trunca el lugar en que se encontró por primera vez.
Las cadenas distinguen entre mayúsculas y minúsculas.
La lista puede tener un máximo de 5 elementos. |
|
Opcional: Penalizaciones positivas. Los valores positivos penalizan los tokens que ya aparecen en el texto generado, lo que aumenta la probabilidad de generar contenido más diverso. El valor máximo para Solo es compatible con |
|
Opcional: Los valores positivos penalizan los tokens que aparecen repetidamente en el texto generado, lo que disminuye la probabilidad de repetir contenido. Este valor para Solo es compatible con |
|
Opcional: Disponible para los siguientes modelos:
Es el tipo de MIME de la respuesta de salida del texto candidato generado. Se admiten los siguientes tipos de MIME:
Especifica el tipo de respuesta adecuado para evitar comportamientos no deseados. Por ejemplo, si necesitas una respuesta con formato JSON, especifica |
|
Opcional: esquema Disponible para los siguientes modelos:
Es el esquema que debe seguir el texto candidato generado. Para obtener más información, consulta Controla el resultado generado. Debes especificar el campo |
|
Opcional: Cuando el valor semilla se fija en un valor específico, el modelo hace su mejor esfuerzo para proporcionar la misma respuesta para las solicitudes repetidas. No se garantiza un resultado determinístico. Además, cambiar la configuración del modelo o del parámetro, como la temperatura, puede causar variaciones en la respuesta, incluso cuando usas el mismo valor semilla. Según la configuración predeterminada, se usa un valor semilla aleatorio. Esta es una función de versión preliminar. Disponible para los siguientes modelos:
|
Cuerpo de la respuesta
{ "candidates": [ { "content": { "parts": [ { "text": string } ] }, "finishReason": enum (FinishReason), "safetyRatings": [ { "category": enum (HarmCategory), "probability": enum (HarmProbability), "blocked": boolean } ], "citationMetadata": { "citations": [ { "startIndex": integer, "endIndex": integer, "uri": string, "title": string, "license": string, "publicationDate": { "year": integer, "month": integer, "day": integer } } ] }, "avgLogprobs": double } ], "usageMetadata": { "promptTokenCount": integer, "candidatesTokenCount": integer, "totalTokenCount": integer } }
Elemento de la respuesta | Descripción |
---|---|
text |
El texto generado. |
finishReason |
El motivo por el que el modelo dejó de generar tokens. Si está vacío, el modelo no dejó de generar los tokens. Debido a que la respuesta usa el mensaje para el contexto, no es posible cambiar el comportamiento de cómo el modelo deja de generar tokens.
|
category |
La categoría de seguridad para la que se configura un umbral. Los valores aceptables son los siguientes:
Haz clic para expandir las categorías de seguridad
|
probability |
Los niveles de probabilidad de daños en el contenido.
|
blocked |
Una marca booleana asociada con un atributo de seguridad que indica si la entrada o salida del modelo se bloqueó. |
startIndex |
Un número entero que especifica dónde comienza una cita en el content . |
endIndex |
Un número entero que especifica dónde termina una cita en content .
|
url |
Es la URL de una fuente de cita. Los ejemplos de una fuente de URL pueden ser un sitio web de noticias o un repositorio de GitHub. |
title |
Es el título de una fuente de cita. Los ejemplos de títulos de origen pueden ser los de un artículo de noticias o un libro. |
license |
Es la licencia asociada con una cita. |
publicationDate |
La fecha en que se publicó una cita. Sus formatos válidos son YYYY , YYYY-MM y YYYY-MM-DD .
|
avgLogprobs |
Promedio de probabilidad logarítmica del candidato. |
promptTokenCount |
Cantidad de tokens en la solicitud. |
candidatesTokenCount |
Cantidad de tokens en las respuestas. |
totalTokenCount |
Cantidad de tokens en la solicitud y las respuestas. |
Ejemplos
Respuesta de texto sin transmisión
Genera una respuesta de modelo sin transmisión a partir de una entrada de texto.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_ID
: El ID del proyecto.LOCATION
: La región para procesar la solicitud.MODEL_ID
: Es el ID del modelo que deseas usar (por ejemplo,gemini-1.5-flash-002
). Consulta la lista de modelos compatibles.TEXT
: las instrucciones de texto que se incluirán en el mensaje.
Método HTTP y URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:generateContent
Cuerpo JSON de la solicitud:
{ "contents": [{ "role": "user", "parts": [{ "text": "TEXT" }] }] }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:generateContent"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:generateContent" | Select-Object -Expand Content
Python
NodeJS
Java
Go
C#
REST (OpenAI)
Puedes llamar a la API de Inference con la biblioteca de OpenAI. Para obtener más información, consulta Cómo llamar a modelos de Vertex AI con la biblioteca de OpenAI.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: El ID del proyecto.
- LOCATION: La región para procesar la solicitud.
- MODEL_ID: Es el nombre del modelo que se usará.
Método HTTP y URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions
Cuerpo JSON de la solicitud:
{ "model": "google/MODEL_ID", "messages": [{ "role": "user", "content": "Write a story about a magic backpack." }] }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions" | Select-Object -Expand Content
Python (OpenAI)
Puedes llamar a la API de Inference con la biblioteca de OpenAI. Para obtener más información, consulta Cómo llamar a modelos de Vertex AI con la biblioteca de OpenAI.
Respuesta multimodal sin transmisión
Genera una respuesta de modelo sin transmisión a partir de una entrada multimodal, como texto y una imagen.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_ID
: El ID del proyecto.LOCATION
: La región para procesar la solicitud.MODEL_ID
: Es el ID del modelo que deseas usar (por ejemplo,gemini-1.5-flash-002
). Consulta la lista de modelos compatibles.TEXT
: las instrucciones de texto que se incluirán en el mensaje.FILE_URI
: El URI de Cloud Storage para el archivo que almacena los datos.MIME_TYPE
: El tipo de MIME de IANA de los datos.
Método HTTP y URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:generateContent
Cuerpo JSON de la solicitud:
{ "contents": [{ "role": "user", "parts": [ { "text": "TEXT" }, { "fileData": { "fileUri": "FILE_URI", "mimeType": "MIME_TYPE" } } ] }] }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:generateContent"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:generateContent" | Select-Object -Expand Content
Python
NodeJS
Java
Go
C#
REST (OpenAI)
Puedes llamar a la API de Inference con la biblioteca de OpenAI. Para obtener más información, consulta Cómo llamar a modelos de Vertex AI con la biblioteca de OpenAI.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: El ID del proyecto.
- LOCATION: La región para procesar la solicitud.
- MODEL_ID: Es el nombre del modelo que se usará.
Método HTTP y URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions
Cuerpo JSON de la solicitud:
{ "model": "google/MODEL_ID", "messages": [{ "role": "user", "content": [ { "type": "text", "text": "Describe the following image:" }, { "type": "image_url", "image_url": { "url": "gs://generativeai-downloads/images/character.jpg" } } ] }] }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions" | Select-Object -Expand Content
Python (OpenAI)
Puedes llamar a la API de Inference con la biblioteca de OpenAI. Para obtener más información, consulta Cómo llamar a modelos de Vertex AI con la biblioteca de OpenAI.
Respuesta de texto de transmisión
Genera una respuesta de modelo de transmisión a partir de una entrada de texto.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_ID
: El ID del proyecto.LOCATION
: La región para procesar la solicitud.MODEL_ID
: Es el ID del modelo que deseas usar (por ejemplo,gemini-1.5-flash-002
). Consulta la lista de modelos compatibles.TEXT
: las instrucciones de texto que se incluirán en el mensaje.
Método HTTP y URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:streamGenerateContent
Cuerpo JSON de la solicitud:
{ "contents": [{ "role": "user", "parts": [{ "text": "TEXT" }] }] }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:streamGenerateContent"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:streamGenerateContent" | Select-Object -Expand Content
Python
NodeJS
Java
Go
REST (OpenAI)
Puedes llamar a la API de Inference con la biblioteca de OpenAI. Para obtener más información, consulta Cómo llamar a modelos de Vertex AI con la biblioteca de OpenAI.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: El ID del proyecto.
- LOCATION: La región para procesar la solicitud.
- MODEL_ID: Es el nombre del modelo que se usará.
Método HTTP y URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions
Cuerpo JSON de la solicitud:
{ "model": "google/MODEL_ID", "stream": true, "messages": [{ "role": "user", "content": "Write a story about a magic backpack." }] }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions" | Select-Object -Expand Content
Python (OpenAI)
Puedes llamar a la API de Inference con la biblioteca de OpenAI. Para obtener más información, consulta Cómo llamar a modelos de Vertex AI con la biblioteca de OpenAI.
Respuesta multimodal de transmisión
Genera una respuesta de modelo de transmisión a partir de una entrada multimodal, como texto y una imagen.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_ID
: El ID del proyecto.LOCATION
: La región para procesar la solicitud.MODEL_ID
: Es el ID del modelo que deseas usar (por ejemplo,gemini-1.5-flash-002
). Consulta la lista de modelos compatibles.TEXT
: las instrucciones de texto que se incluirán en el mensaje.FILE_URI1
: El URI de Cloud Storage para el archivo que almacena los datos.MIME_TYPE1
: El tipo de MIME de IANA de los datos.FILE_URI2
: El URI de Cloud Storage para el archivo que almacena los datos.MIME_TYPE2
: El tipo de MIME de IANA de los datos.
Método HTTP y URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:streamGenerateContent
Cuerpo JSON de la solicitud:
{ "contents": [{ "role": "user", "parts": [ { "text": "TEXT" }, { "fileData": { "fileUri": "FILE_URI1", "mimeType": "MIME_TYPE1" } }, { "fileData": { "fileUri": "FILE_URI2", "mimeType": "MIME_TYPE2" } } ] }] }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:streamGenerateContent"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:streamGenerateContent" | Select-Object -Expand Content
Python
NodeJS
Java
Go
REST (OpenAI)
Puedes llamar a la API de Inference con la biblioteca de OpenAI. Para obtener más información, consulta Cómo llamar a modelos de Vertex AI con la biblioteca de OpenAI.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: El ID del proyecto.
- LOCATION: La región para procesar la solicitud.
- MODEL_ID: Es el nombre del modelo que se usará.
Método HTTP y URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions
Cuerpo JSON de la solicitud:
{ "model": "google/MODEL_ID", "stream": true, "messages": [{ "role": "user", "content": [ { "type": "text", "text": "Describe the following image:" }, { "type": "image_url", "image_url": { "url": "gs://generativeai-downloads/images/character.jpg" } } ] }] }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions" | Select-Object -Expand Content
Python (OpenAI)
Puedes llamar a la API de Inference con la biblioteca de OpenAI. Para obtener más información, consulta Cómo llamar a modelos de Vertex AI con la biblioteca de OpenAI.
Versiones del modelo
Para usar la versión actualizada automáticamente, especifica el nombre del modelo sin el número de versión final, por ejemplo, gemini-1.5-flash
en lugar de gemini-1.5-flash-001
.
Para obtener más información, consulta Versiones de modelos y ciclo de vida de Gemini.
¿Qué sigue?
- Obtén más información sobre la API de Gemini.
- Obtén más información sobre las llamadas a funciones.
- Obtén más información sobre cómo fundamentar las respuestas para los modelos de Gemini.