Dokumentieren Sie institutionelles Wissen anhand von Spracheingaben mithilfe von Amazon Bedrock und Amazon Transcribe - AWS Prescriptive Guidance

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Dokumentieren Sie institutionelles Wissen anhand von Spracheingaben mithilfe von Amazon Bedrock und Amazon Transcribe

Erstellt von Praveen Kumar Jeyarajan (AWS), Jundong Qiao (AWS), Megan Wu (AWS) und Rajiv Upadhyay (AWS)

Code-Repository: genai-knowledge-capture

Umgebung: PoC oder Pilotprojekt

Technologien: Maschinelles Lernen und KI; Unternehmensproduktivität; CloudNative

AWS-Services: Amazon Bedrock; AWS CDK; AWS Lambda; Amazon SNS; AWS Step Functions; Amazon Transcribe

Übersicht

Die Erfassung von institutionellem Wissen ist für den Erfolg und die Widerstandsfähigkeit von Unternehmen von größter Bedeutung. Institutionelles Wissen steht für das kollektive Wissen, die Erkenntnisse und die Erfahrungen, die Mitarbeiter im Laufe der Zeit gesammelt haben. Diese sind oft stillschweigend und werden informell weitergegeben. Diese Fülle an Informationen umfasst einzigartige Ansätze, bewährte Verfahren und Lösungen für komplizierte Probleme, die möglicherweise an anderer Stelle nicht dokumentiert sind. Durch die Formalisierung und Dokumentation dieses Wissens können Unternehmen das institutionelle Gedächtnis bewahren, Innovationen fördern, Entscheidungsprozesse verbessern und die Lernkurven neuer Mitarbeiter beschleunigen. Darüber hinaus fördert es die Zusammenarbeit, befähigt Einzelpersonen und fördert eine Kultur der kontinuierlichen Verbesserung. Letztlich hilft die Nutzung von institutionellem Wissen Unternehmen dabei, ihr wertvollstes Kapital — die kollektive Intelligenz ihrer Belegschaft — zu nutzen, um Herausforderungen zu bewältigen, Wachstum voranzutreiben und Wettbewerbsvorteile in dynamischen Geschäftsumgebungen zu wahren.

Dieses Muster erklärt, wie institutionelles Wissen mithilfe von Sprachaufzeichnungen von leitenden Mitarbeitern erfasst werden kann. Es verwendet Amazon Transcribe und Amazon Bedrock für die systematische Dokumentation und Überprüfung. Indem Sie dieses informelle Wissen dokumentieren, können Sie es bewahren und an nachfolgende Mitarbeiterkohorten weitergeben. Dieses Bestreben unterstützt betriebliche Exzellenz und verbessert die Effektivität von Schulungsprogrammen durch die Einbeziehung von praktischem Wissen, das durch direkte Erfahrung erworben wurde.

Voraussetzungen und Einschränkungen

Voraussetzungen

Einschränkungen

  • Diese Lösung wird auf einem einzigen AWS-Konto bereitgestellt.

  • Diese Lösung kann nur in AWS-Regionen eingesetzt werden, in denen Amazon Bedrock und Amazon Transcribe verfügbar sind. Informationen zur Verfügbarkeit finden Sie in der Dokumentation für Amazon Bedrock und Amazon Transcribe.

  • Die Audiodateien müssen in einem Format vorliegen, das Amazon Transcribe unterstützt. Eine Liste der unterstützten Formate finden Sie unter Medienformate in der Transcribe-Dokumentation.

Produktversionen

  • AWS-SDK SDK for Python (Boto3) Version 1.34.57 oder höher

  • LangChain Version 0.1.12 oder höher

Architektur

Die Architektur stellt einen serverlosen Workflow auf AWS dar. AWS Step Functions orchestriert Lambda-Funktionen für die Audioverarbeitung, Textanalyse und Dokumentgenerierung. Das folgende Diagramm zeigt den Step Functions Functions-Workflow, der auch als Zustandsmaschine bezeichnet wird.

Architekturdiagramm der Step Functions Functions-Zustandsmaschine, die ein Dokument generiert

