Einführung
Generative KI schafft viele spannende Anwendungsfälle in verschiedenen Branchen. Um einen echten geschäftlichen Nutzen aus generativer KI zu ziehen, ist die Integration von Large Language Models (LLM) in die Wissensbasis des Unternehmens erforderlich.
LLMs werden nicht auf proprietärem unternehmensspezifischem Wissen trainiert (sondern auf öffentlich zugänglichen Internetdaten), sie könnten halluzinieren und falsche Antworten auf unternehmensspezifische Fragen geben.
In diesem Blog werde ich eine Möglichkeit vorstellen, wie Sie Ihre Unternehmensdaten (Confluence-Seiten, Salesforce-Daten, CRM-Daten, relationale Datenbanken, Handbücher usw.) schnell (innerhalb von 1–2 Stunden) und sicher mit Large Language Models (LLM) integrieren können. Es handelt sich um eine vollständige End-to-End-Lösung – kein Modelltraining, keine Feinabstimmung und keine umfangreiche Bereitstellung erforderlich.
Sie benötigen auch keine speziellen KI/ML-Erfahrungen oder umfassendes Entwicklerwissen, um diese Lösung einzusetzen. Die Antworten beruhen auf dem spezifischen Wissen Ihres Unternehmens und vermeiden Probleme mit der Faktizität, wie z. B. Halluzinationen und aus dem Zusammenhang gerissene Antworten.
Diese Lösung ermöglicht viele geschäftliche Anwendungsfälle wie z. B:
- Verbesserung der Kundenerfahrung: Intelligente Chat-Bots, die Antworten auf der Grundlage von Unternehmensdaten geben – z. B. Auftragsstatus, Kontostand usw.
- Steigerung der internen Mitarbeiterproduktivität: durch die Erstellung von unternehmensspezifischen Angeboten/Marketingmaterial/Handbüchern/Stellenbeschreibungen usw.
- Interne Suchmaschine: Durchsuchen von Code-Repositories, internen Dokumenten, Wikis usw.
TLDR: Wenn Sie diese Lösung sofort verwenden möchten, gehen Sie zu GitHub und folgen Sie den dortigen Schritten, um die Lösung in Ihrem AWS-Konto mit Zugriff auf Amazon Bedrock oder SageMaker Jumpstart bereitzustellen. Sie sind in 1–2 Stunden bereit, diese Lösung zu verwenden. In diesem Blog habe ich hervorgehoben, wie diese Lösung mit AWS implementiert wird, aber die Lösung kann auch mit anderen semantischen Such- und LLM-API-Services implementiert werden. Wenn Sie daran interessiert sind, die Details dieser Lösung zu verstehen, lesen Sie bitte weiter.
Hochrangige Anforderungen an die Lösung:
Bevor wir uns mit den Einzelheiten der Implementierung befassen, sollten wir die typischen Anforderungen eines Unternehmensarchitekten/Unternehmenseigentümers an eine solche Lösung festlegen:
- Datenvielfalt: Meine Unternehmensdaten befinden sich in verschiedenen Repositories – Handbücher (PDF/Word), Confluence-Seiten, Salesforce, Sharepoint, Jira, Github, relationale Datenbanken, E‑Mail-Server, gemeinsame Dateisysteme usw. Die Lösung muss es mir ermöglichen, auf Wissen aus all diesen Quellen zuzugreifen und hilfreiche Antworten auf die Fragen der Benutzer zu geben.
- Agilität: Ich muss schnell einen POC erstellen, um seinen geschäftlichen Nutzen zu prüfen. Daher muss ich eine Möglichkeit haben, eine funktionierende Anwendung zu erstellen, vorzugsweise innerhalb weniger Stunden.
- Sicherheit: Es muss möglich sein, für diese Anwendung die gleichen Sicherheitskontrollen anzuwenden, wie ich sie in meinen anderen Unternehmensanwendungen habe, z. B. Verschlüsselung von Daten im Ruhezustand/bei der Übertragung, Identitätszugriffsmanagement, Schlüsselverwaltungssystem usw.
- Flexibilität bei der Wahl des LLM-Modells: Ich kann das beste LLM für den jeweiligen Anwendungsfall wählen. Es muss möglich sein, aus einer Vielzahl von LLM-Modellen – Open Source oder proprietär – zu wählen, so dass Sie Kosten/Leistung optimieren können.
- Verantwortungsvolles KI-System: Das System sollte ein verantwortungsbewusstes KI-System sein, das hilfreiche, harmlose (keine Toxizität, explizite Inhalte) und ehrliche Antworten gibt.
Drei Lösungskomponenten
Mit den oben genannten Anforderungen würde die Lösung auf 3 Komponenten basieren
1. Retrieval-Augmented Generation (RAG): Basierend auf dem Papier ist RAG ein Ansatz, der dem Sprachmodell hilft, unternehmensspezifisches Wissen zu verstehen und kontextbezogene Antworten auf die Fragen der Benutzer zu geben.
Sprachmodelle werden anhand großer Mengen von Textdaten trainiert, um zu lernen, wie man flüssigen Text erzeugt. Sie können jedoch nur das generieren, was sie in ihren Trainingsdaten gesehen haben. Mit Retrieval Augmented Generation soll diese Einschränkung überwunden werden. Es ermöglicht einem Sprachmodell, sein Wissen zu erweitern, indem es relevante Informationen aus einer großen Textdatenbank abruft. Das Sprachmodell kann dann diese abgerufenen Informationen nutzen, um Texte zu generieren, die mehr auf Wissen und Fakten basieren. Dieser Ansatz hilft dem Sprachmodell, kohärentere, sachlich konsistente und informative Texte zu generieren, indem es sein erlerntes Wissen mit abgerufenen Fakten erweitert.
In unserer Architektur kümmert sich die RAG um die Anforderung 5, hilfreiche, harmlose und ehrliche Antworten zu geben.
2. Amazon Kendra: Amazon Kendra ist ein KI-gestützter Unternehmenssuchdienst von Amazon. In dieser Lösung wird Kendra für Folgendes verwendet:
- Schnelle Integration von Unternehmenswissen: Amazon Kendra ermöglicht die Aufnahme von unstrukturierten Unternehmensdaten aus Datenquellen wie Wiki-Seiten, MS SharePoint-Sites, Atlassian Confluence und Dokumenten-Repositories wie Amazon S3. Es kann auch auf Daten aus Ihrer relationalen Datenbank (RDS) zugreifen. Es verfügt über 40+ Konnektoren zu verschiedenen Unternehmens-Repositories. So kann eine Vielzahl von Unternehmensdaten indiziert werden. Außerdem bietet sie AWS-Sicherheitskontrollen (Anforderung 1 und 3)
- Semantische Suche: Kendra nutzt maschinelles Lernen und die Verarbeitung natürlicher Sprache, um den Inhalt und die Absicht hinter Benutzeranfragen besser zu verstehen. Dadurch können relevantere Ergebnisse als bei der herkömmlichen schlagwortbasierten Suche erzielt werden. Wir werden die Retrieval-API von Kendra nutzen, um relevante Textpassagen (aus den in Kendra indizierten Unternehmensdokumenten) abzurufen und als Kontext an die an LLM gesendete Benutzeranfrage anzuhängen. Dieser Ansatz erleichtert die Retrieval Augmented Generation im Vergleich zur Verwendung von Vektordatenbanken mit Einbettungen. (Anforderung 2 und 5)
3. Amazon Bedrock/SageMaker Jumpstart: Amazon Bedrock ist ein vollständig verwalteter Service, der FMs von führenden KI-Startups und Amazon über eine API zur Verfügung stellt, sodass Sie aus einer breiten Palette von FMs das Modell auswählen können, das für Ihren Anwendungsfall am besten geeignet ist.
Mit der Serverless-Erfahrung von Bedrock können Sie schnell loslegen, FMs privat mit Ihren eigenen Daten anpassen und sie einfach in Ihre Anwendungen integrieren und bereitstellen, indem Sie die AWS-Tools und ‑Funktionen nutzen, mit denen Sie vertraut sind, ohne eine Infrastruktur verwalten zu müssen.
Wenn Sie ein Modell aus Hugging Face Model Hub verwenden möchten, können Sie direkt einen Endpunkt aus SageMaker Jumpstart bereitstellen und mit der Nutzung beginnen. Diese Komponente erfüllt unsere Anforderungen 3 und 4.
High Level Architecture
- Amazon Kendra ermöglicht die Aufnahme von unstrukturierten Unternehmensdaten aus Datenquellen wie Wiki-Seiten, MS SharePoint-Sites, Atlassian Confluence und Dokumenten-Repositories wie Amazon S3.
Sobald die Unternehmensdokumente in Kendra indiziert sind, sieht der Ablauf für die Benutzerabfrage in unserer GenAI-App wie folgt aus:
- Der Benutzer stellt eine Anfrage an die GenAI-App.
- Die App stellt auf der Grundlage der Benutzeranfrage eine Suchanfrage an den Amazon Kendra-Index.
- Der Index gibt Suchergebnisse mit Auszügen relevanter Dokumente aus den aufgenommenen Unternehmensdaten zurück.
- Die App sendet die Benutzeranfrage zusammen mit den aus dem Index abgerufenen Daten als Kontext an die LLM-Eingabeaufforderung.
- Der LLM gibt eine knappe Antwort auf die Benutzeranfrage auf der Grundlage der abgerufenen Daten zurück.
- Die Antwort des LLM wird an den Benutzer zurückgesendet. Die App stellt eine Suchanfrage an den Amazon Kendra-Index auf der Grundlage der Benutzeranfrage.
Demo der Lösung
Mit Hilfe der obigen Lösung habe ich öffentlich zugängliche Jahresabschlüsse verschiedener Banken in den Niederlanden integriert. Dieser Bot wird nun in der Lage sein, alle Fragen zu Fakten, Interpretationen und Vergleichen zu den Jahresabschlüssen dieser Banken zu beantworten.
Fazit
Mit dieser Architektur können Sie auch das am besten geeignete LLM für Ihren Anwendungsfall auswählen.
- Zu den LLM-Optionen gehören die AWS-Partner Hugging Face, AI21 Labs, Cohere und andere, die auf einem Amazon SageMaker-Endpunkt gehostet werden, sowie Modelle von Unternehmen wie Anthropic und OpenAI.
- Mit Amazon Bedrock können Sie Amazon Titan, Amazons eigenes LLM oder Partner-LLMs wie die von AI21 Labs und Anthropic mit APIs sicher auswählen, ohne dass Ihre Daten das AWS-Ökosystem verlassen müssen.
Auch mit Amazon Kendra können Sie eine Vielzahl Ihrer Unternehmensdaten schnell in LLM integrieren und die Implementierung von Retrieval Augmented Generation wird ganz einfach und Sie können die gesamte Lösung in wenigen Stunden durchgängig implementieren.
Quelle: medium.com