Als experiment hebben wij een maatwerk AI-chatbot ontwikkeld die getraind is op een grote dataset met financiële informatie, waaronder 67.358 facturen, 80.418 transacties en 3.915 leveranciers. Hierdoor kunnen gebruikers communiceren met deze informatie zonder complexe formules, scripts of queries. De data zelf wordt niet gedeeld met het AI-model; alleen een wiskundige samenvatting hiervan. Hierdoor kan een grote hoeveelheid kennis op een veilige manier toegankelijk worden gemaakt via een chatbot.
Voordelen van AI-chatbots
AI-chatbots zijn een interessante ontwikkeling die de mens-computer interactie eenvoudiger maakt. Mensen weten niet altijd precies waar ze naar op zoek zijn en stellen daardoor soms onlogische vragen. Computers en data zijn logisch opgebouwd en bevinden zich in gestructureerde tabellen. Chatbots overbruggen dit probleem door menselijke vragen te vergelijken met veel informatie waarop een AI-LLM (Large Language Model) is getraind. Op basis hiervan stelt de chatbot een waarschijnlijk antwoord voor.
Naarmate de ontwikkeling en het aantal gebruikers van chatbots toeneemt, worden deze verbeterd door de bedrijven erachter. De hoeveelheid informatie waarop het model is getraind wordt groter, de reacties sneller en ze kunnen meerdere redenatiemethoden combineren of afwisselen. Er bestaan chatbot-modellen die zich richten op tekst, beeld, audio, of een combinatie hiervan. Dit laatste noemt men multimodaliteit: het toepassen van meerdere modellen om antwoord te geven op een vraag.
Nadelen van AI-chatbots
Het nadeel van chatbots is dat de taalmodellen getraind zijn op datasets van soms terabytes groot. Niet al deze broninformatie is nodig bij het beantwoorden van een vraag. Hierdoor kan een chatbot minder effectief zijn dan een specifiek algoritme, ontstaat er soms ruis en verbruikt een AI-chatbot veel energie. Deze ruis kan er ook voor zorgen dat een AI-chatbot gaat hallucineren of gokken bij een antwoord. Dat is onwenselijk en beïnvloedt de betrouwbaarheid van het voorgestelde antwoord. Vaak wordt de vraag opgeslagen op een server zonder dat je weet wat het bedrijf achter de chatbot met deze informatie doet. Dit zou gebruikt kunnen worden om een nieuwe versie van de chatbot te maken of je informatie zou verkocht kunnen worden aan andere bedrijven, bijvoorbeeld om advertenties te tonen op social media.
Een veilige AI-oplossing: gebruik van Retrieval-Augmented Generation (RAG)
Om het hallucineren en de energieconsumptie terug te brengen en de informatie niet met de buitenwereld te delen, bijvoorbeeld om redenen zoals wet- en regelgeving of bedrijfsgevoeligheid, kan een maatwerk AI-chatbot een oplossing bieden. Deze chatbot wordt getraind op specifieke informatie of geïnstrueerd om zich binnen de aangegeven kaders en protocollen te gedragen. Momenteel worden wereldwijd meerdere mogelijke oplossingen bedacht, zoals RAG (Retrieval-Augmented Generation) of het gericht trainen van een AI-model met specifieke informatie. Onderstaande illustratie (Afbeelding 1) geeft de werking aan van het RAG-proces.
Werking van het RAG-proces, waarbij AI en een subset van data gebruikt wordt.
Bedrijven zoals NVIDIA en OpenAI zijn sinds 2023 actief bezig met de ontwikkeling en toepassing van Retrieval-Augmented Generation (RAG) technieken om de nauwkeurigheid en betrouwbaarheid van generatieve AI-modellen te verbeteren. Mooie voorbeelden hiervan zijn de ontwikkeling van NVIDIA’s NeMo Megatron en OpenAI’s Assistants Codex. NVIDIA heeft in hun NeMo Megatron model RAG toegepast om feiten uit externe bronnen op te halen en te integreren in hun AI-modellen. OpenAI’s Codex, bekend van GitHub Copilot, maakt gebruik van vergelijkbare technieken om code suggesties te geven die gebaseerd zijn op een uitgebreide dataset van openbare code repositories.
Deze aanpak heeft vergelijkbare kenmerken met federated learning principe: in plaats van data naar het algoritme te brengen, breng je het algoritme naar de data.
Hoe zou je een RAG chatbot kunnen maken?
Het principe van onze oplossing bestaat uit het creëren van een centrale plek waar informatie wordt opgeslagen, gestructureerd en maximaal verrijkt met relevante informatie. In ons geval hebben wij 67.358 facturen ge-OCR’d (Optical Character Recognition in Python), geïndexeerd met AI en een algoritme, deze opgesplitst naar 188.470 factuurregels en de gegevens van 3.915 relaties uitgebreid met publieke informatie zoals websitegegevens en de producten die het bedrijf levert. Wij hebben als fundering gekozen voor een Laravel-omgeving met een MySQL-database en Python-pipelines om externe data op te halen en op de juiste manier te verwerken in de database. Voor een volgend project zouden wij het opslaan en verrijken van deze informatie mogelijk eerder in een datapipelinemodel verwerken, omdat er nu veel handwerk bij komt kijken.
Vervolgens hebben wij ervoor gekozen om een willekeurig sample van tien records uit onze dataset te selecteren. Hiervoor zou ook gesynthetiseerde data gebruikt kunnen worden, mits deze niet te veel bias bevat. Daarna hebben we via een dictionary in menselijke taal de structuur van de dataset beschreven. Zie dit als een schema waarin de relatie tussen de databasetabellen, de betekenis van alle kolommen en de te verwachten waarden per tabel beschreven worden. Hierna hebben wij LLM-modellen getraind (OpenAI GPT-4o API en Llama 2.0) met een set instructies en informatie uit de dictionaries. Dit is gebaseerd op een data retrieval-principe, ook bekend als vectorized informatiestructuren, zoals we kennen uit vectordatabases, vectoropslag of vectorzoekmachines: een database die vectoren samen met andere gegevensitems kan opslaan. De brondata zelf is dus niet gedeeld met de modellen, voornamelijk vanwege de omvang van deze dataset en omwille van wet- en regelgeving en bedrijfsveiligheid. Ook hebben wij duidelijke instructies geschreven over de context, de wijze waarop informatie geïnterpreteerd moet worden en de beoogde uitkomst van de chatbot.
Testen in de praktijk
Ons idee hebben we verder uitgewerkt en getest met het innovatieve Nederlandse bedrijf Schadenberg Groep. Schadenberg, met vele dochterbedrijven en business units, heeft een diverse leveranciers- en klantbasis, met complexe inkoop- en verkoopkanalen verspreid over de organisatie. Dit leidt tot een decentraal inzicht in data, waardoor kansen voor kostenbesparingen nog onbenut blijven. Door het centraliseren van inkoopdata en de toepassing van AI, beogen we een kostenreductie van 3-4%.
Via interviews en demo-sessies hebben we de inzichten van stakeholders geïntegreerd in Fusion AI (Afbeelding 2) – een fusie tussen AI en eigen bedrijfsdata. Deze moderne digitale oplossing, ontworpen en ontwikkeld binnen een Proof of Concept-project, richt zich op het verbeteren van inzicht en begrip van financiële data-analyse binnen Schadenberg Groep en haar dochterondernemingen. Het systeem maakt daarnaast gebruik van geavanceerde AI-technologieën om facturen te analyseren, te categoriseren en relevante bedrijfsinformatie te verrijken. Dit resulteert in een beter begrip door het AI-model en levert betere antwoorden op gestelde vragen. Denk daarbij aan ‘Welke leveranciers van grondwerken hebben hun prijzen het meest verhoogd in het afgelopen jaar?’ of ‘Wat hebben wij uitgegeven aan isolatiemateriaal in 2023?’. Redelijk simpele vragen waarbij de financiële afdeling normaal flink moet zoeken in draaitabellen, Microsoft Power BI-rapportages of grootboeknummers. Het gegeven antwoord is nog niet perfect en wordt beïnvloed door de kwaliteit van input-data, maar biedt veel potentie voor de toekomst.
Bovendien hebben we standaardvragen voorbereid op basis van de kostendragers, zodat relevante informatie direct inzichtelijk is. Dit maakt het voor gebruikers nog eenvoudiger om snel toegang te krijgen tot de belangrijkste gegevens en analyses.
De oplossing is ontworpen om inzicht te geven in de inkoopdata, wat leidt tot betere strategische beslissingen en kostenbesparingen. Dit helpt Schadenberg om niet alleen operationeel efficiënter te worden, maar ook om strategische inkoopvoordelen te realiseren op de korte termijn. Op de lange termijn legt deze aanpak een solide basis voor verdere innovaties en verbeteringen, wat bijdraagt aan de duurzame groei en marktpositie van Schadenberg Groep.
“Bij Schadenberg geloven we dat strategische inkoop en innovatie sterk bijdragen aan onze groei. Door gebruik te maken van geavanceerde AI-oplossingen, kunnen we onze inkoopprocessen optimaliseren en waardevolle inzichten verkrijgen die ons helpen om efficiënter en effectiever te opereren. Dit stelt ons in staat om niet alleen kosten te besparen, maar ook om strategische beslissingen te nemen die bijdragen aan onze voortdurende groei en marktpositie.”
– Ted Kieft, Commercieel Directeur bij Schadenberg
Technische details
De oplossing is ontworpen om gebruikers in staat te stellen vragen te stellen via een chat-interface in Laravel. Wanneer een gebruiker een vraag stelt, wordt deze gefilterd om onwenselijke vragen, zoals het verwijderen of manipuleren van data, te elimineren en vervolgens omgezet in een gestructureerd JSON-formaat. Deze gestructureerde vraag wordt via een API naar de chatbot gezonden. De OpenAI-assistent heeft duidelijke instructies en een goed begrip van de data via eerder gemaakte dictionaries en is verantwoordelijk voor het interpreteren van de vraag (zie afbeelding 3).
De AI-assistent wordt gestart zonder voor elke vraag een nieuwe thread aan te maken. We blijven binnen één enkele thread communiceren om de context van het gesprek te behouden. Momenteel experimenteren we met verschillende benaderingen om het geheugen van de AI te verbeteren. Een van deze benaderingen omvat het gebruik van een geheugen per vraag en het implementeren van een multithreaded systeem. Dit zou gebruikers in staat stellen om meerdere vragen tegelijkertijd te stellen en door te gaan op individuele onderwerpen zonder dat de context verloren gaat. Dit experiment is gericht op het verbeteren van de flexibiliteit en efficiëntie van de AI-assistent bij het afhandelen van complexe en doorlopende gesprekken.
De chatbot genereert een antwoord in de vorm van een voorgestelde zoekopdracht (SQL-query) in JSON. Deze zoekopdracht wordt opnieuw gefilterd op ongewenst gedrag en vervolgens omgezet in een eloquente of SQL-query in de Laravel-view. De data wordt vervolgens opgehaald uit de MySQL-database en weergegeven op basis van de vraag. De Laravel-controller zet deze vraag om naar een antwoord in PHP en HTML voor de view. Fouten en afwijkingen in de data worden zo veel mogelijk voorkomen, maar zijn niet volledig uit te sluiten. Vragen en antwoorden worden opgeslagen in een logbestand, waarvan de informatie periodiek wordt gebruikt om de instructies en het model te verbeteren.
Leerpunten uit de praktijk
Tijdens het ontwikkelingsproces van deze AI-oplossing hebben we waardevolle inzichten opgedaan en verschillende uitdagingen overwonnen.
Ideeën voor de toekomst
Onze toekomstige plannen omvatten het uitbreiden van integraties met diverse gegevensbronnen, waardoor de AI rijkere context en nauwkeurigere antwoorden kan genereren. We experimenteren met geavanceerde machine learning technieken om de modellen te verfijnen voor betere classificaties en contextueel begrip. Daarnaast onderzoeken we de implementatie van interactieve grafieken en multimodale interfaces om gebruikers een rijkere ervaring te bieden. Dit omvat zowel tekst- als spraakinteractie en visuele hulpmiddelen.
De gebruikte technologieën in ons voorbeeld:
Handige links en bronnen
Onderstaand een selectie van bronnen die nuttig kunnen zijn voor verdere verdieping in de technologieën en methodologieën die we hebben toegepast in ons project.
Met deze aanpak hopen we dat meer bedrijven zoals Schadenberg Groep de voordelen van AI en data-analyse kunnen benutten zonder compromissen op het gebied van veiligheid en privacy. Deze technologie biedt niet alleen praktische voordelen op de korte termijn, maar vormt ook een solide basis voor verdere technologische vooruitgang en duurzame groei.
Conclusie
De implementatie van AI-chatbots en RAG-technologieën zoals toegepast bij Schadenberg Groep, toont aan dat bedrijven aanzienlijke voordelen kunnen behalen door beter gebruik te maken van hun data. De verbeterde efficiëntie en nauwkeurigheid in financiële processen, gecombineerd met de mogelijkheid om snel en eenvoudig toegang te krijgen tot waardevolle inzichten, stellen organisaties in staat om strategische beslissingen te nemen die hun groei en marktpositie versterken. Met de voortdurende evolutie van AI-technologieën en de integratie van nieuwe data-bronnen, ligt de toekomst van bedrijfsdata-analyse en -optimalisatie binnen handbereik.
Bij Active Collective zetten we ons 24/7 in voor het verbeteren van de digitale veiligheid voor bedrijven. Recentelijk hadden wij de eer om deel te nemen aan een klankbordgroep voor een belangrijk onderzoek naar de cyberweerbaarheidskloof van het mkb in... Lees verder
Raymond Martens, CTO van Active Collective, gaf onlangs een presentatie over Project PICTURE tijdens een evenement van het Healthcare Innovation Platform (HIP). Dit initiatief is een samenwerking tussen techbedrijven en zorgprofessionals, gericht op het versnellen van innovaties in de gezondheidszorg.... Lees verder
Als experiment hebben wij een maatwerk AI-chatbot ontwikkeld die getraind is op een grote dataset met financiële informatie, waaronder 67.358 facturen, 80.418 transacties en 3.915 leveranciers. Hierdoor kunnen gebruikers communiceren met deze informatie zonder complexe formules, scripts of queries. De... Lees verder
In het eerste en tweede deel van onze serie over het optimaliseren van een website hebben we de noodzaak van onderhoud en de invloed van snelheid en prestaties besproken. Nu richten we ons op twee cruciale aspecten die vaak over... Lees verder
In de afgelopen jaren is kunstmatige intelligentie (AI) uitgegroeid van een futuristisch concept tot een integraal onderdeel van veel organisaties. Hoewel de initiële hype is afgenomen, blijft de impact van AI groot en onmiskenbaar. AI helpt bij het maken van... Lees verder
Design speelt een belangrijke rol in ons leven en beïnvloedt onze interacties, aankopen, leefruimtes en zelfs ons zelfbeeld. Het fungeert als een visuele vorm van communicatie. Het vormt onze gevoelens over diverse onderwerpen, personen en plaatsen. In een wereld waar... Lees verder
Ik ben Uma, software engineer bij Active Collective. Onlangs heb ik mijn eerste jaar bij Active Collective afgerond. Het afgelopen jaar ben ik een spannende reis begonnen vol uitdagingen, kansen en persoonlijke groei. Met dit artikel wil ik mijn inzichten... Lees verder
Cyberbeveiliging is niet langer meer alleen een zorg voor grote ondernemingen. Ook kleine en middelgrote bedrijven spelen een cruciale rol in onze economie en hebben recht op gedegen bescherming tegen het groeiende risico van cyberaanvallen. In dit artikel belichten we... Lees verder
Probeer je levens van mensen makkelijker of efficiënter te maken, maar loop je vast op de ontwikkeling van een digitaal product? Bij Active Collective ontwikkelen we software voor verschillende sectoren. Wel hebben we specialistische ervaring binnen het Life Sciences & Health Care domein. Welke behoefte je ook hebt; Wij denken met je mee en komen samen tot de perfecte digitale oplossing voor jouw menselijke vraagstuk.
Heb je vragen over een digitaal product? We helpen je graag verder. Neem contact met op met Guido voor meer informatie.