Amazonas grunnfjell tilbyr et bredt spekter av modeller fra Amazon og tredjepartsleverandører, inkludert Anthropic, AI21, Meta, Cohere og Stability AI, og dekker et bredt spekter av brukstilfeller, inkludert tekst- og bildegenerering, innebygging, chat, agenter på høyt nivå med resonnement og orkestrering, med mer. Kunnskapsbaser for Amazon Bedrock lar deg bygge effektive og tilpassede Retrieval Augmented Generation (RAG)-applikasjoner på toppen av AWS og tredjeparts vektorbutikker ved å bruke både AWS og tredjepartsmodeller. Kunnskapsbaser for Amazon Bedrock automatiserer synkronisering av dataene dine med vektorlageret ditt, inkludert differensiering av data når de oppdateres, dokumentinnlasting og chunking, samt semantisk innebygging. Den lar deg sømløst tilpasse RAG-forespørsler og hentingstrategier – vi gir kildeattribusjonen, og vi håndterer minnebehandling automatisk. Knowledge Bases er helt serverløs, så du trenger ikke administrere noen infrastruktur, og når du bruker Knowledge Bases, belastes du kun for modellene, vektordatabasene og lagringen du bruker.
RAG er en populær teknikk som kombinerer bruk av private data med store språkmodeller (LLM). RAG starter med et innledende trinn for å hente relevante dokumenter fra et datalager (oftest en vektorindeks) basert på brukerens spørring. Den bruker deretter en språkmodell for å generere et svar ved å vurdere både de hentede dokumentene og den opprinnelige spørringen.
I dette innlegget demonstrerer vi hvordan du bygger en RAG-arbeidsflyt ved å bruke kunnskapsbaser for Amazon Bedrock for en brukssak for medikamentoppdagelse.
Oversikt over kunnskapsbaser for Amazons grunnfjell
Kunnskapsbaser for Amazon Bedrock støtter et bredt spekter av vanlige filtyper, inkludert .txt, .docx, .pdf, .csv og mer. For å muliggjøre effektiv henting fra private data, er en vanlig praksis først å dele disse dokumentene i håndterbare biter. Knowledge Bases har implementert en standard chunking-strategi som fungerer bra i de fleste tilfeller for å la deg komme i gang raskere. Hvis du vil ha mer kontroll, lar Knowledge Bases deg kontrollere chunking-strategien gjennom et sett med forhåndskonfigurerte alternativer. Du kan kontrollere den maksimale tokenstørrelsen og mengden overlapping som skal opprettes på tvers av biter for å gi sammenhengende kontekst til innebyggingen. Kunnskapsbaser for Amazon Bedrock styrer prosessen med å synkronisere data fra din Amazon enkel lagringstjeneste (Amazon S3) bøtte, deler den opp i mindre biter, genererer vektorinnbygginger og lagrer innbyggingene i en vektorindeks. Denne prosessen kommer med intelligent diffing, gjennomstrømning og feilhåndtering.
Ved kjøring brukes en innebyggingsmodell for å konvertere brukerens spørring til en vektor. Vektorindeksen spørres deretter for å finne dokumenter som ligner brukerens spørring ved å sammenligne dokumentvektorer med brukerspørringsvektoren. I det siste trinnet legges semantisk lignende dokumenter hentet fra vektorindeksen til som kontekst for den opprinnelige brukerspørringen. Når du genererer et svar for brukeren, blir de semantisk lignende dokumentene spurt i tekstmodellen, sammen med kildeattribusjon for sporbarhet.
Kunnskapsbaser for Amazon Bedrock støtter flere vektordatabaser, inkludert Amazon OpenSearch Serverless, Amazonas Aurora, Pinecone og Redis Enterprise Cloud. Retrieve og RetrieveAndGenerate APIene lar applikasjonene dine søke direkte etter indeksen ved hjelp av en enhetlig og standard syntaks uten å måtte lære separate APIer for hver forskjellige vektordatabase, noe som reduserer behovet for å skrive tilpassede indeksspørringer mot vektorlageret ditt. Retrieve API tar den innkommende spørringen, konverterer den til en innebyggingsvektor og spør etter backend-lageret ved å bruke algoritmene som er konfigurert på vektordatabasenivået; RetrieveAndGenerate API bruker en brukerkonfigurert LLM levert av Amazon Bedrock og genererer det endelige svaret på naturlig språk. Den opprinnelige sporbarhetsstøtten informerer søknaden om kildene som brukes til å svare på et spørsmål. For bedriftsimplementeringer støtter Knowledge Bases AWS nøkkelstyringstjeneste (AWS KMS) kryptering, AWS CloudTrail integrering og mer.
I de følgende delene demonstrerer vi hvordan du bygger en RAG-arbeidsflyt ved å bruke kunnskapsbaser for Amazon Bedrock, støttet av OpenSearch Serverless vektormotor, for å analysere et ustrukturert klinisk utprøvingsdatasett for et brukstilfelle for medikamentoppdagelse. Disse dataene er informasjonsrike, men kan være svært heterogene. Riktig håndtering av spesialisert terminologi og konsepter i ulike formater er avgjørende for å oppdage innsikt og sikre analytisk integritet. Med Knowledge Bases for Amazon Bedrock kan du få tilgang til detaljert informasjon gjennom enkle, naturlige søk.
Bygg en kunnskapsbase for Amazon Bedrock
I denne delen demonstrerer vi prosessen med å lage en kunnskapsbase for Amazon Bedrock via konsollen. Fullfør følgende trinn:
- På Amazon Bedrock-konsollen, under orkestre Velg navigasjonsruten Kunnskapsbase.
- Velg Lag kunnskapsbase.
- på Kunnskapsbasedetaljer seksjon, skriv inn et navn og valgfri beskrivelse.
- på IAM-tillatelser seksjon, velg Opprett og bruk en ny tjenesterolle.
- Til Tjenestenavnrolle, skriv inn et navn for rollen din, som må begynne med
AmazonBedrockExecutionRoleForKnowledgeBase_
. - Velg neste.
- på Datakilde seksjonen, skriv inn et navn for datakilden og S3-URI-en der datasettet sitter. Knowledge Bases støtter følgende filformater:
- Ren tekst (.txt)
- Markdown (.md)
- HyperText Markup Language (.html)
- Microsoft Word-dokument (.doc/.docx)
- Kommaseparerte verdier (.csv)
- Microsoft Excel-regneark (.xls/.xlsx)
- Portable Document Format (.pdf)
- Under Tilleggsinnstillinger¸ velg din foretrukne chunking-strategi (for dette innlegget velger vi Fast størrelse chunking) og spesifiser delstørrelsen og overlegget i prosent. Alternativt kan du bruke standardinnstillingene.
- Velg neste.
- på Innstøpingsmodell seksjon, velg Titan Embeddings-modellen fra Amazon Bedrock.
- på Vektordatabase seksjon, velg Lag raskt en ny vektorbutikk, som styrer prosessen med å sette opp en vektorbutikk.
- Velg neste.
- Gjennomgå innstillingene og velg Lag kunnskapsbase.
- Vent til opprettelsen av kunnskapsbasen er fullført og bekrefter at statusen er Klar.
- på Datakilde seksjonen, eller på banneret øverst på siden eller popup-vinduet i testvinduet, velg Synkroniser for å utløse prosessen med å laste data fra S3-bøtten, dele dem opp i biter av størrelsen du spesifiserte, generere vektorinnbygginger ved å bruke den valgte tekstinnbyggingsmodellen, og lagre dem i vektorlageret administrert av Knowledge Bases for Amazon Bedrock.
Synkroniseringsfunksjonen støtter inntak, oppdatering og sletting av dokumentene fra vektorindeksen basert på endringer i dokumenter i Amazon S3. Du kan også bruke StartIngestionJob
API for å utløse synkroniseringen via AWS SDK.
Når synkroniseringen er fullført, viser synkroniseringsloggen status Fullført.
Spørr kunnskapsbasen
I denne delen viser vi hvordan du får tilgang til detaljert informasjon i kunnskapsbasen gjennom enkle og naturlige spørsmål. Vi bruker et ustrukturert syntetisk datasett som består av PDF-filer, sidetallet for hver av dem varierer fra 10–100 sider, og simulerer en plan for klinisk utprøving av en foreslått ny medisin, inkludert statistiske analysemetoder og samtykkeskjemaer for deltakere. Vi bruker kunnskapsbasene for Amazons grunnfjell retrieve_and_generate
og retrieve
APIer med Amazon Bedrock LangChain-integrasjon.
Før du kan skrive skript som bruker Amazon Bedrock API, må du installere riktig versjon av AWS SDK i miljøet ditt. For Python-skript vil dette være AWS SDK for Python (Boto3):
Aktiver i tillegg tilgang til Amazon Titan Embeddings-modellen og Anthropic Claude v2 eller v1. For mer informasjon, se Modelltilgang.
Generer spørsmål ved hjelp av Amazon Bedrock
Vi kan bruke Anthropic Claude 2.1 for Amazon Bedrock for å foreslå en liste over spørsmål å stille på datasettet for kliniske forsøk:
Bruk Amazon Bedrock RetrieveAndGenerate API
For en fullstendig administrert RAG-opplevelse kan du bruke de opprinnelige kunnskapsbasene for Amazon Bedrock RetrieveAndGenerate
API for å få svarene direkte:
Den siterte informasjonskilden kan fås via følgende kode (med noe av utdataene redigert for korthets skyld):
Ved å sende økt-ID-en til RetrieveAndGenerate
API kan du bevare samtalekonteksten og stille oppfølgingsspørsmål. For eksempel, uten konteksten, hvis du ber om flere detaljer fra det forrige svaret, kan det hende at det ikke kan svare riktig:
Men ved å sende økt-ID-en, er RAG-rørledningen i stand til å identifisere den tilsvarende konteksten og returnere relevante svar:
Tabellen nedenfor viser de innhentede svarene på alle de tilsvarende spørsmålene.
Spørsmål | Svar |
Hva er hensikten med studiet? Sørg for at du forstår målene for forskningen og hva studieprosedyrene vil innebære. | Formålet med studien er å teste om litium er effektivt for å forhindre gjentatt selvmordsvold hos pasienter med depresjon eller bipolar lidelse. |
Hva er risikoen og potensielle fordeler? Skjemaet skal forklare alle forutsigbare risikoer, bivirkninger eller ubehag du kan oppleve ved å delta. | De mulige risikoene eller ubehagene inkluderer: intervjuspørsmålene som forårsaker ubehag, bivirkninger fra litiummedisinen som kvalme, løs avføring, tørste, vannlatingsforandringer, skjelving, hodepine, svette, tretthet, nedsatt konsentrasjon, hudutslett, skjoldbruskkjertelforandringer, forverret akne /psoriasis, litiumtoksisitet og risiko hvis medisinen plutselig stoppes. De potensielle fordelene er at testene kan føre til ny informasjon for å hjelpe deltakeren, og litium kan bidra til å forhindre gjentatt selvmordsvold for de med depresjon eller bipolar lidelse. |
Hva vil deltakelse innebære? Få detaljer om hvilke tester, medisiner, livsstilsendringer eller prosedyrer du skal gjennom, hvor mye tid det vil ta og hvor lenge studien vil vare. | Deltakelse vil innebære å fullføre et intervju og spørreskjemaer som dekker tenkning, atferd, psykisk helsebehandling, medisiner, alkohol- og narkotikabruk, hjemme og sosial støtte, og forståelse av forskningsstudien. Dette tar omtrent to timer og kan gjøres i flere økter, personlig og via telefon. Dersom det er kvalifisert for hele studiet, vil det være ca 20 studiebesøk over ett år. Dette vil innebære å ta studiemedisiner, få sjekket vitale funksjoner, fylle ut spørreskjemaer, gjennomgå bivirkninger og fortsette normal medisinsk og psykisk helsehjelp. |
Er det noen kostnader eller betalinger? Spør om du vil være ansvarlig for eventuelle kostnader knyttet til studien eller få betalt for å delta. | Ja, det er kostnader og betalinger omtalt i søkeresultatene. Du vil ikke bli belastet for noen behandlinger eller prosedyrer som er en del av studien. Du vil imidlertid fortsatt måtte betale vanlig VA egenbetaling for pleie og medisiner som ikke er relatert til studien. Du vil ikke få betalt for deltakelse, men studien vil dekke utgifter knyttet til deltakelse som transport, parkering osv. Refusjonsbeløp og prosess er gitt. |
Hvordan vil personvernet mitt bli beskyttet? Skjemaet skal forklare hvordan din personlige helseinformasjon vil bli holdt konfidensiell før, under og etter rettssaken. | Personvernet ditt vil bli beskyttet ved å gjennomføre intervjuer privat, holde skriftlige notater i låste filer og kontorer, lagre elektronisk informasjon i krypterte og passordbeskyttede filer, og innhente et konfidensialitetssertifikat fra Department of Health and Human Services for å forhindre avsløring av informasjon som identifiserer deg . Informasjon som identifiserer deg kan bli delt med leger som er ansvarlige for din omsorg eller for revisjoner og evalueringer av offentlige etater, men samtaler og papirer om studien vil ikke identifisere deg. |
Spør ved hjelp av Amazon Bedrock Retrieve API
For å tilpasse RAG-arbeidsflyten din, kan du bruke Retrieve API for å hente de relevante delene basert på søket ditt og sende det til en hvilken som helst LLM levert av Amazon Bedrock. For å bruke Retrieve API, definer den som følger:
Hent den tilsvarende konteksten (med noe av utdataene redigert for korthets skyld):
Trekk ut konteksten for ledetekstmalen:
Importer Python-modulene og sett opp malen for svarspørsmål i konteksten, og generer deretter det endelige svaret:
Spørring med Amazon Bedrock LangChain-integrasjon
For å lage en ende-til-ende tilpasset spørsmål og svar-applikasjon, tilbyr Knowledge Bases for Amazon Bedrock integrasjon med LangChain. For å sette opp LangChain retriever, oppgi kunnskapsbase-IDen og spesifiser antall resultater som skal returneres fra spørringen:
Sett nå opp LangChain RetrievalQA og generer svar fra kunnskapsbasen:
Dette vil generere tilsvarende svar som ligner på de som er oppført i den tidligere tabellen.
Rydd opp
Sørg for å slette følgende ressurser for å unngå ekstra kostnader:
konklusjonen
Amazon Bedrock tilbyr et bredt sett med dypt integrerte tjenester for å drive RAG-applikasjoner i alle skalaer, noe som gjør det enkelt å komme i gang med å analysere bedriftens data. Kunnskapsbaser for Amazon Bedrock integreres med Amazon Bedrock-fundamentmodeller for å bygge skalerbare dokumentinnbyggingsrørledninger og dokumentinnhentingstjenester for å drive et bredt spekter av interne og kundevendte applikasjoner. Vi er spente på fremtiden, og tilbakemeldingene dine vil spille en viktig rolle i å veilede fremdriften til dette produktet. For å lære mer om egenskapene til Amazon Bedrock og kunnskapsbaser, se Kunnskapsbase for Amazon Bedrock.
Om forfatterne
Mark Roy er en hovedmaskinlæringsarkitekt for AWS, og hjelper kunder med å designe og bygge AI/ML-løsninger. Marks arbeid dekker et bredt spekter av ML-brukstilfeller, med en primær interesse for datasyn, dyp læring og skalering av ML på tvers av bedriften. Han har hjulpet selskaper i mange bransjer, inkludert forsikring, finansielle tjenester, media og underholdning, helsevesen, verktøy og produksjon. Mark har seks AWS-sertifiseringer, inkludert ML Specialty Certification. Før han begynte i AWS, var Mark arkitekt, utvikler og teknologileder i over 25 år, inkludert 19 år innen finansielle tjenester.
Mani Khanuja er en Tech Lead – Generative AI Specialists, forfatter av boken – Applied Machine Learning and High Performance Computing på AWS, og medlem av styret for Women in Manufacturing Education Foundation Board. Hun leder maskinlæringsprosjekter (ML) innen ulike domener som datasyn, naturlig språkbehandling og generativ AI. Hun hjelper kunder med å bygge, trene og distribuere store maskinlæringsmodeller i stor skala. Hun snakker på interne og eksterne konferanser som re:Invent, Women in Manufacturing West, YouTube webinarer og GHC 23. På fritiden liker hun å gå lange løpeturer langs stranden.
Dr. Baichuan Sun, som for tiden tjener som Sr. AI/ML Solution Architect hos AWS, fokuserer på generativ AI og bruker sin kunnskap innen datavitenskap og maskinlæring for å tilby praktiske, skybaserte forretningsløsninger. Med erfaring innen ledelsesrådgivning og AI-løsningsarkitektur, adresserer han en rekke komplekse utfordringer, inkludert robotikk datasyn, tidsserieprognoser og prediktivt vedlikehold, blant andre. Arbeidet hans er forankret i en solid bakgrunn innen prosjektledelse, programvare FoU og akademiske sysler. Utenom jobben liker Dr. Sun balansen mellom å reise og tilbringe tid med familie og venner.
Derrick Choo er en senior løsningsarkitekt hos AWS med fokus på å akselerere kundens reise til skyen og transformere virksomheten deres gjennom bruk av skybaserte løsninger. Hans ekspertise er innen utvikling av fullstack-applikasjoner og maskinlæring. Han hjelper kunder med å designe og bygge ende-til-ende-løsninger som dekker frontend-brukergrensesnitt, IoT-applikasjoner, API- og dataintegrasjoner og maskinlæringsmodeller. På fritiden liker han å tilbringe tid med familien og eksperimentere med fotografering og video.
Frank Winkler er en senior løsningsarkitekt og generativ AI-spesialist ved AWS med base i Singapore, med fokus på maskinlæring og generativ AI. Han jobber med globale digitalt innfødte selskaper for å bygge skalerbare, sikre og kostnadseffektive produkter og tjenester på AWS. På fritiden tilbringer han tid med sønnen og datteren, og reiser for å nyte bølgene over ASEAN.
Nihir Chadderwala er Sr. AI/ML Solutions Architect i Global Healthcare and Life Sciences-teamet. Hans ekspertise er i å bygge Big Data og AI-drevne løsninger på kundeproblemer, spesielt innen biomedisin, biovitenskap og helsevesen. Han er også begeistret for skjæringspunktet mellom kvanteinformasjonsvitenskap og AI og liker å lære og bidra til dette rommet. På fritiden liker han å spille tennis, reise og lære om kosmologi.
- SEO-drevet innhold og PR-distribusjon. Bli forsterket i dag.
- PlatoData.Network Vertical Generative Ai. Styrk deg selv. Tilgang her.
- PlatoAiStream. Web3 Intelligence. Kunnskap forsterket. Tilgang her.
- PlatoESG. Karbon, CleanTech, Energi, Miljø, Solenergi, Avfallshåndtering. Tilgang her.
- PlatoHelse. Bioteknologisk og klinisk etterretning. Tilgang her.
- kilde: https://aws.amazon.com/blogs/machine-learning/use-rag-for-drug-discovery-with-knowledge-bases-for-amazon-bedrock/