The WMN Explainer is a fog-layer service that generates short, human-readable explanations for wireless network conditions. It consumes analytics results via MQTT, produces concise explanations using a local language model runtime, and republishes the results for visualization and monitoring.
This component is part of a modular Wireless and Mobile Networks (WMN) system designed around edge, fog, and observability layers.
The explainer runs at the fog layer and focuses on interpretation rather than measurement or scoring.
High-level flow:
Edge device → wmn-collector → MQTT → wmn-analyzer → MQTT → wmn-explainer
↓
Explanations
Subscribes to MQTT analytics topics (wmn/analysis/#)
Generates short explanations describing:
Publishes explanations to MQTT (wmn/explain/<device_id>)
Exposes an HTTP API for testing and dashboard integration
The language model is selected at runtime and cached locally.
This image does not bundle a language model. The model is downloaded on first run and stored in a Docker volume.
This allows deployment on heterogeneous fog nodes with different hardware capabilities.
Example guidance:
phi3:minillama3.2:3bThe model can be specified via environment variable or during interactive setup.
Docker Hub
irfanuruchi/wmn-explainer:latestirfanuruchi/wmn-explainer:1.0The image targets standard x86_64 fog nodes. ARM64 support can be added when required.
docker run -it --name wmn-explainer \
--restart unless-stopped \
-p 8000:8000 \
-v wmn_explainer_config:/config \
-v ollama_models:/root/.ollama \
-e OLLAMA_MODEL=phi3:mini \
irfanuruchi/wmn-explainer:latest
docker run -it --name wmn-explainer \
--restart unless-stopped \
--gpus all \
-p 8000:8000 \
-v wmn_explainer_config:/config \
-v ollama_models:/root/.ollama \
-e OLLAMA_MODEL=llama3.2:3b \
irfanuruchi/wmn-explainer:latest
On first run, the container prompts for MQTT configuration and saves it in /config/config.env.
The service exposes a small HTTP API for testing and dashboard integration.
GET / – service statusGET /docs – OpenAPI / Swagger UIPOST /explain – generate an explanation from an analysis payloadThe API is intended for demos and dashboards rather than high-rate ingestion.
Configuration is stored persistently in a Docker volume:
/config/config.env
To reset configuration:
docker rm -f wmn-explainer
docker volume rm wmn_explainer_config
This repository is part of a multi-component system. Related GitHub repositories include:
wmn-collector Edge-side network metrics collection https://github.com/IrfanUruchi/wmn-collector
wmn-analyzer Fog-layer analytics and scoring service https://github.com/IrfanUruchi/wmn-analyzer
wmn-explainer (this repository) Fog-layer explanation service
Additional repositories may be added as the project evolves.
wmn-collector
[irfanuruchi/wmn-collector](https://hub.docker.com/r/irfanuruchi/wmn-collector)
wmn-analyzer
[irfanuruchi/wmn-analyzer](https://hub.docker.com/r/irfanuruchi/wmn-analyzer)
wmn-explainer
[irfanuruchi/wmn-explainer](https://hub.docker.com/r/irfanuruchi/wmn-explainer)
Content type
Image
Digest
sha256:791105c90…
Size
2.1 GB
Last updated
8 months ago
docker pull irfanuruchi/wmn-explainer