Industrial AI

A local AI assistant that knows the plant

An assistant that answers from live process data, maintenance records, stock, plans and the design manuals, in two languages, and shows which data points each answer used. It runs entirely on one GPU workstation inside the plant network.

Area
Industrial AI
Role
Designed, built and evaluated end to end
Tools
50+ read-only data tools
Runs on
One on-site GPU, no cloud

Problem

The plant portal put the data on screens. Managers and engineers still had questions that crossed screens: how long the plant can run at this rate on the feedstock in stock, what last week's slowdown did to production, what the design manual says about a limit an operator is approaching.

Company information could not leave the site, which ruled out cloud AI services, and the system had to run on hardware already on site.

Approach

Tools before text. Numbers come from tools that query the source systems, never from the model's memory. The model decides which tools to call, reads their results and writes the answer.

Documents through retrieval. Design manuals and operating documents are indexed with both vector and keyword search; the best passages are given to the model with their source.

One engine, scoped profiles. Every portal module uses the same engine, but each module's profile lists the tools it may use and the questions in its scope. The laboratory module does not answer staffing questions.

Teach by conversation. Engineers correct the assistant in the chat ("learn this", "no, that value is in kg/h"). Corrections are stored as notes and given back as examples when a similar question comes up, without retraining the model.

Show the evidence. Each answer ends with the data points it used, and any tool that failed is listed instead of being hidden.

Architecture

Everything runs inside the plant network.

Plant assistant architecture A question from a portal module goes to an orchestrator that adds the module profile and stored learning notes. The orchestrator calls a local language model on the site GPU. The model selects read-only tools for process data, maintenance and stock, planning, quality and alarms, and document retrieval over a hybrid index fed by a CPU embedding service. The answer returns with the list of data points used. Moduleprofile Learningnotes Questionfrom any module Orchestratorscope, history, examples Local language modelon the site GPU Answer+ data points Process datahistorian, DCS Maintenance, stockERP Plans and capacityplanning system Quality, alarmslaboratory, DCS Documentsretrieval Hybrid indexvector and keyword Embedding serviceon the CPU Tools the model may call, grouped by source. All are read-only; more than fifty in total.
The GPU serves the language model; embeddings run on the CPU so indexing never slows answers.

How it is evaluated

A language model that sounds right is not evidence that it is right. The assistant is tested by scripts, not by impressions:

  • Question templates are filled with many different signals and dates, about 250 questions per round, and each answer is scored at tool level: did it call the right tool with the right arguments, and did it report the value correctly.
  • Wrong answers are grouped by root cause, such as a missing tool, an ambiguous signal name or a unit mix-up, and fixed at the cause before the next round.
  • A fixed set of key questions, including the ones senior management asks, runs every week as a regression test.

What was learned

Heavy negative instructions backfire. A model told repeatedly not to invent values sometimes invented them and then said so. Giving it the data and a clear answer format worked better than forbidding things.

Tool design matters more than model size. Most wrong answers came from a tool that returned too much, too little or the wrong unit, not from the model's reasoning.

On a single GPU, the assistant competes with other on-site AI services. Timeouts, queueing and a CPU embedding service were needed before accuracy could even be measured.

Result

Engineers and managers ask cross-system questions in either language from any portal page and get an answer with the data points behind it. Design manuals are searchable in plain language with the passage shown. No document or process value leaves the site.

Stack

Python, an open-weight language model served locally on a workstation GPU, tool calling, a lightweight in-house vector store with keyword search, a CPU embedding service, scripted evaluation and weekly regression runs.