Content-app

AI in je app

Je lezers komen aan met een vraag. Vandaag stellen ze die aan een zoekmachine, die in je plaats antwoordt, of ze graven in je app tot ze het vinden. Met GoodBarber open je een derde weg: een assistent die binnen de app antwoordt, vlak naast je content.

Twee extensies doen dat. Op het scherm lijken ze op elkaar: een gesprek, een vraag, een antwoord. Onder de motorkap halen ze het antwoord niet op dezelfde plek, en daar zit het hele verschil. De verkeerde kiezen betekent een betrouwbaar antwoord beloven en een verzonnen antwoord leveren.

Hoofdstuk 1Twee assistenten, twee bronnen van antwoorden

De tabel hieronder is het plan van deze gids. Lees ze eerst: ze voorkomt driekwart van de verkeerde keuzes.

De ChatbotDe ChatGPT-extensie
Waar het antwoord vandaan komtJe gepubliceerde content, en niets andersDe algemene kennis van het model
Wat je insteltDe secties die zijn kennisbank voedenEen instructie die zijn rol en zijn toon beschrijft
Wie de AI betaaltGoodBarber, via de credits van de extensieJij, rechtstreeks bij OpenAI
API-sleutel te bezorgenNeeJa, de jouwe
Op welke appsContent-appsContent-apps en e-commerce apps
Wat het kostDe pagina ervan toont de prijs die voor je app geldt, credits inbegrepenDe pagina ervan, plus je verbruik bij OpenAI

Eén zin om het onderscheid vast te houden: de Chatbot weet wat je hebt gepubliceerd, de ChatGPT-extensie weet wat het model heeft geleerd. De eerste kan niet antwoorden over een onderwerp dat je nooit hebt behandeld. De tweede antwoordt hoe dan ook, en dat is soms precies wat je niet wilt.

Beide kunnen naast elkaar in dezelfde app bestaan. Een algemene gespreksassistent op het startscherm en een documentaire chatbot in de archiefsectie beconcurreren elkaar niet.

Hoofdstuk 2De Chatbot, die met je content antwoordt

RAG staat voor retrieval-augmented generation. Het principe past in één zin: vóór hij antwoordt, gaat de assistent de relevante passages zoeken in jouw content, en schrijft hij zijn antwoord op basis van die passages.

Dat is het verschil tussen een assistent die jouw onderwerp kent en een assistent die het zijne kent. Voor een artikelarchief van tien jaar, een reisgids, een intern handboek of een basis met veelgestelde vragen is het de enige vorm die standhoudt: de antwoorden blijven binnen de grenzen van wat je hebt geschreven, en ze verouderen in hetzelfde tempo.

De chatbot is eerst een extensie en pas daarna een sectie, en die volgorde telt. Alles vertrekt van het item Chatbot in het hoofdmenu, op het eerste niveau tussen Notification en Statistics: daar voeg je de extensie toe, en pas nadat ze is toegevoegd, wordt de sectie beschikbaar in je app. Ze in de lijst met secties zoeken vóór je daarlangs gaat, betekent ze niet vinden.

Staat ze eenmaal op haar plaats, dan gedraagt ze zich als elke andere sectie: ze neemt haar plek in je menu in, ze telt mee voor je 120 secties, en ze neemt de kleuren en de typografie van je app over.

De instellingen ervan open je via hetzelfde menu-item, op een scherm met vier tabbladen: instellingen, design, bronsecties en meldingen.

Een fragment van het hoofdmenu van het back office. Tussen het item voor meldingen en dat voor statistieken staat een item voor de chatbot, gemarkeerd met een roboticoon en uitgelicht omdat het geopend is.
Het item staat op het eerste niveau: hier voeg je de extensie toe.

Je kiest wat hij mag weten

Dit is de instelling die de kwaliteit van je chatbot bepaalt, en het is ook die waar mensen te snel over gaan.

Het tabblad Sections somt de jouwe op, geordend per contenttype: je artikelen, je evenementen, je locaties. Je vinkt aan welke de kennisbank moeten voeden, en je kunt tot op het niveau van de categorie gaan: de hele sectie met artikelen, of alleen de categorie Praktisch.

