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.
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
- Consulta do utilizador: O utilizador introduz uma consulta como "Como está o tempo em Berlim?" na interface Web.
- Pedido de backend: A consulta é enviada do seu navegador para o servidor backend Node.js.
- 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".
- 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.
- Dados meteorológicos: A API Nubila responde com os dados meteorológicos solicitados.
- 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
-
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) -
Instalar dependências:
npm install
Isto instala o Express, node-fetch, dotenv e cors.
Configuração
-
Criar
.env
ficheiro: No diretório raiz do projeto, crie um arquivo chamado.env
. -
Adicionar chave de API e definições: Abrir o
.env
e adicione as seguintes linhas, substituindoA 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=3000NUBILA_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/authenticationPORTO
: A porta em que o servidor local será executado (a predefinição é 3000).
-
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
-
Iniciar o servidor:
servidor.js do nó
-
Abrir a aplicação: Abra o seu navegador Web e navegue para:
http://localhost:3000
(ouhttp://localhost:YOUR_PORT
se tiver alterado oPORTO
em.env
). -
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
O código-fonte completo e as instruções detalhadas para configurar e executar este exemplo podem ser encontrados no repositório Gaia Cookbook.