Ir al contenido principal
Versión: 2.0.0

Aplicación meteorológica en lenguaje natural

Esta sencilla aplicación web permite consultar el tiempo actual o la previsión de un lugar mediante consultas en lenguaje natural (por ejemplo, "Previsión para Tokio", "¿Está lloviendo en Seattle?").

Aprovecha el Modelo de Lenguaje Gaia (a través de un punto final compatible con OpenAI) para entender su solicitud y la API Nubila Weather para obtener los datos meteorológicos reales.

imagen

imagen

información

El código fuente completo y las instrucciones detalladas para configurar y ejecutar este ejemplo se pueden encontrar en el repositorio Gaia Cookbook.

Características

  • Obtenga el tiempo actual o las previsiones en un inglés sencillo.
  • Utiliza Gaia LLM para interpretar la ubicación y la información deseada (actual/prevista) de su consulta.
  • Obtiene datos meteorológicos detallados de la API de Nubila.
  • Muestra la interpretación del LLM (ubicación, coordenadas, tipo de solicitud).
  • Ilustra el concepto de una "llamada a la herramienta" del LLM mostrando qué función y argumentos decidió utilizar conceptualmente el LLM.
  • Proporciona ejemplos en los que se puede hacer clic para utilizarlos rápidamente.
  • Interfaz de usuario sencilla y limpia creada con JavaScript, Node.js y CSS.

Cómo funciona

  1. Consulta del usuario: Introduce una consulta como "¿Qué tiempo hace en Berlín?" en la interfaz web.
  2. Petición Backend: La consulta se envía desde tu navegador al servidor backend de Node.js.
  3. Análisis LLM (Gaia): El backend envía tu consulta a la API de Gaia. Gaia la analiza para:
    • Identifique el lugar (por ejemplo, "Berlín").
    • Determinar las coordenadas geográficas aproximadas (latitud y longitud).
    • Entiende si quieres el tiempo "actual" o una "previsión".
  4. Llamada a la API (Nubila): El backend utiliza las coordenadas y el tipo de petición ('actual' o 'previsión') identificados por Gaia para realizar una petición al punto final apropiado de la API meteorológica de Nubila.
  5. Datos meteorológicos: La API de Nubila responde con los datos meteorológicos solicitados.
  6. Pantalla frontal: El backend envía tanto el análisis de Gaia como los datos meteorológicos de Nubila a tu navegador. A continuación, se muestra el frontend:
    • Cómo Gaia interpretó tu petición.
    • Una simulación de la "llamada de la herramienta" que haría Gaia.
    • El tiempo actual formateado o los detalles de la previsión.

Requisitos previos

Configuración e instalación

  1. Clone el repositorio (o descargue los archivos):

    git clone <repository-url>
    cd <repository-folder-name>

    (Sustituir <repository-url> y <repository-folder-name> en consecuencia)

  2. Instalar dependencias:

    npm instalar

    Esto instala Express, node-fetch, dotenv y cors.

Configuración

  1. Cree .env archivo: En el directorio raíz del proyecto, cree un archivo llamado .env.

  2. Añadir clave de API y configuración: Abra el .env y añada las siguientes líneas, sustituyendo TU_CLAVE_API_NUBILA_AQUÍ con su clave API Nubila real:

    NUBILA_API_KEY=TU_NUBILA_API_KEY_AQUÍ
    GAIA_API_ENDPOINT=https://llama70b.gaia.domains/v1/chat/completions
    GAIA_API_KEY=su_clave_gaia_api
    PUERTO=3000
    • NUBILA_API_KEY: Tu clave secreta para la API de Nubila.
    • GAIA_API_ENDPOINT: El punto final del LLM Gaia.
    • GAIA_API_KEY: Consigue tu clave API de Gaia siguiendo este tutorial: https://docs.gaianet.ai/getting-started/authentication
    • PUERTO: El puerto en el que se ejecutará el servidor local (por defecto es 3000).
  3. Importante: En .env contiene información sensible (su clave API). Asegúrese de que aparece en su .gitignore (debería estar por defecto si clonaste) para que no lo confirmes accidentalmente en el control de versiones.

Ejecutar la aplicación

  1. Inicie el servidor:

    node servidor.js
  2. Abre la aplicación: Abra su navegador y vaya a http://localhost:3000 (o http://localhost:YOUR_PORT si ha cambiado el PUERTO en .env).

  3. Introduzca su consulta meteorológica o haga clic en uno de los botones de sugerencia.

Pila tecnológica

  • Backend: Node.js, Express.js
  • Frontend: Vanilla JavaScript (ES6+), HTML5, CSS3
  • APIs:
    • API de Gaia (a través de un punto final compatible con OpenAI) para la comprensión del lenguaje natural
    • API meteorológica de Nubila para datos meteorológicos
información

El código fuente completo y las instrucciones detalladas para configurar y ejecutar este ejemplo se pueden encontrar en el repositorio Gaia Cookbook.