Herramientas de usuario

Herramientas del sitio


clase:iabd:pia:proyectos:agentes:paso2

¡Esta es una revisión vieja del documento!


Ejercicio: Proxy Meteorológico con n8n, AEMET y Ollama

Este ejercicio consiste en crear un flujo de trabajo en n8n que actúe como un puente (proxy) entre un cliente de IA (Open WebUI) y los datos reales de la AEMET, procesados por un modelo local de Ollama.

Paso 1: Webhook y Extracción de Datos de AEMET

El primer objetivo es crear un punto de entrada que, al ser consultado, devuelva el JSON crudo de la estación meteorológica de Valencia.

Configuración:

  • Nodo Webhook: Configurar en modo GET con el path clima-valencia.
  • Nodo HTTP Request (Autenticación): Realizar una petición a la API de AEMET OpenData usando la API Key en las cabeceras.
  • Nodo HTTP Request (Descarga): AEMET devuelve una URL temporal en el campo datos. Se debe realizar una segunda petición a esa URL dinámica.
  • Respuesta: El flujo debe devolver el JSON con los datos climáticos (temperatura, humedad, viento).

Paso 2: Integración de IA con Ollama

Una vez tenemos los datos técnicos, añadimos una capa de inteligencia para que la respuesta no sea un JSON frío, sino un texto natural en castellano.

Pasos:

  • Instalar el nodo Ollama en n8n.
  • Conectar el resultado de AEMET al nodo de Ollama.
  • Prompt Engineering: Configurar el nodo para que actúe como meteorólogo. Ejemplo: "Traduce estos datos: Temperatura json.ta°C a una frase amigable".
  • El flujo ahora devuelve una cadena de texto generada por el modelo local (ej. Llama 3).

Paso 3: Emulación de la API de OpenAI (Proxy)

Para que herramientas externas puedan usar nuestro flujo como si fuera un modelo oficial, debemos "disfrazar" la salida de n8n para que cumpla el estándar de OpenAI.

Cambios en el flujo:

  • Webhook: Cambiar el método a POST y el path a v1/chat/completions.
  • Nodo Respond to Webhook: En lugar de devolver solo el texto, se debe construir un objeto JSON que contenga los campos requeridos: id, object, choices, message y content.
{
  "choices": [
    {
      "message": {
        "role": "assistant",
        "content": "Resultado de la IA aquí"
      }
    }
  ]
}

Paso 4: Consumo desde Open WebUI

Finalmente, integramos nuestro n8n como un proveedor de servicios en la interfaz de usuario.

Instrucciones:

  • En Open WebUI, ir a Settings > Connections > OpenAI API.
  • Añadir la URL de nuestro webhook de n8n (omitiendo el final /v1/chat/completions).
  • Seleccionar el nuevo modelo en el chat y comprobar que, al preguntar cualquier cosa, la IA responde con el clima real de Valencia obtenido de la AEMET.
clase/iabd/pia/proyectos/agentes/paso2.1771432227.txt.gz · Última modificación: por Lorenzo