Hola a todos,
Hace ya tiempo que para hacer una Azure Function utilicé como ejemplo una nube de palabras: GENERAR NUBE DE PALABRAS CON AZURE FUNCTIONS EN POWER APPS
Hoy he decidido hacer algo parecido que usando únicamente GPT, no voy a utilizar Python ni functions, pero sí Foundry.
Obteniendo resultados como estos:

Como siempre, utilizo Power Apps como plataforma de visualización y ejecución de la herramienta o, mejor dicho, del flujo de Automate:

El flujo que utilizo es el mismo que estoy usando en los últimos post:

Primero leemos los datos de los comentarios del departamento que hayamos seleccionado en la APP

{
"type": "array",
"items": {
"type": "object",
"properties": {
"Value": {
"type": "string"
}
},
"required": [
"Value"
]
}
}

concat('SubDepartment eq ''', items('Aplicar_a_cada_uno')?['Value'], '''')

trim(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
string(body('Select_Comments')),
'"}, {"text":"',
'\n\n---\n\n'
),
'"},{"text":"',
'\n\n---\n\n'
),
'"},\n {"text":"',
'\n\n---\n\n'
),
'"},\r\n {"text":"',
'\n\n---\n\n'
),
'[{"text":"',
''
),
'{"text":"',
''
),
'"}]',
''
),
'"}',
''
)
)

{
"model": "gpt5mini-test",
"input": "Genera una nube de palabras en SVG estilo word cloud profesional.\n\nAnaliza los comentarios y extrae entre 12 y 15 conceptos clave.\n\nTono:\n- positivo → verde o azul verdoso\n- negativo → rojo o naranja\n- neutral → gris\n\nESTRUCTURA:\n- una palabra principal muy grande en el centro\n- 3 a 5 palabras medianas alrededor\n- resto pequeñas en la periferia\n\nDISEÑO:\n- composición centrada y equilibrada\n- sin solapamientos\n- reducir ligeramente la distancia entre palabras\n- permitir cercanía visual sin que se toquen\n- evitar espacios vacíos grandes\n- evitar palabras aisladas\n\nROTACIÓN:\n- mayoría horizontal\n- algunas palabras con ligera rotación\n- no usar vertical excesivo\n\nESTILO:\n- fondo blanco\n- tipografía sans-serif en negrita\n- SVG limpio\n\nSALIDA:\n- solo SVG\n- sin explicaciones\n\nComentarios:\n@{outputs('Redactar')}"
}

body('HTTP_GPT')?['output'][1]?['content'][0]?['text']
Como podéis ver, el modelo desplegado es GPT Mini 5.4 y es en el prompt en el que indicamos qué es lo que queremos, el formato y colores de la nube. No salimos a una función de Azure, salimos al modelo desplegado de IA y traemos la imagen que mostramos en Power Apps:
Vamos a colocar esto en el control de imagen en la propiedad Imagen:
"data:image/svg+xml;utf8," & EncodeUrl(varResp)
Y en el botón para activar el flujo y controlar lo que seleccionamos:
If(
IsEmpty(ComboBox1.SelectedItems);
Notify("Selecciona un departamento"; NotificationType.Warning);
Set(
varDeptosJSON;
JSON(
ForAll(
ComboBox1.SelectedItems;
{ Value: Value }
);
JSONFormat.Compact
)
);;
Set(
varResp;
NUBEDEPALABRASCONGPT.Run(varDeptosJSON).resultado
)
)
