Usa la API de inferencia para generar instrucciones de 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.
Para obtener más información, consulta lo siguiente:
Modelos compatibles:
Modelo | Versión |
---|---|
Gemini 1.5 Flash (versión preliminar) | gemini-1.5-flash-preview-0514 |
Gemini 1.5 Pro (versión preliminar) | gemini-1.5-pro-preview-0514 |
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 |
Limitaciones:
Si proporcionas muchas imágenes, la latencia puede ser alta.
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": [{ ... }], "generation_config": { ... }, "safety_settings": { ... } ... }'
Python
gemini_model = GenerativeModel(MODEL_ID) generation_config = GenerationConfig(...) model_response = gemini_model.generate_content([...], generation_config, safety_settings={...})
De 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": [{ ... }], "generation_config": { ... }, "safety_settings": { ... } ... }'
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
El cuerpo de la solicitud contiene datos con los siguientes parámetros:
Parámetros | |
---|---|
|
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: Las instrucciones del sistema que proporcionó el usuario para el modelo. Nota: Solo se debe usar |
|
Opcional. Consulta API de llamada a función. |
|
Opcional. Consulta API de llamada a función. |
|
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. |
Contenido
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. |
Part
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. |
|
Opcional: Datos almacenados en un archivo. |
|
Opcional: Contiene una cadena que representa el campo Consulta API de llamada a función. |
|
Opcional: La salida del resultado de una Consulta API de llamada a función. |
|
Opcional: Metadatos del video. 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 | |
---|---|
|
Tipo de MIME de IANA de los datos. |
|
Bytes sin procesar. |
FileData
Datos basados en URI.
Parámetros | |
---|---|
mime_type |
Tipo de MIME de IANA de los datos. |
file_uri |
string El URI de Cloud Storage para el archivo que almacena los datos |
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 API de llamada a función 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 daño. |
|
Opcional: El umbral de bloqueo de daño. |
|
Opcional: La cantidad máxima de términos influyentes que contribuyen más a las puntuaciones de seguridad, lo que podría causar un posible bloqueo. |
|
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. |
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: Controla la aleatorización de las predicciones. |
|
Opcional: Si se especifica, se usa el muestreo de núcleos. |
|
Opcional: Si se especifica, se usa el muestreo de Top-K. |
|
Opcional: Cantidad de candidatos que se generarán. |
|
Opcional: int La cantidad máxima de tokens de salida que se generarán por mensaje. |
|
Opcional: Detén las secuencias. |
|
Opcional: Penalizaciones positivas. |
|
Opcional: Penalizaciones de frecuencia. |
|
Opcional: Mimetype de respuesta de salida del texto candidato generado. Mimetype compatible:
Esta es una función de versión preliminar. |
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.
- 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
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.
- 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 TIANA 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" }, { "file_data": {"file_uri": "FILE_URI", "MIME_TYPE"} }, { "file_data": {"file_uri": "FILE_URI", "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
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.
- 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
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.
- 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
¿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.