Skip to content
Planning consultancy

Planit Consulting

Een AI-chat die 18.429 planning-documenten doorzoekbaar maakt, met bronverwijzing.

Verenigd Koninkrijk Verenigd Koninkrijk · AI-chat (RAG) Bekijk website
Delen
Planit AI, semantische zoekfunctie over een UK planning-corpus, gebouwd door TopDevs

Over Planit Consulting

Planit Consulting is een Brits adviesbureau voor ruimtelijke ordening (town planning) en architectonisch ontwerp, gevestigd op Innovation Place in Godalming, Surrey, met Londen en het zuidoosten van Engeland als werkgebied. Het bureau adviseert over planaanvragen, beroepsprocedures, vergunningsvrije ontwikkeling, certificaten van rechtmatigheid en projecten in landelijk gebied en de Green Belt, naast architectonisch ontwerp voor nieuwbouwwoningen, masterplanning en agrarische en landgoedprojecten. Meerdere planners zijn RTPI-geaccrediteerd (Royal Town Planning Institute). Veel van het werk speelt op gevoelige stedelijke en landelijke locaties zoals het Surrey Hills National Landscape, waar een plan vaak draait om eerdere zaken en uitkomsten van beroepsprocedures, en juist daarom is een doorzoekbaar precedentenarchief zoveel waard.

De uitdaging

Planit Consulting had een archief van 18.429 .docx-documenten: planning statements, design and access, heritage, appeal, pre-app, cover letters en condities. Om een precedent of een relevante passage te vinden, moesten consultants bestanden openen en handmatig doorlezen. Dat is trage, foutgevoelige Ctrl+F-arbeid, en bij plannen die draaien om eerdere zaken en uitkomsten van beroepsprocedures kostte dat uren per onderzoek. Het archief had de antwoorden, maar niemand kon er snel bij.

De analyse

Het corpus is heterogeen: 14 documenttypes verdeeld over 3 tiers, van primaire documenten tot metadata-only-bestanden. Een planning statement en een cover letter verdienen niet dezelfde behandeling, dus een enkele chunk-strategie ging nooit werken.

Classificatie was stap een. Zonder betrouwbare typing kan retrieval het verkeerde soort document ophalen en verliest de hele tool vertrouwen. We classificeerden het archief eerst en brachten de getallen daarna op een lijn: van de 18.429 .docx konden er 514 niet betrouwbaar getypeerd worden en zijn apart afgehandeld, waarna de geclassificeerde set werd gechunkt tot 95.592 doorzoekbare passages over 15.801 documenten.

95.000+ chunks embedden is een echte kostenpost, geen afrondingsfout. We kozen OpenAI text-embedding-3-large (3072 dimensies) voor precisie boven goedkopere alternatieven, en hielden de uitgaven in toom door op chunk-niveau te sturen in plaats van blind opnieuw te embedden.

Consultants stellen iteratief vragen, de ene vervolgvraag na de andere, dus RAG zonder conversatie-geschiedenis zou onbruikbaar zijn geweest. Conversations en messages bewaren in SQLite zat vanaf dag een in de architectuur, niet als laatste extraatje.

Wat we bouwden

01

Documentclassificatie-pipeline

Voordat er iets doorzoekbaar kon worden, moest het archief gesorteerd. Een Python-pipeline classificeert elke .docx in een van 14 types over 3 tiers, van primaire documenten tot metadata-only-bestanden, zodat retrieval later weet wat het ophaalt.

  • Classificeert 18.429 .docx in 14 documenttypes over 3 tiers (primair, secundair, metadata-only).
  • De 514 documenten die niet betrouwbaar getypeerd konden worden, worden afgesplitst en apart afgehandeld, in plaats van de doorzoekbare set te vervuilen.
  • Betrouwbare typing is het fundament: het laat elk documenttype de chunk- en retrieval-behandeling krijgen die het echt nodig heeft.
02

Semantische chunking en embedding met kostenbewaking

