Multimodale RAG-apps bouwen met Amazon Bedrock

In de huidige wereld moeten organisaties omgaan met enorme hoeveelheden ongestructureerde data, die in verschillende formaten voorkomen, waaronder documenten, afbeeldingen, audiobestanden en videobestanden. In het verleden vereiste het extraheren van zinvolle inzichten uit deze diverse dataformaten complexe verwerkingsstromen en aanzienlijke ontwikkelingsinspanningen. Generatieve AI-technologieën brengen hier echter een revolutie teweeg en bieden krachtige mogelijkheden om dergelijke diverse documentformaten automatisch te verwerken, te analyseren en er inzichten uit te halen, waardoor de handmatige inspanningen aanzienlijk worden verminderd en de nauwkeurigheid en schaalbaarheid worden verbeterd.

Met Amazon Bedrock Data Automation en Amazon Bedrock Knowledge Bases kunt u nu eenvoudig krachtige multimodale RAG-applicaties (Retrieval-Augmented Generation) bouwen. Samen stellen ze organisaties in staat om informatie in hun multimodale content effectief te verwerken, te organiseren en op te halen, waardoor de manier waarop ze ongestructureerde data beheren en gebruiken, verandert.

Dit artikel begeleidt u bij het bouwen van een full-stack applicatie die Amazon Bedrock Data Automation gebruikt om multimodale content te verwerken, de geëxtraheerde informatie op te slaan in Amazon Bedrock Knowledge Bases en natuurlijke taal query’s inschakelt via een RAG-gebaseerde vraag-en-antwoord interface.

Praktijkvoorbeelden

De integratie van Amazon Bedrock Data Automation en Amazon Bedrock Knowledge Bases biedt een robuuste oplossing voor het verwerken van grote hoeveelheden ongestructureerde data in verschillende industrieën, zoals:

  • In de gezondheidszorg moeten organisaties grote hoeveelheden patiëntgegevens verwerken, waaronder medische formulieren, diagnostische afbeeldingen en consultatie-opnamen. Amazon Bedrock Data Automation kan deze informatie automatisch extraheren en structureren, terwijl Amazon Bedrock Knowledge Bases zorgverleners in staat stelt om natuurlijke-taal query’s te gebruiken, zoals “Wat was de laatste bloeddrukmeting van de patiënt?” of “Toon de behandelgeschiedenis van de diabetespatiënt”.
  • Financiële instellingen verwerken dagelijks duizenden documenten, van kredietaanvragen tot financiële overzichten. Amazon Bedrock Data Automation kan essentiële financiële indicatoren en nalevingsinformatie extraheren, terwijl Amazon Bedrock Knowledge Bases analisten in staat stelt om vragen te stellen als: “Welke risicofactoren worden genoemd in het meest recente kwartaalrapport?” of “Toon alle kredietaanvragen met een hoge kredietwaardigheid”.
  • Advocatenkantoren moeten grote hoeveelheden dossierstukken verwerken, waaronder gerechtelijke documenten, bewijsfoto’s en getuigenverklaringen. Amazon Bedrock Data Automation kan deze diversiteit verwerken, terwijl Amazon Bedrock Knowledge Bases advocaten in staat stelt om te vragen: “Welk bewijs werd er gepresenteerd over de gebeurtenissen van 15 maart?” of “Vind alle getuigenverklaringen waarin de beklaagde wordt genoemd”.
  • Mediabedrijven kunnen deze integratie gebruiken voor intelligente, contextuele advertentieplaatsing. Amazon Bedrock Data Automation verwerkt video content, ondertiteling en audio voor contextueel begrip van scènes, dialogen en emoties, terwijl advertentie-activa en campagnevereisten worden geanalyseerd. Amazon Bedrock Knowledge Bases maakt vervolgens complexe query’s mogelijk om advertenties af te stemmen op relevante contentmomenten, zoals “vind scènes van positieve buitenactiviteiten met advertenties voor sportartikelen” of “identificeer advertentiesegmenten over reizen waar toerisme wordt besproken”. Deze intelligente, contextuele afstemming zorgt voor meer relevante en effectieve advertentieplaatsing, terwijl de merkveiligheid wordt gehandhaafd.

