Generativ AI er en type AI, der kan skabe nyt indhold og nye ideer, herunder samtaler, historier, billeder, videoer og musik. Det er drevet af store sprogmodeller (LLM'er), der er forudtrænede på enorme mængder data og almindeligvis omtalt som grundmodeller (FM'er).
Med fremkomsten af disse LLM'er eller FM'er kan kunder simpelthen bygge Generative AI-baserede applikationer til annoncering, vidensstyring og kundesupport. At realisere virkningen af disse applikationer kan give forbedret indsigt til kunderne og positivt påvirke ydeevneeffektiviteten i organisationen, med nem informationssøgning og automatisering af visse tidskrævende opgaver.
Med generativ AI på AWS kan du genopfinde dine applikationer, skabe helt nye kundeoplevelser og forbedre den overordnede produktivitet.
I dette indlæg bygger vi en sikker virksomhedsapplikation ved hjælp af AWS Amplify der påberåber sig en Amazon SageMaker JumpStart fundament model, Amazon SageMaker endepunkter, og Amazon OpenSearch Service at forklare, hvordan man opretter tekst-til-tekst eller tekst-til-billede og Retrieval Augmented Generation (RAG). Du kan bruge dette indlæg som en reference til at bygge sikre virksomhedsapplikationer i det Generative AI-domæne ved hjælp af AWS-tjenester.
Løsningsoversigt
Denne løsning bruger SageMaker JumpStart-modeller til at implementere tekst-til-tekst, tekst-til-billede og tekstindlejringsmodeller som SageMaker-slutpunkter. Disse SageMaker-endepunkter forbruges i Amplify React-applikationen igennem Amazon API Gateway , AWS Lambda funktioner. For at beskytte applikationen og API'erne mod utilsigtet adgang, Amazon Cognito er integreret i Amplify React, API Gateway og Lambda funktioner. SageMaker-endepunkter og Lambda er implementeret i en privat VPC, så kommunikationen fra API Gateway til Lambda funktioner er beskyttet ved hjælp af API Gateway VPC links. Følgende workflowdiagram illustrerer denne løsning.
Arbejdsgangen omfatter følgende trin:
- Indledende opsætning: SageMaker JumpStart FM'er er implementeret som SageMaker-slutpunkter med tre slutpunkter oprettet fra SageMaker JumpStart-modeller. Tekst-til-billede-modellen er en Stability AI Stable Diffusion-fundamentmodel, der vil blive brugt til at generere billeder. Tekst-til-tekst-modellen, der bruges til at generere tekst og implementeres i løsningen, er en Hugging Face Flan T5 XL-model. Tekstindlejringsmodellen, som vil blive brugt til at generere indlejring, der skal indekseres i Amazon OpenSearch Service eller søge konteksten for det indkommende spørgsmål, er en Hugging Face GPT 6B FP16 indlejringsmodel. Alternative LLM'er kan implementeres baseret på use case og modelpræstationsbenchmarks. For mere information om fundamentmodeller, se Kom godt i gang med Amazon SageMaker JumpStart.
- Du tilgår React-applikationen fra din computer. React-appen har tre sider: en side, der tager billedprompter og viser det genererede billede; en side, der tager tekstbeskeder og viser den genererede tekst; og en side, der tager et spørgsmål, finder konteksten, der matcher spørgsmålet, og viser svaret genereret af tekst-til-tekst-modellen.
- React-appen, der er bygget ved hjælp af Amplify-biblioteker, hostes på Amplify og serveres til brugeren i Amplify-værts-URL'en. Amplify leverer hostingmiljøet til React-applikationen. Amplify CLI bruges til at bootstrap Amplify-hostingmiljøet og implementere koden i Amplify-hostingmiljøet.
- Hvis du ikke er blevet autentificeret, bliver du autentificeret mod Amazon Cognito ved hjælp af Amplify React UI-biblioteket.
- Når du giver et input og indsender formularen, behandles anmodningen via API Gateway.
- Lambda-funktioner renser brugerinput og kalder de respektive SageMaker-endepunkter. Lambda-funktioner konstruerer også meddelelserne fra det desinficerede brugerinput i det respektive format, der forventes af LLM. Disse Lambda-funktioner omformaterer også outputtet fra LLM'erne og sender svaret tilbage til brugeren.
- SageMaker-endepunkter er implementeret til tekst-til-tekst (Flan T5 XXL), tekst-til-indlejringer (GPTJ-6B) og tekst-til-billede-modeller (Stability AI). Tre separate endepunkter, der bruger de anbefalede standard SageMaker-instanstyper, er implementeret.
- Indlejringer til dokumenter genereres ved hjælp af tekst-til-indlejringer-modellen, og disse indlejringer indekseres i OpenSearch Service. Et k-Nearest Neighbor (k-NN)-indeks er aktiveret for at tillade søgning af indlejringer fra OpenSearch-tjenesten.
- An AWS Fargate job tager dokumenter og segmenterer dem i mindre pakker, kalder tekst-til-indlejringer LLM-modellen og indekserer de returnerede indlejringer i OpenSearch Service for at søge kontekst som beskrevet tidligere.
Datasæt oversigt
Datasættet brugt til denne løsning er pile-of-law
i Hugging Face-lager. Dette datasæt er et stort korpus af juridiske og administrative data. Til dette eksempel bruger vi train.cc_casebooks.jsonl.xz
i dette depot. Dette er en samling af uddannelsescasebøger, der er kurateret i et JSONL-format som krævet af LLM'erne.
Forudsætninger
Før du går i gang, skal du sørge for, at du har følgende forudsætninger:
Implementer løsningen
Et AWS CDK-projekt, der omfatter alle de arkitektoniske komponenter, er blevet gjort tilgængeligt i denne AWS-eksempler GitHub repository. For at implementere denne løsning skal du gøre følgende:
- Klon GitHub repository til din computer.
- Gå til rodmappen.
- Initialiser det virtuelle Python-miljø.
- Installer de nødvendige afhængigheder specificeret i
requirements.txt
fil. - Initialiser AWS CDK i projektmappen.
- Bootstrap AWS CDK i projektmappen.
- Brug AWS CDK deploy kommandoen til at implementere stakkene.
- Gå til Amplify-mappen i projektmappen.
- Initialiser Amplify og accepter standardindstillingerne fra CLI.
- Tilføj Amplify hosting.
- Udgiv Amplify-frontenden fra Amplify-mappen, og noter domænenavnet, der er angivet i slutningen af kørslen.
- På Amazon Cognito-konsollen skal du tilføje en bruger til den Amazon Cognito-instans, der blev klargjort med implementeringen.
- Gå til domænenavnet fra trin 11 og angiv Amazon Cognito-loginoplysningerne for at få adgang til applikationen.
Udløs et OpenSearch-indekseringsjob
AWS CDK-projektet implementerede en Lambda-funktion ved navn GenAIServiceTxt2EmbeddingsOSIndexingLambda
. Naviger til denne funktion på Lambda-konsollen.
Kør en test med en tom nyttelast, som vist på det følgende skærmbillede.
Denne Lambda-funktion udløser en Fargate-opgave Amazon Elastic Container Service (Amazon ECS) kører inden for VPC. Denne Fargate-opgave tager den inkluderede JSONL-fil til at segmentere og oprette et indlejringsindeks. Hver indlejring af segmenter er et resultat af påkaldelse af tekst-til-indlejring LLM-slutpunktet, der er implementeret som en del af AWS CDK-projektet.
Ryd op
For at undgå fremtidige afgifter skal du slette SageMaker-slutpunktet og stoppe alle Lambda-funktioner. Slet også outputdataene i Amazon S3, du oprettede, mens du kørte applikationsarbejdsgangen. Du skal slette dataene i S3 buckets, før du kan slette buckets.
Konklusion
I dette indlæg demonstrerede vi en end-to-end-tilgang til at skabe en sikker virksomhedsapplikation ved hjælp af Generative AI og RAG. Denne tilgang kan bruges til at bygge sikre og skalerbare Generative AI-applikationer på AWS. Vi opfordrer dig til at implementere AWS CDK-appen på din konto og bygge den Generative AI-løsning.
Yderligere ressourcer
For mere information om Generative AI-applikationer på AWS, se følgende:
Om forfatterne
Jay Pillai er Principal Solutions Architect hos Amazon Web Services. Som informationsteknologileder har Jay specialiseret sig i kunstig intelligens, dataintegration, business intelligence og brugergrænsefladedomæner. Han har 23 års omfattende erfaring med at arbejde med adskillige kunder på tværs af ejendomsmægler, finansielle tjenesteydelser, forsikringer, betalinger og markedsundersøgelser.
Shikhar Kwatra er en AI/ML Specialist Solutions Architect hos Amazon Web Services, der arbejder med en førende global systemintegrator. Han har opnået titlen som en af de yngste indiske mesteropfindere med over 500 patenter inden for AI/ML og IoT-domænerne. Shikhar hjælper med at arkitekture, bygge og vedligeholde omkostningseffektive, skalerbare cloudmiljøer for organisationen og understøtter GSI-partneren med at bygge strategiske industriløsninger på AWS. Shikhar nyder at spille guitar, komponere musik og øve mindfulness i sin fritid.
Karthik Sonti leder et globalt team af løsningsarkitekter fokuseret på at konceptualisere, bygge og lancere horisontale, funktionelle og vertikale løsninger med Accenture for at hjælpe vores fælles kunder med at transformere deres forretning på en differentieret måde på AWS.
- SEO Powered Content & PR Distribution. Bliv forstærket i dag.
- PlatoData.Network Vertical Generative Ai. Styrk dig selv. Adgang her.
- PlatoAiStream. Web3 intelligens. Viden forstærket. Adgang her.
- PlatoESG. Automotive/elbiler, Kulstof, CleanTech, Energi, Miljø, Solenergi, Affaldshåndtering. Adgang her.
- PlatoHealth. Bioteknologiske og kliniske forsøgs intelligens. Adgang her.
- ChartPrime. Løft dit handelsspil med ChartPrime. Adgang her.
- BlockOffsets. Modernisering af miljømæssig offset-ejerskab. Adgang her.
- Kilde: https://aws.amazon.com/blogs/machine-learning/build-a-secure-enterprise-application-with-generative-ai-and-rag-using-amazon-sagemaker-jumpstart/
- :har
- :er
- :ikke
- 100
- 11
- 23
- 500
- 7
- a
- Om
- Accenture
- Acceptere
- adgang
- Konto
- tværs
- tilføje
- administrative
- advent
- Reklame
- mod
- AI
- AI / ML
- hjælpemidler
- Alle
- tillade
- også
- alternativ
- Amazon
- Amazon Cognito
- Amazon OpenSearch Service
- Amazon SageMaker
- Amazon SageMaker JumpStart
- Amazon Web Services
- beløb
- an
- ,
- besvare
- api
- API'er
- app
- Anvendelse
- applikationer
- tilgang
- arkitekter
- arkitektonisk
- ER
- kunstig
- kunstig intelligens
- AS
- At
- augmented
- autentificeret
- Automatisering
- til rådighed
- undgå
- AWS
- tilbage
- baseret
- BE
- været
- før
- Benchmarks
- Bootstrap
- bygge
- Bygning
- bygget
- virksomhed
- business intelligence
- by
- CAN
- tilfælde
- vis
- afgifter
- kunder
- Cloud
- kode
- samling
- almindeligt
- Kommunikation
- komponenter
- computer
- Konsol
- konstruere
- forbruges
- Container
- indhold
- sammenhæng
- samtaler
- skabe
- oprettet
- kurateret
- kunde
- Kunde support
- Kunder
- data
- Standard
- defaults
- demonstreret
- afhængigheder
- indsætte
- indsat
- implementering
- beskrevet
- detaljer
- differentieret
- Broadcasting
- displays
- do
- dokumenter
- domæne
- Domain Name
- Domæner
- hver
- optjent
- let
- Uddannelse
- effektivitet
- indlejring
- aktiveret
- tilskynde
- ende
- ende til ende
- Endpoint
- forbedret
- Enterprise
- helt
- Miljø
- miljøer
- ejendom
- eksempel
- forventet
- erfaring
- Oplevelser
- Forklar
- omfattende
- Omfattende oplevelse
- Ansigtet
- File (Felt)
- finansielle
- finansielle tjenesteydelser
- fund
- fokuserede
- efter
- Til
- formular
- format
- Foundation
- fra
- forsiden
- forreste ende
- funktion
- funktionel
- funktioner
- fremtiden
- gateway
- genereret
- generere
- generation
- generative
- Generativ AI
- få
- Global
- Have
- he
- hjælpe
- hans
- besidder
- Vandret
- host
- hostede
- Hosting
- Hvordan
- How To
- http
- HTTPS
- ideer
- illustrerer
- billede
- billeder
- KIMOs Succeshistorier
- gennemføre
- Forbedre
- in
- medtaget
- omfatter
- Herunder
- Indgående
- indeks
- indekseret
- indekser
- indiske
- industrien
- oplysninger
- informationsteknologi
- indgang
- indsigt
- instans
- forsikring
- integreret
- integration
- Intelligens
- grænseflade
- ind
- Opfindere
- påberåber sig
- tingenes internet
- Job
- fælles
- jpg
- viden
- Knowledge Management
- Sprog
- stor
- lancering
- leder
- førende
- Leads
- Politikker
- biblioteker
- Bibliotek
- links
- LLM
- Logge på
- lavet
- Vedligeholdelse
- lave
- ledelse
- måde
- Marked
- markedsundersøgelse
- Master
- matchende
- Mindfulness
- model
- modeller
- mere
- Musik
- skal
- navn
- Som hedder
- Naviger
- Ny
- of
- on
- ONE
- or
- organisation
- vores
- output
- i løbet af
- samlet
- pakker
- side
- sider
- del
- partner
- Patenter
- betalinger
- ydeevne
- plato
- Platon Data Intelligence
- PlatoData
- spiller
- Indlæg
- strøm
- forudsætninger
- tidligere
- Main
- Behandlet
- produktivitet
- projekt
- beskytte
- beskyttet
- give
- forudsat
- giver
- Python
- spørgsmål
- Reagerer
- ægte
- fast ejendom
- realisere
- anbefales
- henvise
- benævnt
- genopfinde
- Repository
- anmode
- påkrævet
- forskning
- dem
- svar
- resultere
- rod
- Kør
- kører
- sagemaker
- skalerbar
- søgning
- sikker
- se
- segment
- segmenter
- send
- adskille
- tjeneste
- Tjenester
- setup
- flere
- vist
- ganske enkelt
- mindre
- So
- løsninger
- Løsninger
- specialist
- specialiseret
- specificeret
- Stabilitet
- stabil
- Stakke
- påbegyndt
- Trin
- Steps
- Stands
- Historier
- Strategisk
- indsende
- support
- Understøtter
- sikker
- systemet
- tager
- Opgaver
- opgaver
- hold
- Teknologier
- prøve
- tekst
- at
- deres
- Them
- Disse
- denne
- tre
- Gennem
- tid
- tidskrævende
- Titel
- til
- Transform
- typen
- typer
- ui
- URL
- brug
- brug tilfælde
- anvendte
- Bruger
- Brugergrænseflade
- bruger
- ved brug af
- Vast
- lodret
- via
- Videoer
- Virtual
- var
- we
- web
- webservices
- som
- mens
- vilje
- med
- inden for
- workflow
- arbejder
- år
- Du
- yngste
- Din
- zephyrnet