Saltar para o conteúdo principal
Versão: 2.0.0

Aplicação meteorológica de linguagem natural

Esta aplicação Web simples permite-lhe verificar o tempo atual ou a previsão para um local utilizando consultas em linguagem natural (por exemplo, "Forecast for Tokyo", "Is it raining in Seattle?").

Utiliza o modelo de linguagem Gaia (através de um ponto de extremidade compatível com OpenAI) para compreender o seu pedido e a API Nubila Weather para obter os dados meteorológicos actuais.

imagem

imagem

informação

O código-fonte completo e as instruções detalhadas para configurar e executar este exemplo podem ser encontrados no repositório Gaia Cookbook.

Caraterísticas

  • Obtenha o tempo atual ou as previsões em inglês simples.
  • Utiliza o Gaia LLM para interpretar a localização e a informação pretendida (atual/previsão) a partir da sua consulta.
  • Obtém dados meteorológicos pormenorizados da API Nubila.
  • Apresenta a interpretação do LLM (localização, coordenadas, tipo de pedido).
  • Ilustra o conceito de uma "chamada de ferramenta" do LLM, mostrando qual a função e os argumentos que o LLM conceitualmente decidiu usar.
  • Fornece prompts de exemplo clicáveis para uma utilização rápida.
  • UI simples e limpa construída com JavaScript, Node.js e CSS.

Como funciona

  1. Consulta do utilizador: O utilizador introduz uma consulta como "Como está o tempo em Berlim?" na interface Web.
  2. Pedido de backend: A consulta é enviada do seu navegador para o servidor backend Node.js.
  3. Análise LLM (Gaia): O backend envia a sua consulta para a API de Gaia. Gaia analisa-a para:
    • Identificar o local (por exemplo, "Berlim").
    • Determinar as coordenadas geográficas aproximadas (latitude e longitude).
    • Saiba se pretende o tempo "atual" ou uma "previsão".
  4. Chamada API (Nubila): O backend utiliza as coordenadas e o tipo de pedido ("atual" ou "previsão") identificados por Gaia para efetuar um pedido ao ponto de extremidade adequado da API Nubila Weather.
  5. Dados meteorológicos: A API Nubila responde com os dados meteorológicos solicitados.
  6. Ecrã frontal: O backend envia a análise de Gaia e os dados meteorológicos de Nubila para o seu browser. O frontend é então apresentado:
    • Como Gaia interpretou o teu pedido.
    • Uma simulação da "chamada de ferramenta" que Gaia faria.
    • O tempo atual formatado ou os detalhes da previsão.

Pré-requisitos

  • Node.js e npm: Descarregar e instalar a partir de nodejs.org.
  • Chave da API do Nubila: Precisa de uma chave de API da Nubila Weather API. Registe-se ou inicie sessão aqui para obter uma.

Configuração e instalação

  1. Clonar o repositório (ou descarregar os ficheiros):

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

    (Substituir <repository-url> e <repository-folder-name> em conformidade)

  2. Instalar dependências:

    npm install

    Isto instala o Express, node-fetch, dotenv e cors.

Configuração

  1. Criar .env ficheiro: No diretório raiz do projeto, crie um arquivo chamado .env.

  2. Adicionar chave de API e definições: Abrir o .env e adicione as seguintes linhas, substituindo A SUA CHAVE_NUBILA_API_AQUI com a sua chave API Nubila atual:

    NUBILA_API_KEY=A SUA CHAVE_NUBILA_API_HERE
    GAIA_API_ENDPOINT=https://llama70b.gaia.domains/v1/chat/completions
    GAIA_API_KEY=a sua chave-gaia-api
    PORT=3000
    • NUBILA_API_KEY: A sua chave secreta para a API Nubila.
    • GAIA_API_ENDPOINT: O ponto de chegada do LLM de Gaia.
    • GAIA_API_KEY: Obtenha a sua chave API Gaia seguindo este tutorial: https://docs.gaianet.ai/getting-started/authentication
    • PORTO: A porta em que o servidor local será executado (a predefinição é 3000).
  3. Importante: O .env contém informações sensíveis (a sua chave API). Certifique-se de que ela está listada no seu .gitignore (deve estar por defeito se tiver clonado) para que não o submeta acidentalmente ao controlo de versões.

Executar a aplicação

  1. Iniciar o servidor:

    servidor.js do nó
  2. Abrir a aplicação: Abra o seu navegador Web e navegue para: http://localhost:3000 (ou http://localhost:YOUR_PORT se tiver alterado o PORTO em .env).

  3. Introduza a sua consulta meteorológica ou clique num dos botões de sugestão!

Pilha de tecnologia

  • Backend: Node.js, Express.js
  • Frontend: Vanilla JavaScript (ES6+), HTML5, CSS3
  • APIs:
    • API Gaia (através de um ponto de extremidade compatível com OpenAI) para compreensão de linguagem natural
    • API Nubila Weather para dados meteorológicos
informação

O código-fonte completo e as instruções detalhadas para configurar e executar este exemplo podem ser encontrados no repositório Gaia Cookbook.