SAVRN Research · 001

Your data is the most
valuable tool you own.

And almost nobody knows how to use it. Drop a document below and watch what happens when a business's own material gets turned into the training signal that makes a language model useful.

By Chad Harris · SAVRN Infrastructure · August 2026
A copper machine converting raw material into a stream of structured tokens — how business documents become AI training data
Part 01 · What actually happens

Nobody explains how data gets into a language model. Here is the whole path.

Five steps. No magic in any of them. Every AI product you have used was built this way; the only question is whose documents were on step two.

01
A model ships generic. Trained on the public internet, it knows nothing about your business — your terms, your process, your judgment calls.
02
Your files become passages. A script splits the documents you already own into short readable passages.
03
Each passage becomes a training row. A teacher model writes a question a real person would ask, plus the answer the passage supports. The tool below builds one in front of you.
04
Rows become the dataset. Repeat overnight: tens of thousands of rows in one file, train.jsonl. That file is the dataset.
05
The dataset becomes the model. Fine-tuning writes those rows into the model's weights. The data does not sit beside the model — it becomes the model. Whoever owns the dataset owns the advantage.
Part 02 · The factory

The generator is a script. You start it. You go to bed.

The loop below runs about 50,000 times overnight and writes about 50,000 training rows. Three inputs, one output.