Jeder Schritt in der Zustandsmaschine wird von einer eigenen Lambda-Funktion behandelt. Im Folgenden sind die Schritte im Prozess der Dokumentgenerierung aufgeführt:

  1. Die preprocess Lambda-Funktion validiert die an Step Functions übergebenen Eingaben und listet alle Audiodateien auf, die im angegebenen Amazon S3 S3-URI-Ordnerpfad vorhanden sind. Downstream-Lambda-Funktionen im Workflow verwenden die Dateiliste, um das Dokument zu validieren, zusammenzufassen und zu generieren.

  2. Die transcribe Lambda-Funktion verwendet Amazon Transcribe, um Audiodateien in Texttranskripte umzuwandeln. Diese Lambda-Funktion ist dafür verantwortlich, den Transkriptionsprozess einzuleiten und Sprache präzise in Text umzuwandeln, der dann für die nachfolgende Verarbeitung gespeichert wird.

  3. Die validate Lambda-Funktion analysiert die Texttranskripte und bestimmt die Relevanz der Antworten auf die ersten Fragen. Durch die Verwendung eines großen Sprachmodells (LLM) über Amazon Bedrock werden themenbezogene Antworten identifiziert und von themenfremden Antworten getrennt.

  4. Die summarize Lambda-Funktion verwendet Amazon Bedrock, um eine kohärente und präzise Zusammenfassung der themenbezogenen Antworten zu erstellen.

  5. Die generate Lambda-Funktion fasst die Zusammenfassungen zu einem gut strukturierten Dokument zusammen. Es kann das Dokument gemäß vordefinierten Vorlagen formatieren und alle zusätzlichen erforderlichen Inhalte oder Daten enthalten.

  6. Wenn eine der Lambda-Funktionen ausfällt, erhalten Sie eine E-Mail-Benachrichtigung über Amazon Simple Notification Service (Amazon SNS).

Während dieses Prozesses stellt AWS Step Functions sicher, dass jede Lambda-Funktion in der richtigen Reihenfolge initiiert wird. Diese Zustandsmaschine kann parallel verarbeitet werden, um die Effizienz zu erhöhen. Ein Amazon S3 S3-Bucket fungiert als zentrales Speicher-Repository und unterstützt den Arbeitsablauf durch die Verwaltung der verschiedenen beteiligten Medien- und Dokumentenformate.

Tools

AWS-Services

  • Amazon Bedrock ist ein vollständig verwalteter Service, der Ihnen leistungsstarke Foundation-Modelle (FMs) von führenden KI-Startups und Amazon über eine einheitliche API zur Verfügung stellt.

  • AWS Lambda ist ein Rechenservice, mit dem Sie Code ausführen können, ohne Server bereitstellen oder verwalten zu müssen. Er führt Ihren Code nur bei Bedarf aus und skaliert automatisch, sodass Sie nur für die tatsächlich genutzte Rechenzeit zahlen.

  • Amazon Simple Notification Service (Amazon SNS) unterstützt Sie bei der Koordination und Verwaltung des Nachrichtenaustauschs zwischen Herausgebern und Kunden, einschließlich Webservern und E-Mail-Adressen.

  • Amazon Simple Storage Service (Amazon S3) ist ein cloudbasierter Objektspeicherservice, der Sie beim Speichern, Schützen und Abrufen beliebiger Datenmengen unterstützt.

  • AWS Step Functions ist ein serverloser Orchestrierungsservice, mit dem Sie AWS Lambda Lambda-Funktionen und andere AWS-Services kombinieren können, um geschäftskritische Anwendungen zu erstellen.  

  • Amazon Transcribe ist ein automatischer Spracherkennungsdienst, der Modelle für maschinelles Lernen verwendet, um Audio in Text umzuwandeln.

Andere Tools

  • LangChainist ein Framework für die Entwicklung von Anwendungen, die auf Large Language Models (LLMs) basieren.

Code-Repository

Der Code für dieses Muster ist im GitHub genai-knowledge-captureRepository verfügbar.

