Skip to content
Planning consultancy

Planit Consulting

Planit Consulting: AI-zoeken in planningsdocumenten, met antwoorden die terugverwijzen naar de oorspronkelijke bron.

Bijgewerkt op

Verenigd KoninkrijkVerenigd Koninkrijk·AI-chat (RAG)Bekijk website
  • Uren naar seconden

    Zoektijd

  • 15.801 docs

    Coverage

  • Per antwoord

    Bronvermelding

  • Ongeveer 40%

    Dagelijks werk geautomatiseerd

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 archief bevat 14 documenttypes verdeeld over 3 niveaus, van primaire documenten tot bestanden waarvan alleen metadata wordt gebruikt. We stemden het opdelen in passages af op die verschillen, zodat bijvoorbeeld een planning statement anders wordt verwerkt dan een begeleidende brief.

We begonnen met classificatie. In het archief van 18.429 .docx-bestanden konden 514 documenten niet betrouwbaar worden ingedeeld; die kregen een aparte afhandeling. De uiteindelijke zoekindex bevat 15.801 documenten en 95.592 passages. Het archieftotaal, de uitzonderingen en de zoekindex beschrijven verschillende onderdelen van de verwerking.

Voor de embeddings gebruikten we OpenAI text-embedding-3-large met 3072 dimensies. Kostenbewaking gebeurt per passage, zodat niet bij iedere verwerking het hele archief opnieuw hoeft te worden omgezet.

Consultants stellen vervolgvragen over een onderwerp. Daarom bewaart de app gesprekken en berichten in SQLite en kunnen gebruikers een eerdere vraaglijn terugvinden.

Wat we bouwden

  1. 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.

    3 onderdelen
    • Verwerkt het archief van 18.429 .docx-bestanden met een indeling in 14 documenttypes over 3 niveaus: primair, secundair en alleen metadata.
    • De 514 documenten die niet betrouwbaar getypeerd konden worden, worden afgesplitst en apart afgehandeld, in plaats van de doorzoekbare set te vervuilen.
    • Het documenttype bepaalt hoe een bestand wordt opgedeeld en beschikbaar wordt voor zoeken.
  2. Semantische chunking en embedding met kostenbewaking

    De geselecteerde documenten worden op basis van hun secties opgedeeld in passages en omgezet in vectoren met OpenAI text-embedding-3-large. We voegden kostenbewaking per passage en aparte verwerking van te lange passages toe.

    3 onderdelen
    • Semantische chunking met section-detection levert 95.592 chunks uit 15.801 documenten.
    • Embeddings via OpenAI text-embedding-3-large met 3072 dimensies.
    • Oversized chunks krijgen aparte handling, en kosten worden op chunk-niveau gestuurd in plaats van alles blind opnieuw te embedden.
  3. ChromaDB vector store en FastAPI-backend

    De embeddings en metadata staan in een persistente ChromaDB-database. Een FastAPI-backend haalt bij een vraag relevante passages op voor de chat.

    3 onderdelen
    • 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.
    • Semantisch zoeken vergelijkt betekenis, zodat ook passages met een andere formulering kunnen worden opgehaald.
  4. 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.

    3 onderdelen
    • 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.
  5. RAG-beantwoording via Claude met bronvermelding

    Claude krijgt de opgehaalde passages mee voor het antwoord. Verwijzingen naar de oorspronkelijke .docx-bestanden helpen consultants de tekst en de context te controleren. Een bronverwijzing is een hulpmiddel bij die controle, geen bewijs dat een antwoord klopt.

    3 onderdelen
    • Opgehaalde passages uit het eigen archief vormen de context voor de beantwoording door Claude.
    • Bronverwijzingen naar de oorspronkelijke .docx-bestanden bij het antwoord.
    • Consultants kunnen de genoemde documenten openen om een gevonden passage in context te beoordelen.

De blueprint

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

Resultaat

Zoektijd

Uren naar seconden

Planit beschrijft het verschil als uren handmatig zoeken tegenover seconden met de zoekfunctie.

Coverage

15.801 docs

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

Bronvermelding

Per antwoord

Verwijzingen naar de oorspronkelijke .docx helpen consultants het antwoord te verifiëren.

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