Implementering av en moderne dataarkitektur gir en skalerbar metode for å integrere data fra ulike kilder. Ved å organisere data etter forretningsdomener i stedet for infrastruktur, kan hvert domene velge verktøy som passer deres behov. Organisasjoner kan maksimere verdien av sin moderne dataarkitektur med generative AI-løsninger mens de innoverer kontinuerlig.
De naturlige språkegenskapene lar ikke-tekniske brukere søke etter data gjennom samtaleengelsk i stedet for kompleks SQL. Men å realisere de fulle fordelene krever å overvinne noen utfordringer. AI- og språkmodellene må identifisere de riktige datakildene, generere effektive SQL-spørringer og produsere sammenhengende svar med innebygde resultater i stor skala. De trenger også et brukergrensesnitt for spørsmål om naturlig språk.
Totalt sett er implementering av en moderne dataarkitektur og generative AI-teknikker med AWS en lovende tilnærming for å innhente og spre nøkkelinnsikt fra mangfoldige, ekspansive data i bedriftsskala. Det siste tilbudet for generativ AI fra AWS er Amazonas grunnfjell, som er en fullstendig administrert tjeneste og den enkleste måten å bygge og skalere generative AI-applikasjoner med grunnmodeller. AWS tilbyr også grunnmodeller gjennom Amazon SageMaker JumpStart as Amazon SageMaker endepunkter. Kombinasjonen av store språkmodeller (LLM), inkludert den enkle integrasjonen som Amazon Bedrock tilbyr, og en skalerbar, domeneorientert datainfrastruktur posisjonerer dette som en intelligent metode for å utnytte den rikelig informasjonen som finnes i ulike analysedatabaser og datainnsjøer.
I innlegget viser vi frem et scenario der et selskap har implementert en moderne dataarkitektur med data som ligger på flere databaser og APIer som juridiske data på Amazon enkel lagringstjeneste (Amazon S3), menneskelige ressurser på Amazon Relational Database Service (Amazon RDS), salg og markedsføring på Amazon RedShift, finansmarkedsdata på en tredjeparts datavarehusløsning på Snowflake, og produktdata som en API. Denne implementeringen tar sikte på å øke produktiviteten til bedriftens forretningsanalyse, produkteiere og forretningsdomeneeksperter. Alt dette oppnås gjennom bruk av generativ AI i denne domenets mesh-arkitektur, som gjør det mulig for selskapet å nå sine forretningsmål mer effektivt. Denne løsningen har muligheten til å inkludere LLM-er fra JumpStart som et SageMaker-endepunkt så vel som tredjepartsmodeller. Vi gir bedriftsbrukerne et medium for å stille faktabaserte spørsmål uten å ha en underliggende kunnskap om datakanaler, og abstraherer dermed kompleksiteten ved å skrive enkle til komplekse SQL-spørringer.
Løsningsoversikt
En moderne dataarkitektur på AWS bruker kunstig intelligens og naturlig språkbehandling for å søke etter flere analysedatabaser. Ved å bruke tjenester som Amazon Redshift, Amazon RDS, Snowflake, Amazonas Athenaog AWS Lim, skaper den en skalerbar løsning for å integrere data fra ulike kilder. Ved hjelp av Langkjede, et kraftig bibliotek for arbeid med LLM-er, inkludert grunnmodeller fra Amazon Bedrock og JumpStart i Amazon SageMaker Studio notebooks, er det bygget et system der brukere kan stille forretningsspørsmål på naturlig engelsk og motta svar med data hentet fra de relevante databasene.
Følgende diagram illustrerer arkitekturen.
Hybridarkitekturen bruker flere databaser og LLM-er, med grunnmodeller fra Amazon Bedrock og JumpStart for datakildeidentifikasjon, SQL-generering og tekstgenerering med resultater.
Følgende diagram illustrerer de spesifikke arbeidsflyttrinnene for løsningen vår.
Fremgangsmåten er som følger:
- En bedriftsbruker gir en engelsk spørsmålsmelding.
- En AWS Glue-crawler er planlagt å kjøre med hyppige intervaller for å trekke ut metadata fra databaser og lage tabelldefinisjoner i AWS Lim Data Catalog. Datakatalogen legges inn til kjedesekvens 1 (se foregående diagram).
- LangChain, et verktøy for å jobbe med LLM-er og ledetekster, brukes i Studio-notatbøker. LangChain krever at en LLM defineres. Som en del av Chain Sequence 1 sendes ledeteksten og datakatalogmetadataene til en LLM, vert på et SageMaker-endepunkt, for å identifisere den relevante databasen og tabellen ved hjelp av LangChain.
- Spørsmålet og den identifiserte databasen og tabellen sendes til kjedesekvens 2.
- LangChain etablerer en tilkobling til databasen og kjører SQL-spørringen for å få resultatene.
- Resultatene sendes til LLM for å generere et engelsk svar med dataene.
- Brukeren mottar et engelsk svar på spørsmålet sitt, som spør etter data fra forskjellige databaser.
Disse følgende avsnittene forklarer noen av nøkkeltrinnene med tilhørende kode. For å dykke dypere inn i løsningen og koden for alle trinnene vist her, se GitHub repo. Følgende diagram viser sekvensen av trinnene som er fulgt:
Forutsetninger
Du kan bruke alle databaser som er kompatible med SQLAlchemy å generere svar fra LLMs og LangChain. Disse databasene må imidlertid ha sine metadata registrert i AWS Glue Data Catalog. I tillegg må du ha tilgang til LLM-er gjennom enten JumpStart- eller API-nøkler.
Koble til databaser ved hjelp av SQLAlchemy
LangChain bruker SQLAlchemy for å koble til SQL-databaser. Vi initialiserer LangChains SQLDatabase-funksjon ved å lage en motor og etablere en tilkobling for hver datakilde. Følgende er et eksempel på hvordan du kobler til en Amazon Aurora MySQL-kompatibel utgave serverløs database og inkluderer bare ansattetabellen:
Deretter bygger vi ledetekster som brukes av Chain Sequence 1 for å identifisere databasen og tabellnavnet basert på brukerspørsmålet.
Generer dynamiske ledetekstmaler
Vi bruker AWS Glue Data Catalog, som er utviklet for å lagre og administrere metadatainformasjon, for å identifisere datakilden for en brukerspørring og bygge forespørsler for Chain Sequence 1, som beskrevet i følgende trinn:
- Vi bygger en datakatalog ved å gjennomgå metadataene til flere datakilder ved å bruke JDBC-tilkobling brukt i demonstrasjonen.
- Med Boto3-biblioteket bygger vi en konsolidert visning av datakatalogen fra flere datakilder. Følgende er et eksempel på hvordan du henter metadataene til ansattetabellen fra datakatalogen for Aurora MySQL-databasen:
En konsolidert datakatalog har detaljer om datakilden, for eksempel skjema, tabellnavn og kolonnenavn. Følgende er et eksempel på utdataene fra den konsoliderte datakatalogen:
- Vi sender den konsoliderte datakatalogen til ledetekstmalen og definerer ledetekstene som brukes av LangChain:
Kjedesekvens 1: Oppdag kildemetadata for brukerspørringen ved å bruke LangChain og en LLM
Vi sender forespørselsmalen generert i forrige trinn til forespørselen, sammen med brukerspørringen til LangChain-modellen, for å finne den beste datakilden for å svare på spørsmålet. LangChain bruker LLM-modellen vi velger for å oppdage kildemetadata.
Bruk følgende kode for å bruke en LLM fra JumpStart eller tredjepartsmodeller:
Den genererte teksten inneholder informasjon som database- og tabellnavn som brukerspørringen kjøres mot. For eksempel, for brukerspørringen «Nevn alle ansatte med fødselsdato denne måneden» generated_text
har informasjonen database == rdsmysql
og database.table == rdsmysql.employees
.
Deretter sender vi detaljene om personaldomenet, Aurora MySQL-databasen og ansattetabellen til Chain Sequence 2.
Kjedesekvens 2: Hent svar fra datakildene for å svare på brukerspørringen
Deretter kjører vi LangChains SQL-databasekjede for å konvertere tekst til SQL og implisitt kjøre den genererte SQL mot databasen for å hente databaseresultatene på et enkelt lesbart språk.
Vi starter med å definere en ledetekstmal som instruerer LLM til å generere SQL på en syntaktisk korrekt dialekt og deretter kjøre den mot databasen:
Til slutt sender vi LLM, databasetilkoblingen og ledeteksten til SQL-databasekjeden og kjører SQL-spørringen:
For eksempel, for brukerspørringen «Nevn alle ansatte med fødselsdato denne måneden», er svaret som følger:
Rydd opp
Etter at du har kjørt den moderne dataarkitekturen med generativ AI, sørg for å rydde opp i alle ressurser som ikke vil bli brukt. Slå av og slett databasene som brukes (Amazon Redshift, Amazon RDS, Snowflake). Slett i tillegg dataene i Amazon S3 og stopp eventuelle Studio-notebook-forekomster for ikke å pådra deg ytterligere kostnader. Hvis du brukte JumpStart til å distribuere en LLM som et SageMaker sanntidsendepunkt, slett endepunkt enten gjennom SageMaker-konsollen eller Studio.
konklusjonen
I dette innlegget integrerte vi en moderne dataarkitektur med generativ AI og LLM i SageMaker. Denne løsningen bruker ulike tekst-til-tekst-grunnlagsmodeller fra JumpStart så vel som tredjepartsmodeller. Denne hybride tilnærmingen identifiserer datakilder, skriver SQL-spørringer og genererer svar med søkeresultater. Den bruker Amazon Redshift, Amazon RDS, Snowflake og LLMs. For å forbedre løsningen kan du legge til flere databaser, et brukergrensesnitt for engelske søk, prompt engineering og dataverktøy. Dette kan bli en intelligent, enhetlig måte å få innsikt fra flere datalagre. For å dykke dypere inn i løsningen og koden vist i dette innlegget, sjekk ut GitHub repo . Se også til Amazonas grunnfjell for brukstilfeller på generativ AI, grunnmodeller og store språkmodeller.
Vedlegg
Eksempel på meldinger
Domene | Database/API | prompt | SQL (generert av LLM) | Produksjon |
Salg og markedsføring | Amazon RedShift | Hvor mange billettsalg er det? | SELECT COUNT(*) AS total_sales FROM tickit.sales; |
There are 172,456 ticket sales. |
Salg og markedsføring | Amazon RedShift | Hva var den totale provisjonen for billettsalget i 2008? | SELECT SUM(commission) AS total_commission FROM tickit.sales WHERE EXTRACT(YEAR FROM saletime) = 2008 |
The total commission for ticket sales in the year 2008 was $16,614,814.65. |
Lovlig | S3 | Hvor mange svindel skjedde i år 2023? | SELECT count(*) FROM claims WHERE extract(year from write_time) = 2023 AND fraud = 1; |
There were 164 fraud claims in 2023. |
Lovlig | S3 | Hvor mange poliser ble det gjort krav på i år? | SELECT count(*) FROM claims; |
There were 5000 claims made this year. |
Human Resources | Amazon Aurora MySQL | Gi navn til alle ansatte med fødselsdato denne måneden | SELECT * FROM employees WHERE MONTH(birth_date) = MONTH(CURRENT_DATE()); |
The employees with birthdays this month are: Christian Koblick Tzvetan Zielinski Kazuhito Cappelletti Yinghua Dredge |
Human Resources | Amazon Aurora MySQL | Hvor mange ansatte ble ansatt før 1990? | SELECT COUNT(*) AS 'Number of employees hired before 1990' FROM employees WHERE hire_date < '1990-01-01' |
29 employees were hired before 1990. |
Finans og investeringer | Snowflake | Hvilken aksje presterte best og dårligst i mai 2013? | SELECT name, MAX(close) AS max_close, MIN(close) AS min_close FROM all_stocks_5yr WHERE date BETWEEN '2013-05-01' AND '2013-05-31' GROUP BY name ORDER BY max_close DESC, min_close ASC |
The stock that performed the best in May 2013 was AnySock1 (ASTOCK1) with a maximum closing price of $842.50. The stock that performed the worst was AnySock2 (ASTOCK2) with a minimum closing price of $3.22. |
Finans og investeringer | Snowflake | Hva er gjennomsnittlig omsatt volum av aksjer i juli 2013? | SELECT AVG(volume) AS average_volume FROM all_stocks_5yr WHERE date BETWEEN '2013-07-01' AND '2013-07-31' |
The average volume of stocks traded in July 2013 was 4,374,177 |
Produkt – Vær | API | Hvordan er været akkurat nå i New York City i grader Fahrenheit? |
Om forfatterne
Navneet Tuteja er dataspesialist hos Amazon Web Services. Før han begynte i AWS, jobbet Navneet som en tilrettelegger for organisasjoner som ønsket å modernisere dataarkitekturene sine og implementere omfattende AI/ML-løsninger. Hun har en ingeniørgrad fra Thapar University, samt en mastergrad i statistikk fra Texas A&M University.
Sovik Kumar Nath er en AI/ML løsningsarkitekt med AWS. Han har lang erfaring med å designe ende-til-ende maskinlæring og forretningsanalyseløsninger innen finans, drift, markedsføring, helsevesen, supply chain management og IoT. Sovik har publisert artikler og har patent på ML-modellovervåking. Han har doble mastergrader fra University of South Florida, University of Fribourg, Sveits, og en bachelorgrad fra Indian Institute of Technology, Kharagpur. Utenom jobben liker Sovik å reise, ta ferge og se på film.
- SEO-drevet innhold og PR-distribusjon. Bli forsterket i dag.
- EVM Finans. Unified Interface for desentralisert økonomi. Tilgang her.
- Quantum Media Group. IR/PR forsterket. Tilgang her.
- PlatoAiStream. Web3 Data Intelligence. Kunnskap forsterket. Tilgang her.
- kilde: https://aws.amazon.com/blogs/machine-learning/reinventing-the-data-experience-use-generative-ai-and-modern-data-architecture-to-unlock-insights/
- : har
- :er
- :ikke
- :hvor
- $3
- $OPP
- 1
- 100
- 11
- 12
- 13
- 16
- 2008
- 2013
- 2023
- 22
- 32
- 50
- 5000
- 7
- 8
- 9
- a
- rikelig
- adgang
- Oppnå
- oppnådd
- legge til
- tillegg
- I tillegg
- mot
- AI
- AI / ML
- mål
- Alle
- tillate
- langs
- også
- Amazon
- Amazon RDS
- Amazon RedShift
- Amazon Web Services
- an
- analytics
- og
- besvare
- svar
- noen
- api
- API NØKLER
- APIer
- søknader
- tilnærming
- hensiktsmessig
- arkitektur
- ER
- artikler
- kunstig
- kunstig intelligens
- AS
- assosiert
- At
- Aurora
- gjennomsnittlig
- AWS
- AWS Lim
- basert
- BE
- bli
- før du
- under
- Fordeler
- BEST
- mellom
- bygge
- bygget
- virksomhet
- by
- CAN
- evner
- saker
- katalog
- kjede
- utfordringer
- kanaler
- avgifter
- sjekk
- valg
- Velg
- City
- hevdet
- krav
- Lukke
- lukking
- kode
- SAMMENHENGENDE
- Kolonne
- kolonner
- kombinasjon
- kommisjon
- Selskapet
- kompatibel
- komplekse
- kompleksiteten
- omfattende
- Koble
- tilkobling
- Konsoll
- inneholde
- inneholder
- kontinuerlig
- conversational
- konvertere
- korrigere
- Tilsvarende
- kunne
- crawler
- skape
- skaper
- Opprette
- dato
- datainfrastruktur
- Database
- databaser
- Dato
- dypere
- definert
- definere
- definisjoner
- Grad
- utplassere
- utplassert
- designet
- utforme
- detaljert
- detaljer
- forskjellig
- uensartede
- diverse
- domene
- domener
- dobbelt
- ned
- trukket
- dynamisk
- hver enkelt
- lette
- enkleste
- Effektiv
- effektivt
- enten
- innebygd
- ansatte
- muliggjør
- ende til ende
- Endpoint
- Motor
- Ingeniørarbeid
- Engelsk
- forbedre
- Enterprise
- etablerer
- etablere
- eksempel
- ekspansiv
- erfaring
- eksperter
- Forklar
- omfattende
- Omfattende erfaring
- trekke ut
- tilrettelegger
- finansiere
- finansiell
- Finansmarkedet
- Finn
- Først
- florida
- fulgt
- etter
- følger
- Til
- Fundament
- svindel
- hyppig
- fra
- fullt
- fullt
- funksjon
- videre
- generere
- generert
- genererer
- generasjonen
- generative
- Generativ AI
- få
- Gi
- gitt
- skjedde
- Ha
- å ha
- he
- helsetjenester
- Held
- her.
- holder
- vert
- Hvordan
- Hvordan
- Men
- HTML
- http
- HTTPS
- menneskelig
- Human Resources
- Hybrid
- Identifikasjon
- identifisert
- identifiserer
- identifisere
- if
- illustrerer
- iverksette
- gjennomføring
- implementere
- forbedre
- in
- inkludere
- Inkludert
- indisk
- informasjon
- Infrastruktur
- nyskapende
- inngang
- innsikt
- i stedet
- Institute
- integrere
- integrert
- integrering
- Intelligens
- Intelligent
- Interface
- inn
- IOT
- IT
- DET ER
- sammenføyning
- jpg
- Juli
- nøkkel
- nøkler
- kunnskap
- Språk
- stor
- siste
- læring
- Lovlig
- Bibliotek
- i likhet med
- LLM
- Se
- maskin
- maskinlæring
- laget
- gjøre
- administrer
- fikk til
- ledelse
- mange
- marked
- Market data
- Marketing
- mestere
- Maksimer
- maksimal
- Kan..
- bety
- medium
- mesh
- metadata
- metode
- minimum
- ML
- modell
- modeller
- Moderne
- modern
- overvåking
- Måned
- mer
- Filmer
- flere
- må
- mysql
- navn
- navn
- Naturlig
- Natural Language Processing
- Trenger
- behov
- Ny
- New York
- New York City
- ikke-teknisk
- bærbare
- nå
- Antall
- mål
- of
- tilby
- Tilbud
- on
- bare
- Drift
- Alternativ
- or
- organisasjoner
- organisering
- vår
- ut
- produksjon
- utenfor
- eiere
- del
- passere
- bestått
- patent
- utført
- plato
- Platon Data Intelligence
- PlatonData
- Politikk
- stillinger
- Post
- kraftig
- forrige
- pris
- prosessering
- produsere
- Produkt
- produktivitet
- lovende
- gi
- gir
- publisert
- spørsmål
- spørsmål
- spørsmål
- heller
- sanntids
- realisere
- virkelig
- motta
- mottar
- registrert
- relevant
- Krever
- Ressurser
- svar
- svar
- Resultater
- retur
- ikke sant
- Kjør
- sagemaker
- salg
- Spar
- skalerbar
- Skala
- scenario
- planlagt
- seksjoner
- se
- søker
- Sequence
- server~~POS=TRUNC
- tjeneste
- Tjenester
- hun
- presentere
- vist
- Viser
- Slå
- Enkelt
- løsning
- Solutions
- noen
- Noen
- kilde
- Kilder
- Sør
- Sør-Florida
- spesialist
- spesifikk
- Begynn
- statistikk
- Trinn
- Steps
- lager
- aksjer
- Stopp
- lagring
- oppbevare
- butikker
- studio
- slik
- Dress
- levere
- forsyningskjeden
- leverandørkrav
- sveits
- system
- bord
- ta
- teknikker
- Teknologi
- mal
- texas
- enn
- Det
- De
- informasjonen
- Kilden
- deres
- deretter
- Der.
- derved
- Disse
- de
- tredjeparts
- tredjepartsdata
- denne
- dette året
- Gjennom
- billett
- billettsalg
- til
- verktøy
- verktøy
- Totalt
- handles
- Traveling
- ui
- underliggende
- enhetlig
- universitet
- låse opp
- bruke
- brukt
- Bruker
- Brukergrensesnitt
- Brukere
- bruker
- ved hjelp av
- benyttes
- verdi
- ulike
- Se
- volum
- var
- se
- Vei..
- we
- Vær
- web
- webtjenester
- VI VIL
- var
- hvilken
- mens
- vil
- med
- innenfor
- uten
- Arbeid
- arbeidet
- arbeidsflyt
- arbeid
- verste
- skriving
- år
- york
- Du
- Din
- zephyrnet