Das Code-Repository enthält die folgenden Dateien und Ordner:

  • assetsOrdner — Die statischen Ressourcen für die Lösung, z. B. das Architekturdiagramm und der öffentliche Datensatz

  • code/lambdasfolder — Der Python-Code für alle Lambda-Funktionen

    • code/lambdas/generatefolder — Der Python-Code, der aus den zusammengefassten Daten im S3-Bucket ein Dokument generiert

    • code/lambdas/preprocessfolder — Der Python-Code, der die Eingaben für die Step Functions Functions-Zustandsmaschine verarbeitet

    • code/lambdas/summarizefolder — Der Python-Code, der die transkribierten Daten mithilfe des Amazon Bedrock-Service zusammenfasst

    • code/lambdas/transcribefolder — Der Python-Code, der Sprachdaten (Audiodatei) mithilfe von Amazon Transcribe in Text konvertiert

    • code/lambdas/validatefolder — Der Python-Code, der überprüft, ob sich alle Antworten auf dasselbe Thema beziehen

  • code/code_stack.py— Die AWS-CDK-Konstrukt-Python-Datei, die zur Erstellung von AWS-Ressourcen verwendet wird

  • app.py— Die Python-Datei der AWS-CDK-App, die zur Bereitstellung von AWS-Ressourcen im AWS-Zielkonto verwendet wird

  • requirements.txt— Die Liste aller Python-Abhängigkeiten, die für das AWS-CDK installiert werden müssen

  • cdk.json— Die Eingabedatei zur Bereitstellung von Werten, die für die Erstellung von Ressourcen erforderlich sind

Bewährte Methoden

Das bereitgestellte Codebeispiel dient nur proof-of-concept (PoC) oder Pilotzwecken. Wenn Sie die Lösung in der Produktion einsetzen möchten, wenden Sie die folgenden bewährten Methoden an:

Epen

AufgabeBeschreibungErforderliche Fähigkeiten

Exportieren Sie Variablen für das Konto und die AWS-Region.

Führen Sie die folgenden Befehle aus, um AWS-Anmeldeinformationen für das AWS-CDK mithilfe von Umgebungsvariablen bereitzustellen.

export CDK_DEFAULT_ACCOUNT=<12-digit AWS account number> export CDK_DEFAULT_REGION=<Region>
AWS DevOps, DevOps Ingenieur

Richten Sie das AWS-CLI mit dem Namen profile ein.

Um das benannte AWS-CLI-Profil für das Konto einzurichten, folgen Sie den Anweisungen unter Konfiguration und Einstellungen der Anmeldeinformationsdatei.

AWS DevOps, DevOps Ingenieur
AufgabeBeschreibungErforderliche Fähigkeiten

Klonen Sie das Repo auf Ihre lokale Workstation.

Um das genai-knowledge-captureRepository zu klonen, führen Sie den folgenden Befehl in Ihrem Terminal aus.

git clone https://github.com/aws-samples/genai-knowledge-capture
AWS DevOps, DevOps Ingenieur

(Optional) Ersetzen Sie die Audiodateien.

Gehen Sie wie folgt vor, um die Beispielanwendung so anzupassen, dass sie Ihre eigenen Daten einbezieht:

  1. Navigieren Sie zu dem assets/audio_samples Ordner im geklonten Repository.

  2. Löschen Sie die Ordner, die die Beispiel-Audiodateien enthalten.

  3. Erstellen Sie einen Ordner für jedes Thema, das Sie analysieren möchten.

  4. Übertragen Sie Ihre Audiodateien in die entsprechenden Ordner.

AWS DevOps, DevOps Ingenieur

Richten Sie die virtuelle Python-Umgebung ein.

Führen Sie die folgenden Befehle aus, um die virtuelle Python-Umgebung einzurichten.

cd genai-knowledge-capture python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt
AWS DevOps, DevOps Ingenieur

Synthetisieren Sie den AWS-CDK-Code.

Führen Sie den folgenden Befehl aus, um den Code in eine CloudFormation AWS-Stack-Konfiguration zu konvertieren.

cdk synth
AWS DevOps, DevOps Ingenieur
AufgabeBeschreibungErforderliche Fähigkeiten

Stellen Sie den Zugriff auf das Basismodell bereit.