Alles wat je daarna in die secties publiceert, komt er automatisch bij. Er is geen knop om bij te werken die je moet onthouden, geen export die je moet overdoen: je kennisbank volgt wat je publiceert.

Eén laatste instelling maakt het plaatje af: een limiet op het aantal items dat per geselecteerde bron wordt bewaard, van het recentste terug. Die verhogen geeft de assistent meer materiaal en verbruikt meer credits. Een uitgever die elke dag publiceert en een stabiele reisgids hebben niet dezelfde waarde nodig.

Het tabblad dat de bronnen van de chatbot aanwijst, tussen de vier tabbladen van zijn instellingenscherm. Een zin legt uit dat de content van de aangevinkte secties de kennisbank voedt en dat latere publicaties er vanzelf bij komen. Daaronder één tabel per contenttype: één regel per sectie, in vet, daarna de categorieën ervan ingesprongen, elk met een eigen schakelaar. Hier staat de sectie aan en staan de categorieën ervan uit.
Twee niveaus van schakelaars: de hele sectie, of alleen enkele van haar categorieën.

Het model kiezen is detail tegen kosten afwegen

Twee modellen stel je apart in, en ze doen niet hetzelfde werk.

Het generatiemodel is dat wat het antwoord schrijft. De lijst loopt van de recentste modellen tot hun varianten Mini en Nano, sneller en zuiniger. Ze bevat modellen van OpenAI en modellen van Mistral, waarmee je op Europese infrastructuur kunt blijven wanneer dat voor jou telt.

Het indexeringsmodel is dat wat je content omzet in iets waarmee de zoekfunctie kan werken. De grote versie gaat beter om met lange, genuanceerde teksten; de zuinige versie is sneller en verbruikt minder.

De praktische regel: begin met een zuinige variant, meet de kwaliteit van de antwoorden op je echte vragen, en ga daarna hoger als je er niet bent. Andersom kost het geld voor niets.

De toon, en wat te doen wanneer het antwoord niet bestaat

Een veld voor de schrijftoon laat je beschrijven hoe de assistent je lezers aanspreekt: de mate van formaliteit, de stijl. Dat veld is er niet om kennis toe te voegen, het is er om de stem te bepalen.

Toch draagt het de nuttigste instructie van het hele scherm: die welke zegt wat te antwoorden wanneer het antwoord niet in je content staat. Zonder die instructie improviseert een assistent vaak liever dan toe te geven. Schrijf ze uitdrukkelijk: zeg hem te antwoorden dat hij het niet weet en naar je contactpagina te verwijzen. Eén zin, en je chatbot houdt op met verzinnen.

Tonen waar het antwoord vandaan komt

Twee schakelaars bepalen wat er onder de antwoorden verschijnt. Interactieve bronkaarten tonen het artikel, het evenement of de locatie waaruit het antwoord is opgebouwd, en de lezer opent die in één beweging. Een tweede schakelaar voegt een kopieerknop toe aan elk bericht in het gesprek.

Kijk naar dat antwoord: het is niet alleen juist, het zegt waar het vandaan komt. Elk geciteerd recept draagt zijn link naar het artikel, en de rij kaarten onder het gesprek brengt de lezer terug in de content. Dat is het zichtbare verschil tussen een assistent die zich op jou baseert en een assistent die uit het geheugen praat.

Zet de bronkaarten aan. Ze doen drie dingen tegelijk: ze bewijzen dat het antwoord echt van jou komt, ze brengen de lezer terug in je content in plaats van hem in het gesprek te laten, en ze geven je een manier om je chatbot in één oogopslag te controleren.

Het volledige scherm van een chatbot in een kookapp. Bovenaan de titel van de sectie, een pijl terug en de toegang tot het account. De vraag van de lezer staat rechts in een donkere ballon, het antwoord volgt eronder, voorafgegaan door de avatar van de assistent: drie recepten aangeboden, elk in één regel samengevat en gevolgd door een knop die het bijbehorende artikel opent, daarna een vraag die de lezer uitnodigt te kiezen. Onder het gesprek somt een rij schuivende kaarten de recepten op die als bron zijn gebruikt, elk met hun foto, hun titel en het begin van hun beschrijving; de derde wordt door de schermrand afgesneden, een teken dat de rij schuift. Onderaan het invoerveld en de verzendknop.
De bronkaarten brengen de lezer terug in je content, in plaats van hem in het gesprek te laten.

