Het implementeren van een moderne data-architectuur biedt een schaalbare methode om gegevens uit ongelijksoortige bronnen te integreren. Door gegevens te ordenen op bedrijfsdomeinen in plaats van op infrastructuur, kan elk domein tools kiezen die bij hun behoeften passen. Organisaties kunnen de waarde van hun moderne data-architectuur maximaliseren met generatieve AI-oplossingen en tegelijkertijd voortdurend innoveren.
Dankzij de natuurlijke taalmogelijkheden kunnen niet-technische gebruikers gegevens opvragen via conversatie-Engels in plaats van via complexe SQL. Om de volledige voordelen te kunnen realiseren, moeten echter enkele uitdagingen worden overwonnen. De AI- en taalmodellen moeten de juiste gegevensbronnen identificeren, effectieve SQL-query's genereren en coherente antwoorden produceren met ingebedde resultaten op schaal. Ze hebben ook een gebruikersinterface nodig voor vragen in natuurlijke taal.
Over het geheel genomen is het implementeren van een moderne data-architectuur en generatieve AI-technieken met AWS een veelbelovende aanpak voor het verzamelen en verspreiden van belangrijke inzichten uit diverse, uitgebreide gegevens op bedrijfsschaal. Het nieuwste aanbod voor generatieve AI van AWS is Amazonebodem, een volledig beheerde service en de eenvoudigste manier om generatieve AI-applicaties te bouwen en te schalen met basismodellen. AWS biedt ook funderingsmodellen aan via Amazon SageMaker JumpStart as Amazon Sage Maker eindpunten. De combinatie van grote taalmodellen (LLM's), inclusief het integratiegemak dat Amazon Bedrock biedt, en een schaalbare, domeingeoriรซnteerde data-infrastructuur positioneert dit als een intelligente methode om gebruik te maken van de overvloedige informatie in verschillende analytische databases en datameren.
In de post laten we een scenario zien waarin een bedrijf een moderne data-architectuur heeft geรฏmplementeerd met data die zich in meerdere databases en APIโs bevinden, zoals juridische data op Amazon eenvoudige opslagservice (Amazon S3), personeelszaken aan Amazon relationele databaseservice (Amazon RDS), verkoop en marketing aan Amazon roodverschuiving, financiรซle marktgegevens over een datawarehouse-oplossing van derden op Sneeuwvloken productgegevens als API. Deze implementatie heeft tot doel de productiviteit van de bedrijfsanalyses, producteigenaren en bedrijfsdomeinexperts van de onderneming te verbeteren. Dit alles wordt bereikt door het gebruik van generatieve AI in de mesh-architectuur van dit domein, waardoor het bedrijf zijn bedrijfsdoelstellingen efficiรซnter kan bereiken. Deze oplossing biedt de mogelijkheid om LLM's van JumpStart op te nemen als een SageMaker-eindpunt, evenals modellen van derden. We bieden zakelijke gebruikers een medium waarmee ze op feiten gebaseerde vragen kunnen stellen zonder dat ze een onderliggende kennis van datakanalen hebben, waardoor de complexiteit van het schrijven van eenvoudige tot complexe SQL-query's wordt geabstraheerd.
Overzicht oplossingen
Een moderne data-architectuur op AWS past kunstmatige intelligentie en natuurlijke taalverwerking toe om meerdere analysedatabases te doorzoeken. Door gebruik te maken van diensten zoals Amazon Redshift, Amazon RDS, Snowflake, Amazone Athene en AWS lijmcreรซert het een schaalbare oplossing om gegevens uit verschillende bronnen te integreren. Gebruik makend van LangChain, een krachtige bibliotheek voor het werken met LLM's, inclusief basismodellen van Amazon Bedrock en JumpStart in Amazon SageMaker Studio notebooks is een systeem gebouwd waarmee gebruikers zakelijke vragen in natuurlijk Engels kunnen stellen en antwoorden kunnen krijgen met gegevens uit de relevante databases.
Het volgende diagram illustreert de architectuur.
De hybride architectuur maakt gebruik van meerdere databases en LLM's, met basismodellen van Amazon Bedrock en JumpStart voor identificatie van gegevensbronnen, het genereren van SQL en het genereren van tekst met resultaten.
Het volgende diagram illustreert de specifieke workflowstappen voor onze oplossing.
De stappen zijn als volgt:
- Een zakelijke gebruiker geeft een Engelstalige vraagprompt.
- Het is de bedoeling dat er met regelmatige tussenpozen een AWS Glue-crawler wordt uitgevoerd om metagegevens uit databases te extraheren en tabeldefinities te maken in de database. AWS-lijmgegevenscatalogus. De gegevenscatalogus wordt ingevoerd in ketenreeks 1 (zie het voorgaande diagram).
- LangChain, een tool om met LLM's en aanwijzingen te werken, wordt gebruikt in Studio-notebooks. LangChain vereist dat een LLM wordt gedefinieerd. Als onderdeel van Chain Sequence 1 worden de metadata van de prompt en de Data Catalog doorgegeven aan een LLM, gehost op een SageMaker-eindpunt, om de relevante database en tabel te identificeren met behulp van LangChain.
- De prompt en de geรฏdentificeerde database en tabel worden doorgegeven aan Chain Sequence 2.
- LangChain brengt een verbinding tot stand met de database en voert de SQL-query uit om de resultaten te verkrijgen.
- De resultaten worden doorgegeven aan de LLM om met de gegevens een Engels antwoord te genereren.
- De gebruiker krijgt een Engels antwoord op zijn vraag, waarbij gegevens uit verschillende databases worden opgevraagd.
In de volgende secties worden enkele van de belangrijkste stappen met bijbehorende code uitgelegd. Om dieper in de oplossing en code voor alle hier getoonde stappen te duiken, raadpleegt u de GitHub repo. Het volgende diagram toont de volgorde van de gevolgde stappen:
Voorwaarden
U kunt alle databases gebruiken die compatibel zijn met SQLAlchemy om reacties van LLM's en LangChain te genereren. De metadata van deze databases moeten echter geregistreerd zijn bij de AWS Glue Data Catalog. Bovendien moet u toegang hebben tot LLM's via JumpStart- of API-sleutels.
Maak verbinding met databases met behulp van SQLAlchemy
LangChain gebruikt SQLAlchemy om verbinding te maken met SQL-databases. We initialiseren de SQLDatabase-functie van LangChain door een engine te maken en een verbinding tot stand te brengen voor elke gegevensbron. Hieronder ziet u een voorbeeld van hoe u verbinding kunt maken met een Amazon Aurora MySQL-compatibele editie serverloze database en neem alleen de werknemerstabel op:
Vervolgens bouwen we aanwijzingen die door Chain Sequence 1 worden gebruikt om de database en de tabelnaam te identificeren op basis van de gebruikersvraag.
Genereer dynamische promptsjablonen
We gebruiken de AWS Glue Data Catalog, die is ontworpen om metadata-informatie op te slaan en te beheren, om de gegevensbron voor een gebruikersquery te identificeren en aanwijzingen voor Chain Sequence 1 te bouwen, zoals beschreven in de volgende stappen:
- We bouwen een datacatalogus door de metadata van meerdere gegevensbronnen te doorzoeken met behulp van de JDBC-verbinding gebruikt bij de demonstratie.
- Met de Boto3-bibliotheek bouwen we een geconsolideerde weergave van de gegevenscatalogus op basis van meerdere gegevensbronnen. Het volgende is een voorbeeld van hoe u de metagegevens van de werknemerstabel kunt ophalen uit de gegevenscatalogus voor de Aurora MySQL-database:
Een geconsolideerde gegevenscatalogus bevat details over de gegevensbron, zoals schema, tabelnamen en kolomnamen. Hier volgt een voorbeeld van de uitvoer van de geconsolideerde gegevenscatalogus:
- We geven de geconsolideerde gegevenscatalogus door aan de promptsjabloon en definiรซren de prompts die door LangChain worden gebruikt:
Ketenreeks 1: Detecteer bronmetagegevens voor de gebruikersquery met behulp van LangChain en een LLM
We geven de in de vorige stap gegenereerde promptsjabloon door aan de prompt, samen met de gebruikersquery aan het LangChain-model, om de beste gegevensbron te vinden om de vraag te beantwoorden. LangChain gebruikt het LLM-model van onze keuze om bronmetadata te detecteren.
Gebruik de volgende code om een โโLLM van JumpStart of modellen van derden te gebruiken:
De gegenereerde tekst bevat informatie zoals de database- en tabelnamen waarop de gebruikersquery wordt uitgevoerd. Voor de gebruikersquery 'Noem alle werknemers met geboortedatum deze maand' bijvoorbeeld generated_text
beschikt over de informatie database == rdsmysql
en database.table == rdsmysql.employees
.
Vervolgens geven we de details van het HR-domein, de Aurora MySQL-database en de werknemerstabel door aan Chain Sequence 2.
Ketenreeks 2: haal antwoorden op uit de gegevensbronnen om de gebruikersvraag te beantwoorden
Vervolgens voeren we de SQL-databaseketen van LangChain uit om tekst naar SQL te converteren en voeren we impliciet de gegenereerde SQL uit op de database om de databaseresultaten in een eenvoudig leesbare taal op te halen.
We beginnen met het definiรซren van een promptsjabloon die de LLM instrueert om SQL in een syntactisch correct dialect te genereren en deze vervolgens uit te voeren op de database:
Ten slotte geven we de LLM, de databaseverbinding en de prompt door aan de SQL-databaseketen en voeren we de SQL-query uit:
Voor de gebruikersvraag โNoem alle werknemers met geboortedatum deze maandโ is het antwoord bijvoorbeeld als volgt:
Opruimen
Nadat u de moderne data-architectuur met generatieve AI hebt uitgevoerd, moet u ervoor zorgen dat u alle bronnen opruimt die niet worden gebruikt. Sluit en verwijder de gebruikte databases (Amazon Redshift, Amazon RDS, Snowflake). Verwijder bovendien de gegevens in Amazon S3 en stop alle Studio-notebook-instanties om geen verdere kosten te maken. Als u JumpStart hebt gebruikt om een โโLLM te implementeren als een realtime eindpunt van SageMaker, verwijdert u het eindpunt via de SageMaker-console of Studio.
Conclusie
In dit bericht hebben we een moderne data-architectuur met generatieve AI en LLM's geรฏntegreerd binnen SageMaker. Deze oplossing maakt gebruik van verschillende tekst-naar-tekst-basismodellen van JumpStart en modellen van derden. Deze hybride aanpak identificeert gegevensbronnen, schrijft SQL-query's en genereert antwoorden met queryresultaten. Het maakt gebruik van Amazon Redshift, Amazon RDS, Snowflake en LLM's. Om de oplossing te verbeteren, kunt u meer databases, een gebruikersinterface voor Engelse zoekopdrachten, prompt engineering en datatools toevoegen. Dit zou een intelligente, uniforme manier kunnen worden om inzichten uit meerdere datastores te verkrijgen. Om dieper in de oplossing en de code in dit bericht te duiken, bekijk de GitHub repo . Zie ook Amazonebodem voor gebruiksscenario's voor generatieve AI, basismodellen en grote taalmodellen.
Bijlage
Voorbeeldprompts
Domein | Database/API | prompt | SQL (gegenereerd door LLM) | uitgang |
Verkoop & Marketing | Amazon RedShift | Hoeveel kaartverkoop is er? | SELECT COUNT(*) AS total_sales FROM tickit.sales; |
There are 172,456 ticket sales. |
Verkoop & Marketing | Amazon RedShift | Wat was de totale commissie op de kaartverkoop in het jaar 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. |
Juridisch | S3 | Hoeveel fraude heeft er plaatsgevonden in het jaar 2023? | SELECT count(*) FROM claims WHERE extract(year from write_time) = 2023 AND fraud = 1; |
There were 164 fraud claims in 2023. |
Juridisch | S3 | Hoeveel polissen zijn er dit jaar gedeclareerd? | SELECT count(*) FROM claims; |
There were 5000 claims made this year. |
Personeelszaken | Amazon Aurora MySQL | Noem alle medewerkers met een geboortedatum deze maand | 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 |
Personeelszaken | Amazon Aurora MySQL | Hoeveel werknemers zijn vรณรณr 1990 aangenomen? | SELECT COUNT(*) AS 'Number of employees hired before 1990' FROM employees WHERE hire_date < '1990-01-01' |
29 employees were hired before 1990. |
Financiรซn en investeringen | Sneeuwvlok | Welk aandeel presteerde het beste en het slechtste in mei 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. |
Financiรซn en investeringen | Sneeuwvlok | Wat is het gemiddelde volume van de aandelen die in juli 2013 werden verhandeld? | 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 |
Artikel โ Weer | API | Hoe is het weer op dit moment in New York City in graden Fahrenheit? |
Over de auteurs
Navneet Tuteja is dataspecialist bij Amazon Web Services. Voordat hij bij AWS kwam, werkte Navneet als facilitator voor organisaties die hun data-architecturen wilden moderniseren en uitgebreide AI/ML-oplossingen wilden implementeren. Ze heeft een ingenieursdiploma van de Thapar University en een master in statistiek van de Texas A&M University.
Sovik Kumar Nath is een AI/ML-oplossingsarchitect met AWS. Hij heeft uitgebreide ervaring met het ontwerpen van end-to-end oplossingen voor machine learning en bedrijfsanalyse op het gebied van financiรซn, bedrijfsvoering, marketing, gezondheidszorg, supply chain management en IoT. Sovik heeft artikelen gepubliceerd en heeft een patent op ML-modelbewaking. Hij heeft dubbele masters van de University of South Florida, University of Fribourg, Zwitserland, en een bachelors degree van het Indian Institute of Technology, Kharagpur. Buiten zijn werk houdt Sovik van reizen, veerboottochten maken en films kijken.
- Door SEO aangedreven content en PR-distributie. Word vandaag nog versterkt.
- EVM Financiรซn. Uniforme interface voor gedecentraliseerde financiรซn. Toegang hier.
- Quantum Media Groep. IR/PR versterkt. Toegang hier.
- PlatoAiStream. Web3 gegevensintelligentie. Kennis versterkt. Toegang hier.
- Bron: https://aws.amazon.com/blogs/machine-learning/reinventing-the-data-experience-use-generative-ai-and-modern-data-architecture-to-unlock-insights/
- : heeft
- :is
- :niet
- :waar
- $3
- $UP
- 1
- 100
- 11
- 12
- 13
- 16
- 2008
- 2013
- 2023
- 22
- 32
- 50
- 5000
- 7
- 8
- 9
- a
- overvloedig
- toegang
- Bereiken
- bereikt
- toevoegen
- toevoeging
- Daarnaast
- tegen
- AI
- AI / ML
- wil
- Alles
- toelaten
- langs
- ook
- Amazone
- Amazon RDS
- Amazon roodverschuiving
- Amazon Web Services
- an
- analytics
- en
- beantwoorden
- antwoorden
- elke
- api
- API-SLEUTELS
- APIs
- toepassingen
- nadering
- passend
- architectuur
- ZIJN
- artikelen
- kunstmatig
- kunstmatige intelligentie
- AS
- geassocieerd
- At
- Aurora
- gemiddelde
- AWS
- AWS lijm
- gebaseerde
- BE
- worden
- vaardigheden
- onder
- betekent
- BEST
- tussen
- bouw
- bebouwd
- bedrijfsdeskundigen
- by
- CAN
- mogelijkheden
- gevallen
- catalogus
- keten
- uitdagingen
- kanalen
- lasten
- controle
- keuze
- Kies
- Plaats
- beweerde
- vorderingen
- Sluiten
- sluitend
- code
- SAMENHANGEND
- Kolom
- columns
- combinatie van
- commissie
- afstand
- verenigbaar
- complex
- complexiteit
- uitgebreid
- Verbinden
- versterken
- troosten
- bevatten
- bevat
- doorlopend
- spraakzaam
- converteren
- te corrigeren
- Overeenkomend
- kon
- crawler
- en je merk te creรซren
- creรซert
- Wij creรซren
- gegevens
- data-infrastructuur
- Database
- databanken
- Datum
- diepere
- gedefinieerd
- het definiรซren van
- definities
- Mate
- implementeren
- ingezet
- ontworpen
- ontwerpen
- gedetailleerd
- gegevens
- anders
- ongelijksoortig
- diversen
- domein
- domeinen
- verdubbelen
- beneden
- getrokken
- dynamisch
- elk
- gemak
- gemakkelijkste
- effectief
- efficiรซnt
- beide
- ingebed
- medewerkers
- maakt
- eind tot eind
- Endpoint
- Motor
- Engineering
- Engels
- verhogen
- Enterprise
- vestigt
- oprichting
- voorbeeld
- expansieve
- ervaring
- deskundigen
- Verklaren
- uitgebreid
- Uitgebreide ervaring
- extract
- facilitator
- financiรซn
- financieel
- Financiรซle markt
- VIND DE PLEK DIE PERFECT VOOR JOU IS
- Voornaam*
- Florida
- gevolgd
- volgend
- volgt
- Voor
- Foundation
- bedrog
- veelvuldig
- oppompen van
- vol
- geheel
- functie
- verder
- voortbrengen
- gegenereerde
- genereert
- generatie
- generatief
- generatieve AI
- krijgen
- Geven
- gegeven
- gebeurd
- Hebben
- met
- he
- gezondheidszorg
- Held
- hier
- houdt
- gehost
- Hoe
- How To
- Echter
- HTML
- http
- HTTPS
- menselijk
- Personeelszaken
- Hybride
- Identificatie
- geรฏdentificeerd
- identificeert
- identificeren
- if
- illustreert
- uitvoeren
- uitvoering
- uitvoering
- verbeteren
- in
- omvatten
- Inclusief
- Indian
- informatie
- Infrastructuur
- innoveren
- invoer
- inzichten
- verkrijgen in plaats daarvan
- Instituut
- integreren
- geรฏntegreerde
- integratie
- Intelligentie
- Intelligent
- Interface
- in
- iot
- IT
- HAAR
- aansluiting
- jpg
- juli-
- sleutel
- toetsen
- kennis
- taal
- Groot
- laatste
- leren
- Juridisch
- Bibliotheek
- als
- LLM
- Kijk
- machine
- machine learning
- gemaakt
- maken
- beheer
- beheerd
- management
- veel
- Markt
- Marktgegevens
- Marketing
- master's
- Maximaliseren
- maximaal
- Mei..
- gemiddelde
- Medium
- mesh
- Metadata
- methode
- minimum
- ML
- model
- modellen
- Modern
- moderniseren
- Grensverkeer
- Maand
- meer
- Films
- meervoudig
- Dan moet je
- mysql
- naam
- namen
- Naturel
- Natural Language Processing
- Noodzaak
- behoeften
- New
- New York
- new york city
- niet-technische
- notitieboekje
- nu
- aantal
- doelstellingen
- of
- het aanbieden van
- Aanbod
- on
- Slechts
- Operations
- Keuze
- or
- organisaties
- organiserende
- onze
- uit
- uitgang
- buiten
- eigenaren
- deel
- passeren
- voorbij
- octrooi
- uitgevoerd
- Plato
- Plato gegevensintelligentie
- PlatoData
- beleidsmaatregelen door te lezen.
- posities
- Post
- krachtige
- vorig
- prijs
- verwerking
- produceren
- Product
- produktiviteit
- veelbelovend
- zorgen voor
- biedt
- gepubliceerde
- queries
- vraag
- Contact
- liever
- real-time
- realiseren
- werkelijk
- ontvangen
- ontvangt
- geregistreerd
- relevante
- vereist
- Resources
- antwoord
- reacties
- Resultaten
- terugkeer
- rechts
- lopen
- sagemaker
- verkoop
- Bespaar
- schaalbare
- Scale
- scenario
- gepland
- secties
- zien
- op zoek naar
- Volgorde
- Serverless
- service
- Diensten
- ze
- showcase
- getoond
- Shows
- stilgelegd
- Eenvoudig
- oplossing
- Oplossingen
- sommige
- Iemand
- bron
- bronnen
- Zuiden
- Zuid-Florida
- specialist
- specifiek
- begin
- statistiek
- Stap voor
- Stappen
- voorraad
- Aandelen
- stop
- mediaopslag
- shop
- winkels
- studio
- dergelijk
- Pak
- leveren
- toeleveringsketen
- voorraadketenbeheer
- Zwitserland
- system
- tafel
- het nemen
- technieken
- Technologie
- sjabloon
- Texas
- neem contact
- dat
- De
- de informatie
- De Bron
- hun
- harte
- Er.
- daarbij
- Deze
- ze
- van derden
- gegevens van derden
- dit
- dit jaar
- Door
- ticket
- kaartverkoop
- naar
- tools
- tools
- Totaal
- verhandeld
- Reizend
- ui
- die ten grondslag liggen
- unified
- universiteit-
- openen
- .
- gebruikt
- Gebruiker
- User Interface
- gebruikers
- toepassingen
- gebruik
- gebruikt
- waarde
- divers
- Bekijk
- volume
- was
- kijken
- Manier..
- we
- Weer
- web
- webservices
- GOED
- waren
- welke
- en
- wil
- Met
- binnen
- zonder
- Mijn werk
- werkte
- workflow
- werkzaam
- Slechtst
- het schrijven van
- jaar
- york
- You
- Your
- zephyrnet