Implementarea unei arhitecturi moderne de date oferă o metodă scalabilă de integrare a datelor din surse disparate. Prin organizarea datelor pe domenii de afaceri în loc de infrastructură, fiecare domeniu poate alege instrumente care se potrivesc nevoilor sale. Organizațiile pot maximiza valoarea arhitecturii lor moderne de date cu soluții AI generative, în timp ce inovează continuu.
Capacitățile de limbaj natural permit utilizatorilor non-tehnici să interogheze date prin limba engleză conversațională, mai degrabă decât prin SQL complex. Cu toate acestea, realizarea tuturor beneficiilor necesită depășirea unor provocări. Modelele de inteligență artificială și de limbaj trebuie să identifice sursele de date adecvate, să genereze interogări SQL eficiente și să producă răspunsuri coerente cu rezultate încorporate la scară. De asemenea, au nevoie de o interfață de utilizator pentru întrebări de limbaj natural.
În general, implementarea unei arhitecturi moderne de date și a tehnicilor AI generative cu AWS este o abordare promițătoare pentru a culege și disemina informații cheie din date diverse și expansive la scară de întreprindere. Cea mai recentă ofertă pentru AI generativă de la AWS este Amazon Bedrock, care este un serviciu complet gestionat și cea mai simplă modalitate de a construi și scala aplicații AI generative cu modele de bază. AWS oferă, de asemenea, modele de fundație prin Amazon SageMaker JumpStart as Amazon SageMaker puncte finale. Combinația de modele de limbaj mari (LLM), inclusiv ușurința de integrare pe care o oferă Amazon Bedrock și o infrastructură de date scalabilă, orientată pe domeniu, poziționează aceasta ca o metodă inteligentă de a accesa informațiile abundente deținute în diferite baze de date analitice și lacuri de date.
În postare, prezentăm un scenariu în care o companie a implementat o arhitectură modernă de date cu date care se află în mai multe baze de date și API-uri, cum ar fi datele legale privind Serviciul Amazon de stocare simplă (Amazon S3), resurse umane activate Serviciul de baze de date relaționale Amazon (Amazon RDS), vânzări și marketing pe Amazon RedShift, datele pieței financiare pe o soluție de depozit de date terță parte pe Fulg de neași date despre produse ca API. Această implementare își propune să sporească productivitatea analizei de afaceri ai întreprinderii, proprietarilor de produse și experților în domeniul afacerilor. Toate acestea au fost realizate prin utilizarea AI generativă în această arhitectură mesh de domeniu, care permite companiei să-și atingă obiectivele de afaceri mai eficient. Această soluție are opțiunea de a include LLM-uri de la JumpStart ca punct final SageMaker, precum și modele terțe. Oferim utilizatorilor întreprinderi un mijloc de a pune întrebări bazate pe fapte fără a avea cunoștințe fundamentale despre canalele de date, abstragând astfel complexitatea scrierii de interogări SQL simple până la complexe.
Prezentare generală a soluțiilor
O arhitectură modernă de date pe AWS aplică inteligența artificială și procesarea limbajului natural pentru a interoga mai multe baze de date de analiză. Prin utilizarea serviciilor precum Amazon Redshift, Amazon RDS, Snowflake, Amazon Atena, și AWS Adeziv, creează o soluție scalabilă pentru a integra date din diverse surse. Folosind LangChain, o bibliotecă puternică pentru lucrul cu LLM-uri, inclusiv modele de fundație de la Amazon Bedrock și JumpStart în Amazon SageMaker Studio notebook-uri, este construit un sistem în care utilizatorii pot pune întrebări de afaceri în limba engleză naturală și pot primi răspunsuri cu date extrase din bazele de date relevante.
Următoarea diagramă ilustrează arhitectura.
Arhitectura hibridă utilizează mai multe baze de date și LLM-uri, cu modele de bază de la Amazon Bedrock și JumpStart pentru identificarea surselor de date, generarea SQL și generarea de text cu rezultate.
Următoarea diagramă ilustrează pașii specifici fluxului de lucru pentru soluția noastră.
Pașii sunt următorii:
- Un utilizator de afaceri oferă o întrebare în limba engleză.
- Un crawler AWS Glue este programat să ruleze la intervale frecvente pentru a extrage metadate din bazele de date și pentru a crea definiții de tabel în Catalogul de date AWS Glue. Catalogul de date este introdus în Chain Sequence 1 (vezi diagrama precedentă).
- LangChain, un instrument pentru a lucra cu LLM-uri și solicitări, este folosit în notebook-urile Studio. LangChain necesită definirea unui LLM. Ca parte a Chain Sequence 1, promptul și metadatele Data Catalog sunt transmise unui LLM, găzduit pe un punct final SageMaker, pentru a identifica baza de date și tabelul relevante folosind LangChain.
- Promptul și baza de date și tabelul identificate sunt transmise la Chain Sequence 2.
- LangChain stabilește o conexiune la baza de date și rulează interogarea SQL pentru a obține rezultatele.
- Rezultatele sunt transmise LLM pentru a genera un răspuns în limba engleză cu datele.
- Utilizatorul primește un răspuns în limba engleză la promptul său, interogând date din diferite baze de date.
Aceste secțiuni următoare explică câțiva dintre pașii cheie cu codul asociat. Pentru a explora mai profund soluția și codul pentru toți pașii indicați aici, consultați GitHub repo. Următoarea diagramă prezintă secvența pașilor urmați:
Cerințe preliminare
Puteți utiliza orice baze de date compatibile cu SQLAlchemy pentru a genera răspunsuri de la LLM și LangChain. Cu toate acestea, aceste baze de date trebuie să aibă metadatele înregistrate în Catalogul de date AWS Glue. În plus, va trebui să aveți acces la LLM-uri fie prin JumpStart, fie prin chei API.
Conectați-vă la baze de date folosind SQLAlchemy
LangChain folosește SQLAlchemy pentru a se conecta la bazele de date SQL. Inițializam funcția SQLDatabase LangChain prin crearea unui motor și stabilirea unei conexiuni pentru fiecare sursă de date. Următorul este un exemplu despre cum să vă conectați la un Ediție compatibilă cu Amazon Aurora MySQL baza de date fără server și include doar tabelul angajați:
Apoi, construim prompturi utilizate de Chain Sequence 1 pentru a identifica baza de date și numele tabelului pe baza întrebării utilizatorului.
Generați șabloane dinamice de prompt
Folosim AWS Glue Data Catalog, care este conceput pentru a stoca și gestiona informații despre metadate, pentru a identifica sursa datelor pentru o interogare a utilizatorului și pentru a crea solicitări pentru Chain Sequence 1, după cum se detaliază în următorii pași:
- Construim un catalog de date prin accesarea cu crawlere prin metadatele mai multor surse de date folosind Conexiune JDBC folosit în demonstrație.
- Cu biblioteca Boto3, construim o vizualizare consolidată a Catalogului de date din mai multe surse de date. Mai jos este un exemplu despre cum să obțineți metadatele tabelului de angajați din Catalogul de date pentru baza de date Aurora MySQL:
Un catalog de date consolidat conține detalii despre sursa de date, cum ar fi schema, numele tabelelor și numele coloanelor. Următorul este un eșantion al rezultatelor Catalogului de date consolidat:
- Trecem catalogul de date consolidat șablonului de prompt și definim solicitările utilizate de LangChain:
Secvența în lanț 1: Detectați metadatele sursă pentru interogarea utilizatorului folosind LangChain și un LLM
Trecem șablonul prompt generat în pasul anterior către prompt, împreună cu interogarea utilizatorului către modelul LangChain, pentru a găsi cea mai bună sursă de date pentru a răspunde la întrebare. LangChain folosește modelul LLM ales de noi pentru a detecta metadatele sursă.
Utilizați următorul cod pentru a utiliza un LLM de la JumpStart sau modele terțe:
Textul generat conține informații precum numele bazei de date și tabelelor pe baza cărora este rulată interogarea utilizatorului. De exemplu, pentru interogarea utilizatorului „Numiți toți angajații cu data nașterii luna aceasta”, generated_text
are informatia database == rdsmysql
și database.table == rdsmysql.employees
.
Apoi, trecem detaliile domeniului resurselor umane, baza de date Aurora MySQL și tabelul angajaților la Chain Sequence 2.
Secvența în lanț 2: Preluați răspunsurile din sursele de date pentru a răspunde la interogarea utilizatorului
Apoi, rulăm lanțul de baze de date SQL al LangChain pentru a converti textul în SQL și, implicit, rulăm SQL-ul generat în baza de date pentru a prelua rezultatele bazei de date într-un limbaj simplu care poate fi citit.
Începem cu definirea unui șablon prompt care instruiește LLM să genereze SQL într-un dialect corect sintactic și apoi îl rulează pe baza de date:
În cele din urmă, transmitem LLM, conexiunea la baza de date și promptul lanțului de baze de date SQL și rulăm interogarea SQL:
De exemplu, pentru interogarea utilizatorului „Numiți toți angajații cu data nașterii în această lună”, răspunsul este următorul:
A curăța
După ce rulați arhitectura modernă de date cu IA generativă, asigurați-vă că curățați orice resurse care nu vor fi utilizate. Închideți și ștergeți bazele de date utilizate (Amazon Redshift, Amazon RDS, Snowflake). În plus, ștergeți datele din Amazon S3 și opriți orice instanță de notebook Studio pentru a nu suporta alte taxe. Dacă ați folosit JumpStart pentru a implementa un LLM ca punct final SageMaker în timp real, ștergeți punctul final fie prin consola SageMaker, fie prin Studio.
Concluzie
În această postare, am integrat o arhitectură modernă de date cu AI generativă și LLM în SageMaker. Această soluție utilizează diverse modele de fundație text-to-text de la JumpStart, precum și modele terțe. Această abordare hibridă identifică sursele de date, scrie interogări SQL și generează răspunsuri cu rezultate ale interogării. Utilizează Amazon Redshift, Amazon RDS, Snowflake și LLM-uri. Pentru a îmbunătăți soluția, puteți adăuga mai multe baze de date, o interfață de utilizare pentru interogări în limba engleză, inginerie promptă și instrumente de date. Aceasta ar putea deveni o modalitate inteligentă și unificată de a obține informații din mai multe magazine de date. Pentru a explora mai adânc soluția și codul afișat în această postare, consultați GitHub repo . De asemenea, consultați Amazon Bedrock pentru cazuri de utilizare pe IA generativă, modele de bază și modele de limbaj mari.
Apendice
Exemple de solicitări
domeniu | Baza de date/API | Prompt | SQL (Generat de LLM) | producție |
Vanzari & Marketing | Amazon RedShift | Câte vânzări de bilete sunt? | SELECT COUNT(*) AS total_sales FROM tickit.sales; |
There are 172,456 ticket sales. |
Vanzari & Marketing | Amazon RedShift | Care a fost comisionul total pentru vânzarea biletelor în anul 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. |
Legal | S3 | Câte fraude au avut loc în anul 2023? | SELECT count(*) FROM claims WHERE extract(year from write_time) = 2023 AND fraud = 1; |
There were 164 fraud claims in 2023. |
Legal | S3 | Câte polițe au fost solicitate anul acesta? | SELECT count(*) FROM claims; |
There were 5000 claims made this year. |
Resurse Umane | Amazon Aurora MySQL | Numiți toți angajații cu data nașterii luna aceasta | 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 |
Resurse Umane | Amazon Aurora MySQL | Câți angajați au fost angajați înainte de 1990? | SELECT COUNT(*) AS 'Number of employees hired before 1990' FROM employees WHERE hire_date < '1990-01-01' |
29 employees were hired before 1990. |
Finanțe și investiții | Fulg de nea | Care acțiuni a avut cel mai bine și cel mai rău performanță în 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. |
Finanțe și investiții | Fulg de nea | Care este volumul mediu de acțiuni tranzacționate în iulie 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 |
Produs – Vremea | API | Cum este vremea acum în New York City, în grade Fahrenheit? |
Despre Autori
Navneet Tuteja este specialist în date la Amazon Web Services. Înainte de a se alătura AWS, Navneet a lucrat ca facilitator pentru organizațiile care doresc să își modernizeze arhitecturile de date și să implementeze soluții complete AI/ML. Ea deține o diplomă de inginerie de la Universitatea Thapar, precum și un master în statistică de la Universitatea Texas A&M.
Sovik Kumar Nath este un arhitect de soluții AI/ML cu AWS. Are o vastă experiență în proiectarea de soluții end-to-end de învățare automată și de analiză de afaceri în finanțe, operațiuni, marketing, asistență medicală, managementul lanțului de aprovizionare și IoT. Sovik a publicat articole și deține un brevet în monitorizarea modelelor ML. Are duble diplome de master de la Universitatea din Florida de Sud, Universitatea din Fribourg, Elveția și o diplomă de licență de la Institutul Indian de Tehnologie, Kharagpur. În afara serviciului, lui Sovik îi place să călătorească, să facă plimbări cu feribotul și să se uite la filme.
- Distribuție de conținut bazat pe SEO și PR. Amplifică-te astăzi.
- EVM Finance. Interfață unificată pentru finanțare descentralizată. Accesați Aici.
- Grupul Quantum Media. IR/PR amplificat. Accesați Aici.
- PlatoAiStream. Web3 Data Intelligence. Cunoștințe amplificate. Accesați Aici.
- Sursa: https://aws.amazon.com/blogs/machine-learning/reinventing-the-data-experience-use-generative-ai-and-modern-data-architecture-to-unlock-insights/
- :are
- :este
- :nu
- :Unde
- $3
- $UP
- 1
- 100
- 11
- 12
- 13
- 16
- 2008
- 2013
- 2023
- 22
- 32
- 50
- 5000
- 7
- 8
- 9
- a
- abundent
- acces
- Obține
- realizat
- adăuga
- plus
- În plus,
- împotriva
- AI
- AI / ML
- isi propune
- TOATE
- permite
- de-a lungul
- de asemenea
- Amazon
- Amazon RDS
- Amazon RedShift
- Amazon Web Services
- an
- Google Analytics
- și
- răspunde
- răspunsuri
- Orice
- api
- CHEILE API
- API-uri
- aplicatii
- abordare
- adecvat
- arhitectură
- SUNT
- bunuri
- artificial
- inteligență artificială
- AS
- asociate
- At
- Auroră
- in medie
- AWS
- AWS Adeziv
- bazat
- BE
- deveni
- înainte
- de mai jos
- Beneficiile
- CEL MAI BUN
- între
- construi
- construit
- afaceri
- by
- CAN
- capacități
- cazuri
- catalog
- lanţ
- provocări
- canale
- taxe
- verifica
- alegere
- Alege
- Oraș
- revendicat
- creanțe
- Închide
- închidere
- cod
- COERENT
- Coloană
- Coloane
- combinaţie
- comision
- companie
- compatibil
- complex
- complexități
- cuprinzător
- Conectați
- conexiune
- Consoleze
- conţine
- conține
- continuu
- de conversaţie
- converti
- corecta
- Corespunzător
- ar putea
- tractor pe şenile
- crea
- creează
- Crearea
- de date
- infrastructura de date
- Baza de date
- baze de date
- Data
- Mai adânc
- definit
- definire
- Definitii
- Grad
- implementa
- dislocate
- proiectat
- proiect
- detaliat
- detalii
- diferit
- nebunie
- diferit
- domeniu
- domenii
- dubla
- jos
- elaborate
- dinamic
- fiecare
- uşura
- Cel mai simplu
- Eficace
- eficient
- oricare
- încorporat
- de angajați
- permite
- un capăt la altul
- Punct final
- Motor
- Inginerie
- Engleză
- spori
- Afacere
- stabilește
- stabilirea
- exemplu
- expansiv
- experienţă
- experți
- Explica
- extensiv
- Experiență vastă
- extrage
- facilitator
- finanţa
- financiar
- Piata financiara
- Găsi
- First
- florida
- a urmat
- următor
- urmează
- Pentru
- Fundație
- fraudă
- frecvent
- din
- Complet
- complet
- funcţie
- mai mult
- genera
- generată
- generează
- generaţie
- generativ
- AI generativă
- obține
- Da
- dat
- sa întâmplat
- Avea
- având în
- he
- de asistență medicală
- Held
- aici
- deține
- găzduit
- Cum
- Cum Pentru a
- Totuși
- HTML
- http
- HTTPS
- uman
- Resurse Umane
- Hibrid
- Identificare
- identificat
- identifică
- identifica
- if
- ilustrează
- punerea în aplicare a
- implementarea
- Punere în aplicare a
- îmbunătăţi
- in
- include
- Inclusiv
- indian
- informații
- Infrastructură
- inovatoare
- intrare
- perspective
- in schimb
- Institut
- integra
- integrate
- integrare
- Inteligență
- Inteligent
- interfaţă
- în
- IoT
- IT
- ESTE
- aderarea
- jpg
- iulie
- Cheie
- chei
- cunoştinţe
- limbă
- mare
- Ultimele
- învăţare
- Legal
- Bibliotecă
- ca
- LLM
- Uite
- maşină
- masina de învățare
- făcut
- face
- administra
- gestionate
- administrare
- multe
- Piață
- Piata de date
- Marketing
- studii de masterat
- Maximaliza
- maxim
- Mai..
- însemna
- mediu
- ochiurilor de plasă
- Metadata
- metodă
- minim
- ML
- model
- Modele
- Modern
- moderniza
- Monitorizarea
- Lună
- mai mult
- Filme
- multiplu
- trebuie sa
- MySQL
- nume
- nume
- Natural
- Procesarea limbajului natural
- Nevoie
- nevoilor
- Nou
- New York
- New York City
- non tehnic
- caiet
- acum
- număr
- Obiectivele
- of
- oferind
- promoții
- on
- afară
- Operațiuni
- Opțiune
- or
- organizații
- organizator
- al nostru
- afară
- producție
- exterior
- Proprietarii
- parte
- trece
- Trecut
- brevet
- efectuată
- Plato
- Informații despre date Platon
- PlatoData
- Politicile
- poziţii
- Post
- puternic
- precedent
- preţ
- prelucrare
- produce
- Produs
- productivitate
- promițător
- furniza
- furnizează
- publicat
- interogări
- întrebare
- Întrebări
- mai degraba
- în timp real
- realizarea
- într-adevăr
- a primi
- primește
- înregistrată
- Necesită
- Resurse
- răspuns
- răspunsuri
- REZULTATE
- reveni
- dreapta
- Alerga
- sagemaker
- de vânzări
- Economisiți
- scalabil
- Scară
- scenariu
- programată
- secțiuni
- vedea
- caută
- Secvenţă
- serverless
- serviciu
- Servicii
- ea
- prezenta
- indicat
- Emisiuni
- Închide
- simplu
- soluţie
- soluţii
- unele
- Cineva
- Sursă
- Surse
- Sud
- South Florida
- specialist
- specific
- Începe
- statistică
- Pas
- paşi
- stoc
- Stocuri
- Stop
- depozitare
- stoca
- magazine
- studio
- astfel de
- Costum
- livra
- lanțului de aprovizionare
- managementul lanțului de aprovizionare
- Elveția
- sistem
- tabel
- luare
- tehnici de
- Tehnologia
- șablon
- Texas
- decât
- acea
- informațiile
- Sursa
- lor
- apoi
- Acolo.
- astfel
- Acestea
- ei
- terț
- date terță parte
- acest
- în acest an
- Prin
- bilet
- vânzări de bilete
- la
- instrument
- Unelte
- Total
- firmei
- Traveling
- ui
- care stau la baza
- unificat
- universitate
- deschide
- utilizare
- utilizat
- Utilizator
- User Interface
- utilizatorii
- utilizări
- folosind
- utilizate
- valoare
- diverse
- Vizualizare
- volum
- a fost
- vizionarea
- Cale..
- we
- Vreme
- web
- servicii web
- BINE
- au fost
- care
- în timp ce
- voi
- cu
- în
- fără
- Apartamente
- a lucrat
- flux de lucru
- de lucru
- Mini rulouri de absorbție
- scris
- an
- York
- Tu
- Ta
- zephyrnet