Power Generation / Energy

Document Intelligence for Thermal Power Generation

Power purchase agreements, O&M contracts and regulatory orders made answerable in plain English, every answer cited to a clause.

  • Document Intelligence
  • RAG
  • OCR
  • Guardrails
  • RBAC
  • Private Cloud
01Outcome
  • 25,000

    pages of contracts, orders and handbooks in the initial corpus

  • 25

    document classes driving routing and access control

  • 7

    guardrails delivered and verified as acceptance tests

  • 0

    GPUs procured, and no corpus data leaving the client tenancy

  • Ten-week delivery across four milestones, followed by twelve months of maintenance.
  • Reviewer feedback is applied by people to retrieval tuning and prompts; no model is retrained on client content.

For a corpus that defines commercial obligations, where the system runs is part of the specification — one that answers well but requires the contracts to leave the tenancy does not qualify at all.

02The Engagement

A power generator's obligations live in documents rather than in its data systems. Power purchase and fuel supply agreements, O&M and EPC contracts, regulatory orders, petitions, arbitration records, consents and operating handbooks define what the business must do, by when, and at what penalty — and none of it sits in a database anyone can query.

So a question that spans them cannot really be asked. Which agreements carry a liquidated-damages clause tied to availability, and what does each one specify, is not a search: it is a request for someone who already knows where to look. That makes institutional memory a single point of failure on commitments worth a great deal of money.

Why it is hard

This corpus is actively hostile to retrieval. Documents run to hundreds of pages with annexures; an obligation is qualified in a schedule and then amended by an addendum signed years later, so the text that answers a question is routinely not the text that states it. A system that answers confidently from an original clause a later amendment has superseded is worse than one that answers nothing.

The material is also commercially sensitive, and entitlement to it is not uniform — a contract one person may read is not a contract everyone may read. That rules out the ordinary move of putting the corpus into a hosted service, and it means access control has to operate inside retrieval rather than as a filter over finished results. Filtering afterwards leaks: the shape of what was removed is still visible in what remains.

What we built

An ingestion spine takes native and scanned documents, reconstructs layout and tables so a clause survives the journey intact, classifies each document into a taxonomy agreed with the people who actually use it, and links amendments and superseded versions to their parent — so a question is answered against the current position rather than the original text.

Retrieval resolves a question across several documents at once and cites document, version and clause for every answer, and says so plainly when the corpus does not support one. The guardrails are part of retrieval rather than a layer over it: role awareness applied before candidate passages exist, grounded answering only, document content treated as data and never as instruction, and an audit trail covering every query, answer, citation and refusal — each specified as an acceptance test rather than asserted as a property. The platform runs inside the client's own cloud tenancy.

  • Native and scanned documents ingested with layout and tables reconstructed
  • Amendments and superseded versions linked to their parent, so answers reflect the current position
  • Every answer cited to document, version and clause — and withheld when the corpus cannot support one
  • Role awareness applied inside retrieval, not as a filter over results already produced
  • Deployed in the client's own cloud tenancy, with a full audit trail of queries and refusals
03Questions

Questions about this engagement.

Can it calculate exposure or penalties from the contracts?

No, and that boundary is deliberate. It answers what the documents say and shows where. Deriving a figure means combining clauses with operational data the documents do not contain, and a plausible number carrying a citation is considerably more dangerous than no number — the citation lends it an authority the calculation has not earned. Computation was scoped out and deferred rather than approximated.

What happens when a document contains something that reads as an instruction?

Document content is treated as data, never as instruction. Third-party contracts and correspondence are precisely where text addressed to whoever is processing it would arrive, so the boundary is enforced at ingestion rather than left to the model's discretion. A retrieval system over documents the organisation did not write has to assume the corpus is untrusted input.

How does access control work when one person may read a contract and another may not?

It is applied inside retrieval, before candidate passages are selected, so an answer is constructed only from what the reader is entitled to see. The alternative — retrieving everything and then filtering the answer — is what leaks, because an answer visibly shaped around a gap still discloses that the gap is there, and often what is in it.

Tell us what you're trying to solve.

Describe the workflow, the data behind it, and what a good outcome looks like. We read every message and reply personally.