Blocks are written once
Each block is a small, typed component: a video source, a YOLO detector, a feature transform, an XGBoost model, a retriever, an LLM verdict. Your engineers review and test it once, then reuse it everywhere.
On-premise AI, built from blocks
deepbriq builds AI pipelines from tested, readable blocks: XGBoost training, YOLO detection, classic data science, local language models. Ask for a result in plain words and an assistant picks a saved pipeline or composes a new one. It writes a short configuration, never code. Everything runs on your own hardware, and every result can be traced back to its inputs.
A real session: asked one question, the assistant found three pipelines the team had saved and ran them on a million invoice lines.
The idea
Generative AI can write a pipeline from scratch. Then someone has to read, test and secure every generated line, every time it changes. deepbriq splits the work differently.
Each block is a small, typed component: a video source, a YOLO detector, a feature transform, an XGBoost model, a retriever, an LLM verdict. Your engineers review and test it once, then reuse it everywhere.
A pipeline connects blocks and sets their parameters. The pipeline that scores every customer below is 91 lines of JSON that anyone on the team can read, review and diff.
The assistant composes pipelines from the blocks you already have. No generated code means nothing new to review, debug or secure: zero AI slop.
How it works
Which of our customers are likely to stop buying in the next three months? Our invoice lines are in
tables/online_retail.
The assistant looks through the pipelines your team saved, checks the data and runs them one after another: customer profiles from the invoice lines, a model trained on who came back, a score for every customer today. If nothing fits, it composes a new pipeline from blocks.
The pipeline opens in the editor. Each step is a block with its parameters in plain sight. The rule that decides who is at risk is one line in a block called AtRisk: a chance to buy again below 35% and at least £1,000 spent. Change a number and run it again.
"AtRisk": {
"type": "Columns",
"input": "Readable",
"params": {
"where": "buy_again_pct < 35 and spent >= 1000"
}
}
This is what the AI writes: configuration like this, never the code inside the blocks.
Pipelines run on your servers, on a GPU or a CPU. Results are files you can preview and download: here, 515 valuable customers who together spent £1.71 million, and a buy-again chance for each of the 5,878 customers.
The summary names the job behind every number, so each claim can be checked. It is honest about the limits too: on 1,054 customers the model had never seen, it was right 75 times out of 100, against 59 for always guessing the same answer. About one prediction in four is wrong, and the assistant says so.
Each video follows one person with one problem: what they ask in plain words, which pipelines the assistant runs, and the answer they can check. The assistant and the pipelines are recorded live, not staged.
An analyst asks which valuable customers will stop buying. Three saved pipelines turn a million invoice lines into a call list.
A head of compliance checks three AI proposals with a local model: one can go ahead, one needs changes first, one is prohibited.
A dairy farmer films his feed alley with a phone. Ear tag 1153 and collar 7 · 9 · 3, each shown with the frames it was read in.
The player loads from youtube-nocookie.com only when you press play. All videos on YouTube.
One engine, every kind of AI
The same editor, the same assistant and the same kind of blocks, whether you train a model, watch a camera, score customers or read regulations.
Tables are read in chunks, features are learnt in a first pass over the training rows, and XGBoost trains on the GPU. Metrics come with a baseline, so you know what the model adds. On the public Covertype dataset this pipeline reaches 97.2% accuracy on the test split.
LightGBM, CatBoost, scikit-learn and PyTorch models plug into the same blocks. Cross-validation, stacking and tuned decision thresholds are blocks too.
Data: Covertype, UCI Machine Learning Repository (CC BY 4.0).
Read a video file, a whole folder of recordings or an RTSP camera stream. In this pipeline YOLO11 detects motorcycles and people, a Relate block keeps the motorcycles that carry a rider, a tracker gives each one a stable identity, and the results are a count, a CSV row per track and an annotated video.
Models from Hugging Face are exported to ONNX and wrapped as blocks. Masks, poses and open-vocabulary detection work the same way.
Three pipelines turn 1,067,371 invoice lines into one profile per customer, learn from history who came back, and score every customer today. On 1,054 customers the model had never seen it is right 75 times out of 100; guessing gets 59. The result is a list of 515 valuable customers to call first, who have spent £1.71 million between them.
Data: Online Retail II, UCI Machine Learning Repository (CC BY 4.0).
Every AI initiative in a folder of documents is checked against the AI Act, the Data Act and the GDPR. Retrieval with bge-m3 and a cross-encoder reranker finds the articles that matter. Qwen, running locally on Ollama, returns a verdict (compliant, conditionally compliant with actions, or non-compliant with the reason) and cites the passages it used.
It supports your compliance team; it does not replace legal advice.
Why deepbriq
Blocks are ordinary, typed code in your repository, reviewed and tested once. The assistant arranges blocks; it never writes code you would have to check again.
In the customer example the assistant wrote 1,680 tokens for the whole session. Writing the same blocks as code takes at least 23,440 tokens, before the first test and before every fix.
Each result carries its lineage: the rows, frames or documents it came from and every block it passed through. Pipelines are plain JSON you can diff, review and version.
Pipelines, models and data run on your own servers, on GPU or CPU. With a local language model for the assistant, nothing leaves your network.
Connections between blocks are typed. A pipeline whose parts do not fit together is rejected before it touches your data.
ONNX models from Hugging Face, YOLO, XGBoost, LightGBM, CatBoost, scikit-learn, PyTorch, embeddings, rerankers and local LLMs: each one is wrapped as a block.
Compare
It could. Here is what that means for the customer example above.
| Aspect | Generative AI writes the code | deepbriq |
|---|---|---|
| What the AI writes | at least 1,700 lines of new code, about 23,000 tokens, before the first test | 1,680 tokens for the whole session, and no new code |
| Review | every generated line, after every change | blocks reviewed once; a pipeline you can read in minutes |
| A change | regenerate, review and test again | change a parameter and run again |
| Audit | the reason behind a number is buried in generated code | every result traced back to its inputs, block by block |
| Data | pasted into a chat, in someone else's cloud | on your servers; with a local LLM, nothing leaves |
Measured on the customer example: three pipelines built from 12 distinct blocks, whose code is 1,720 lines and 23,440 tokens, a lower bound for writing them from scratch. The assistant's whole session, with Claude Sonnet 5.5, wrote 1,680 tokens and cost $0.32.
We are preparing the engine and the general-purpose blocks for release as open source. Domain-specific blocks ship as separate packages. Want an early look, or a pipeline for your own data? Get in touch.