Input · a folder
/sources/*.pdf
The documents the business already owns: orders, specs, dossiers, memos.
Input · a list
personas.txt
Thirty lines: the people who ask you questions. A project manager, a planner, an LP, a reviewer.
Input · one string
API_KEY
The teacher model's key — a frontier API or your own sovereign gateway. Costs pennies per row.
generate.py — the whole loop
runs for hours, no human involved
chunks = split_all_pdfs("/sources") personas = open("personas.txt").readlines() out = open("train.jsonl", "a") for i in range(50_000): chunk = random.choice(chunks) persona = random.choice(personas) reply = teacher.call( prompt=TEMPLATE.format( persona=persona, chunk=chunk)) q, a = parse(reply) if fact_check(a, chunk): # keep only what the source supports out.write(json.dumps({ "id": hash(chunk + persona), "messages": [ {"role":"user", "content": q}, {"role":"assistant", "content": a}]}))
Output · a file
train.jsonl
One row per line. Fifty thousand lines by morning. The dataset.

The dataset factory on disk.

Everything lives in one folder on a laptop or a small cloud box. Sources in, dataset out.

The five things a human sets up
savrn-dataset-factory/ ├─ sources/ raw material — every document the business already owns │ ├─ interconnect/ FERC orders, ERCOT planning guides, utility studies │ ├─ tax_credits/ IRC §48E statute, §45Q, Treasury guidance, ITC memos │ ├─ dc_design/ hall specs, module documents, cooling specs │ ├─ financing/ capital decks, SPV models, waterfall templates │ ├─ site_selection/ state-by-state site dossiers and utility files │ └─ ... 7 more/ one folder per domain in the catalog ├─ personas/ who's asking the question │ ├─ interconnect.txt "hyperscaler PM" · "grid planner" · ... │ ├─ tax_credits.txt "family office LP" · "tax counsel" · "IRS reviewer" · ... │ └─ ... 10 more .txt thirty lines each, plain text ├─ prompts/ the instruction sent to the teacher model │ ├─ qa_grounded.txt "Ask a question this passage answers. Cite the section." │ ├─ persona_multiturn.txt "Play the persona. Ask, get the answer, ask a follow-up." │ └─ refusal_scope.txt "Ask something the assistant should refuse. Refuse it." ├─ configs/ one config per dataset in the catalog │ ├─ ferc_qa_v1.yaml sources=interconnect/ · prompt=qa_grounded · rows=80k │ ├─ 48e_45q_persona_v1.yaml sources=tax_credits/ · prompt=persona_multiturn · rows=60k │ └─ refusal_scope_v1.yaml the safety bucket — teaches the model what not to answer └─ .env API_KEY=... — the teacher model key, one line
The scripts a human writes once
├─ factory/ the reusable code — write once, run forever │ ├─ chunk.py splits PDFs into 500-word passages · ~40 lines │ ├─ generate.py the loop from the diagram above · ~80 lines │ ├─ fact_check.py keeps only answers the source supports │ └─ dedupe.py drops near-duplicate rows └─ out/ └─ train.jsonl the dataset — one row per line
Part 03 · See it happen

From your document to a training row, in about 20 seconds.

Every AI dataset — including the one that trained the model you're using right now — is made of small structured "rows." Each row is one question the model was taught to answer. This tool takes one document, splits it into readable passages, and generates one training row from it. Live. On the page. Using content from a document you provide.

01
Give it a document
Paste text, upload a PDF, or use one of the samples. Anything with real content — a spec, a policy, an internal memo, a research paper.
0 characters 300–2,000 characters works best
Demo mode
02
Split it into passages the model can read
A language model can only pay attention to a few hundred words at a time. So the first thing the pipeline does is chop your document into small, readable chunks.
Chunks will appear here after you click Turn this into training data.
03
Send one chunk to a teacher model
This is the exact instruction sent to a strong model (Claude, GPT, DeepSeek). It's told to play a role, read the passage, and write one realistic question the passage answers — then answer it, using only facts from the passage.
The prompt sent to the teacher will appear here.
04
The teacher returns a question and an answer
This is the actual training signal. The question is what a real user might ask about your material. The answer is what a well-trained model should reply.
The generated question and answer will appear here.
05
Package it as one training row
This is what actually gets written to disk. One row of JSON. Millions of these, produced overnight, become the dataset that fine-tunes a model on your material.
The final JSON row will appear here.
The argument

Every company keeps telling me they're "doing AI." Almost none of them are actually using their data.

They're using someone else's model. Trained on someone else's data. Answering questions about their business with the general knowledge of the internet. And they call it a strategy.

Here's what the last two years have made obvious, if you're paying attention. The companies pulling ahead in AI are not the ones with the fanciest chatbots or the biggest OpenAI bills. They're the ones who realized their own documents — the memos, the specs, the incident reports, the customer transcripts, the ten thousand pages of tribal knowledge that never made it to Google — are the actual asset. Not the model. The material.

A model trained on the entire internet is impressive. A model trained on the entire internet and your operations manual answers your operator's question correctly. There is no substitute for the second one. There is no prompt-engineering trick that closes the gap. There is no vendor that will hand you the second one, because the second one is made of your material and you're the only one who has it.

Your data is not "an input to AI." Your data is the AI. The model is the shape it fits into.

Why nobody talks about this in plain terms

Because the industry has a financial interest in keeping it opaque. Every consulting deck about "AI transformation" is designed to sell you a platform. Every model vendor wants you to depend on their API. Every "enterprise AI" pitch buries the actual mechanic — how does information physically get from your files into a model's weights? — under a fog of platform diagrams and maturity models.

The mechanic isn't complicated. It's this: a small script reads your documents, splits them into passages, and asks a teacher model to generate realistic questions and answers about each passage. Those question-answer pairs become training rows. You collect a few million of them. You fine-tune an open-weight base model on the result. What comes out the other end is a model that thinks in your business's vocabulary and cites your material.

That's it. You just watched one row get made, live, in the panel above. Now imagine that running overnight on every document you own.

The three lies you get told about this

Lie one: "You need a lot of data." No, you need your data. A serious pilot runs on 5,000 to 50,000 training rows from a well-organized subset of your material. That's a folder of PDFs, not a data lake. Companies with 20 years of institutional memory in Confluence, Notion, and SharePoint have more than enough. They just haven't organized it yet.

Lie two: "You need to build the model." No, you fine-tune an open-weight base model that someone else built. Llama, Qwen, DeepSeek, OLMo. These models are free. They speak English. They know how to write. What they don't know is your business. That's the part you add.

Lie three: "You need a huge team." A working pipeline is about 250 lines of Python across five small scripts. One serious engineer can stand it up in a week. The ongoing operation is running a loop overnight and reviewing what comes out in the morning. This is not a moonshot. It's a shift-change checklist.

What actually happens when a company does this

In the first month, you'll produce a training dataset. Your team will look at it and immediately see three things: passages that should never have been in there, questions the teacher model got wrong, and — importantly — questions the teacher got right that you didn't realize your documents already answered. That third thing is the whole point. Your institution has been carrying answers around for years without realizing it.

In the second month, you'll fine-tune a small open model on the cleaned dataset. It will be good at your business's vocabulary. It will cite your documents. It will refuse to answer questions your material doesn't cover, because you filtered out the guesswork.

In the third month, you'll wire that model into a workflow. A drafting tool. An analyst copilot. An operator assistant. Something narrow. And your team will notice that it's better than the general-purpose chatbot they were using before, for the specific work you actually do. Not by a little. By a lot.

In the fourth month, you'll realize your model gets smarter every time your team does new work — because every new memo, protocol, and report flows back into the pipeline. Your competitors are still typing into a rented chatbot. You have a compounding institutional brain.

The uncomfortable part

Standing up the pipeline isn't the hard part. The hard part is admitting how much of your company's actual knowledge lives in unread PDFs, dead Slack threads, and undocumented workflows. Building a training dataset is, before it is anything else, an act of institutional self-audit. It forces you to see what you know, what you almost know, and what you've been pretending to know.

Most companies flinch at that audit and buy a chatbot instead. The ones that don't flinch — the ones that put a small team on this and let them work — end up with something no vendor can sell them and no competitor can copy: an AI that is genuinely, structurally, about their business.

This is what SAVRN builds. Not the model. The pipeline that turns your material into one. If that's the conversation you want to be having, let's have it.

The full pipeline

End to end, on one page.

The tool above shows one row getting made. This is where that fits inside the full research-to-AI system.

01
Human · one-time
Collect the raw material
Everything the business already owns — publications, specs, memos, transcripts, protocols. Nothing has to be reformatted yet.
02
Human · one-time
Organize into a source library
Drop each file into a folder that names its topic. The folder later becomes the domain tag on every training row.
03
Script · automated
Chunk everything into passages
A 40-line script walks the folders and splits every document into ~500-word passages. This is what the model can actually read.
04
Script · automated
Generate training rows
The loop you saw above, repeated millions of times. Chunk plus persona plus prompt goes to a teacher LLM; a question-and-answer row comes back.
05
Script · automated
Filter, fact-check, decontaminate
Bad rows out. Hallucinations out. Anything overlapping your held-out evaluation set out. Typically 60–75% of raw rows survive.
06
Script · automated
Mix, shuffle, ship the dataset
Choose the ratio of one domain vs another. Shuffle the surviving rows into one file. This is the finished training dataset.
07
GPU · automated
Fine-tune the base model
Take an open-weight model (Llama, Qwen, OLMo, DeepSeek) and continue its training on your dataset. Hours to days on a GPU cluster.
08
Deploy
The model helps solve new problems
Your team queries it. It drafts, checks, and cites. New work flows back into Stage 01 and the model compounds.
The compounding loop
Stage 08 outputs become Stage 01 inputs. The model gets smarter every time you do new work. This is what "an AI factory" actually means for a business — not a supercomputer, but a closed loop between doing the work and learning from it.
Questions

What people ask about this.

What is an AI training row?

A training row is one structured example a model learns from: an instruction, the context it needs, and the answer it should give. Datasets are thousands of these rows. This page builds one live from a document you provide.

Does my document leave my browser?

No. The demonstration runs entirely in your browser. Nothing you paste or upload is sent to a server, and no copy of your document is stored.

Why is my company's data valuable for AI?

General models know the public internet, not your business. Your documents carry your terminology, your processes, and your decisions. Turned into training data, they are what makes a model answer the way your best people would.

What does a full dataset look like?

Thousands of rows like the one this tool builds, drawn from your real documents and reviewed work, with the source of every row tracked. Coverage across your document types matters more than raw volume.

How do the rows actually change the model?

Fine-tuning replays the dataset and adjusts the model's internal weights a small amount per row, until answering the way your documents answer becomes the model's default. The data is not stored beside the model; it becomes part of the model.

What does SAVRN build for customers?

The working pipeline: document collection, dataset construction with provenance, model training, and the sovereign infrastructure it runs on. The customer keeps the data, the trained model, and the pipeline.

How do we start?

A working session. Bring a handful of real documents and we build the first rows together, then scope the pipeline. Contact [email protected].

If this is the conversation

You just watched one document become a training row.
A dataset is fifty thousand of these.

SAVRN builds the pipeline that runs this loop at scale — and the sovereign infrastructure it runs on. Your team keeps the data, the fine-tuned model, and the working pipeline. A partnership, not a purchase.

Start with a working session or see the platform this runs on →