Net mijn eerste grote RAG chatbot opgeleverd voor een advocatenkantoor en ik wil het project delen. Super trots op het resultaat!
**Het project:**
- 5000+ juridische documenten geindexeerd (wetten, jurisprudentie, eigen precedenten)
- Advocaten kunnen in natuurlijke taal vragen stellen
- Antwoorden bevatten altijd exacte bronverwijzingen
- 95% accuracy op de testset (gemeten met golden dataset van 200 vragen)
**Tech stack:**
- LangChain voor de RAG pipeline
- Pinecone voor vector storage (juridische teksten zijn lang, veel vectors)
- OpenAI text-embedding-3-large voor embeddings
- GPT-4 Turbo voor generation
- Next.js frontend met streaming responses
- Supabase voor auth en conversatie-opslag
**Uitdagingen en lessen:**
1. Juridische teksten zijn lang en complex — standaard chunking werkt niet
2. Ik gebruikte uiteindelijk "semantic chunking" op sectie/artikel niveau
3. Hybrid search (BM25 + semantic) was cruciaal voor het vinden van specifieke wetsartikelen
4. Het kantoor wilde dat de bot "ik weet het niet" zegt bij onzekerheid — dat was moeilijker dan verwacht
Feedback welkom! Ik overweeg een template/SaaS hiervan te maken.
Reacties (3)
J
Jan de Maker3 dagen geleden
Mooi project! Hoe heb je de chunk-strategie aangepakt voor juridische teksten? Ik heb vergelijkbare uitdagingen bij een klant met lange beleidsdocumenten. Standaard RecursiveTextSplitter maakt er een rommeltje van.
S
Sophie Automator3 dagen geleden
Indrukwekkend! Hoe meet je die 95% accuracy? Heb je een geautomatiseerde evaluatie-pipeline of is het handmatig? Ik worstel altijd met het kwantificeren van kwaliteit bij mijn klanten.
T
Tom Builder3 dagen geleden
Goede vragen! @Jan: ik gebruik een custom parser die de structuur van wetgeving herkent (artikel, lid, sub-lid) en daar op chunked. Plus een "parent document retriever" patroon — small chunks voor retrieval, grote chunks voor context.
@Sophie: ik heb een golden dataset van 200 vraag-antwoord paren laten maken door de advocaten zelf. Daarna een geautomatiseerde eval met LLM-as-judge (GPT-4 beoordeelt of het antwoord correct is t.o.v. het referentie-antwoord). Kost een dagje opzetten maar daarna kun je elke wijziging objectief meten.