Naar de inhoud springen
3. Stappenplan Implementatie (= onderdeel uit Technisch Ontwerp CKBA)
Fase 1: Basisstructuur & Containerization
- Docker-omgeving opzetten
- Creëer een Dockerfile en docker-compose.yml om de verschillende services te definiëren.
- Zorg ervoor dat FastAPI en database-services draaien binnen containers.
- FastAPI backend opzetten
- Maak de eerste API-endpoints voor document upload en retrieval.
- Configureer basis middleware voor request handling.
- FAISS-vectorstore integreren
- Zorg voor een mechanisme om documenten om te zetten naar embeddings en op te slaan in FAISS.
- Test retrieval functionaliteit met een eenvoudige query-interface.
Fase 2: AI-Integratie & Retrieval
- LLM-Abstraction Layer implementeren
- Bouw een flexibele laag die initieel werkt met Llama/Mistral, maar uitbreidbaar is naar OpenAI.
- Definieer API-methodes voor tekstgeneratie en retrieval-verwerking.
- Hybride Zoekfunctionaliteit bouwen
- Implementeer SQL en GraphDB als extra zoekopties naast FAISS.
- Combineer vector retrieval met relationele en semantische zoektechnieken.
- GraphDB (Neo4j/ArangoDB) als relationele contextlaag toevoegen
- Koppel documenten met semantische relaties en metadata.
Fase 3: Observability & Performance Optimalisatie
- OpenTelemetry integreren
- Configureer distributed tracing en logging zonder vendor lock-in.
- Zorg ervoor dat observability-configuratie aanpasbaar is per klantomgeving.
- Reverse Proxy configureren
- Gebruik Traefik of Nginx als API-gateway voor TLS offloading en load balancing.
- Optimaliseer request handling en latency reductie.
- Database- en zoekindex optimaliseren
- Implementeer indexing-strategieën voor snellere retrieval.
- Verfijn de vector-retrieval pipeline voor lage latentie.
Fase 4: Abstractielaag uitbreiden & Multi-LLM ondersteuning
- LLM API-integratie uitbreiden
- Zorg voor eenvoudige configuratie-switch tussen lokaal model en cloud-API’s.
- Voeg ondersteuning toe voor OpenAI, HuggingFace en eigen gehoste modellen.
- Multi-tenant architectuur ontwerpen zonder Kubernetes
- Zorg voor geïsoleerde databronnen per klant via containerized database instances.
- Gebruik API-routing voor klant-specifieke toegang en modelinstellingen.