Hem voor je abonnees houden

Een optie voor toegangsbeperking sluit de chatbot af voor passerende bezoekers en houdt hem voor wie is aangemeld of geabonneerd. Ze steunt op een van de twee toegangsfamilies van het platform, de extensie voor in-app abonnementen of de extensie Authentication, dus een van de twee moet in je app actief zijn.

Die twee families stapelen niet: dat is de tweesprong die in "Een community opbouwen met je app" wordt beschreven, en ze wordt vooraf beslist, niet achteraf. Draait je app op een in-app abonnement, dan loopt de beperking daarlangs.

Het is een goede kandidaat voor voorbehouden content. Een assistent die tien jaar van je archief kent, heeft een waarde die een lezer meteen begrijpt, wat van nog één artikel zelden gezegd kan worden.

Wat het kost

De Chatbot is een extensie, en de pagina ervan toont de prijs die voor je app geldt. Ze bevat een hoeveelheid credits, die elke maand wordt hernieuwd, en een teller boven aan het scherm toont het resterende saldo samen met de datum van de volgende hernieuwing. De inbegrepen hoeveelheid staat op diezelfde pagina.

Twee zaken verbruiken die credits, en niet in dezelfde verhouding. Je content indexeren kost weinig en gebeurt één keer, en daarna bij elke publicatie. De vragen van je gebruikers kosten de rest, en hun verbruik hangt af van het gekozen model en van de complexiteit van de vraag. Met andere woorden: je factuur volgt je publiek, en dat is goed nieuws, op voorwaarde dat je het hebt zien aankomen.

Hoofdstuk 3De ChatGPT-extensie, een assistent die je afbakent

Het andere soort assistent leest je content niet. Hij sluit een instantie van ChatGPT op je app aan, en je geeft hem een rol.

Zoals elke extensie toont de pagina ervan de prijs die voor je app geldt, en ze werkt op beide productlijnen, zowel content-apps als e-commerce apps.

Net als de Chatbot is ze eerst een extensie en pas daarna een sectie, en dezelfde volgorde geldt: je zet ze eerst aan in Extensions Store › All extensions, en de sectie verschijnt pas daarna in de lijst met types. De status van al je extensies vind je vervolgens in Extensions Store › Management.

De instellingen ervan open je via het menu van de sectie, met het item dat de assistent instelt. Haar scherm heeft maar twee tabbladen, instellingen en design, waar de Chatbot er vier heeft. Dat is het verschil in aard, met het blote oog zichtbaar.

Jouw sleutel, jouw factuur

Het eerste verschil staat meteen daar, en het is niet onbelangrijk. Een blok voor toegang tot OpenAI vraagt je een geheime API-sleutel, die je op je OpenAI-account aanmaakt. De commerciële relatie blijft tussen jou en OpenAI: GoodBarber rekent niets aan op de gesprekken en houdt onderweg niets in.

Wat dat in de praktijk betekent: je opent een account bij OpenAI, je zet er een betaalmethode op, en je volgt het verbruik op vanaf hun dashboard, niet vanaf je back office. Sommige recente modellen vragen bovendien dat je organisatie bij OpenAI geverifieerd is, wat het scherm aangeeft.

Het systeembericht doet al het werk

Slechts drie velden, en het derde draagt al de rest. Je voert de naam van de assistent in, je kiest een generatiemodel uit een lijst die van het recentste tot het zuinigste loopt, en daarna schrijf je het systeembericht.

Die tekst is het enige wat je assistent van een gewone ChatGPT onderscheidt. Hij beschrijft zijn rol, zijn toon, en vooral het bereik van onderwerpen dat hij aanvaardt te behandelen. Een assistent aan wie niet is gezegd waarover hij praat, zal over alles praten, ook over zaken die je niet in je app wilt.

Schrijf hem in twee delen. Eerst de rol, eenvoudig gezegd: wie hij is, met wie hij praat, over welk onderwerp. Daarna de afsluiting, even belangrijk: wat hij moet antwoorden wanneer de vraag buiten het onderwerp valt. Die tweede helft is wat men vergeet, en zij houdt de assistent op zijn baan.

Net als de Chatbot kan de ChatGPT-extensie voor je aangemelde gebruikers worden voorbehouden, via dezelfde beperkingsoptie, en haar uiterlijk stel je in op het tabblad design.

De beperking die je moet kennen

Dat volgt rechtstreeks uit hoe hij werkt: deze assistent kent je content niet. Hij weet niet wat je gisteren hebt gepubliceerd, noch je openingsuren, noch je prijzen, noch de naam van je nieuwe collectie. Vraagt een gebruiker ernaar, dan antwoordt hij toch, met wat het model meent te weten.

Het systeembericht verkleint dat risico, het neemt het niet weg. Houd deze extensie dus voor toepassingen waarbij het antwoord niet van jou hoeft te komen: een assistent die adviseert, die herformuleert, die iemand door de eerste stappen loodst. Zodra het antwoord juist en verifieerbaar moet zijn, is de Chatbot wat je nodig hebt.

Hoofdstuk 4Welke je kiest

De vraag wordt op één regel beslecht: moet het antwoord van jou komen?

Wat je wilt doenDe extensie die je kiest
Antwoorden over je uren, je prijzen, je nieuws, je archiefDe Chatbot
Een verzameling documenten in directe antwoorden omzettenDe Chatbot
Een intern handboek of een reeks procedures doorzoekbaar makenDe Chatbot
Een bezoeker gidsen door een stad, een site, een evenementDe Chatbot
Een thematische adviseur aanbieden die suggereert en herformuleertDe ChatGPT-extensie
Mensen de app laten ontdekken, in gewone taalDe ChatGPT-extensie
Testen of je gebruikers een assistent willen, zonder abonnementskostDe ChatGPT-extensie

Drie voorbeelden om de regel vast te zetten.

Een school. Paraigua publiceert zijn kalenders, zijn reglementen en zijn omzendbrieven. Elk jaar komen dezelfde vragen terug, op dezelfde data, en elk antwoord staat al ergens geschreven. Dit is het schoolvoorbeeld van RAG: het materiaal bestaat, het is alleen slecht bereikbaar.

Een reisgids. Portland beschrijft plaatsen, evenementen, routes. Een bezoeker die vraagt "wat is er zondagochtend open bij de haven" vraagt iets waarop de content antwoordt, maar wat geen enkel menu hem laat formuleren. Weer RAG.

Een schoonheidssalon. Freyja Spa heeft geen verzameling documenten, maar wel klanten die tussen twee behandelingen twijfelen. Een assistent die door een systeembericht wordt afgebakend, twee of drie vragen stelt en naar de juiste dienst stuurt, is nuttig zonder de catalogus vanbuiten te moeten kennen. De ChatGPT-extensie volstaat, en kost niets extra.

Hoofdstuk 5Drie dingen om te weten voordat je begint

De Chatbot bestaat alleen op content-apps. Een e-commerce app kan hem vandaag niet aanzetten. Op die lijn blijft de ChatGPT-extensie beschikbaar.

Een chatbot antwoordt alleen goed als je content antwoordt. Dat is de beperking die het vaakst te laat wordt ontdekt. Een assistent die op dertig vage artikelen is aangesloten, produceert dertig vage antwoorden, en maakt een contentprobleem zichtbaar dat onopgemerkt bleef zolang niemand de vraag rechtstreeks stelde. Lees vóór je hem aanzet opnieuw wat je publiceert en vraag je af of een lezer daar zijn antwoord zou vinden. Zo niet, dan is het de content die werk vraagt, niet het model.

Je blijft verantwoordelijk voor wat je app zegt. Een assistent spreekt onder je naam, in je app, in je kleuren. Test hem met je echte vragen voordat je publiceert, ook met de lastige, en behoud de instructie die hem zegt toe te geven wat hij niet weet. Een assistent die antwoordt "dat weet ik niet, schrijf ons" kost je niets. Een assistent die je openingsuren verzint, kost je een klant.