Die Implementierung einer modernen Datenarchitektur bietet eine skalierbare Methode zur Integration von Daten aus unterschiedlichen Quellen. Durch die Organisation der Daten nach Geschäftsdomänen statt nach Infrastruktur kann jede Domäne Tools auswählen, die ihren Anforderungen entsprechen. Unternehmen können den Wert ihrer modernen Datenarchitektur mit generativen KI-Lösungen maximieren und gleichzeitig kontinuierlich Innovationen vorantreiben.
Die natürlichen Sprachfunktionen ermöglichen es technisch nicht versierten Benutzern, Daten über Konversationsenglisch statt über komplexes SQL abzufragen. Um die Vorteile voll auszuschöpfen, müssen jedoch einige Herausforderungen bewältigt werden. Die KI- und Sprachmodelle müssen die geeigneten Datenquellen identifizieren, effektive SQL-Abfragen generieren und kohärente Antworten mit eingebetteten Ergebnissen in großem Maßstab liefern. Sie benötigen außerdem eine Benutzeroberfläche für Fragen in natürlicher Sprache.
Insgesamt ist die Implementierung einer modernen Datenarchitektur und generativer KI-Techniken mit AWS ein vielversprechender Ansatz, um wichtige Erkenntnisse aus vielfältigen, umfangreichen Daten auf Unternehmensebene zu gewinnen und zu verbreiten. Das neueste Angebot für generative KI von AWS ist Amazonas Grundgestein, ein vollständig verwalteter Dienst und die einfachste Möglichkeit, generative KI-Anwendungen mit Basismodellen zu erstellen und zu skalieren. AWS bietet auch Foundation-Modelle an Amazon SageMaker-JumpStart as Amazon Sage Maker Endpunkte. Die Kombination aus großen Sprachmodellen (LLMs), einschließlich der einfachen Integration, die Amazon Bedrock bietet, und einer skalierbaren, domänenorientierten Dateninfrastruktur macht dies zu einer intelligenten Methode zur Nutzung der umfangreichen Informationen, die in verschiedenen Analysedatenbanken und Data Lakes gespeichert sind.
In dem Beitrag stellen wir ein Szenario vor, in dem ein Unternehmen eine moderne Datenarchitektur implementiert hat, wobei sich die Daten auf mehreren Datenbanken und APIs befinden, beispielsweise auf rechtlichen Daten Amazon Simple Storage-Service (Amazon S3), Personalwesen auf Relationaler Amazon-Datenbankdienst (Amazon RDS), Vertrieb und Marketing auf Amazon RedShift, Finanzmarktdaten auf einer Data-Warehouse-Lösung eines Drittanbieters auf Schneeflockeund Produktdaten als API. Diese Implementierung zielt darauf ab, die Produktivität der Geschäftsanalytiker, Produktbesitzer und Geschäftsbereichsexperten des Unternehmens zu steigern. All dies wird durch den Einsatz generativer KI in dieser Domain-Mesh-Architektur erreicht, die es dem Unternehmen ermöglicht, seine Geschäftsziele effizienter zu erreichen. Diese Lösung bietet die Möglichkeit, LLMs von JumpStart als SageMaker-Endpunkt sowie Modelle von Drittanbietern einzubinden. Wir bieten Unternehmensbenutzern die Möglichkeit, faktenbasierte Fragen zu stellen, ohne über grundlegende Kenntnisse über Datenkanäle zu verfügen, und abstrahieren so die Komplexität des Schreibens einfacher bis komplexer SQL-Abfragen.
Lösungsüberblick
Eine moderne Datenarchitektur auf AWS nutzt künstliche Intelligenz und Verarbeitung natürlicher Sprache, um mehrere Analysedatenbanken abzufragen. Durch die Nutzung von Diensten wie Amazon Redshift, Amazon RDS, Snowflake, Amazonas Athena und AWS-KleberEs entsteht eine skalierbare Lösung zur Integration von Daten aus verschiedenen Quellen. Benutzen LangChain, eine leistungsstarke Bibliothek für die Arbeit mit LLMs, einschließlich Fundamentmodellen von Amazon Bedrock und JumpStart in Amazon SageMaker-Studio Notebooks wird ein System aufgebaut, in dem Benutzer Geschäftsfragen in natürlichem Englisch stellen und Antworten mit Daten aus den relevanten Datenbanken erhalten können.
Das folgende Diagramm zeigt die Architektur.
Die Hybridarchitektur nutzt mehrere Datenbanken und LLMs mit Basismodellen von Amazon Bedrock und JumpStart für die Datenquellenidentifizierung, SQL-Generierung und Textgenerierung mit Ergebnissen.
Das folgende Diagramm veranschaulicht die spezifischen Workflow-Schritte für unsere Lösung.
Die Schritte sind wie folgt:
- Ein Geschäftsbenutzer stellt eine englische Frageaufforderung bereit.
- Ein AWS Glue-Crawler soll in regelmäßigen Abständen ausgeführt werden, um Metadaten aus Datenbanken zu extrahieren und Tabellendefinitionen in zu erstellen AWS Glue-Datenkatalog. Der Datenkatalog wird in Kettensequenz 1 eingegeben (siehe vorheriges Diagramm).
- LangChain, ein Tool zum Arbeiten mit LLMs und Eingabeaufforderungen, wird in Studio-Notebooks verwendet. LangChain erfordert die Definition eines LLM. Als Teil der Kettensequenz 1 werden die Eingabeaufforderung und die Metadaten des Datenkatalogs an ein LLM übergeben, das auf einem SageMaker-Endpunkt gehostet wird, um die relevante Datenbank und Tabelle mithilfe von LangChain zu identifizieren.
- Die Eingabeaufforderung sowie die identifizierte Datenbank und Tabelle werden an Kettensequenz 2 übergeben.
- LangChain stellt eine Verbindung zur Datenbank her und führt die SQL-Abfrage aus, um die Ergebnisse zu erhalten.
- Die Ergebnisse werden an das LLM übergeben, um mit den Daten eine englische Antwort zu generieren.
- Der Nutzer erhält auf seine Eingabeaufforderung eine englischsprachige Antwort und fragt Daten aus verschiedenen Datenbanken ab.
In den folgenden Abschnitten werden einige der wichtigsten Schritte mit dem zugehörigen Code erläutert. Um tiefer in die Lösung und den Code für alle hier gezeigten Schritte einzutauchen, lesen Sie die GitHub Repo. Das folgende Diagramm zeigt die Abfolge der folgenden Schritte:
Voraussetzungen:
Sie können alle Datenbanken verwenden, die mit kompatibel sind SQLAlchemy um Antworten von LLMs und LangChain zu generieren. Allerdings müssen die Metadaten dieser Datenbanken im AWS Glue Data Catalog registriert sein. Darüber hinaus müssen Sie über JumpStart oder API-Schlüssel Zugriff auf LLMs haben.
Stellen Sie mit SQLAlchemy eine Verbindung zu Datenbanken her
LangChain verwendet SQLAlchemy, um eine Verbindung zu SQL-Datenbanken herzustellen. Wir initialisieren die SQLDatabase-Funktion von LangChain, indem wir eine Engine erstellen und eine Verbindung für jede Datenquelle herstellen. Im Folgenden finden Sie ein Beispiel für die Verbindung mit einem Amazon Aurora MySQL-kompatible Edition serverlose Datenbank und schließen nur die Mitarbeitertabelle ein:
Als Nächstes erstellen wir Eingabeaufforderungen, die von Chain Sequence 1 verwendet werden, um die Datenbank und den Tabellennamen basierend auf der Benutzerfrage zu identifizieren.
Generieren Sie dynamische Eingabeaufforderungsvorlagen
Wir verwenden den AWS Glue Data Catalog, der zum Speichern und Verwalten von Metadateninformationen entwickelt wurde, um die Datenquelle für eine Benutzerabfrage zu identifizieren und Eingabeaufforderungen für Chain Sequence 1 zu erstellen, wie in den folgenden Schritten beschrieben:
- Wir erstellen einen Datenkatalog, indem wir mithilfe von die Metadaten mehrerer Datenquellen durchsuchen JDBC-Verbindung in der Demonstration verwendet.
- Mit der Boto3-Bibliothek erstellen wir eine konsolidierte Ansicht des Datenkatalogs aus mehreren Datenquellen. Im Folgenden finden Sie ein Beispiel zum Abrufen der Metadaten der Mitarbeitertabelle aus dem Datenkatalog für die Aurora MySQL-Datenbank:
Ein konsolidierter Datenkatalog enthält Details zur Datenquelle, z. B. Schema, Tabellennamen und Spaltennamen. Das Folgende ist ein Beispiel der Ausgabe des konsolidierten Datenkatalogs:
- Wir übergeben den konsolidierten Datenkatalog an die Eingabeaufforderungsvorlage und definieren die von LangChain verwendeten Eingabeaufforderungen:
Kettensequenz 1: Ermitteln Sie Quellmetadaten für die Benutzerabfrage mithilfe von LangChain und einem LLM
Wir übergeben die im vorherigen Schritt generierte Eingabeaufforderungsvorlage zusammen mit der Benutzerabfrage an das LangChain-Modell an die Eingabeaufforderung, um die beste Datenquelle zur Beantwortung der Frage zu finden. LangChain verwendet das LLM-Modell unserer Wahl, um Quellmetadaten zu erkennen.
Verwenden Sie den folgenden Code, um ein LLM von JumpStart oder Modellen von Drittanbietern zu verwenden:
Der generierte Text enthält Informationen wie die Datenbank- und Tabellennamen, für die die Benutzerabfrage ausgeführt wird. Beispielsweise für die Benutzerabfrage „Nennen Sie alle Mitarbeiter mit Geburtsdatum in diesem Monat“ generated_text
hat die Informationen database == rdsmysql
und database.table == rdsmysql.employees
.
Als Nächstes übergeben wir die Details der Personaldomäne, der Aurora MySQL-Datenbank und der Mitarbeitertabelle an Chain Sequence 2.
Kettensequenz 2: Antworten von den Datenquellen abrufen, um die Benutzeranfrage zu beantworten
Als Nächstes führen wir die SQL-Datenbankkette von LangChain aus, um Text in SQL zu konvertieren, und führen das generierte SQL implizit gegen die Datenbank aus, um die Datenbankergebnisse in einer einfach lesbaren Sprache abzurufen.
Wir beginnen mit der Definition einer Eingabeaufforderungsvorlage, die das LLM anweist, SQL in einem syntaktisch korrekten Dialekt zu generieren und es dann in der Datenbank auszuführen:
Schließlich übergeben wir das LLM, die Datenbankverbindung und die Eingabeaufforderung an die SQL-Datenbankkette und führen die SQL-Abfrage aus:
Auf die Benutzeranfrage „Nennen Sie alle Mitarbeiter mit Geburtsdatum in diesem Monat“ lautet die Antwort beispielsweise wie folgt:
Aufräumen
Nachdem Sie die moderne Datenarchitektur mit generativer KI ausgeführt haben, stellen Sie sicher, dass Sie alle Ressourcen bereinigen, die nicht genutzt werden. Fahren Sie die verwendeten Datenbanken herunter und löschen Sie sie (Amazon Redshift, Amazon RDS, Snowflake). Löschen Sie außerdem die Daten in Amazon S3 und stoppen Sie alle Studio-Notebook-Instanzen, damit keine weiteren Kosten anfallen. Wenn Sie JumpStart verwendet haben, um ein LLM als SageMaker-Echtzeitendpunkt bereitzustellen, löschen Sie den Endpunkt entweder über die SageMaker-Konsole oder Studio.
Zusammenfassung
In diesem Beitrag haben wir eine moderne Datenarchitektur mit generativer KI und LLMs in SageMaker integriert. Diese Lösung nutzt verschiedene Text-zu-Text-Grundlagenmodelle von JumpStart sowie Modelle von Drittanbietern. Dieser Hybridansatz identifiziert Datenquellen, schreibt SQL-Abfragen und generiert Antworten mit Abfrageergebnissen. Es verwendet Amazon Redshift, Amazon RDS, Snowflake und LLMs. Um die Lösung zu verbessern, könnten Sie weitere Datenbanken, eine Benutzeroberfläche für englische Abfragen, Prompt Engineering und Datentools hinzufügen. Dies könnte eine intelligente, einheitliche Möglichkeit sein, Erkenntnisse aus mehreren Datenspeichern zu gewinnen. Um tiefer in die Lösung und den in diesem Beitrag gezeigten Code einzutauchen, schauen Sie sich die an GitHub Repo . Siehe auch Amazonas Grundgestein für Anwendungsfälle zu generativer KI, Basismodellen und großen Sprachmodellen.
Anhang
Beispielaufforderungen
Domain | Datenbank/API | Prompt | SQL (generiert von LLM) | Output |
Vertrieb & Marketing | Amazon RedShift | Wie viele Ticketverkäufe gibt es? | SELECT COUNT(*) AS total_sales FROM tickit.sales; |
There are 172,456 ticket sales. |
Vertrieb & Marketing | Amazon RedShift | Wie hoch war die Gesamtprovision für den Ticketverkauf im Jahr 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. |
Rechtlich | S3 | Wie viele Betrugsfälle gab es im Jahr 2023? | SELECT count(*) FROM claims WHERE extract(year from write_time) = 2023 AND fraud = 1; |
There were 164 fraud claims in 2023. |
Rechtlich | S3 | Wie viele Policen wurden dieses Jahr beansprucht? | SELECT count(*) FROM claims; |
There were 5000 claims made this year. |
Human Resources | Amazon Aurora-MySQL | Nennen Sie alle Mitarbeiter mit Geburtsdatum in diesem Monat | 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 | Wie viele Mitarbeiter wurden vor 1990 eingestellt? | SELECT COUNT(*) AS 'Number of employees hired before 1990' FROM employees WHERE hire_date < '1990-01-01' |
29 employees were hired before 1990. |
Finanzen und Investitionen | Schneeflocke | Welche Aktie schnitt im Mai 2013 am besten und am schlechtesten ab? | 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. |
Finanzen und Investitionen | Schneeflocke | Wie hoch war das durchschnittliche Handelsvolumen der Aktien im 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 – Wetter | API | Wie ist das Wetter in Grad Fahrenheit derzeit in New York City? |
Über die Autoren
Navneet Tuteja ist Datenspezialist bei Amazon Web Services. Bevor er zu AWS kam, arbeitete Navneet als Vermittler für Organisationen, die ihre Datenarchitekturen modernisieren und umfassende KI/ML-Lösungen implementieren wollten. Sie verfügt über einen Ingenieurabschluss der Thapar University sowie einen Master-Abschluss in Statistik der Texas A&M University.
Sovik Kumar Nath ist ein KI/ML-Lösungsarchitekt bei AWS. Er verfügt über umfangreiche Erfahrung in der Entwicklung von End-to-End-Lösungen für maschinelles Lernen und Geschäftsanalysen in den Bereichen Finanzen, Betrieb, Marketing, Gesundheitswesen, Lieferkettenmanagement und IoT. Sovik hat Artikel veröffentlicht und hält ein Patent zur ML-Modellüberwachung. Er verfügt über einen Doppel-Master-Abschluss der University of South Florida, Universität Freiburg, Schweiz, und einen Bachelor-Abschluss des Indian Institute of Technology, Kharagpur. Außerhalb der Arbeit reist Sovik gerne, unternimmt Fährfahrten und schaut sich Filme an.
- SEO-gestützte Content- und PR-Distribution. Holen Sie sich noch heute Verstärkung.
- EVM-Finanzen. Einheitliche Schnittstelle für dezentrale Finanzen. Hier zugreifen.
- Quantum Media Group. IR/PR verstärkt. Hier zugreifen.
- PlatoAiStream. Web3-Datenintelligenz. Wissen verstärkt. Hier zugreifen.
- Quelle: https://aws.amazon.com/blogs/machine-learning/reinventing-the-data-experience-use-generative-ai-and-modern-data-architecture-to-unlock-insights/
- :hast
- :Ist
- :nicht
- :Wo
- $3
- $UP
- 1
- 100
- 11
- 12
- 13
- 16
- 2008
- 2013
- 2023
- 22
- 32
- 50
- 5000
- 7
- 8
- 9
- a
- reichlich
- Zugang
- Erreichen
- erreicht
- hinzufügen
- Zusatz
- zusätzlich
- gegen
- AI
- AI / ML
- Ziel
- Alle
- erlauben
- entlang
- ebenfalls
- Amazon
- Amazon RDS
- Amazon RedShift
- Amazon Web Services
- an
- Analytik
- und
- beantworten
- Antworten
- jedem
- Bienen
- API-SCHLÜSSEL
- APIs
- Anwendungen
- Ansatz
- angemessen
- Architektur
- SIND
- Artikel
- künstlich
- künstliche Intelligenz
- AS
- damit verbundenen
- At
- Aurora
- durchschnittlich
- AWS
- AWS-Kleber
- basierend
- BE
- werden
- Bevor
- unten
- Vorteile
- BESTE
- zwischen
- bauen
- erbaut
- Geschäft
- by
- CAN
- Fähigkeiten
- Fälle
- Katalog
- Kette
- Herausforderungen
- Kanäle
- Gebühren
- aus der Ferne überprüfen
- Wahl
- Auswählen
- Stadt
- behauptet
- aus aller Welt
- Menu
- Schließen
- Code
- KOHÄRENT
- Kolonne
- Spalten
- Kombination
- Provision
- Unternehmen
- kompatibel
- Komplex
- Komplexität
- umfassend
- Vernetz Dich
- Verbindung
- Konsul (Console)
- enthalten
- enthält
- ständig
- Konversations
- verkaufen
- und beseitigen Muskelschwäche
- Dazugehörigen
- könnte
- Crawler
- erstellen
- schafft
- Erstellen
- technische Daten
- Dateninfrastruktur
- Datenbase
- Datenbanken
- Datum
- tiefer
- definiert
- Definition
- Definitionen
- Grad
- einsetzen
- Einsatz
- entworfen
- Entwerfen
- detailliert
- Details
- anders
- disparat
- verschieden
- Domain
- Domains
- doppelt
- nach unten
- gezogen
- dynamisch
- jeder
- erleichtern
- einfachste
- Effektiv
- effizient
- entweder
- eingebettet
- Mitarbeiter
- ermöglicht
- End-to-End
- Endpunkt
- Motor
- Entwicklung
- Englisch
- zu steigern,
- Unternehmen
- etabliert
- Festlegung
- Beispiel
- expansiv
- ERFAHRUNGEN
- Experten
- Erklären
- umfangreiche
- Langjährige Erfahrung
- Extrakt
- Moderator
- Finanzen
- Revolution
- Financial Market
- Finden Sie
- Vorname
- Florida
- gefolgt
- Folgende
- folgt
- Aussichten für
- Foundation
- Betrug
- häufig
- für
- voller
- voll
- Funktion
- weiter
- erzeugen
- erzeugt
- erzeugt
- Generation
- generativ
- Generative KI
- bekommen
- ABSICHT
- gegeben
- passiert
- Haben
- mit
- he
- Gesundheitswesen
- Statt
- hier
- hält
- gehostet
- Ultraschall
- Hilfe
- aber
- HTML
- http
- HTTPS
- human
- Human Resources
- Hybrid
- Login
- identifiziert
- identifiziert
- identifizieren
- if
- zeigt
- implementieren
- Implementierung
- Umsetzung
- zu unterstützen,
- in
- das
- Einschließlich
- Indisch
- Information
- Infrastruktur
- innovativ
- Varianten des Eingangssignals:
- Einblicke
- beantragen müssen
- Institut
- integrieren
- integriert
- Integration
- Intelligenz
- Intelligent
- Schnittstelle
- in
- iot
- IT
- SEINE
- Beitritt
- jpg
- Juli
- Wesentliche
- Tasten
- Wissen
- Sprache
- grosse
- neueste
- lernen
- Rechtlich
- Bibliothek
- Gefällt mir
- LLM
- aussehen
- Maschine
- Maschinelles Lernen
- gemacht
- um
- verwalten
- verwaltet
- Management
- viele
- Markt
- Marktdaten
- Marketing
- Meister
- Maximieren
- maximal
- Kann..
- bedeuten
- mittlere
- ineinander greifen
- Metadaten
- Methode
- Minimum
- ML
- Modell
- für
- modern
- modernisieren
- Überwachung
- Monat
- mehr
- Filme
- mehrere
- sollen
- mysql
- Name
- Namen
- Natürliche
- Verarbeitung natürlicher Sprache
- Need
- Bedürfnisse
- Neu
- New York
- New York City
- Nicht-technisch
- Notizbuch
- jetzt an
- Anzahl
- of
- bieten
- Angebote
- on
- einzige
- Einkauf & Prozesse
- Option
- or
- Organisationen
- Organisieren
- UNSERE
- Möglichkeiten für das Ausgangssignal:
- aussen
- Besitzer
- Teil
- passieren
- Bestanden
- Patent
- durchgeführt
- Plato
- Datenintelligenz von Plato
- PlatoData
- Politik durchzulesen
- für einige Positionen
- Post
- größte treibende
- früher
- Preis
- Verarbeitung
- produziert
- Produkt
- PRODUKTIVITÄT
- aussichtsreich
- die
- bietet
- veröffentlicht
- Abfragen
- Frage
- Fragen
- lieber
- Echtzeit
- Realisierung
- wirklich
- erhalten
- erhält
- eingetragen
- relevant
- erfordert
- Downloads
- Antwort
- Antworten
- Die Ergebnisse
- Rückkehr
- Recht
- Führen Sie
- sagemaker
- Vertrieb
- Speichern
- skalierbaren
- Skalieren
- Szenario
- vorgesehen
- Abschnitte
- sehen
- auf der Suche nach
- Reihenfolge
- Serverlos
- Lösungen
- sie
- Vitrine
- gezeigt
- Konzerte
- schließen
- Einfacher
- Lösung
- Lösungen
- einige
- Jemand,
- Quelle
- Quellen
- Süd
- South Florida
- Spezialist
- spezifisch
- Anfang
- Statistiken
- Schritt
- Shritte
- -bestands-
- Aktien
- Stoppen
- Lagerung
- speichern
- Läden
- Studio Adressen
- so
- Anzug
- liefern
- Supply Chain
- Leitung der Lieferkette
- Schweiz
- System
- Tabelle
- Einnahme
- Techniken
- Technologie
- Vorlage
- Texas
- als
- zur Verbesserung der Gesundheitsgerechtigkeit
- Das
- die Informationen
- Die Quelle
- ihr
- dann
- Dort.
- damit
- Diese
- vom Nutzer definierten
- basierte Online-to-Offline-Werbezuordnungen von anderen gab.
- Daten von Drittanbietern
- fehlen uns die Worte.
- dieses Jahr
- Durch
- Ticket
- Ticketverkauf
- zu
- Werkzeug
- Werkzeuge
- Gesamt
- gehandelt
- Reise
- ui
- zugrunde liegen,
- einheitlich
- Universität
- öffnen
- -
- benutzt
- Mitglied
- Benutzerschnittstelle
- Nutzer
- verwendet
- Verwendung von
- seit
- Wert
- verschiedene
- Anzeigen
- Volumen
- wurde
- beobachten
- Weg..
- we
- Wetter
- Netz
- Web-Services
- GUT
- waren
- welche
- während
- werden wir
- mit
- .
- ohne
- Arbeiten
- gearbeitet
- Arbeitsablauf.
- arbeiten,
- Wurst
- Schreiben
- Jahr
- York
- Du
- Ihr
- Zephyrnet