Even voorstellen: Fabrice AI

Fabrice AI is een digitale weergave van mijn gedachten gebaseerd op alle inhoud van mijn blog. Het is bedoeld als een interactieve, intelligente assistent die in staat is om complexe vragen te begrijpen en er genuanceerd en accuraat op te reageren.

Fabrice AI begon als een experiment, een persoonlijke zoektocht om het potentieel van kunstmatige intelligentie te verkennen door een digitale versie te maken van de uitgebreide kennis die ik in de loop der jaren had gedeeld. Aanvankelijk zag ik dit als een eenvoudig project, iets dat in een paar uur kon worden voltooid. Het plan was eenvoudig: upload mijn inhoud naar OpenAI’s API en laat de AI ermee interageren, om zo een toegankelijke, intelligente assistent te creëren die genuanceerde antwoorden kan geven op basis van de schat aan informatie die ik heb gedeeld.

Toen ik aan deze reis begon, werd het echter al snel duidelijk dat de taak veel complexer was dan ik had verwacht. Het project, waarvan ik dacht dat het een kort uitstapje naar AI zou zijn, groeide al snel uit tot een veelomvattende en ingewikkelde onderneming, waarvoor veel meer nodig was dan alleen een oppervlakkige upload van gegevens. Het werd een diepe duik in de fijne kneepjes van AI, natuurlijke taalverwerking en kennismanagement.

De belangrijkste uitdaging waar ik voor stond ging niet alleen over het opslaan van informatie, maar ook over het leren van de AI om die informatie te begrijpen, in context te plaatsen en nauwkeurig op te halen op een manier die de diepte en nuance van mijn oorspronkelijke inhoud weerspiegelde. Hiervoor was een veelzijdige aanpak nodig, omdat ik ontdekte dat eenvoudige methoden voor het opslaan en ophalen van gegevens onvoldoende waren voor de complexiteit van de vragen die ik Fabrice AI wilde laten beantwoorden.

De reis voerde me langs een breed scala aan benaderingen, van de eerste pogingen om vectorzoekindices te gebruiken tot meer geavanceerde methoden met kennisgrafieken, metadata retrieval en op maat gemaakte AI-modellen. Elke aanpak had zijn eigen sterke en zwakke punten en elke aanpak leerde me iets nieuws over de complexiteit van AI en de nuances van digitaal kennisbeheer. In de volgende blogpost zal ik het technische pad in detail beschrijven.

Naast de technische problemen bleek het ook een uitdaging om een uitputtende kennisbank te genereren. In de eerste fasen van het testen van de nauwkeurigheid van de AI, drong het tot me door dat de meest gedetailleerde en nauwkeurige antwoorden op sommige vragen de antwoorden waren die ik gaf in video-interviews of podcasts. Om nauwkeurig te zijn, moest de kennisbank al mijn posts, video-interviews, podcasts, PowerPoint-presentaties, afbeeldingen en PDF-documenten bevatten.

Ik begon met het transcriberen van alle inhoud. Aangezien de automatische transcripties om te beginnen bij benadering zijn, moest ik ervoor zorgen dat de AI de inhoud begreep. Dit nam veel tijd in beslag omdat ik de antwoorden voor elk stuk getranscribeerde inhoud moest testen.

Hoewel de transcripties mij scheidden van de andere spreker, dacht de AI eerst dat 100% van de gesproken inhoud van mij was, wat veel verdere training vereiste om ervoor te zorgen dat het beide sprekers correct kon onderscheiden op alle inhoud. Ik wilde ook dat Fabrice AI meer gewicht gaf aan recente inhoud. De eerste keer dat ik dat probeerde, werd natuurlijk de datum gebruikt waarop ik de inhoud had geüpload naar de LLM in plaats van de datum waarop ik het artikel had gepost.

Voor de volledigheid heb ik ook de kennis getranscribeerd in dia’s die ik op de blog heb gedeeld door het OCR-model in Azure te gebruiken voor de conversie van afbeeldingen naar tekst en de bestanden vervolgens geüpload naar de kennisbank van de GPT-assistent. Op dezelfde manier heb ik PDF’s gedownload uit de mediabibliotheek van WordPress en geüpload naar de kennisbank.

Tijdens het beta-testen merkte ik dat veel van mijn vrienden persoonlijke vragen stelden die niet op de blog aan bod kwamen. Ik wacht af welke vragen mensen de komende weken gaan stellen. Ik zal de antwoorden aanvullen voor het geval ze niet gevonden kunnen worden met de bestaande inhoud op mijn blog. Merk op dat ik met opzet de antwoorden van Fabrice AI beperk tot de inhoud op de blog, zodat je echt Fabrice AI krijgt en niet een mix van Fabrice AI en Chat GPT.

Het is de moeite waard om te vermelden dat ik een lange weg heb afgelegd om hier te komen. Ik begon met GPT3, maar de resultaten stelden me teleur. Het bleef de verkeerde bronnen gebruiken om de vragen te beantwoorden, ook al hadden sommige blogposts precies het antwoord dat de vraag stelde. Ondanks tientallen uren werken aan het probleem om het de juiste inhoud te laten gebruiken (wat ik in de volgende blogpost zal behandelen), kreeg ik nooit resultaten waar ik tevreden mee was.

Met GPT3.5 ging het beter, maar het was nog steeds teleurstellend. Ik heb toen een GPT applicatie gebouwd in de GPT Store met GPT Builder. Het werkte iets beter en was goedkoper in gebruik. Ik kon het echter niet op mijn website laten draaien en het was alleen beschikbaar voor betaalde abonnees van Chat GPT, wat ik te beperkend vond. Hoe dan ook, ik hield niet van de kwaliteit van de antwoorden en vond het niet prettig om het vrij te geven aan het publiek.

De doorbraak kwam met de release van GPT Assistants met model 4o. Zonder dat ik het hoefde te vertellen welke inhoud het moest gebruiken, begon het het zelf uit te zoeken en alles werkte gewoon beter. Ik heb de GPT applicatie aanpak gedumpt en ben teruggegaan naar het gebruik van de API zodat ik het op de blog kon embedden. Voor de volledigheid heb ik ook Gemini getest, maar ik gaf de voorkeur aan de antwoorden van GPT4o.

Ik geef voorlopig alleen een tekstversie uit. Deze bevat een spraak-naar-tekst functie zodat je je vragen met je stem kunt stellen. Ik speel met een paar manieren om een interactieve versie te coderen die eruitziet en klinkt als ik en waarmee je een gesprek kunt voeren. Ik heb een werkend prototype maar ben nog lang niet tevreden met de resultaten en de mogelijke kosten. Ik wil er zeker van zijn dat het in de eerste persoon spreekt, er echt uitziet en klinkt als ik en dat het me geen arm en een been kost om het te bedienen.

We zullen zien hoeveel vooruitgang ik boek in de komende maanden, maar misschien is het gewoon verstandig om te wachten op GPT5. Achteraf gezien had ik honderden uren werk bespaard als ik gewoon op GPT4o had gewacht om Fabrice AI te ontwikkelen. Maar nogmaals, het onderzoek was een deel van het doel en het was super interessant.

Speel ondertussen met Fabrice AI en laat me weten wat je ervan vindt!

>