{"id":150,"date":"2025-01-06T03:06:10","date_gmt":"2025-01-06T03:06:10","guid":{"rendered":"https:\/\/fayenna.com\/?page_id=150"},"modified":"2025-01-06T03:06:10","modified_gmt":"2025-01-06T03:06:10","slug":"ckba-bewaar-6-jan-2025","status":"publish","type":"page","link":"https:\/\/fayenna.com\/index.php\/ckba-bewaar-6-jan-2025\/","title":{"rendered":"CKBA &#8211; Bewaar 6 jan 2025"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\"><strong>1. Huidige Functionaliteiten<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Backend (FastAPI):<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Basisendpoints:<\/strong>\n<ul class=\"wp-block-list\">\n<li><code>\/<\/code>: Testendpoint dat een begroeting retourneert.<\/li>\n\n\n\n<li><code>\/test-db<\/code>: Controleert verbinding met de database.<\/li>\n\n\n\n<li><code>\/answer<\/code>: Beantwoordt vragen op basis van opgeslagen teksten.<\/li>\n\n\n\n<li><code>\/upload<\/code>: Verwerkt documenten en voegt ze toe aan een vectorstore.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Vectorstore Functionaliteiten:<\/strong>\n<ul class=\"wp-block-list\">\n<li>FAISS-gebaseerde opslag voor semantische zoekopdrachten.<\/li>\n\n\n\n<li>Upload- en zoekfunctionaliteit met <code>SimpleVectorStore<\/code>.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Middleware:<\/strong>\n<ul class=\"wp-block-list\">\n<li>CORS-middleware is ingesteld om toegang vanaf verschillende bronnen toe te staan.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>NLP-functionaliteit:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Genereren van antwoorden via een eenvoudig gegenereerd model met een aangepaste <code>generate_answer<\/code>-functie.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Frontend (WordPress-plugin):<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Uploadfunctie:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Documentupload via een formulier, met gebruik van JavaScript en <code>fetch<\/code> API.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Vraag\/antwoord-functie:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Vragen stellen via een formulier en antwoorden ophalen van het <code>\/answer<\/code> endpoint.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Shortcodes:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Meerdere shortcodes voor functionaliteiten, inclusief tests en verbindingen met de database.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Technische Stack:<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>FastAPI<\/strong> als backendframework.<\/li>\n\n\n\n<li><strong>Hypercorn<\/strong> als ASGI-server.<\/li>\n\n\n\n<li><strong>Railway<\/strong> voor hosting en deployment.<\/li>\n\n\n\n<li><strong>FAISS<\/strong> voor vectorstore-functionaliteiten.<\/li>\n\n\n\n<li><strong>NLP-modellen<\/strong> via Hugging Face (initieel BLOOMZ, nu lichter model).<\/li>\n\n\n\n<li><strong>PHP-plugin<\/strong> voor integratie met WordPress.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2. Wat ik nog moet weten voor een compleet beeld<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>a. Logging en Debugging:<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Hoe log je fouten of waarschuwingen momenteel?\n<ul class=\"wp-block-list\">\n<li>Gebruik je een specifieke logservice (bijvoorbeeld Railway logs)?<\/li>\n\n\n\n<li>Moet er een uitgebreid loggingsysteem worden ge\u00efmplementeerd?<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>b. Beveiliging:<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Heb je al maatregelen genomen voor API-beveiliging, zoals authenticatie (bijvoorbeeld API-sleutels)?<\/li>\n\n\n\n<li>Is er encryptie of toegangslimieten ingesteld voor endpoints?<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>c. Database\/Vectorstore:<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Blijf je de vectorstore alleen in een tijdelijk bestand opslaan? Of plan je een persistente opslag?<\/li>\n\n\n\n<li>Heb je plannen voor een SQL-database-integratie voor aanvullende gegevensopslag?<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>d. Ondersteuning voor Meerdere Bestanden:<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Is de <code>\/upload<\/code> endpoint klaar om meerdere bestanden in \u00e9\u00e9n verzoek te verwerken? Dit kan belangrijk zijn voor klanten die bulkuploads willen doen.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>e. Testing:<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Heb je een proces voor handmatige of geautomatiseerde tests? Bijvoorbeeld:\n<ul class=\"wp-block-list\">\n<li>Unit-tests voor de backend.<\/li>\n\n\n\n<li>Handmatige tests voor WordPress-integraties.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>f. Documentatie:<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Heb je al technische documentatie, zoals instructies voor het opzetten van een lokale ontwikkelomgeving of installatiegidsen voor klanten?<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3. Uitbreidingsmogelijkheden<\/strong><\/h3>\n\n\n\n<p>Op basis van wat ik weet en mogelijke aanvullende functionaliteiten:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Uitbreiding Vectorstore:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Ondersteuning voor complexe zoekopdrachten (bijvoorbeeld semantische query&#8217;s gecombineerd met metadata-filters).<\/li>\n\n\n\n<li>Planning voor persistente opslag, bijvoorbeeld via een ge\u00efntegreerde database.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Nieuwe Functionaliteiten:<\/strong>\n<ul class=\"wp-block-list\">\n<li><strong>Automatische Data-Ingestie:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Koppeling met ERP-systemen, intranetten of andere bronnen voor realtime data-updates.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Rollen en Toegang:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Rolgebaseerde toegang voor API-gebruikers (bijvoorbeeld beheerders, eindgebruikers).<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Extra Endpoints:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Endpoints voor analyserapporten, samenvattingen, of geavanceerde NLP-functies.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Frontend-Integraties:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Een meer geavanceerde frontend voor niet-technische gebruikers:\n<ul class=\"wp-block-list\">\n<li>UI voor het beheren van vectorstores of datasets.<\/li>\n\n\n\n<li>Geavanceerdere interactie met de backend vanuit WordPress.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Beveiliging:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Implementeer API-authenticatie (bijvoorbeeld met OAuth2).<\/li>\n\n\n\n<li>Rate-limiting om overbelasting van de server te voorkomen.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Cloud en Hosting:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Overweeg over te stappen naar een meer schaalbare cloudomgeving als Railway tegen grenzen aanloopt.<\/li>\n\n\n\n<li>Gebruik van Docker Compose voor eenvoudiger beheer van containers.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4. Checklist voor de volgende stappen<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Definieer prioriteiten:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Welke functionaliteiten zijn het meest cruciaal voor de eerste versie van CKBA?<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Technische basis:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Controleer of alle huidige functionaliteiten stabiel werken.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Plan uitbreidingen:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Bepaal welke nieuwe functionaliteiten en uitbreidingen nodig zijn voor je eerste klanten.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Testing en Beveiliging:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Maak een testplan en implementeer basisbeveiliging.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>1. Huidige Functionaliteiten Backend (FastAPI): Frontend (WordPress-plugin): Technische Stack: 2. Wat ik nog moet weten voor een compleet beeld a. Logging en Debugging: b. Beveiliging: c. Database\/Vectorstore: d. Ondersteuning voor Meerdere Bestanden: e. Testing: f. Documentatie: 3. Uitbreidingsmogelijkheden Op basis van wat ik weet en mogelijke aanvullende functionaliteiten: 4. Checklist voor de volgende stappen<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-150","page","type-page","status-publish","hentry","latest_post"],"_links":{"self":[{"href":"https:\/\/fayenna.com\/index.php\/wp-json\/wp\/v2\/pages\/150","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fayenna.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/fayenna.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/fayenna.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fayenna.com\/index.php\/wp-json\/wp\/v2\/comments?post=150"}],"version-history":[{"count":1,"href":"https:\/\/fayenna.com\/index.php\/wp-json\/wp\/v2\/pages\/150\/revisions"}],"predecessor-version":[{"id":151,"href":"https:\/\/fayenna.com\/index.php\/wp-json\/wp\/v2\/pages\/150\/revisions\/151"}],"wp:attachment":[{"href":"https:\/\/fayenna.com\/index.php\/wp-json\/wp\/v2\/media?parent=150"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}