Elk geclassificeerd document wordt opgedeeld in passages met section-detection en daarna omgezet in vectoren. We gebruikten OpenAI text-embedding-3-large voor precisie, met de uitgaven beheerd op chunk-niveau zodat de bouw op schaal betaalbaar bleef.

  • Semantische chunking met section-detection levert 95.592 chunks uit 15.801 documenten.
  • Embedding via OpenAI text-embedding-3-large (3072 dimensies), gekozen voor precisie boven goedkopere alternatieven.
  • Oversized chunks krijgen aparte handling, en kosten worden op chunk-niveau gestuurd in plaats van alles blind opnieuw te embedden.
03

ChromaDB vector store en FastAPI-backend

De embeddings leven in een persistente ChromaDB vector store, geserveerd door een FastAPI-backend. Dit is de laag die een vraag omzet in de handvol passages die er het meest toe doen, in een fractie van een seconde.

  • ChromaDB vector store met persistent storage bevat alle 95.592 chunks en hun metadata.
  • FastAPI-backend stelt REST endpoints met CORS beschikbaar waar de chat-UI op aanroept.
  • Semantische retrieval vindt passages op betekenis, dus een vraag haalt het juiste precedent naar boven, ook als het niet exact dezelfde bewoording deelt.
04

Planit AI chat-UI met conversatie-geschiedenis

Een React TypeScript chat-interface, genaamd Planit AI, is waar consultants daadwerkelijk werken. Hij is gebouwd voor de manier waarop zij vragen stellen, de ene vervolgvraag na de andere, met een sidebar die elke vraaglijn georganiseerd houdt.

  • React TypeScript-UI met een sidebar die conversations groepeert, plus rename en delete.
  • Conversations en messages blijven bewaard in SQLite, zodat een consultant een eerdere vraaglijn weer kan oppakken.
  • Ontworpen rond iteratief vragen stellen, de manier waarop consultants inzoomen op het precedent dat ze nodig hebben.
05

RAG-beantwoording via Claude met bronvermelding

Claude leest de opgehaalde passages en schrijft het antwoord, met verwijzingen terug naar de originele .docx. De bronvermelding is het hele punt: elk antwoord linkt naar zijn bron zodat een consultant het document kan openen en verifieren.

  • Claude antwoordt vanuit de opgehaalde passages, gegrond in de eigen documenten van het bureau in plaats van algemene kennis.
  • Elk antwoord draagt bronvermelding terug naar de originele .docx voor verificatie.
  • Consultants krijgen het precedent in seconden en kunnen het altijd checken tegen het bestand waar het uit komt.

De blueprint

  1. 1 Classificatie
  2. 2 Chunking
  3. 3 Embedding
  4. 4 Vector DB
  5. 5 RAG-chat

Resultaat

Zoektijd

Uren naar seconden

Van Ctrl+F door losse .docx naar semantische retrieval die de passage in seconden vindt.

Coverage

15.801 docs

95.592 doorzoekbare chunks met metadata, uit een archief van 18.429 documenten.

Bronvermelding

Per antwoord

Elk antwoord linkt terug naar de originele .docx, zodat consultants het kunnen verifieren.

Dagelijks werk geautomatiseerd

Ongeveer 40%

Planits eigen schatting van het dagelijkse consultantswerk dat de tool nu afhandelt.

Techniek & tools

PythonOpenAI embeddingsChromaDBFastAPIReactClaudeSQLite
Janet Long

“We zijn oprecht verbaasd hoe goed dit werkt. Ongeveer 40% van ons dagelijkse consultantswerk is nu geautomatiseerd. Het vinden van relevante precedenten dat vroeger uren kostte gaat nu in seconden, met bronvermelding terug naar het originele document zodat we altijd kunnen verifieren.”

Janet Long

Founder, Planit Consulting

Onderdeel van onze dienst: Maatwerk Applicaties

Waarom teams met TopDevs bouwen

  • Vaste prijs, vooraf afgesproken
  • 100% code-eigendom, geen lock-in
  • Prototypes in dagen, live in weken
  • Moderne, AI-native & veilige techniek

Klaar om iets te bouwen dat écht werkt?

Plan een vrijblijvend gesprek. We kijken samen waar de grootste winst zit — vaste prijs, jouw code, geen lock-in.

Start je eigen project

Meer cases