Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Repository files navigation

Weather bot

This is the repository for the WeatherBot app.

The repository contains both frontend and backend code in respective directories.

Quick Start

Set up a .env file in project root according to .env.example. Then run docker compose up to run the project.

Attribution

This project could not exist without public APIs. We use

## Services

The backend offers three endpoints. Two serve for interaction with the fronted, the third, which has to be enabled by a feature flag, serves incoming updates from telegram.

LLM Weather Forecast

The LLM weather forecast is accessible from frontend. However, the user is expected to provide their own OpenAPI token via the UI. The token is not stored on the backend server. It is used to make fulfill the request and immediatly forgotten.

The forecast is generated by the LLM Agent using pre-defined tools.

Deterministic Weather Forecast

The deterministic weather forecast is freely accessible from the frontend. It uses Compromise, a lightweight Natural Language Processing library, to parse out dates and city names from user input. This data is then used to construct a simple response containing selected weather data points retrieved from Open Meteo API.

Telegram Webook Listener

The Telegram Listener service, if enabled, enables the host to set up set up a listener for events emitted by a given Telegram channel. This way, the LLM forecast can be requested in a Telegram channel.

The listener relies on a local OpenAI API key on the server. The endpoint is protected by a secret token which must be present on incoming requests in X-Telegram-Bot-Api-Secret-Token header.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages