Zephyrnet-logo

Implementeer self-service vraagbeantwoording met de QnABot op AWS-oplossing mogelijk gemaakt door Amazon Lex met Amazon Kendra en grote taalmodellen | Amazon-webservices

Datum:

Powered by Amazon-Lex QnABot op AWS oplossing is een open-source, meerkanaals, meertalige conversatiechatbot. Met QnABot kunt u snel self-service conversationele AI inzetten in uw contactcenter, websites en sociale-mediakanalen, waardoor de kosten worden verlaagd, de wachttijden worden verkort en de klantervaring en het merksentiment worden verbeterd. Klanten willen nu de kracht van grote taalmodellen (LLM's) toepassen om de klantervaring verder te verbeteren met generatieve AI-mogelijkheden. Dit omvat onder meer het automatisch genereren van nauwkeurige antwoorden op basis van bestaande bedrijfsdocumenten en kennisbanken, en het spraakzamer maken van hun selfservice-chatbots.

Onze nieuwste releases van QnABot, v5.4.0+, kunnen nu een LLM gebruiken om vragen van klanten ondubbelzinnig te maken door rekening te houden met de conversatiecontext, waardoor op dynamische wijze antwoorden worden gegenereerd op basis van relevante veelgestelde vragen of Amazon Kendra zoekresultaten en documentpassages. Het biedt ook attributie en transparantie door links weer te geven naar de referentiedocumenten en contextpassages die door de LLM zijn gebruikt om de antwoorden te construeren.

Wanneer u QnABot implementeert, kunt u ervoor kiezen om automatisch een state-of-the-art open-source LLM-model te implementeren (Falcon-40B-instrueer) op een Amazon Sage Maker eindpunt. Het LLM-landschap evolueert voortdurend: er worden regelmatig nieuwe modellen uitgebracht en onze klanten willen experimenteren met verschillende modellen en providers om te zien wat het beste werkt voor hun gebruiksscenario's. Dit is de reden waarom QnABot ook kan worden geïntegreerd met elke andere LLM die een AWS Lambda functie die u levert. Om u op weg te helpen, hebben we ook een reeks voorbeelden van met één klik inzetbare Lambda-functies uitgebracht (plugins) om QnABot te integreren met uw keuze uit toonaangevende LLM-providers, inclusief die van ons Amazonebodem service en API's van externe leveranciers, Anthropic en AI21.

In dit bericht introduceren we de nieuwe generatieve AI-functies voor QnABot en doorlopen we een tutorial voor het maken, implementeren en aanpassen van QnABot om deze functies te gebruiken. Ook bespreken we enkele relevante use cases.

Nieuwe generatieve AI-functies

Met behulp van de LLM heeft QnABot nu twee nieuwe belangrijke functies, die we in deze sectie bespreken.

Genereer antwoorden op vragen uit de zoekresultaten of tekstpassages van Amazon Kendra

QnABot kan nu beknopte antwoorden genereren op vragen uit documentuittreksels die zijn geleverd door een Amazon Kendra-zoekopdracht, of tekstpassages die rechtstreeks zijn gemaakt of geïmporteerd. Dit biedt de volgende voordelen:

  • Het aantal veelgestelde vragen dat u moet onderhouden en importeren in QnABot is verminderd, omdat u nu direct beknopte antwoorden uit uw bestaande documenten kunt synthetiseren.
  • Gegenereerde antwoorden kunnen worden aangepast om de beste ervaring voor het beoogde kanaal te creëren. U kunt bijvoorbeeld instellen dat de antwoorden kort en bondig zijn en geschikt voor contactcenterbots via spraakkanalen, en website- of tekstbots kunnen mogelijk meer gedetailleerde informatie bieden.
  • Gegenereerde antwoorden zijn volledig compatibel met de meertalige ondersteuning van QnABot: gebruikers kunnen communiceren in de door hen gekozen taal en gegenereerde antwoorden ontvangen in dezelfde taal.
  • Gegenereerde antwoorden kunnen koppelingen bevatten naar de referentiedocumenten en gebruikte contextpassages, om attributie en transparantie te bieden over hoe de LLM de antwoorden heeft geconstrueerd.

Wanneer bijvoorbeeld wordt gevraagd “Wat is Amazon Lex?”, kan QnABot relevante passages ophalen uit een Amazon Kendra-index (die AWS-documentatie bevat). QnABot vraagt ​​(prompts) vervolgens aan de LLM om de vraag te beantwoorden op basis van de context van de passages (die optioneel ook in de webclient kunnen worden bekeken). De volgende schermafbeelding toont een voorbeeld.

Maak vervolgvragen die afhankelijk zijn van de voorgaande gesprekscontext ondubbelzinnig

Het begrijpen van de richting en context van een steeds evoluerend gesprek is de sleutel tot het bouwen van natuurlijke, mensachtige gespreksinterfaces. Gebruikersvragen vereisen vaak dat een bot verzoeken interpreteert op basis van gespreksgeheugen en context. Nu zal QnABot de LLM vragen een ondubbelzinnige vraag te genereren op basis van de gespreksgeschiedenis. Dit kan vervolgens worden gebruikt als zoekopdracht om de veelgestelde vragen, passages of Amazon Kendra-resultaten op te halen om de vraag van de gebruiker te beantwoorden. Het volgende is een voorbeeld van een chatgeschiedenis:

Human: What is Amazon Lex?
AI: "Amazon Lex is an AWS service for building conversational interfaces for applications using voice and text..."
Human: Can it integrate with my CRM?

QnABot gebruikt de LLM om de vervolgvraag te herschrijven om “deze” ondubbelzinnig te maken, bijvoorbeeld: “Kan Amazon Lex integreren met mijn CRM-systeem?” Hierdoor kunnen gebruikers communiceren zoals ze dat in een menselijk gesprek zouden doen, en QnABot genereert duidelijke zoekopdrachten om de relevante veelgestelde vragen of documentpassages te vinden die de informatie bevatten om de vraag van de gebruiker te beantwoorden.

Deze nieuwe functies maken QnABot spraakzamer en bieden de mogelijkheid om dynamisch reacties te genereren op basis van een kennisbank. Dit is nog steeds een experimentele functie met een enorm potentieel. We moedigen gebruikers ten zeerste aan om te experimenteren om de beste LLM en de bijbehorende prompts en modelparameters te vinden die ze kunnen gebruiken. QnABot maakt het eenvoudig om te experimenteren!

Tutorial

Tijd om het te proberen! Laten we de nieuwste QnABot (v5.4.0 of hoger) implementeren en de nieuwe generatieve AI-functies inschakelen. De stappen op hoog niveau zijn als volgt:

  1. Maak een Amazon Kendra-index en vul deze in.
  2. Kies en implementeer een LLM-plug-in (optioneel).
  3. QnABot implementeren.
  4. Configureer QnABot voor uw Lambda-plug-in (als u een plug-in gebruikt).
  5. Ga naar de QnABot-webclient en begin met experimenteren.
  6. Pas gedrag aan met behulp van QnABot-instellingen.
  7. Voeg samengestelde vragen en antwoorden en tekstpassages toe aan de kennisbank.

Creëer en vul een Amazon Kendra Index in

Download en gebruik het volgende AWS CloudFormation-sjabloon om een ​​nieuwe Amazon Kendra-index te maken.

Deze sjabloon bevat voorbeeldgegevens met online AWS-documentatie voor Amazon Kendra, Amazon Lex en SageMaker. Het implementeren van de stapel vergt ongeveer 30 minuten, gevolgd door ongeveer 15 minuten om deze te synchroniseren en de gegevens in de index op te nemen.

Wanneer de Amazon Kendra-indexstapel succesvol is geïmplementeerd, navigeert u naar de stapel Uitgangen tabblad en noteer de Index Id, die u later zult gebruiken bij het implementeren van QnABot.

Als u al een Amazon Kendra-index met uw eigen inhoud heeft, kunt u deze ook gebruiken met uw eigen voorbeeldvragen voor de zelfstudie.

Kies en implementeer een LLM-plug-in (optioneel)

QnABot kan een ingebouwde LLM inzetten (Falcon-40B-instruct op SageMaker) of Lambda-functies gebruiken om andere LLM's van uw keuze aan te roepen. In deze sectie laten we u zien hoe u de Lambda-optie gebruikt met een vooraf gebouwde voorbeeld-Lambda-functie. Ga naar de volgende stap als u in plaats daarvan de ingebouwde LLM wilt gebruiken.

Kies eerst de plug-in LLM die u wilt gebruiken. Bekijk uw opties via de qnabot-on-aws-plugin-samples bewaarplaats README. Op het moment van schrijven zijn er plug-ins beschikbaar voor Amazon Bedrock (in preview) en voor AI21 en Anthropic API's van derden. We verwachten in de loop van de tijd meer voorbeeldplug-ins toe te voegen.

Implementeer de door u gekozen plug-in door te kiezen Start Stack in de Implementeer een nieuwe plug-instapel sectie, die zal worden ingezet in de us-east-1 Standaard regio (voor implementatie in andere regio's, zie Bouw en publiceer QnABot Plugins CloudFormation-artefacten).

Wanneer de Plugin-stack succesvol is geïmplementeerd, navigeert u naar de stack Uitgangen tabblad (zie de volgende schermafbeelding) en inspecteer de inhoud ervan, die u in de volgende stappen zult gebruiken om QnABot te implementeren en te configureren. Houd dit tabblad geopend in uw browser.

QnABot implementeren

Kies Lancering oplossing van de QnABot implementatie gids om de nieuwste QnABot-sjabloon te implementeren via AWS CloudFormation. Geef de volgende parameters op:

  • Voor DefaultKendraIndexId, gebruik dan de Amazon Kendra Index ID (een GUID) die u eerder heeft verzameld
  • Voor EmbeddingsApi (Zie Semantisch zoeken met behulp van tekstinsluitingen), Kies een van de volgende:
    • SAGEMAKER (het standaard ingebouwde inbeddingsmodel)
    • LAMBDA (om de Amazon Bedrock-embeddings-API te gebruiken met de BEDROCK-EMBEDDINGS-AND-LLM Inpluggen)
      • Voor EmbeddingsLambdaArn, gebruik het EmbeddingsLambdaArn outputwaarde van uw BEDROCK-EMBEDDINGS-AND-LLM Plug-in stapel.
  • Voor LLMApi (Zie Query-ondubbelzinnigheid voor het ophalen van gesprekken en het beantwoorden van generatieve vragen), Kies een van de volgende:
    • SAGEMAKER (het standaard ingebouwde LLM-model)
    • LAMBDA (om de eerder geïmplementeerde LLM-plug-in te gebruiken)
      • Voor LLMLambdaArn, gebruik het LLMLambdaArn uitvoerwaarde van uw plug-instapel

Voor alle andere parameters accepteert u de standaardwaarden (zie de implementatie gids voor parameterdefinities) en ga verder met het starten van de QnABot-stack.

Configureer QnABot voor uw Lambda-plug-in (als u een plug-in gebruikt)

Als u QnABot hebt geïmplementeerd met behulp van een voorbeeld van een LLM Lambda-plug-in om toegang te krijgen tot een andere LLM, update dan de QnABot-modelparameters en vraag naar sjablooninstellingen zoals aanbevolen voor de door u gekozen plug-in. Voor meer informatie, zie Update QnABot-instellingen. Als u de (ingebouwde) LLM-optie van SageMaker hebt gebruikt, gaat u verder met de volgende stap, omdat de instellingen al voor u zijn geconfigureerd.

Ga naar de QnABot-webclient en begin met experimenteren

Kies op de AWS CloudFormation-console de Uitgangen tabblad van de QnABot CloudFormation-stack en kies de ClientURL koppeling. U kunt ook de client starten door te kiezen QnABot op AWS-client vanuit het menu Content Designer-tools.

Probeer nu vragen te stellen over AWS-services, bijvoorbeeld:

  • Wat is Amazon Lex?
  • Hoe schaalt SageMaker de werkbelasting voor gevolgtrekkingen op?
  • Is Kendra een zoekservice?

Dan kunt u vervolgvragen stellen zonder de eerder genoemde diensten of context te specificeren, bijvoorbeeld:

  • Is het veilig?
  • Schaalt het?

Pas gedrag aan met behulp van QnABot-instellingen

U kunt veel instellingen op de QnABot aanpassen Instellingen voor inhoudontwerper pagina – zie LEESMIJ – LLM-instellingen voor een volledige lijst met relevante instellingen. Probeer bijvoorbeeld het volgende:

  • Zet de ENABLE_DEBUG_RESPONSES naar TRUE, sla de instellingen op en probeer de voorgaande vragen opnieuw. Nu ziet u bovenaan elk antwoord extra debug-uitvoer, waarin u kunt zien hoe de LLM de Amazon Kendra-zoekopdracht genereert op basis van de chatgeschiedenis, hoe lang het duurde voordat de LLM-conclusies werden uitgevoerd, en meer. Bijvoorbeeld:
    [User Input: "Is it fast?", LLM generated query (1207 ms): "Does Amazon Kendra provide search results quickly?", Search string: "Is it fast? / Does Amazon Kendra provide search results quickly?"["LLM: LAMBDA"], Source: KENDRA RETRIEVE API

  • Zet de ENABLE_DEBUG_RESPONSES terug naar FALSE, stel in LLM_QA_SHOW_CONTEXT_TEXT en LLM_QA_SHOW_SOURCE_LINKS naar FALSEen probeer de voorbeelden opnieuw. Nu worden de context- en bronnenlinks niet weergegeven en bevat de uitvoer alleen het door LLM gegenereerde antwoord.
  • Als u zich avontuurlijk voelt, experimenteer dan ook met de LLM-promptsjablooninstellingen:LLM_GENERATE_QUERY_PROMPT_TEMPLATE en LLM_QA_PROMPT_TEMPLATE. Verwijzen naar LEESMIJ – LLM-instellingen om te zien hoe u tijdelijke aanduidingen kunt gebruiken voor runtimewaarden zoals chatgeschiedenis, context, gebruikersinvoer, zoekopdrachten en meer. Houd er rekening mee dat de standaardprompts hoogstwaarschijnlijk kunnen worden verbeterd en aangepast om beter bij uw gebruikssituaties te passen, dus wees niet bang om te experimenteren! Als u iets kapot maakt, kunt u altijd terugkeren naar de standaardinstellingen met behulp van de RESET NAAR STANDAARD optie op de instellingenpagina.

Voeg samengestelde vragen en antwoorden en tekstpassages toe aan de kennisbank

QnABot kan uiteraard vragen blijven beantwoorden op basis van samengestelde Q&A's. Het kan de LLM ook gebruiken om antwoorden te genereren uit tekstpassages die rechtstreeks in QnABot zijn gemaakt of geïmporteerd, naast het gebruik van de Amazon Kendra-index.

QnABot probeert in de volgende volgorde een goed antwoord te vinden op de ondubbelzinnige gebruikersvraag:

  1. QnA-items
  2. Tekstpassage-items
  3. Amazon Kendra-index

Laten we een paar voorbeelden proberen.

Kies in het menu QnABot Content Designer tools importen laad vervolgens de twee voorbeeldpakketten:

  • TextPassages-NurseryRhymeExamples
  • blog-samples-final

QnABot kan gebruiken tekstinsluitingen om semantische zoekmogelijkheden te bieden (met behulp van de ingebouwde OpenSearch-index van QnABot als een vectoropslag), wat de nauwkeurigheid verbetert en het afstemmen van vragen vermindert, vergeleken met standaard OpenSearch-zoekwoordgebaseerde overeenkomsten. Om dit te illustreren, kunt u vragen als de volgende proberen:

  • “Vertel me over het Alexa-apparaat met het scherm”
  • "Vertel me eens over het videostreamingapparaat van Amazon?"

Deze zouden idealiter moeten overeenkomen met de voorbeeld-QNA die u hebt geïmporteerd, ook al zijn de woorden die worden gebruikt om de vraag te stellen slechte trefwoordovereenkomsten (maar goede semantische overeenkomsten) met de geconfigureerde QnA-items: Alexa.001 (Wat is een Amazon Echo Show) en FireTV.001 (Wat is een Amazon Fire TV).

Zelfs als u Amazon Kendra (nog) niet gebruikt (en dat zou u wel moeten doen), kan QnABot ook vragen beantwoorden op basis van passages die zijn gemaakt of geïmporteerd in Content Designer. De volgende vragen (en vervolgvragen) worden allemaal beantwoord vanuit een geïmporteerd tekstpassage-item dat het kinderliedje bevat 0.HumptyDumpty:

  • ‘Waar zat Humpty Dumpty voordat hij viel?’
  • ‘Wat gebeurde er nadat hij viel? Was hij in orde?”

Bij het gebruik van insluitingen is een goed antwoord een antwoord dat een gelijkenisscore retourneert boven de drempelwaarde die is gedefinieerd door de overeenkomstige drempelwaarde-instelling. Zien Semantische vraagmatching, met behulp van tekstinsluitingen in grote taalmodellen voor meer informatie over het testen en afstemmen van de drempelinstellingen.

Als er geen goede antwoorden zijn, of als het antwoord van de LLM overeenkomt met de reguliere expressie die is gedefinieerd in LLM_QA_NO_HITS_REGEX, waarna QnABot het configureerbare aanroept Aangepast Weet het niet (no_hits) gedrag, dat standaard een bericht retourneert met de tekst 'Je hebt me stomverbaasd.'

Probeer enkele experimenten door vraag- en antwoorditems of tekstpassage-items te maken in QnABot, en door een Amazon Kendra-index te gebruiken voor alternatieve generatieve antwoorden. Experimenteer (met behulp van de TEST tabblad in de ontwerper) om de beste waarden te vinden die u kunt gebruiken voor de insluitingsdrempelinstellingen om het gewenste gedrag te verkrijgen. Het is moeilijk om de perfecte balans te vinden, maar kijk of je een voldoende goede balans kunt vinden die meestal tot bruikbare antwoorden leidt.

Opruimen

Je kunt QnABot natuurlijk laten draaien om ermee te experimenteren en aan je collega's te laten zien! Maar het brengt wel wat kosten met zich mee. Zie? Plan uw implementatie – Kosten voor meer details. Om de bronnen te verwijderen en kosten te vermijden, verwijdert u de volgende CloudFormation-stacks:

  • QnABot-stapel
  • LLM Plugin-stack (indien van toepassing)
  • Amazon Kendra-indexstapel

Gebruik case-voorbeelden

Deze nieuwe functies maken QnABot relevant voor veel gebruiksscenario's van klanten, zoals zelfbedieningsklantenservice en ondersteuningsbots en geautomatiseerde webgebaseerde vraag- en antwoordbots. We bespreken twee van dergelijke gebruiksscenario's in deze sectie.

Integreer met een contactcenter

De geautomatiseerde mogelijkheden voor het beantwoorden van vragen van QnABot zorgen voor effectieve selfservice voor inkomende spraakoproepen in contactcentra, met overtuigende resultaten. Kijk bijvoorbeeld hoe Kentucky Transportation Cabinet verminderde de wachttijd voor gesprekken en verbeterde de klantervaring met virtuele selfservice-agenten die Amazon Connect en Amazon Lex gebruikten. Het integreren van de nieuwe generatieve AI-functies versterkt deze waardepropositie verder door op dynamische wijze betrouwbare antwoorden te genereren op basis van bestaande inhoud zoals documenten, kennisbanken en websites. Dit elimineert de noodzaak voor botontwerpers om te anticiperen op en handmatig antwoorden te beheren op elke mogelijke vraag die een gebruiker zou kunnen stellen. Om QnABot te integreren met Amazon Connect, Zie QnABot op AWS verbinden met een Amazon Connect callcenter. Om te integreren met andere contactcenters, zie hoe Amazon Chime SDK kan worden gebruikt om Amazon Lex-stembots te verbinden met 3rd partijcontactcentra via SIPREC en Bouw een door AI aangedreven virtuele agent voor Genesys Cloud met behulp van QnABot en Amazon Lex.

De door LLM aangedreven QnABot kan ook een cruciale rol spelen als geautomatiseerde real-time agentassistent. In deze oplossing luistert QnABot passief naar het gesprek en gebruikt de LLM om realtime suggesties te genereren voor de menselijke agenten op basis van bepaalde signalen. Het is eenvoudig in te stellen en uit te proberen: probeer het eens! Deze oplossing kan worden gebruikt met zowel Amazon Connect als andere lokale en cloud-contactcentra. Voor meer informatie, zie Live oproepanalyse en assistentie van agenten voor uw contactcentrum met AI-diensten in Amazon-taal.

Integreer met een website

Door QnABot in uw websites en applicaties in te sluiten, kunnen gebruikers geautomatiseerde hulp krijgen met natuurlijke dialoog. Voor meer informatie, zie Implementeer een web-UI voor uw Chatbot. Voor samengestelde vraag- en antwoordinhoud gebruikt u markdown-syntaxis en UI-knoppen en neemt u links, afbeeldingen, video's en andere dynamische elementen op die uw gebruikers informeren en verrukken. Integreer de QnABot Amazon Lex web-UI met Amazon Connect live chat om snelle escalatie naar menselijke agenten mogelijk te maken wanneer de geautomatiseerde assistent de vraag van een gebruiker niet volledig zelf kan beantwoorden.

De QnABot op de AWS-plug-invoorbeeldrepository

Zoals u in dit bericht kunt zien, biedt QnABot v5.4.0+ niet alleen ingebouwde ondersteuning voor inbedding en LLM-modellen die worden gehost op SageMaker, maar biedt het ook de mogelijkheid om eenvoudig te integreren met andere LLM door gebruik te maken van Lambda-functies. U kunt uw eigen aangepaste Lambda-functies schrijven of sneller aan de slag gaan met een van de voorbeelden die we in onze nieuwe versie hebben aangeboden qnabot-on-aws-plugin-voorbeelden repository.

Deze repository bevat een kant-en-klare plug-in voor Amazon Bedrock, die zowel insluitingen als verzoeken voor het genereren van tekst ondersteunt. Op het moment van schrijven is Amazon Bedrock beschikbaar via een privépreview – dat kan voorbeeldtoegang aanvragen. Wanneer Amazon Bedrock algemeen beschikbaar is, verwachten we het rechtstreeks met QnABot te integreren, maar waarom wachten? Vraag preview-toegang aan en gebruik onze voorbeeldplug-in om te beginnen met experimenteren!

De huidige LLM-innovatiecyclus zorgt voor een razend tempo van nieuwe modelreleases, elk met als doel de vorige te overtreffen. Deze opslagplaats zal in de loop van de tijd worden uitgebreid met extra QnABot-plug-invoorbeelden. Op het moment van schrijven hebben we ondersteuning voor twee externe modelaanbieders: Anthropic en AI21. We zijn van plan om integraties toe te voegen voor meer LLM's, insluitingen en mogelijk veelvoorkomende voorbeelden van gebruiksvoorbeelden met Lambda-hooks en kennisbanken. Deze plug-ins worden voor uw gemak aangeboden zoals ze zijn, zonder garantie. Gebruikers zijn verantwoordelijk voor het ondersteunen en onderhouden ervan zodra ze zijn geïmplementeerd.

We hopen dat de QnABot-plug-insrepository zal uitgroeien tot een bloeiend open-source gemeenschapsproject. Kijk de qnabot-on-aws-plugin-samples GitHub-opslagplaats Om updates over nieuwe plug-ins en functies te ontvangen, gebruikt u de Problemen forum om problemen te melden of feedback te geven en verbeteringen aan te dragen via trek verzoeken. Bijdragen zijn welkom!

Conclusie

In dit bericht hebben we de nieuwe generatieve AI-functies voor QnABot geïntroduceerd en een oplossing doorgenomen om QnABot te creëren, implementeren en aanpassen om deze functies te gebruiken. We hebben ook enkele relevante use cases besproken. Het automatiseren van repetitieve vragen maakt menselijke werknemers vrij en verhoogt de productiviteit. Rijke reacties zorgen voor boeiende ervaringen. Door de door LLM aangedreven QnABot in te zetten, kunt u de zelfbedieningservaring voor klanten en werknemers verbeteren.

Mis deze kans niet: ga vandaag nog aan de slag en zorg voor een revolutie in de gebruikerservaring van uw QnABot-implementatie!


Over de auteurs

Slimmer Teo is een Senior Partner Solutions Architect bij AWS, gericht op het partnerecosysteem van de publieke sector. Hij houdt ervan om prototypes te bouwen, buiten actief te blijven en nieuwe keukens te ervaren. Cleverster is gepassioneerd door het experimenteren met opkomende technologieën en het helpen van AWS-partners bij het innoveren en beter bedienen van klanten in de publieke sector.

Windrijk is een Solutions Architect bij AWS die samenwerkt met klanten in sectoren zoals financiën en transport, om hun traject naar de cloud te helpen versnellen. Hij is vooral geïnteresseerd in serverloze technologieën en hoe klanten deze kunnen gebruiken om waarden aan hun bedrijf toe te voegen. Buiten het werk houdt Windrich ervan om te sporten en te kijken, en om verschillende keukens over de hele wereld te ontdekken.

Bob Strahan Bob Strahan is een Principal Solutions Architect in het AWS Language AI Services-team.

spot_img

Laatste intelligentie

spot_img