La API de Gemini te permite enviar prompts multimodales al modelo de Gemini. Las modalidades compatibles incluyen texto, imágenes y video.
Para obtener orientación general sobre el diseño de prompts, consulta Estrategias de diseño de prompts.
Modelos compatibles
Los siguientes modelos admiten respuestas de prompts multimodales.
- Gemini 1.5 Flash
- Gemini 1.5 Pro
- Gemini 1.0 Pro Vision
Para mejorar tus prompts multimodales, sigue estas prácticas recomendadas:
-
Conceptos básicos sobre el diseño de prompts
- Sé específico en tus instrucciones: Crea instrucciones claras y concisas que dejen espacio mínimo para interpretaciones erróneas.
- Agrega algunos ejemplos a tu prompt: Usa ejemplos poco frecuentes para ilustrar lo que quieres lograr.
- Desglosar paso a paso: Divide las tareas complejas en subobjetivos administrables y guiando el modelo a través del proceso.
- Especifica el formato del resultado: En el prompt, solicita que el resultado tenga el formato que deseas, como Markdown, JSON, HTML y más.
- Coloca tu imagen primero para los prompts de una sola imagen: Si bien Gemini puede manejar las entradas de imágenes y texto en cualquier orden, en el caso de los prompts que contienen una sola imagen, podría tener un mejor rendimiento si esa imagen (o video) se coloca antes del prompt de texto. Sin embargo, en el caso de los prompts que requieren que las imágenes estén muy intercaladas con textos para que tengan sentido, usa el orden que sea más natural.
-
Soluciona problemas de tu prompt multimodal
- Si el modelo no extrae información de la parte relevante de la imagen: Agrega pistas sobre los aspectos de la imagen de los que quieres que el prompt extraiga información.
- Si el resultado del modelo es demasiado genérico (no lo suficientemente personalizado para la entrada de imagen o video): Al inicio del prompt, intenta pedirle al modelo que describa las imágenes o el video antes de proporcionar la instrucción de la tarea, o intenta pedirle al modelo que haga referencia a lo que hay en la imagen.
- Para solucionar la parte que falló: Pídele al modelo que describa la imagen o pídele que explique su razonamiento, para medir su comprensión inicial.
- Si el prompt muestra contenido alucinado: Intenta reducir la configuración de la temperatura o pide descripciones más cortas al modelo para que sea menos probable extrapolar detalles adicionales.
- Ajusta los parámetros de muestreo: Experimenta con diferentes opciones de configuración de temperatura y selecciones de Top-K para ajustar la creatividad del modelo.
Conceptos básicos del diseño de prompts
En esta sección, se amplían las prácticas recomendadas que se mencionaron en la sección anterior.
Nota: Los resultados del modelo de los siguientes ejemplos de Gemini pueden variar de una ejecución a otra.
Sé específico en tus instrucciones
Los prompts tienen más éxito cuando son claros y detallados. Si tienes un resultado específico en mente, es mejor incluir ese requisito en el prompt para asegurarte de obtener el resultado que deseas.
A veces, la intención de un prompt puede parecer clara para la persona que lo escribió, pero en realidad no se especifica. Para personalizar el comportamiento del modelo, considera cómo se puede interpretar (de forma incorrecta) el prompt y asegúrate de que las instrucciones sean específicas y claras. Recuerda dejar un espacio mínimo para interpretaciones erróneas
Para esta imagen de un panel de aeropuerto, pedirle al modelo que simplemente “describa esta imagen” podría generar una descripción general. Si necesitas el modelo para analizar la hora y la ciudad desde la imagen, puedes incluir esa solicitud directamente en el prompt.
Instrucción | Respuesta del modelo |
---|---|
Describe esta imagen. |
En la imagen, se muestra el panel de llegadas y salidas de un aeropuerto. |
Prompt actualizado | Respuesta mejorada |
---|---|
Analiza la hora y la ciudad del panel de aeropuerto que se muestra en esta imagen y crea una lista con esos datos. |
Agrega algunos ejemplos
El modelo Gemini puede aceptar varias entradas, que puede usar como ejemplos para comprender el resultado que deseas. Agregar estos ejemplos puede ayudar a que el modelo identifique los patrones y aplique la relación entre las imágenes y respuestas dadas al ejemplo nuevo. Esto también se conoce como aprendizaje en pocos intentos.
En el siguiente ejemplo, el resultado inicial está escrito en forma de oración y también contiene el país (Brasil). Supongamos que deseas obtener el resultado en un formato o estilo diferente y solo quieres la ciudad, no el país. Agregar ejemplos de pocos intentos a tu prompt puede hacer que el modelo responda de la manera que deseas.
Instrucción | Respuesta del modelo |
---|---|
Determina la ciudad junto con el punto de referencia. |
El punto de referencia es la estatua del Cristo Redentor de Río de Janeiro, Brasil. |
Prompt actualizado | Respuesta mejorada |
---|---|
Determina la ciudad junto con el punto de referencia. |
ciudad: Roma, punto de referencia: el Coliseo. |
ciudad: Beijing, punto de referencia: la Ciudad Prohibida |
|
ciudad: Río de Janeiro, punto de referencia: estatua del Cristo Redentor |
Desglósalo paso a paso
Para tareas complejas como las que requieren comprensión visual y razonamiento, puede ser útil dividir la tarea en pasos más pequeños y simples. Como alternativa, también podría ser efectivo si le pides al modelo que "piense paso a paso" en el prompt.
Instrucción | Respuesta del modelo |
---|---|
¿Cuándo se me acabará el papel higiénico? |
Pronto, solo te quedan 3 rollos. |
Prompt actualizado | Respuesta mejorada |
---|---|
|
|
Los problemas matemáticos u otros tipos de problemas de palabras son excelentes opciones para pedirle al modelo que piense paso a paso.
Instrucción | Respuesta |
---|---|
¿Cuál es el cuarto término de la secuencia? |
-135 |
La respuesta del modelo es incorrecta. Algunas formas de mejorar esto son pedirle al modelo que analice el problema antes de responder al prompt.
Instrucción | Respuesta |
---|---|
Analiza primero la fórmula de la imagen. Luego, en función de la fórmula, responde “¿Cuál es el cuarto término de la secuencia?”. |
Haz clic para expandir el resultado$$ b(n) = b(n-1) * (-3) $$ $$ b(1) = 15 $$
$$ b(4) = b(4-1) * (-3) $$ $$ b(4) = b(3) * (-3) $$ $$ b(3) = b(3-1) * (-3) $$ $$ b(3) = b(2) * (-3) $$ $$ b(2) = b(2-1) * (-3) $$ $$ b(2) = b(1) * (-3) $$ $$ b(2) = 15 * (-3) $$ $$ b(2) = -45 $$ $$ b(3) = b(2) * (-3) $$ $$ b(3) = -45 * (-3) $$ $$ b(3) = 135 $$ $$ b(4) = b(3) * (-3) $$ $$ b(4) = 135 * (-3) $$ $$ b(4) = -405 $$ Por lo tanto, el cuarto término de la secuencia es -405. |
Esta respuesta del modelo es correcta: ahora para que la respuesta sea aún más optimizada, puedes pedirle al modelo que piense paso a paso.
Prompt actualizado | Respuesta mejorada |
---|---|
¿Cuál es el cuarto término de la secuencia? Piensa paso a paso. |
El primer término es 15. El segundo término es b(1) * (-3) = 15 * (-3) = -45. El tercer término es b(2) * (-3) = -45 * (-3) = 135. El cuarto término es b(3) * (-3) = 135 * (-3) = -405. |
Intenta especificar el formato de salida
Un problema común es la necesidad de que el resultado del modelo esté en un formato determinado (p. ej., Markdown, JSON, HTML), en especial si el resultado del modelo debe transferirse mediante una tarea descendente. Puedes intentar producir un resultado en ese formato cuando le indicas al modelo que lo haga dentro del prompt. A continuación, se muestran dos ejemplos:
Instrucción | Respuesta del modelo |
---|---|
Analiza la tabla en esta imagen en formato Markdown |
| Asunto | Estado | Hora | Fecha de inicio | Plazo | | ------- | ------ | ---- | --------- | ------ | | Matemáticas | Listo | 1.5 h | 29/11/2023 | 1/12/2023 | | Geografía | Listo | 30 min | 2/12/2023 | 4/12/2023 | | Física | En curso | 2 h | 3/12/2023 | 5/12/2023 | | Biología | No iniciado | 6 h | 2/11/2016 | 6/12/2023 | |
Instrucción | Respuesta del modelo |
---|---|
Proporciona una lista de todos los atributos siguientes: ingredientes, tipo de cocina, vegetariano o no, en formato JSON |
|
Coloca primero la imagen para prompts de una sola imagen
Si bien Gemini puede interpretar la imagen y el texto en cualquier orden dentro de un prompt, colocar una sola imagen antes del prompt de texto puede generar mejores resultados. En las siguientes muestras, notarás que la imagen o el video aparecen antes del texto en cada prompt.
Soluciona problemas de tu prompt multimodal
Es posible que debas solucionar los problemas de tu instrucción si no obtienes una respuesta útil. Estas son algunas estrategias que puedes probar.
Si el modelo no extrae información de la parte relevante de la imagen
Para obtener una respuesta más específica, puedes indicar desde qué aspectos de la imagen deseas que la solicitud extraiga información para generar su respuesta.
Instrucción | Respuesta del modelo |
---|---|
¿Cuántos días durarán estos pañales para un bebé? |
Los pañales se acabarán en 198 días. |
Prompt actualizado | Respuesta mejorada |
---|---|
¿Cuánto durarán estos pañales antes de acabarse? Usa el peso que se muestra en la caja para determinar la edad del bebé y usa la cantidad total de pañales que aparece en la caja. Divide la cantidad total por la cantidad de pañales que el bebé usa en un día. |
La caja contiene 198 pañales. La caja indica que los pañales son para niños que pesan entre 10 y 17 kg. Es probable que el niño promedio de este rango de peso tenga entre 1 y 2 años. Por lo general, un niño de 2 años usa 6 pañales por día. Por lo tanto, durarán aproximadamente 33 días (198/6). |
Si el resultado del modelo es demasiado genérico y no se adapta lo suficiente a la entrada de imagen o video
Para ayudar a que el modelo adapte su respuesta a las imágenes, pídele que describa las imágenes antes de realizar su tarea de razonamiento.
Instrucción | Respuesta del modelo |
---|---|
¿Qué tienen en común estas imágenes? |
Las cuatro imágenes son ejemplos de fotografías horizontales. |
Prompt actualizado | Respuesta mejorada |
---|---|
Primero, describe el contenido de cada imagen en detalle. ¿Qué tienen en común estas imágenes? |
En la primera imagen, se muestra a una persona empacando una maleta. La segunda imagen muestra un pasillo vacío en un centro comercial. La tercera imagen muestra un rollo de papel higiénico. La cuarta imagen muestra un mar oscuro y tormentoso. La común entre estas imágenes es que todos son ejemplos de espacios liminales. Los espacios liminales son lugares o situaciones que se encuentran entre otros dos lugares o situaciones. A menudo, se caracterizan por un sentido de incertidumbre o ambigüedad. La primera imagen muestra a la persona entre estar en casa y estar de viaje. La segunda imagen muestra el pasillo entre dos tiendas. La tercera imagen es de papel higiénico, que puede representar un baño. Un baño es un espacio de transición entre el ámbito privado y el público. Es un lugar donde nos preparamos para ir al mundo exterior o para dejarlo. En la cuarta imagen, se muestra el mar entre la calma y la tormenta. Los espacios liminales pueden ser emocionantes e inquietantes. Pueden ser un lugar de nuevos comienzos o de finales. Pueden ser un lugar de reflexión o un lugar de acción. |
También puedes intentar solicitar explícitamente que el modelo haga referencia a lo que hay en la imagen.
Prompt actualizado | Respuesta mejorada |
---|---|
¿Qué tienen en común estas imágenes? Consulta el contenido de las imágenes en tu respuesta. |
Todas las imágenes están relacionadas con viajes. La primera imagen muestra a una persona empacando una maleta; la segunda, un pasillo vacío en un centro comercial; la tercera imagen, una pila de papel higiénico, y la cuarta imagen, un mar oscuro y tormentoso. Todas estas imágenes están relacionadas con viajes porque son todo lo que las personas necesitan o usan cuando viajan. En la primera imagen, se muestra a una persona empacando una maleta, que es algo que hacen las personas cuando viajan. La segunda imagen muestra un pasillo vacío en un centro comercial, que es un lugar donde las personas suelen ir a comprar artículos para sus viajes. La tercera imagen muestra una pila de papel higiénico, algo que la gente suele usar cuando viaja. La cuarta imagen muestra un mar oscuro y tormentoso, algo que las personas suelen encontrar cuando viajan. |
Las mismas sugerencias funcionan para el resultado creativo a partir de imágenes o videos. En el siguiente ejemplo con el conejo, pedirle explícitamente al modelo que incluya aspectos de la imagen puede mejorar el resultado.
Instrucción | Respuesta del modelo |
---|---|
¿Puedes escribirme un poema sobre esta imagen? |
Conejito, tan suave y marrón, Mordisqueas el pasto, tan verde y suave, |
Prompt actualizado | Respuesta mejorada |
---|---|
¿Puedes escribirme un poema descriptivo y dramático sobre esta imagen y también incluir la ubicación? |
Conejito sobre el verde, ¿Es el océano azul Pequeño conejo, dime la verdad, Quizás sea la enormidad de todo, Conejito, me pregunto qué soñarás, Sin importar cómo sea, conejito |
Soluciona problemas de qué parte del prompt falló
Puede ser difícil saber si un prompt falló porque el modelo no entiendió la imagen en primer lugar, o si la entendió, pero no realizó los pasos de razonamiento correctos después.
Para distinguir los motivos, pídele al modelo que describa el contenido de la imagen.
En el siguiente ejemplo, si el modelo responde con un tentempié que parece extraño en combinación con té (p. ej., palomitas de maíz) primero puedes solucionar problemas a fin de determinar si el modelo reconoció correctamente que la imagen contiene té.
Instrucción | Prompt para solucionar problemas |
---|---|
¿Qué tentempié puedo preparar en 1 minuto que se combine bien con esto? |
Describe el contenido de esta imagen. |
Otra estrategia es pedirle al modelo que explique su razonamiento. Eso puede ayudarte a limitar qué parte del razonamiento falló, si la hubiera.
Instrucción | Prompt para solucionar problemas |
---|---|
¿Qué tentempié puedo preparar en 1 minuto que se combine bien con esto? |
¿Qué tentempié puedo preparar en 1 minuto que se combine bien con esto? Explica por qué. |
Ajusta los parámetros de muestreo
En cada solicitud, envías no solo la instrucción multimodal, sino también un conjunto de parámetros de muestreo al modelo. El modelo puede generar resultados diferentes para los valores de parámetros diferentes. Experimenta con los diferentes parámetros a fin de obtener los mejores valores para la tarea. Los parámetros que se ajustan con mayor frecuencia son los siguientes:
- Temperatura
- Top-P
- Top-K
Temperatura
La temperatura se utiliza para el muestreo durante la generación de la respuesta, que ocurre cuando se aplican Top-P y Top-K.
La temperatura controla el grado de aleatoriedad en la selección de tokens. Las temperaturas más bajas son buenas para las instrucciones que requieren una respuesta más determinística y menos abierta o creativa, mientras que las temperaturas más altas pueden generar resultados más diversos o creativos. Una temperatura de 0 es determinística, lo que significa que siempre se elige la respuesta de mayor probabilidad.
Para la mayoría de los casos de uso, intenta empezar con una temperatura de 0.4. Si necesitas resultados más creativos, intenta aumentar la temperatura. Si observas alucinaciones claras, intenta reducir la temperatura.
Top-K
El parámetro Top-K cambia la manera en la que el modelo selecciona los tokens para el resultado. Un Top-K de 1 significa que el siguiente token seleccionado es el más probable entre todos los tokens en el vocabulario del modelo (también llamado decodificación codiciosa), mientras que un Top-K de 3 significa que el siguiente token se selecciona de los 3 tokens más probables (con la temperatura).
Para cada paso de elección de tokens, se muestran los tokens de Top-K con las probabilidades más altas. Luego, los tokens se filtran según el Top-P con el token final seleccionado 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. El valor predeterminado de Top-K es 32.
Top-P
Top-P cambia la manera en la que el modelo selecciona tokens para la salida. 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.6, 0.3 y 0.1 y el valor Top-P es 0.9, el modelo elegirá A o B como el siguiente token usando la temperatura y excluirá a C como candidato.
Especifica un valor más bajo para respuestas menos aleatorias y un valor más alto para respuestas más aleatorias. El valor predeterminado de Top-P es 1.0.
¿Qué sigue?
- Prueba un instructivo de guía de inicio rápido con Generative AI Studio o la API de Vertex AI.
- Para comenzar a usar la API de Gemini, consulta la guía de inicio rápido de la API de Gemini.