Amazonebodem biedt een breed scala aan modellen van Amazon en externe leveranciers, waaronder Anthropic, AI21, Meta, Cohere en Stability AI, en bestrijkt een breed scala aan gebruiksscenario's, waaronder het genereren van tekst en afbeeldingen, insluiten, chatten en agenten op hoog niveau met redenering en orkestratie, en meer. Kennisbanken voor Amazon Bedrock stelt u in staat om performante en aangepaste Retrieval Augmented Generation (RAG)-applicaties te bouwen bovenop AWS en vectorstores van derden met behulp van zowel AWS- als modellen van derden. Knowledge Bases voor Amazon Bedrock automatiseert de synchronisatie van uw gegevens met uw vectoropslag, inclusief het differentiëren van de gegevens wanneer deze worden bijgewerkt, het laden en segmenteren van documenten, evenals semantische inbedding. Hiermee kunt u uw RAG-prompts en ophaalstrategieën naadloos aanpassen: wij zorgen voor de bronvermelding en we zorgen automatisch voor het geheugenbeheer. Knowledge Bases is volledig serverloos, dus u hoeft geen enkele infrastructuur te beheren, en als u Knowledge Bases gebruikt, betaalt u alleen voor de modellen, vectordatabases en opslag die u gebruikt.
RAG is een populaire techniek die het gebruik van privégegevens combineert met grote taalmodellen (LLM's). RAG begint met een eerste stap om relevante documenten op te halen uit een gegevensopslag (meestal een vectorindex) op basis van de zoekopdracht van de gebruiker. Vervolgens wordt een taalmodel gebruikt om een antwoord te genereren door zowel de opgehaalde documenten als de oorspronkelijke vraag te beschouwen.
In dit bericht laten we zien hoe u een RAG-workflow kunt bouwen met behulp van Knowledge Bases voor Amazon Bedrock voor een gebruiksscenario voor het ontdekken van geneesmiddelen.
Overzicht van kennisbanken voor Amazon Bedrock
Knowledge Bases voor Amazon Bedrock ondersteunt een breed scala aan veelgebruikte bestandstypen, waaronder .txt, .docx, .pdf, .csv en meer. Om effectief ophalen van privégegevens mogelijk te maken, is het gebruikelijk om deze documenten eerst op te splitsen in beheersbare stukken. Knowledge Bases heeft een standaard chunking-strategie geïmplementeerd die in de meeste gevallen goed werkt, zodat u sneller aan de slag kunt. Als u meer controle wilt, kunt u met Knowledge Bases de chunkingstrategie beheren via een reeks vooraf geconfigureerde opties. U kunt de maximale tokengrootte en de hoeveelheid overlap die over segmenten heen moet worden gecreëerd, bepalen om een coherente context aan de insluiting te geven. Knowledge Bases voor Amazon Bedrock beheert het proces van het synchroniseren van gegevens van uw Amazon eenvoudige opslagservice (Amazon S3) bucket, splitst deze in kleinere stukken, genereert vectorinbeddingen en slaat de inbeddingen op in een vectorindex. Dit proces wordt geleverd met intelligent diffing-, doorvoer- en foutbeheer.
Tijdens runtime wordt een inbeddingsmodel gebruikt om de zoekopdracht van de gebruiker naar een vector te converteren. Vervolgens wordt de vectorindex doorzocht om documenten te vinden die vergelijkbaar zijn met de zoekopdracht van de gebruiker, door documentvectoren te vergelijken met de zoekopdrachtvector van de gebruiker. In de laatste stap worden semantisch vergelijkbare documenten die uit de vectorindex zijn opgehaald, toegevoegd als context voor de oorspronkelijke gebruikersquery. Bij het genereren van een antwoord voor de gebruiker worden de semantisch vergelijkbare documenten in het tekstmodel gevraagd, samen met bronvermelding voor traceerbaarheid.
Knowledge Bases voor Amazon Bedrock ondersteunt meerdere vectordatabases, waaronder Amazon OpenSearch Serverloos, Amazon Aurora, Pinecone en Redis Enterprise Cloud. Met de Retrieve en RetrieveAndGenerate API's kunnen uw toepassingen de index rechtstreeks opvragen met behulp van een uniforme en standaardsyntaxis zonder dat u voor elke verschillende vectordatabase afzonderlijke API's hoeft te leren, waardoor het minder nodig is om aangepaste indexquery's voor uw vectorarchief te schrijven. De Retrieve API neemt de binnenkomende query, converteert deze naar een insluitingsvector en doorzoekt de backend-opslag met behulp van de algoritmen die zijn geconfigureerd op vectordatabaseniveau; de RetrieveAndGenerate API maakt gebruik van een door de gebruiker geconfigureerde LLM van Amazon Bedrock en genereert het definitieve antwoord in natuurlijke taal. De native traceerbaarheidsondersteuning informeert de aanvragende applicatie over de bronnen die worden gebruikt om een vraag te beantwoorden. Voor bedrijfsimplementaties ondersteunt Knowledge Bases AWS Sleutelbeheerservice (AWS KMS)-codering, AWS CloudTrail integratie, en meer.
In de volgende secties laten we zien hoe u een RAG-workflow kunt bouwen met behulp van Knowledge Bases voor Amazon Bedrock, ondersteund door de OpenSearch Serverless vector-engine, om een ongestructureerde dataset van klinische onderzoeken te analyseren voor een gebruiksscenario voor het ontdekken van geneesmiddelen. Deze gegevens zijn informatierijk, maar kunnen enorm heterogeen zijn. Een juiste omgang met gespecialiseerde terminologie en concepten in verschillende formaten is essentieel om inzichten te detecteren en analytische integriteit te garanderen. Met Knowledge Bases voor Amazon Bedrock heb je toegang tot gedetailleerde informatie via eenvoudige, natuurlijke zoekopdrachten.
Bouw een kennisbank voor Amazon Bedrock
In deze sectie demonstreren we het proces van het maken van een kennisbank voor Amazon Bedrock via de console. Voer de volgende stappen uit:
- Op de Amazon Bedrock-console, onder orkestratie in het navigatievenster, kies Kennisbank.
- Kies Creëer kennisbasis.
- In het Details van de kennisbank sectie, voer een naam en optionele beschrijving in.
- In het IAM-machtigingen sectie, selecteer Maak en gebruik een nieuwe servicerol.
- Voor Rol servicenaam, voer een naam in voor uw rol, die moet beginnen met
AmazonBedrockExecutionRoleForKnowledgeBase_
. - Kies Volgende.
- In het Databron sectie, voer een naam in voor uw gegevensbron en de S3-URI waar de gegevensset zich bevindt. Knowledge Bases ondersteunt de volgende bestandsformaten:
- Platte tekst (.txt)
- Prijsverlaging (.md)
- HyperText-opmaaktaal (.html)
- Microsoft Word-document (.doc/.docx)
- Door komma's gescheiden waarden (.csv)
- Microsoft Excel-spreadsheet (.xls/.xlsx)
- Draagbaar documentformaat (.pdf)
- Onder extra instellingen¸ kies de chunkingstrategie van jouw voorkeur (voor dit bericht kiezen we Vaste maat chunking) en geef de chunkgrootte en overlay op in procenten. Als alternatief kunt u de standaardinstellingen gebruiken.
- Kies Volgende.
- In het Inbeddingsmodel sectie, kies het Titan Embeddings-model van Amazon Bedrock.
- In het Vector-database sectie, selecteer Maak snel een nieuwe vectorwinkel, dat het proces van het opzetten van een vectorwinkel beheert.
- Kies Volgende.
- Bekijk de instellingen en kies Creëer kennisbasis.
- Wacht tot het maken van de kennisbank is voltooid en bevestig dat de status ervan is Klaar.
- In het Databron sectie, of op de banner bovenaan de pagina of de pop-up in het testvenster, kies Synchroniseren om het proces van het laden van gegevens uit de S3-bucket te activeren, deze op te splitsen in delen van de door u opgegeven grootte, vectorinsluitingen te genereren met behulp van het geselecteerde tekstinsluitingsmodel en deze op te slaan in de vectoropslag die wordt beheerd door Knowledge Bases voor Amazon Bedrock.
De synchronisatiefunctie ondersteunt het opnemen, bijwerken en verwijderen van de documenten uit de vectorindex op basis van wijzigingen in documenten in Amazon S3. Je kunt ook gebruik maken van de StartIngestionJob
API om de synchronisatie via de AWS SDK te activeren.
Wanneer de synchronisatie is voltooid, wordt in de synchronisatiegeschiedenis de status weergegeven Voltooid.
Query's uitvoeren in de kennisbank
In deze sectie laten we zien hoe u toegang krijgt tot gedetailleerde informatie in de kennisbank via eenvoudige en natuurlijke zoekopdrachten. We gebruiken een ongestructureerde synthetische dataset bestaande uit PDF-bestanden, waarvan het paginanummer varieert van 10 tot 100 pagina's, waarmee een klinisch proefplan van een voorgesteld nieuw medicijn wordt gesimuleerd, inclusief statistische analysemethoden en toestemmingsformulieren voor deelnemers. We gebruiken de Knowledge Bases voor Amazon Bedrock retrieve_and_generate
en retrieve
API's met Amazon Bedrock LangChain-integratie.
Voordat u scripts kunt schrijven die de Amazon Bedrock API gebruiken, moet u de juiste versie van de AWS SDK in uw omgeving installeren. Voor Python-scripts is dit de AWS SDK voor Python (Boto3):
Schakel bovendien toegang in tot het Amazon Titan Embeddings-model en Anthropic Claude v2 of v1. Voor meer informatie, zie Toegang tot modellen.
Genereer vragen met Amazon Bedrock
We kunnen Anthropic Claude 2.1 voor Amazon Bedrock gebruiken om een lijst met vragen voor te stellen over de dataset van de klinische proef:
Gebruik de Amazon Bedrock RetrieveAndGenerate API
Voor een volledig beheerde RAG-ervaring kun je de native Knowledge Bases voor Amazon Bedrock gebruiken RetrieveAndGenerate
API om de antwoorden direct te verkrijgen:
De geciteerde informatiebron kan worden verkregen via de volgende code (waarbij een deel van de uitvoer kortheidshalve is geredigeerd):
Door de sessie-ID van de RetrieveAndGenerate
API kunt u de gesprekscontext behouden en vervolgvragen stellen. Als u zonder de context bijvoorbeeld om meer details van het vorige antwoord vraagt, kunt u mogelijk niet correct antwoorden:
Maar door de sessie-ID door te geven, kan de RAG-pijplijn de corresponderende context identificeren en relevante antwoorden retourneren:
De volgende tabel toont de gevonden antwoorden op alle bijbehorende vragen.
Vraag | Antwoord |
Wat is het doel van de studie? Zorg ervoor dat u de doelstellingen van het onderzoek begrijpt en wat de onderzoeksprocedures inhouden. | Het doel van het onderzoek is om te testen of lithium effectief is bij het voorkomen van herhaald suïcidaal, zelfgericht geweld bij patiënten met een depressie of een bipolaire stoornis. |
Wat zijn de risico's en potentiële voordelen? Op het formulier moeten alle voorzienbare risico's, bijwerkingen of ongemakken worden uitgelegd die u mogelijk ervaart als u deelneemt. | De mogelijke risico's of ongemakken zijn onder meer: de interviewvragen die ongemak veroorzaken, bijwerkingen van de lithiummedicatie zoals misselijkheid, dunne ontlasting, dorst, veranderingen bij het plassen, beverigheid, hoofdpijn, zweten, vermoeidheid, verminderde concentratie, huiduitslag, veranderingen in de schildklier, verergering van acne /psoriasis, lithiumtoxiciteit en risico's als de medicatie plotseling wordt gestopt. De potentiële voordelen zijn dat de tests kunnen leiden tot nieuwe informatie om de deelnemer te helpen, en dat lithium herhaald suïcidaal, zelfgericht geweld kan helpen voorkomen bij mensen met een depressie of een bipolaire stoornis. |
Wat houdt deelname in? Krijg details over welke tests, medicijnen, veranderingen in levensstijl of procedures u zult ondergaan, hoeveel tijd het zal duren en hoe lang het onderzoek zal duren. | Deelname omvat het invullen van een interview en vragenlijsten over denken, gedrag, behandeling in de geestelijke gezondheidszorg, medicijnen, alcohol- en drugsgebruik, thuis- en sociale ondersteuning, en begrip van het onderzoek. Dit duurt ongeveer twee uur en kan in meerdere sessies worden gedaan, persoonlijk en telefonisch. Als u in aanmerking komt voor het volledige onderzoek, zullen er gedurende een jaar ongeveer 20 studiebezoeken plaatsvinden. Dit omvat het nemen van onderzoeksmedicatie, het laten controleren van vitale functies, het invullen van vragenlijsten, het beoordelen van bijwerkingen en het voortzetten van de normale medische en geestelijke gezondheidszorg. |
Zijn er kosten of betalingen? Vraag of u verantwoordelijk bent voor eventuele kosten in verband met het onderzoek of dat u betaald krijgt voor deelname. | Ja, er worden kosten en betalingen besproken in de zoekresultaten. Er worden geen kosten in rekening gebracht voor behandelingen of procedures die deel uitmaken van het onderzoek. U zult echter nog steeds de gebruikelijke VA-eigen bijdragen moeten betalen voor zorg en medicijnen die geen verband houden met het onderzoek. U wordt niet betaald voor deelname, maar het onderzoek vergoedt de kosten die verband houden met deelname, zoals vervoer, parkeren, enz. De vergoedingsbedragen en de procedure worden verstrekt. |
Hoe wordt mijn privacy beschermd? In het formulier moet worden uitgelegd hoe uw persoonlijke gezondheidsinformatie vóór, tijdens en na het proces vertrouwelijk wordt gehouden. | Uw privacy wordt beschermd door privégesprekken te voeren, schriftelijke aantekeningen te bewaren in afgesloten bestanden en kantoren, elektronische informatie op te slaan in gecodeerde en met een wachtwoord beveiligde bestanden en een vertrouwelijkheidscertificaat te verkrijgen van het ministerie van Volksgezondheid en Human Services om te voorkomen dat informatie wordt vrijgegeven die u identificeert. . Informatie die u identificeert kan worden gedeeld met artsen die verantwoordelijk zijn voor uw zorg of voor audits en evaluaties door overheidsinstanties, maar lezingen en papers over het onderzoek zullen u niet identificeren. |
Query's uitvoeren met behulp van de Amazon Bedrock Retrieve API
Om uw RAG-workflow aan te passen, kunt u de Retrieve API gebruiken om de relevante delen op te halen op basis van uw zoekopdracht en deze door te geven aan elke LLM van Amazon Bedrock. Om de Retrieve API te gebruiken, definieert u deze als volgt:
Haal de corresponderende context op (waarbij een deel van de uitvoer kortheidshalve is geredigeerd):
Extraheer de context voor de promptsjabloon:
Importeer de Python-modules en stel de in-context vraag-antwoordsjabloon in, en genereer vervolgens het definitieve antwoord:
Query's met behulp van Amazon Bedrock LangChain-integratie
Om een end-to-end aangepaste vraag- en antwoordtoepassing te creëren, biedt Knowledge Bases voor Amazon Bedrock integratie met LangChain. Om de LangChain-retriever in te stellen, geeft u de kennisbank-ID op en specificeert u het aantal resultaten dat uit de query moet worden geretourneerd:
Stel nu LangChain RetrievalQA in en genereer antwoorden uit de kennisbank:
Dit genereert overeenkomstige antwoorden die vergelijkbaar zijn met de antwoorden in de eerdere tabel.
Opruimen
Zorg ervoor dat u de volgende bronnen verwijdert om te voorkomen dat er extra kosten in rekening worden gebracht:
Conclusie
Amazon Bedrock biedt een breed scala aan diep geïntegreerde diensten om RAG-applicaties van elke omvang aan te drijven, waardoor het eenvoudig wordt om aan de slag te gaan met het analyseren van uw bedrijfsgegevens. Knowledge Bases voor Amazon Bedrock kan worden geïntegreerd met de basismodellen van Amazon Bedrock om schaalbare pijplijnen voor het insluiten van documenten en diensten voor het ophalen van documenten te bouwen om een breed scala aan interne en klantgerichte applicaties mogelijk te maken. We zijn enthousiast over de toekomst en uw feedback zal een cruciale rol spelen bij het begeleiden van de voortgang van dit product. Voor meer informatie over de mogelijkheden van Amazon Bedrock en kennisbanken raadpleegt u Kennisbank voor Amazon Bedrock.
Over de auteurs
Marc Roy is een Principal Machine Learning Architect voor AWS en helpt klanten bij het ontwerpen en bouwen van AI/ML-oplossingen. Marks werk bestrijkt een breed scala aan ML-use-cases, met een primaire interesse in computervisie, deep learning en het opschalen van ML binnen de onderneming. Hij heeft bedrijven in vele sectoren geholpen, waaronder verzekeringen, financiële diensten, media en entertainment, gezondheidszorg, nutsbedrijven en productie. Mark heeft zes AWS-certificeringen, waaronder de ML Specialty-certificering. Voordat hij bij AWS kwam, was Mark meer dan 25 jaar architect, ontwikkelaar en technologieleider, waarvan 19 jaar in de financiële dienstverlening.
Mani Khanuja is een Tech Lead – Generative AI Specialists, auteur van het boek – Applied Machine Learning and High Performance Computing on AWS, en lid van de Raad van Bestuur van Women in Manufacturing Education Foundation Board. Ze leidt machine learning (ML)-projecten in verschillende domeinen, zoals computer vision, natuurlijke taalverwerking en generatieve AI. Ze helpt klanten bij het bouwen, trainen en implementeren van grote machine learning-modellen op schaal. Ze spreekt op interne en externe conferenties zoals re:Invent, Women in Manufacturing West, YouTube-webinars en GHC 23. In haar vrije tijd maakt ze graag lange runs langs het strand.
Dr. Baichuan Zon, momenteel werkzaam als Sr. AI/ML Solution Architect bij AWS, richt zich op generatieve AI en past zijn kennis op het gebied van datawetenschap en machine learning toe om praktische, cloudgebaseerde bedrijfsoplossingen te bieden. Met ervaring in managementadvies en AI-oplossingsarchitectuur pakt hij een reeks complexe uitdagingen aan, waaronder onder meer robotica-computervisie, tijdreeksvoorspellingen en voorspellend onderhoud. Zijn werk is geworteld in een solide achtergrond van projectmanagement, software-R&D en academische bezigheden. Buiten het werk houdt Dr. Sun van de balans tussen reizen en tijd doorbrengen met familie en vrienden.
Derrick Choo is een Senior Solutions Architect bij AWS, gericht op het versnellen van de reis van klanten naar de cloud en het transformeren van hun bedrijf door de adoptie van cloudgebaseerde oplossingen. Zijn expertise ligt in de ontwikkeling van full-stack-applicaties en machine learning. Hij helpt klanten bij het ontwerpen en bouwen van end-to-end-oplossingen die frontend-gebruikersinterfaces, IoT-applicaties, API- en data-integraties en machine learning-modellen omvatten. In zijn vrije tijd brengt hij graag tijd door met zijn gezin en experimenteert hij met fotografie en videografie.
Frank Winkler is een Senior Solutions Architect en Generative AI Specialist bij AWS gevestigd in Singapore, gericht op Machine Learning en Generative AI. Hij werkt samen met wereldwijde digital native bedrijven om schaalbare, veilige en kosteneffectieve producten en diensten op AWS te ontwerpen. In zijn vrije tijd brengt hij tijd door met zijn zoon en dochter en reist hij om te genieten van de golven in de ASEAN.
Nihir Chadderwala is een Sr. AI/ML Solutions Architect in het Global Healthcare and Life Sciences-team. Zijn expertise ligt in het bouwen van Big Data en AI-aangedreven oplossingen voor klantproblemen, vooral in de biomedische sector, de biowetenschappen en de gezondheidszorg. Hij is ook enthousiast over het snijvlak van kwantuminformatiewetenschap en AI en geniet van het leren en bijdragen aan deze ruimte. In zijn vrije tijd speelt hij graag tennis, reist hij en leert hij over kosmologie.
- Door SEO aangedreven content en PR-distributie. Word vandaag nog versterkt.
- PlatoData.Network Verticale generatieve AI. Versterk jezelf. Toegang hier.
- PlatoAiStream. Web3-intelligentie. Kennis versterkt. Toegang hier.
- PlatoESG. carbon, CleanTech, Energie, Milieu, Zonne, Afvalbeheer. Toegang hier.
- Plato Gezondheid. Intelligentie op het gebied van biotech en klinische proeven. Toegang hier.
- Bron: https://aws.amazon.com/blogs/machine-learning/use-rag-for-drug-discovery-with-knowledge-bases-for-amazon-bedrock/