Deze voorbeelden laten zien hoe de extractiemogelijkheden van Amazon Bedrock Data Automation, in combinatie met de natuurlijke-taal query’s van Amazon Bedrock Knowledge Bases, de manier veranderen waarop organisaties omgaan met hun ongestructureerde data.

Oplossingsoverzicht

Deze uitgebreide oplossing demonstreert de geavanceerde mogelijkheden van Amazon Bedrock bij het verwerken en analyseren van multimodale content (documenten, afbeeldingen, audiobestanden en videobestanden) via drie belangrijke componenten: Amazon Bedrock Data Automation, Amazon Bedrock Knowledge Bases en foundation modellen die beschikbaar zijn via Amazon Bedrock. Gebruikers kunnen verschillende soorten content uploaden, waaronder audiobestanden, afbeeldingen, video’s of PDF’s, voor automatische verwerking en analyse.

Wanneer u content uploadt, verwerkt Amazon Bedrock Data Automation deze met behulp van standaard of aangepaste blauwdrukken om waardevolle inzichten te extraheren. De geëxtraheerde informatie wordt opgeslagen in JSON-formaat in een Amazon Simple Storage Service (Amazon S3) bucket, terwijl de taakstatus wordt bijgehouden via Amazon EventBridge en opgeslagen in Amazon DynamoDB. De oplossing voert aangepaste parsing uit van de geëxtraheerde JSON om documenten te maken die compatibel zijn met de knowledge base, waarna deze in Amazon Bedrock Knowledge Bases worden opgeslagen en geïndexeerd.

Via een intuïtieve gebruikersinterface toont de oplossing zowel de geüploade content als de geëxtraheerde informatie. Gebruikers kunnen interageren met de verwerkte data via een Retrieval-Augmented Generation (RAG)-gebaseerd vraag-en-antwoord systeem, dat wordt aangedreven door Amazon Bedrock foundation modellen. Deze geïntegreerde aanpak stelt organisaties in staat om content van verschillende formaten efficiënt te verwerken, te analyseren en er inzichten uit te halen, met behulp van een krachtige en schaalbare infrastructuur die is geïmplementeerd met AWS Cloud Development Kit (AWS CDK).

Architectuur

Het volgende architectuurdiagram illustreert de workflow van de oplossing:

  1. Gebruikers interageren met de frontend applicatie, die wordt geverifieerd via Amazon Cognito.
  2. API-verzoeken worden verwerkt door Amazon API Gateway en AWS Lambda functies.
  3. Bestanden worden geüpload naar een S3 bucket voor verwerking.
  4. Amazon Bedrock Data Automation verwerkt bestanden en extraheert informatie.
  5. EventBridge beheert de taakstatus en activeert de nabewerking.
  6. De taakstatus wordt opgeslagen in DynamoDB en de verwerkte content wordt opgeslagen in Amazon S3.
  7. Lambda functies parsen de verwerkte content en indexeren deze in Amazon Bedrock Knowledge Bases.
  8. Een RAG-gebaseerd vraag-en-antwoord systeem gebruikt Amazon Bedrock foundation modellen om gebruikersvragen te beantwoorden.

Vereisten

Backend

Voor de backend heeft u de volgende vereisten nodig:

  • Een AWS-account.
  • Python 3.11 of hoger.
  • Docker.
  • GitHub (indien gebruik wordt gemaakt van de code repository).
  • AWS CDK. Raadpleeg AWS CDK Getting Started voor meer details en vereisten.
  • Toegang tot foundation modellen ingeschakeld in Amazon Bedrock:
    • Claude 3.5 Sonnet v2.0 van Anthropic
    • Amazon Nova Pro v1.0
    • Claude 3.7 Sonnet v1.0 van Anthropic

Frontend

Voor de frontend heeft u de volgende vereisten nodig:

  • Node/npm: v18.12.1
  • Een geïmplementeerde backend.
  • Ten minste één gebruiker die is toegevoegd aan de bijbehorende Amazon Cognito user pool (vereist voor geverifieerde API-aanroepen).

Alles wat u nodig heeft, is beschikbaar als open-source code in onze GitHub repository.

Implementatiegids

De code repository van deze voorbeeldapplicatie is georganiseerd in de volgende belangrijke mappen:

samples/bedrock-bda-media-solution