DEV Community

Israel Blancas
Israel Blancas

Posted on • Originally published at Medium on

Cómo los perfiles JSON me ayudaron a que la IA me entendiera

El otro día, hablando con Carlos Caballero, me comentaba el suplicio que a veces es generar miniaturas para sus vídeos de YouTube. No sé si sabéis, pero Carlos tiene un canal sobre programación y tecnología, y el toque personal, la imagen, es crucial. Me explicaba que, por mucho que se esforzara con los prompts, los resultados que le devolvía la IA a menudo eran genéricos, carentes de la chispa o del estilo visual que él buscaba. No es que las imágenes fueran feas, es que no eran suyas.

Me reconozco en su problema. A menudo, cuando uso una IA generativa, le pido que me escriba un texto sobre algo muy concreto, como alguna documentación sobre OpenTelemetry, y lo que me devuelve es correcto, pero le falta contexto. No sabe que quiero que se enfoque en los problemas que soluciona, no en cómo está implementado. Le falta un mapa, una guía que le diga no solo qué hacer, sino cómo hacerlo para que el resultado sea coherente con lo que busco.

Fue entonces cuando le hablé de la idea que había visto un tweet (si podemos seguir llamándolo así): usar perfiles de contexto JSON (JSON Context Profiles). Lo comenté también en el segundo episodio de “Compila o revienta”. No es una varita mágica, sino una manera mucho más estructurada y eficiente de comunicarnos con la IA. En lugar de una simple instrucción, le damos un archivo de configuración, un pequeño dossier con todas las reglas del juego.

La clave está en ir más allá del prompt simple y crear un perfil con información detallada.

https://medium.com/media/30fb1ca7e4c7007a67c6af00482a8899/href

Un mapa de carretera para la IA

La clave está en ir más allá del prompt simple y crear un perfil con información detallada. Por ejemplo, imagina un archivo JSON que contenga:

  • "meta" : Aquí defines los parámetros básicos: el idioma, el tono, la longitud del texto o, en el caso de Carlos, el estilo visual (minimalista, con colores vivos, etc.). Le dices a la IA a quién se dirige y cuál es el propósito de su trabajo.
  • "restrictions" : Aquí pones los límites. "No uses más de 1000 palabras", "no incluyas texto", "los colores principales deben ser el azul y el naranja". Esto evita que la IA se vaya por las ramas.
  • "data" : Esta es la parte más interesante. En lugar de un simple texto, le proporcionas una estructura de datos. Para las miniaturas de Carlos, por ejemplo, podría ser una lista de conceptos clave, un titular que debe destacar, o los elementos visuales que tienen que aparecer (un ordenador, un logo de Python, una taza de café). Esto obliga a la IA a seguir una estructura de salida específica.

Esto simplifica enormemente el proceso. En lugar de reescribir un prompt larguísimo una y otra vez, solo tienes que cambiar los datos del archivo JSON.

Poniéndolo en práctica

Por ejemplo, si doy a Gemini esta imagen:

Alhambra de Granada
Alhambra de Granada

Y le pido al modelo que me genere el JSON Context Profile, obtengo esto de vuelta:

{
  "image_description": "A dusk-time, wide-angle shot of the Alhambra complex in Granada, Spain, with a focus on its architectural details. The image is taken from a lower vantage point, looking up at the complex. The sky is a gradient of blue and purple, with clouds obscuring the tops of the mountains in the background. The Alhambra itself is a collection of various architectural styles. The most prominent feature is a large, rectangular, Renaissance-style palace building on the right, which is the Palace of Charles V. To its left and slightly forward is a large, older, and more fortified structure, likely the Alcazaba, with prominent crenellated walls and towers. In the center, a bell tower rises above the lower buildings, which are a mix of terracotta-colored structures with traditional Spanish tiling and arched windows. The foreground is filled with the dark green foliage of trees, which partially obscure the base of the fortress walls. The buildings are illuminated by warm, yellow-orange light, creating a strong contrast with the cooler tones of the sky and mountains. The lighting suggests that the photo was taken around sunset or just after.",
  "location": "Alhambra, Granada, Spain",
  "time_of_day": "Dusk/Sunset",
  "architectural_styles": [
    "Moorish/Nasrid",
    "Renaissance"
  ],
  "key_features": [
    "Alcazaba fortress",
    "Palace of Charles V",
    "Bell tower",
    "Forested hillside",
    "Mountain range in the background"
  ],
  "dominant_colors": [
    "Terracotta (buildings)",
    "Dark green (trees)",
    "Blue/Purple (sky and mountains)",
    "Yellow/Orange (lighting)"
  ],
  "mood": "Majestic, historic, serene",
  "possible_use_case": "Travel and tourism promotion, historical documentation, photography portfolio"
}
Enter fullscreen mode Exit fullscreen mode

El modelo de IA, al recibir esta información estructurada, tiene una guía clara. Sabe que debe generar una imagen y que debe incluir los elementos visuales y el texto que le has pasado. La probabilidad de que el resultado se ajuste a tus expectativas se dispara.

De hecho, si en una nueva conversación, pedimos que se genere una imagen basada en ese prompt, obtendremos esto:


A la izquierda, la imagen original. A la derecha, la imagen generada desde el JSON Context Profile por Gemini

A partir del JSON, podemos modificarlo y obtener imágenes similares pero con modificaciones. Por ejemplo, puedo cambiar el cielo de la fotografía:

Dependiendo del modelo, esto será más o menos acertado. Además, según la imagen, algunos parámetros aparecerán o desaparecerán: ángulo de la cámara, texto, edificios, número de personas…

También podemos hacerlo utilizando varias fotografías, de forma que podemos pedir a nuestro modelo de confianza un JSON que extraiga el estilo de lo que queremos hacer y nos permita alcanzar los resultados deseados.

https://medium.com/media/7c86c9eba896155bceafd48e65906615/href

Al final, no se trata de convertir a la IA en una mente creativa, sino de usarla como la herramienta inteligente que es. Si le damos las instrucciones adecuadas, de forma precisa y estructurada, el trabajo se vuelve mucho más eficiente y los resultados, más satisfactorios. Y, con suerte, Carlos tendrá miniaturas que no solo sean correctas, sino que realmente le representen.


Top comments (0)