Aktivieren Sie den Zugriff auf das Modell Anthropic Claude 3 Sonnet für Ihr AWS-Konto. Anweisungen finden Sie in der Bedrock-Dokumentation unter Modellzugriff hinzufügen.

AWS DevOps

Stellen Sie Ressourcen im Konto bereit.

Gehen Sie wie folgt vor, um Ressourcen im AWS-Konto mithilfe des AWS-CDK bereitzustellen:

  1. (Optional) Aktualisieren Sie im Stammverzeichnis des geklonten Repositorys in der app.py Datei den CloudFormation AWS-Stack-Namen. Der Standard-Stack-Name lautetgenai-knowledge-capture-stack.

  2. Führen Sie den Befehl aus, um Ressourcen bereitzustellencdk deploy.

    Der cdk deploy Befehl verwendet Layer-3-Konstrukte, um eine Reihe von Lambda-Funktionen, einen S3-Bucket, ein Amazon SNS SNS-Thema und eine Step Functions Functions-Zustandsmaschine zu erstellen. Die Audiodateien im assets/audio_samples Ordner werden während der Bereitstellung in den S3-Bucket kopiert.

  3. Melden Sie sich bei der AWS-Managementkonsole an und öffnen Sie dann die CloudFormation Konsole unter https://console.aws.amazon.com/cloudformation/.

  4. Vergewissern Sie sich, dass der Stack erfolgreich bereitgestellt wurde. Anweisungen finden Sie unter Überprüfen Ihres Stacks auf der CloudFormation AWS-Konsole.

AWS DevOps, DevOps Ingenieur

Abonnieren Sie das Amazon-SNS-Thema.

Gehen Sie wie folgt vor, um das Amazon SNS SNS-Thema für Benachrichtigungen zu abonnieren:

  1. Wählen Sie in der CloudFormation Konsole im Navigationsbereich Stacks aus.

  2. Wählen Sie den genai-knowledge-capture-stack Stapel aus.

  3. Wählen Sie die Registerkarte Outputs.

  4. Suchen Sie den Namen des Amazon SNS SNS-Themas mit dem SchlüsselSNSTopicName.

  5. Konfigurieren Sie eine E-Mail-Adresse für den Empfang von Benachrichtigungen, indem Sie den Anweisungen unter Abonnieren einer E-Mail-Adresse für ein Amazon SNS SNS-Thema folgen.

Allgemeines AWS
AufgabeBeschreibungErforderliche Fähigkeiten

Führen Sie die Zustandsmaschine aus.

  1. Öffnen Sie die Step Functions Functions-Konsole.

  2. Wählen Sie auf der Seite State Machines die Option genai-knowledge-capture-stack-state-machine aus.

  3. Wählen Sie Start execution (Ausführung starten) aus.

  4. (Optional) Geben Sie im Feld Name einen Namen für die Ausführung ein.

  5. Geben Sie im Eingabebereich das folgende JSON-Objekt ein, indem Sie den Platzhaltertext ersetzen. Dabei gilt:

    • <Name>ist der Name, den Sie dem Dokument geben möchten.

    • <S3 bucket name>ist der Name des Amazon S3 S3-Buckets, der die Audiodateien enthält.

    • <Folder path>ist das Verzeichnis, das die Audiodateien enthält.

    {   "documentName": "<Name>",   "audioFileFolderUri": "s3://<S3 bucket name>/<Folder path>" }
  6. Wählen Sie Start Execution aus.

  7. Überprüfen Sie auf der Seite mit den Ausführungsdetails die Ergebnisse und warten Sie, bis die Ausführung abgeschlossen ist.

App-Entwickler, General AWS
AufgabeBeschreibungErforderliche Fähigkeiten

Entfernen Sie die AWS-Ressourcen.

Nachdem Sie die Lösung getestet haben, bereinigen Sie die Ressourcen:

  1. Löschen Sie alle Objekte aus dem S3-Bucket und anschließend den Bucket. Weitere Informationen finden Sie unter Löschen eines Buckets.

  2. Führen Sie im geklonten Repository den Befehl cdk destroy aus.

AWS DevOps, DevOps Ingenieur

Zugehörige Ressourcen

AWS-Dokumentation

Sonstige Ressourcen