
Industrial telemetry lives in OPC UA servers, while crucial context is buried in unstructured documentation. Our hackathon prototype fuses the two entirely on-prem. A Python Asset Hierarchy Extractor runs Llama-3-8B on Groq silicon, scrapes every Wiki.js page, deduplicates devices, browses the OPC UA address space and links tags to assets. The resulting YAML map feeds a Python UNS Configurator, which generates Node-RED flows and publishes Sparkplug B topics via a local Mosquitto broker—instantly creating a self-describing Unified Namespace. In parallel, a RAG Importer writes the sanitised context into OpenWebUI’s vector database so LLM answers stay grounded in plant knowledge without exposing control-system secrets. A .NET Historian subscribes to Sparkplug B, writes raw rows and aggregates to Snowflake, and caches metadata in Redis. Two lightweight industrial APIs make the data actionable: a Sparkplug-B MCP (Python, paho-MQTT) for DCMD commands, and a Historian MCP (Python, Snowflake SDK) for reads. Operators use OpenWebUI with Llama-3-70B to chat, pull trends or send set-points—completely offline. For repeatable actions they type plain-language rules; a Business Rule Agent (compound-beta) converts them to Python, and a Business Rule Runtime stored in Snowflake executes them every few seconds through the same MCP layer. Everything runs in Docker on Vultr Compute yet remains air-gapped: inference, vector search, MQTT traffic and historian storage never leave the plant network. The result is contextualised data, natural-language insights and safe no-code automation, delivered by a small AG-Solution MES/MOM team working after hours.
8 Jul 2025