L'implementazione di una moderna architettura dei dati fornisce un metodo scalabile per integrare i dati provenienti da fonti diverse. Organizzando i dati per domini aziendali invece che per infrastruttura, ogni dominio può scegliere gli strumenti adatti alle proprie esigenze. Le organizzazioni possono massimizzare il valore della loro moderna architettura dei dati con soluzioni di intelligenza artificiale generativa, innovando continuamente.
Le funzionalità di linguaggio naturale consentono agli utenti non tecnici di interrogare i dati tramite l'inglese conversazionale anziché il complesso SQL. Tuttavia, la realizzazione di tutti i vantaggi richiede il superamento di alcune sfide. I modelli di intelligenza artificiale e linguaggio devono identificare le origini dati appropriate, generare query SQL efficaci e produrre risposte coerenti con risultati incorporati su larga scala. Hanno anche bisogno di un'interfaccia utente per le domande in linguaggio naturale.
Nel complesso, l'implementazione di una moderna architettura dei dati e di tecniche di intelligenza artificiale generativa con AWS è un approccio promettente per raccogliere e diffondere informazioni chiave da dati diversificati ed espansivi su scala aziendale. L'ultima offerta per l'IA generativa di AWS è Roccia Amazzonica, che è un servizio completamente gestito e il modo più semplice per creare e scalare applicazioni di IA generative con modelli di base. AWS offre anche modelli di base tramite JumpStart di Amazon SageMaker as Amazon Sage Maker punti finali. La combinazione di modelli di linguaggio di grandi dimensioni (LLM), inclusa la facilità di integrazione offerta da Amazon Bedrock, e un'infrastruttura di dati scalabile e orientata al dominio, lo posiziona come un metodo intelligente per attingere alle abbondanti informazioni contenute in vari database di analisi e data lake.
Nel post mostriamo uno scenario in cui un'azienda ha implementato un'architettura di dati moderna con dati che risiedono su più database e API come dati legali su Servizio di archiviazione semplice Amazon (Amazon S3), risorse umane su Servizio di database relazionale Amazon (Amazon RDS), vendite e marketing su Amazon RedShift, dati del mercato finanziario su una soluzione di data warehouse di terze parti su Fiocco di nevee dati di prodotto come API. Questa implementazione mira a migliorare la produttività dell'analisi aziendale, dei proprietari dei prodotti e degli esperti del dominio aziendale dell'azienda. Tutto ciò ottenuto attraverso l'uso dell'IA generativa in questa architettura mesh di dominio, che consente all'azienda di raggiungere i propri obiettivi di business in modo più efficiente. Questa soluzione ha la possibilità di includere LLM da JumpStart come endpoint SageMaker e modelli di terze parti. Forniamo agli utenti aziendali un mezzo per porre domande basate sui fatti senza avere una conoscenza di base dei canali di dati, astraendo così le complessità della scrittura di query SQL da semplici a complesse.
Panoramica della soluzione
Una moderna architettura dei dati su AWS applica l'intelligenza artificiale e l'elaborazione del linguaggio naturale per interrogare più database di analisi. Utilizzando servizi come Amazon Redshift, Amazon RDS, Snowflake, Amazzone Atenae Colla AWS, crea una soluzione scalabile per integrare i dati provenienti da varie fonti. Usando LangChain, una potente libreria per lavorare con LLM, inclusi i modelli di base di Amazon Bedrock e JumpStart in Amazon Sage Maker Studio notebook, viene costruito un sistema in cui gli utenti possono porre domande commerciali in inglese naturale e ricevere risposte con dati tratti dai database pertinenti.
Il seguente diagramma illustra l'architettura.
L'architettura ibrida utilizza più database e LLM, con modelli di base di Amazon Bedrock e JumpStart per l'identificazione dell'origine dati, la generazione SQL e la generazione di testo con i risultati.
Il diagramma seguente illustra i passaggi specifici del flusso di lavoro per la nostra soluzione.
I passaggi sono i seguenti:
- Un utente aziendale fornisce una richiesta di domanda in inglese.
- Un crawler AWS Glue è programmato per essere eseguito a intervalli frequenti per estrarre i metadati dai database e creare definizioni di tabelle nel file Catalogo dati di AWS Glue. Il Data Catalog viene immesso nella Chain Sequence 1 (vedere il diagramma precedente).
- LangChain, uno strumento per lavorare con LLM e prompt, viene utilizzato nei notebook di Studio. LangChain richiede la definizione di un LLM. Come parte della Chain Sequence 1, i metadati del prompt e del catalogo dati vengono passati a un LLM, ospitato su un endpoint SageMaker, per identificare il database e la tabella pertinenti utilizzando LangChain.
- Il prompt e il database e la tabella identificati vengono passati a Chain Sequence 2.
- LangChain stabilisce una connessione al database ed esegue la query SQL per ottenere i risultati.
- I risultati vengono passati al LLM per generare una risposta in inglese con i dati.
- L'utente riceve una risposta in inglese alla richiesta, interrogando i dati da diversi database.
Le seguenti sezioni spiegano alcuni dei passaggi chiave con il codice associato. Per approfondire la soluzione e il codice per tutti i passaggi mostrati qui, fare riferimento al Repository GitHub. Il diagramma seguente mostra la sequenza dei passaggi seguiti:
Prerequisiti
È possibile utilizzare qualsiasi database compatibile con SQLAlchemy per generare risposte da LLM e LangChain. Tuttavia, questi database devono avere i propri metadati registrati con il Catalogo dati di AWS Glue. Inoltre, dovrai avere accesso agli LLM tramite JumpStart o chiavi API.
Connettiti ai database utilizzando SQLAlchemy
LangChain utilizza SQLAlchemy per connettersi ai database SQL. Inizializziamo la funzione SQLDatabase di LangChain creando un motore e stabilendo una connessione per ogni origine dati. Di seguito è riportato un esempio di come connettersi a un Edizione compatibile con Amazon Aurora MySQL database serverless e include solo la tabella dei dipendenti:
Successivamente, creiamo i prompt utilizzati da Chain Sequence 1 per identificare il database e il nome della tabella in base alla domanda dell'utente.
Genera modelli di prompt dinamici
Utilizziamo il Catalogo dati di AWS Glue, progettato per archiviare e gestire le informazioni sui metadati, per identificare l'origine dei dati per una query utente e creare prompt per Chain Sequence 1, come dettagliato nei seguenti passaggi:
- Costruiamo un catalogo dati eseguendo la scansione dei metadati di più origini dati utilizzando il Connessione JDBC utilizzato nella dimostrazione.
- Con la libreria Boto3, creiamo una vista consolidata del catalogo dati da più origini dati. Di seguito è riportato un esempio su come ottenere i metadati della tabella dei dipendenti dal Catalogo dati per il database Aurora MySQL:
Un catalogo dati consolidato contiene dettagli sull'origine dati, ad esempio schema, nomi di tabelle e nomi di colonne. Di seguito è riportato un esempio dell'output del Catalogo dati consolidato:
- Passiamo il catalogo dati consolidato al modello di prompt e definiamo i prompt utilizzati da LangChain:
Chain Sequence 1: rileva i metadati di origine per la query dell'utente utilizzando LangChain e un LLM
Passiamo il modello di prompt generato nel passaggio precedente al prompt, insieme alla query dell'utente al modello LangChain, per trovare la migliore origine dati per rispondere alla domanda. LangChain utilizza il modello LLM di nostra scelta per rilevare i metadati di origine.
Utilizzare il seguente codice per utilizzare un LLM da JumpStart o modelli di terze parti:
Il testo generato contiene informazioni quali il database ei nomi delle tabelle su cui viene eseguita la query dell'utente. Ad esempio, per la query dell'utente "Assegna un nome a tutti i dipendenti con la data di nascita di questo mese" generated_text
ha le informazioni database == rdsmysql
ed database.table == rdsmysql.employees
.
Successivamente, passiamo i dettagli del dominio delle risorse umane, del database Aurora MySQL e della tabella dei dipendenti a Chain Sequence 2.
Sequenza a catena 2: recupera le risposte dalle origini dati per rispondere alla query dell'utente
Successivamente, eseguiamo la catena di database SQL di LangChain per convertire il testo in SQL ed eseguiamo implicitamente l'SQL generato sul database per recuperare i risultati del database in un semplice linguaggio leggibile.
Iniziamo con la definizione di un modello di prompt che indica a LLM di generare SQL in un dialetto sintatticamente corretto e quindi di eseguirlo sul database:
Infine, passiamo l'LLM, la connessione al database e il prompt alla catena del database SQL ed eseguiamo la query SQL:
Ad esempio, per la query dell'utente "Assegna un nome a tutti i dipendenti con la data di nascita di questo mese", la risposta è la seguente:
ripulire
Dopo aver eseguito la moderna architettura dei dati con l'IA generativa, assicurati di ripulire tutte le risorse che non verranno utilizzate. Arrestare ed eliminare i database utilizzati (Amazon Redshift, Amazon RDS, Snowflake). Inoltre, elimina i dati in Amazon S3 e arresta qualsiasi istanza notebook di Studio per non incorrere in ulteriori addebiti. Se hai utilizzato JumpStart per distribuire un LLM come endpoint SageMaker in tempo reale, elimina l'endpoint tramite la console SageMaker o Studio.
Conclusione
In questo post, abbiamo integrato una moderna architettura dei dati con l'IA generativa e LLM all'interno di SageMaker. Questa soluzione utilizza vari modelli di base text-to-text di JumpStart e modelli di terze parti. Questo approccio ibrido identifica le origini dati, scrive query SQL e genera risposte con i risultati delle query. Utilizza Amazon Redshift, Amazon RDS, Snowflake e LLM. Per migliorare la soluzione, potresti aggiungere più database, un'interfaccia utente per le query in inglese, ingegneria rapida e strumenti per i dati. Questo potrebbe diventare un modo intelligente e unificato per ottenere informazioni dettagliate da più archivi di dati. Per approfondire la soluzione e il codice mostrato in questo post, dai un'occhiata al Repository GitHub . Inoltre, fare riferimento a Roccia Amazzonica per casi d'uso su IA generativa, modelli di base e modelli di linguaggi di grandi dimensioni.
Appendice
Esempi di prompt
Dominio | Banca dati/API | Richiesta | SQL (generato da LLM) | Uscita |
Sales & Marketing | Amazon RedShift | Quante vendite di biglietti ci sono? | SELECT COUNT(*) AS total_sales FROM tickit.sales; |
There are 172,456 ticket sales. |
Sales & Marketing | Amazon RedShift | Qual è stata la commissione totale per la vendita dei biglietti nel 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. |
Legale | S3 | Quante frodi sono avvenute nell'anno 2023? | SELECT count(*) FROM claims WHERE extract(year from write_time) = 2023 AND fraud = 1; |
There were 164 fraud claims in 2023. |
Legale | S3 | Quante polizze sono state reclamate quest'anno? | SELECT count(*) FROM claims; |
There were 5000 claims made this year. |
Risorse umane | AmazonAuroraMySQL | Assegna un nome a tutti i dipendenti con data di nascita in questo mese | 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 |
Risorse umane | AmazonAuroraMySQL | Quanti dipendenti sono stati assunti prima del 1990? | SELECT COUNT(*) AS 'Number of employees hired before 1990' FROM employees WHERE hire_date < '1990-01-01' |
29 employees were hired before 1990. |
Finanza e investimenti | Fiocco di neve | Quale titolo ha avuto le performance migliori e peggiori nel maggio del 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. |
Finanza e investimenti | Fiocco di neve | Qual è il volume medio di azioni scambiate nel luglio del 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 |
Prodotto – Meteo | API | Com'è il tempo in questo momento a New York in gradi Fahrenheit? |
Informazioni sugli autori
Navneet Tuteja è un Data Specialist presso Amazon Web Services. Prima di entrare in AWS, Navneet ha lavorato come facilitatore per le organizzazioni che cercavano di modernizzare le proprie architetture di dati e implementare soluzioni AI/ML complete. Ha conseguito una laurea in ingegneria presso la Thapar University e un master in statistica presso la Texas A&M University.
Sovik Kumar Nath è un architetto di soluzioni AI/ML con AWS. Ha una vasta esperienza nella progettazione di soluzioni di machine learning e analisi aziendale end-to-end in finanza, operazioni, marketing, sanità, gestione della supply chain e IoT. Sovik ha pubblicato articoli e detiene un brevetto nel monitoraggio del modello ML. Ha conseguito un doppio master presso la University of South Florida, l'Università di Friburgo, in Svizzera, e una laurea presso l'Indian Institute of Technology, Kharagpur. Al di fuori del lavoro, a Sovik piace viaggiare, prendere il traghetto e guardare film.
- Distribuzione di contenuti basati su SEO e PR. Ricevi amplificazione oggi.
- EVM Finance. Interfaccia unificata per la finanza decentralizzata. Accedi qui.
- Quantum Media Group. IR/PR amplificato. Accedi qui.
- PlatoAiStream. Intelligenza dei dati Web3. Conoscenza amplificata. Accedi qui.
- Fonte: https://aws.amazon.com/blogs/machine-learning/reinventing-the-data-experience-use-generative-ai-and-modern-data-architecture-to-unlock-insights/
- :ha
- :È
- :non
- :Dove
- $3
- $ SU
- 1
- 100
- 11
- 12
- 13
- 16
- 2008
- 2013
- 2023
- 22
- 32
- 50
- 5000
- 7
- 8
- 9
- a
- abbondante
- accesso
- Raggiungere
- raggiunto
- aggiungere
- aggiunta
- Inoltre
- contro
- AI
- AI / ML
- mira
- Tutti
- consentire
- lungo
- anche
- Amazon
- Amazon RDS
- Amazon RedShift
- Amazon Web Services
- an
- analitica
- ed
- rispondere
- risposte
- in qualsiasi
- api
- CHIAVI API
- API
- applicazioni
- approccio
- opportuno
- architettura
- SONO
- news
- artificiale
- intelligenza artificiale
- AS
- associato
- At
- Aurora
- media
- AWS
- Colla AWS
- basato
- BE
- diventare
- prima
- sotto
- vantaggi
- MIGLIORE
- fra
- costruire
- costruito
- affari
- by
- Materiale
- funzionalità
- casi
- catalogo
- catena
- sfide
- canali
- oneri
- dai un'occhiata
- scegliere
- Scegli
- Città
- rivendicato
- Chiudi
- chiusura
- codice
- COERENTE
- Colonna
- colonne
- combinazione
- commissione
- azienda
- compatibile
- complesso
- complessità
- globale
- Connettiti
- veloce
- consolle
- contenere
- contiene
- continuamente
- discorsivo
- convertire
- correggere
- Corrispondente
- potuto
- crawler
- creare
- crea
- Creazione
- dati
- infrastruttura dati
- Banca Dati
- banche dati
- Data
- più profondo
- definito
- definizione
- definizioni
- Laurea
- schierare
- schierato
- progettato
- progettazione
- dettagliati
- dettagli
- diverso
- disparato
- paesaggio differenziato
- dominio
- domini
- doppio
- giù
- disegnato
- dinamico
- ogni
- alleviare
- più semplice
- Efficace
- in modo efficiente
- o
- incorporato
- dipendenti
- Abilita
- da un capo all'altro
- endpoint
- motore
- Ingegneria
- Inglese
- accrescere
- Impresa
- stabilisce
- stabilire
- esempio
- espansivo
- esperienza
- esperti
- Spiegare
- estensivo
- Conclamata Esperienza
- estratto
- facilitatore
- finanziare
- finanziario
- Financial Market
- Trovate
- Nome
- Florida
- seguito
- i seguenti
- segue
- Nel
- Fondazione
- frode
- frequente
- da
- pieno
- completamente
- function
- ulteriormente
- generare
- generato
- genera
- ELETTRICA
- generativo
- AI generativa
- ottenere
- Dare
- dato
- successo
- Avere
- avendo
- he
- assistenza sanitaria
- Eroe
- qui
- detiene
- ospitato
- Come
- Tutorial
- Tuttavia
- HTML
- http
- HTTPS
- umano
- Risorse umane
- IBRIDO
- Identificazione
- identificato
- identifica
- identificare
- if
- illustra
- realizzare
- implementazione
- Implementazione
- competenze
- in
- includere
- Compreso
- indiano
- informazioni
- Infrastruttura
- innovare
- ingresso
- intuizioni
- invece
- Istituto
- integrare
- integrato
- integrazione
- Intelligence
- Intelligente
- Interfaccia
- ai miglioramenti
- IoT
- IT
- SUO
- accoppiamento
- jpg
- Luglio
- Le
- Tasti
- conoscenze
- Lingua
- grandi
- con i più recenti
- apprendimento
- Legale
- Biblioteca
- piace
- LLM
- Guarda
- macchina
- machine learning
- fatto
- make
- gestire
- gestito
- gestione
- molti
- Rappresentanza
- Dati di mercato
- Marketing
- master
- Massimizzare
- massimo
- Maggio..
- significare
- medie
- maglia
- Metadati
- metodo
- ordine
- ML
- modello
- modelli
- moderno
- modernizzare
- monitoraggio
- Mese
- Scopri di più
- Film
- multiplo
- devono obbligatoriamente:
- mysql
- Nome
- nomi
- Naturale
- Elaborazione del linguaggio naturale
- Bisogno
- esigenze
- New
- New York
- New York City
- non tecnico
- taccuino
- adesso
- numero
- Obiettivi d'Esame
- of
- offerta
- Offerte
- on
- esclusivamente
- Operazioni
- Opzione
- or
- organizzazioni
- organizzazione
- nostro
- su
- produzione
- al di fuori
- proprietari
- parte
- passare
- Passato
- brevetto
- eseguita
- Platone
- Platone Data Intelligence
- PlatoneDati
- Termini e Condizioni
- posizioni
- Post
- potente
- precedente
- prezzo
- lavorazione
- produrre
- Prodotto
- della produttività
- promettente
- fornire
- fornisce
- pubblicato
- query
- domanda
- Domande
- piuttosto
- tempo reale
- realizzando
- veramente
- ricevere
- riceve
- registrato
- pertinente
- richiede
- Risorse
- risposta
- risposte
- Risultati
- ritorno
- destra
- Correre
- sagemaker
- vendite
- Risparmi
- scalabile
- Scala
- scenario
- in programma
- sezioni
- vedere
- cerca
- Sequenza
- serverless
- servizio
- Servizi
- lei
- vetrina
- mostrato
- Spettacoli
- fermare
- Un'espansione
- soluzione
- Soluzioni
- alcuni
- Qualcuno
- Fonte
- fonti
- Sud
- South Florida
- specialista
- specifico
- inizia a
- statistica
- step
- Passi
- azione
- Azioni
- Fermare
- conservazione
- Tornare al suo account
- negozi
- studio
- tale
- Completo
- fornire
- supply chain
- gestione della catena di approvvigionamento
- Svizzera
- sistema
- tavolo
- presa
- tecniche
- Tecnologia
- modello
- Texas
- di
- che
- Il
- le informazioni
- L’ORIGINE
- loro
- poi
- Là.
- in tal modo
- Strumenti Bowman per analizzare le seguenti finiture:
- di
- di parti terze standard
- dati di terze parti
- questo
- quest'anno
- Attraverso
- biglietto
- vendita biglietti
- a
- strumenti
- Totale
- negoziate
- Di viaggio
- ui
- sottostante
- unificato
- Università
- sbloccare
- uso
- utilizzato
- Utente
- Interfaccia utente
- utenti
- usa
- utilizzando
- utilizzati
- APPREZZIAMO
- vario
- Visualizza
- volume
- Prima
- guardare
- Modo..
- we
- Tempo
- sito web
- servizi web
- WELL
- sono stati
- quale
- while
- volere
- con
- entro
- senza
- Lavora
- lavorato
- flusso di lavoro
- lavoro
- Salsiccia di assorbimento
- scrittura
- anno
- York
- Tu
- Trasferimento da aeroporto a Sharm
- zefiro