Git als bron van waarheid
De kennisbanken die mijn assistent raadpleegt, staan als Markdown in een Git-repository. De vectorstore in Open WebUI (PostgreSQL met pgvector, embeddings lokaal) is een afgeleide: een publicatieworkflow vult hem uit de repository.
Elk document beschrijft één feit, met metadata: onderwerp, scope (werk of homelab), status en bron.
AI stelt voor, ik keur goed
Na een sessie waarin iets is uitgezocht, destilleert een commando (/rag-save) de bevindingen tot kennisdocumenten:
- Ze krijgen
status: draften gaan naar een aparte branch. - Een validatiescript controleert de metadata en de structuur.
- Er komt een pull request naar
main. - Ik lees, pas aan en merge. Alleen documenten op
mainmetstatus: approvedworden geïndexeerd.
Die poort is bewust. Een taalmodel trekt soms een verkeerde conclusie, en een verkeerde conclusie in een kennisbank komt later terug als "feit". De menselijke stap houdt dat tegen.
Wat ik leerde
- Zoek eerst wat er al is. Mijn eerste ontwerp had een eigen database-schema, een embed-stap en een service-account. Allemaal de verkeerde laag: de pijplijn bestond al en wilde alleen Markdown.
- Publiceren op basis van een diff is fragiel. De workflow keek alleen naar de laatste merge. Een draft die meekwam omdat er op de branch verder was gepusht, blokkeerde de publicatie. De les: één branch per batch, en pas verder pushen na de merge.