Direkt zum Inhalt

Amazon Bedrock: Ein kompletter Leitfaden zur Erstellung von KI-Anwendungen

Entdecke, wie du mit Amazon Bedrock generative KI-Anwendungen erstellen kannst. Diese Schritt-für-Schritt-Anleitung führt dich durch die Funktionen, die Einrichtung und die Optimierungstechniken.
Aktualisierte 31. Jan. 2025  · 30 Min. Lesezeit

Generative KI hat sich zum Disruptor in allen Sektoren entwickelt und treibt den Fortschritt in der Verarbeitung natürlicher Sprache, der Computer Vision und vielen anderen Bereichen voran. Die Nutzung dieses Potenzials ist jedoch oft mit Herausforderungen wie Kosten, komplexer Infrastruktur und steilen Lernkurven verbunden. Hier kommt AWS Bedrock ins Spiel - diese Lösung hilft, die Blockade zu lösen, indem sie es dir ermöglicht, Basismodelle zu nutzen, ohne die Infrastruktur verwalten zu müssen.

Dieses Tutorial soll dein vollständiger Leitfaden für Amazon Bedrock sein. Es beschreibt, was es ist, wie es funktioniert und wie du es nutzen kannst. Am Ende dieses Leitfadens hast du die Informationen und Fähigkeiten, die du brauchst, um deine eigenen generativen KI-Anwendungen zu entwickeln - skalierbar, flexibel und auf deine Ziele ausgerichtet.

Was ist Amazon Bedrock?

Amazon Bedrock ist ein verwalteter AWS-Service für den Zugriff auf und die Verwaltung von Foundation Models (FMs), den Grundbausteinen der generativen KI von Amazon Web Services (AWS). Bedrock macht alles so einfach, dass du dich nicht um die Bereitstellung von GPUs, die Konfiguration von Modellpipelines oder die Verwaltung anderer Infrastrukturen kümmern musst.

AWS Bedrock ist ein Tor zur Innovation. Es ist eine einheitliche Plattform, die es Entwicklern ermöglicht, modernste KI-Modelle von führenden Anbietern wie Anthropic, Stability AI und Amazon's Titan zu erforschen, zu testen und einzusetzen.

Stell dir zum Beispiel vor, du entwickelst einen Chatbot für den Kundensupport. Mit AWS Bedrock kannst du ein ausgeklügeltes Sprachmodell auswählen, es auf die Bedürfnisse deiner Anwendung abstimmen und in deine Anwendung einbetten, ohne jemals eine Serverkonfiguration in Code schreiben zu müssen.

Merkmale von AWS Bedrock

Die Funktionen von AWS Bedrock wurden entwickelt, um den Weg vom KI-Konzept zur Produktion zu vereinfachen und zu beschleunigen. Wir wollen sie im Detail aufschlüsseln.

Zugang zu mehreren Gründungsmodellen

Einer der wichtigsten Vorteile von AWS Bedrock ist die Vielfalt der verfügbaren Gründungsmodelle. Egal, ob du an Textanwendungen, visuellen Inhalten oder sicherer und interpretierbarer KI arbeitest, Bedrock hat dich im Griff. Hier sind einige der verfügbaren Modelle:

  • Amazon Modelle: Diese proprietären Modelle können für Aufgaben wie die Erstellung von menschenähnlichem Text für Chatbots oder Anwendungen zur Inhaltserstellung, die Reduzierung der Länge von Dokumenten auf das Wesentliche oder die Interpretation der Stimmung von Kundenfeedback verwendet werden.
  • Anthropische Modelle: Diese Modelle konzentrieren sich auf die Entwicklung guter, sicherer künstlicher Intelligenz und eignen sich am besten für Branchen, die Compliance und Vertrauen erfordern, wie Banken oder das Gesundheitswesen.
  • Stabilität AI: Stabilitäts-KI-Modelle sind bekannt für ihre Bilderzeugung. Sie helfen dabei, Ideen in Bilder für Marketing, Kunst oder Produktentwicklung umzusetzen.

Diagramm von Amazon Bedrock, das die Verbindung zu Amazon Models, Anthropic, Stability AI und anderen Anbietern herstellt und seine Rolle als Drehscheibe für generative KI-Dienste verdeutlicht.

Überblick über Amazon Bedrock mit Schwerpunkt auf der Integration mit Modellen.

Kein Infrastrukturmanagement

AWS Bedrock abstrahiert das Infrastrukturmanagement, was bedeutet:

  • Du musst keine GPU-Instanzen bereitstellen.
  • Du kannst dich ganz auf die Entwicklung von Anwendungen mit einer serverlosen Architektur konzentrieren.
  • Die einfache Handhabung reduziert die Einrichtungszeit erheblich, oft von Wochen auf Stunden.

Skalierbarkeit und Flexibilität

Generative KI-Anwendungen haben in der Regel einen unvorhersehbaren Bedarf. Ein Chatbot kann zu Stoßzeiten Hunderten von Nutzern antworten und nachts nur einigen wenigen. Aber AWS Bedrock löst dieses Problem mit seiner eingebauten Skalierbarkeit:

  • Automatische Skalierung: Das bedeutet, dass sich die Modelle automatisch anpassen können, um Lastspitzen zu bewältigen, ohne dass du manuell eingreifen musst.
  • Parallele Arbeitsbelastungen: Du kannst mehrere Modelle gleichzeitig für verschiedene Anwendungsfälle innerhalb einer einzigen Anwendung ausführen.
  • Globale Verfügbarkeit: Mit dem globalen Netzwerk von AWS kannst du deine Anwendungen näher an deinen Nutzern bereitstellen, die Latenzzeit verkürzen und die Nutzererfahrung verbessern.

Integration in das AWS-Ökosystem

AWS Bedrock bietet nicht nur leistungsstarke Modelle, sondern lässt sich auch in andere AWS-Services integrieren, um durchgängige KI-Workflows zu unterstützen. Einige Integrationen umfassen:

  • Amazon SageMaker: Ermöglicht die Feinabstimmung von Gründungsmodellen, um bestimmte Anforderungen zu erfüllen.
  • AWS Lambda: Erleichtert ereignisgesteuerte KI-Anwendungen, wie z. B. das Auslösen eines Modells zur Feinabstimmung neuer Daten oder zur Überprüfung der Inferenzergebnisse.
  • Amazon CloudWatch: Bietet Überwachungs- und Protokollierungsfunktionen zur Analyse der Modellleistung und zum Sammeln von Nutzerfeedback.
  • Amazon S3: Dient als Speicherlösung für Datensätze und ermöglicht eine Leistungsverfolgung und Kostenanalyse.

Einrichten von AWS Bedrock

Dieser Abschnitt führt dich durch die Einrichtung der erforderlichen Berechtigungen, die Erstellung eines AWS-Kontos und die ersten Schritte mit AWS Bedrock.

Schritt 1: Erstellen eines AWS-Kontos (falls noch nicht geschehen)

Wenn du noch kein Konto hast, kannst du dich auf der AWS-Anmeldeseite anmelden und ein Konto erstellen. Bei bestehenden Benutzern musst du sicherstellen, dass dein IAM-Benutzer über Administratorrechte verfügt.

AWS-Anmeldeseite mit einem Formular zur Eingabe der E-Mail-Adresse des Stammbenutzers und des AWS-Kontonamens.

Die AWS-Anmeldeseite, auf der du die Free Tier-Produkte für neue Konten erkunden kannst.

Wenn du nach detaillierten Schritten suchst, besuche bitte die offizielle AWS-Anleitung.

Schritt 2: Navigieren zu AWS Bedrock

Amazon Bedrock ist über die AWS Management Console zugänglich. Folge diesen Schritten, um sie zu finden und zu benutzen:

  • Melde dich bei der AWS Management Consolean: Navigiere zur AWS-Konsole und gib deine Anmeldedaten ein.
  • Suche nach Bedrock: Verwende die Suchleiste oben in der Konsole. Gib "Bedrock" ein und wähle es aus dem Dropdown-Menü.

Screenshot der Suchergebnisse der AWS Management Console für "Bedrock", der Amazon Bedrock als Service für den Aufbau generativer KI-Anwendungen, Amazon SageMaker für Daten- und KI-Analysen und eine hervorgehobene Einführung in die Ressourcensuche mit regionsübergreifenden Funktionen anzeigt

AWS Management Console Suchergebnisse für Bedrock.

  • Erkunde das Bedrock Dashboard: Auf dem Bedrock Dashboard siehst du Optionen zur Auswahl von Modellanbietern und Gründungsmodellen.

Screenshot der Amazon Bedrock Providers Seite mit den drei Serverless Model Providern: Amazon, Anthropic und Meta

Amazon Bedrock Providers Seite, die die Serverless-Modelle von Amazon vorstellt.

  • Wähle einen Modellanbieter und ein Gründungsmodell:
    • Wähle einen Anbieter für deinen Anwendungsfall (z. B. Amazon Titan für die Texterstellung, Stability AI für Bilder usw.).
    • Erkunde modellspezifische Optionen wie Eingabetypen, unterstützte Funktionen und Ausgabeparameter.
  • Führe einen Testschluss aus: Mit AWS Bedrock kannst du direkt von der Konsole aus Beispielableitungen durchführen. Das ist eine gute Möglichkeit, ein Gefühl dafür zu bekommen, wie jedes Modell funktioniert, bevor du es in deine Anwendung integrierst.

Screenshot des Amazon Bedrock Chat/Text Playground mit dem Modell Claude 3 Opus. Die Benutzeroberfläche enthält Optionen, um eine Aufforderung einzugeben, Antworten auszuführen und verschiedene Modelle zu vergleichen. Auf der linken Seite findest du Optionen wie "Erste Schritte", "Gründungsmodelle", "Spielplätze", "Erstellungswerkzeuge" und "Schutzmaßnahmen".

Amazon Bedrock Chat/Text Playground Schnittstelle.

Schritt 3: Einrichten von IAM-Berechtigungen

Das AWS Identitäts- und Zugriffsmanagement (IAM) ist entscheidend für den sicheren Zugriff auf AWS Bedrock. Befolge diese Schritte, um die Berechtigungen zu konfigurieren:

  • Navigieren Sie in der AWS Management Console zum IAM Service.
  • Klick Rollen in der Seitenleiste und wähle Richtlinie erstellen.
  • In Lege die Berechtigungen fest, wähle "JSON".

Screenshot des AWS IAM-Richtlinieneditors im JSON-Modus. Er zeigt eine teilweise konfigurierte Richtlinie mit einer leeren Liste für "Aktionen" und "Ressourcen". Die linke Seitenleiste zeigt einen zweistufigen Prozess an: "Berechtigungen festlegen" und "Überprüfen und erstellen". Das rechte Feld bietet Optionen zum Hinzufügen von Aktionen, Filtern von Services und Entfernen von Anweisungen.

AWS IAM Policy Editor im JSON-Modus

  • Füge die folgende Richtlinie in das Textfeld ein:
{
    "Version": "2012-10-17",
    "Statement": [        {
            "Sid": "BedrockFullAccess",
            "Effect": "Allow",
            "Action": ["bedrock:*"],
            "Resource": "*"
        }
    ]
}

Hinweis: Die obige Richtlinie kann an jede Rolle angehängt werden, die auf den Amazon Bedrock Service zugreifen muss. Das kann SageMaker oder ein Benutzer sein. Wenn du Amazon SageMaker verwendest, ist die Ausführungsrolle für dein Notebook in der Regel ein anderer Benutzer oder eine andere Rolle als die, die du für die Anmeldung an der AWS Management Console verwendest. Um herauszufinden, wie du den Amazon Bedrock Service mit der AWS Console erkunden kannst, stelle sicher, dass du deinen Console-Benutzer oder deine Rolle autorisierst. Du kannst die Notebooks von jeder Umgebung aus ausführen, die Zugriff auf den AWS Bedrock Service und gültige Anmeldedaten hat.

Amazon Bedrock für generative KI-Anwendungen nutzen

Generative KI-Anwendungen basieren auf Grundmodellen, die auf eine bestimmte Aufgabe abgestimmt sind, wie z.B. Texterstellung, Bilderzeugung oder Datentransformation. Im Folgenden findest du eine Schritt-für-Schritt-Anleitung, wie du ein Basismodell auswählst, grundlegende Schlussfolgerungen ziehst und die Antworten des Modells an deine Bedürfnisse anpasst.

Auswahl eines Gründungsmodells

Die Wahl des richtigen Gründungsmodells ist wichtig, denn sie hängt davon ab, was dein Projekt braucht. Hier erfährst du, wie du eine Auswahl treffen kannst:

1. Identifiziere deinen Anwendungsfall:

  • Textgenerierung: Für Aufgaben wie Zusammenfassungen, die Erstellung von Inhalten oder die Entwicklung von Chatbots eignen sich Modelle wie:
    • Amazon Titan Text G1: Dieses Modell erzeugt qualitativ hochwertige Texte mit einem guten Verständnis für den Kontext.
    • Anthropic Claude 3: Dieses Modell ist sehr gut darin, Texte zu produzieren, die kohärent und kontextbezogen sind, und eignet sich daher für KI-Konversationsanwendungen.
  • Bilderzeugung: Wenn es bei deinem Projekt um die Erstellung von Bildern oder anderen visuellen Inhalten geht, dann sind die Stability AI-Modelle genau das Richtige:
    • Stable Diffusion 3.5 Large: Dieses Modell ist sehr gut darin, Bilder aus Textbeschreibungen zu erzeugen, egal ob fotorealistisch oder künstlerisch.
  • Multimodale Aufgaben: Für Anwendungen, die sowohl Text- als auch Bildverarbeitung benötigen, werden die Amazon Nova Modelle empfohlen:
    • Nova Lite: Ein kostensensitives multimodales Modell, das Text-, Bild- und Videoeingaben verarbeiten kann und Text ausgibt.
    • Nova Pro: Ein kompetentes multimodales Modell für komplexere Aufgaben.

2. Beurteile die Fähigkeiten des Modells:

  • Überprüfe die spezifischen Stärken jedes Modells, um sicherzustellen, dass es auf die Bedürfnisse deines Projekts abgestimmt ist. Ausführliche Informationen zu den unterstützten Gründungsmodellen, einschließlich ihrer Fähigkeiten und unterstützten Regionen, findest du in der AWS-Dokumentation.

Zugang zum Modell ermöglichen

Bevor du diese Modelle nutzen kannst, musst du den Modellzugriff in deinem AWS-Konto aktivieren. Hier sind die Schritte, um es einzurichten:

  • Navigieren Sie in der Bedrock-Konsole zu Modelle zugreifen.
  • In der Konsole klickst du auf Modellzugang modifizieren.
  • Durchstöbere die verfügbaren Modelle der Anbieter und wähle dasjenige aus, das dir gefällt. In diesem Fall habe ich Titan Text G1-Express ausgewählt.

Screenshot der Amazon Bedrock Seite "Modellzugriff bearbeiten", die eine Liste der Amazon Titan Modelle mit ihrem Zugriffsstatus zeigt. Einige Modelle haben den Status "Zugriff gewährt", andere sind "Zur Anfrage verfügbar". Die Benutzeroberfläche enthält Optionen, um Modelle zu filtern, Abschnitte zu erweitern oder zu reduzieren und Modelle nach Anbieter zu gruppieren. Der linke Bereich zeigt einen zweistufigen Prozess: "Modellzugang bearbeiten" und "Überprüfen und einreichen".

Amazon Bedrock Model Access Management Seite.

  • Klicke auf Nächsteund klicke dann auf Überprüfen und abschicken.

Grundlegende Schlussfolgerungen ziehen

Um ein ausgewähltes Gründungsmodell in AWS Bedrock zu verwenden, befolge diese Schritte:

  • Richte das AWS SDK für Python (boto3) ein:
pip install boto3
  • Initialisiere den Bedrock-Client: Erstelle einen Bedrock-Laufzeit-Client in der AWS-Region deiner Wahl:
import boto3
import json
from botocore.exceptions import ClientError

# Set the AWS Region
region = "us-east-1"

# Initialize the Bedrock Runtime client
client = boto3.client("bedrock-runtime", region_name=region)
  • Rufe das Modell auf: Lege die Modell-ID und die Eingabeaufforderung fest:
# Define the model ID for Amazon Titan Express v1
model_id = "amazon.titan-text-express-v1"

# Define the input prompt
prompt = """
Command: Compose an email from Tom, Customer Service Manager, to the customer "Nancy" 
who provided negative feedback on the service provided by our customer support 
Engineer"""
  • Formatiere die Nutzdaten der Anfrage:
# Configure inference parameters
inference_parameters = {
   "inputText": prompt,
   "textGenerationConfig": {
       "maxTokenCount": 512,  # Limit the response length
       "temperature": 0.5,    # Control the randomness of the output
   },
}

# Convert the request payload to JSON
request_payload = json.dumps(inference_parameters)
  • Verarbeite die Antwort:
try:
   # Invoke the model
   response = client.invoke_model(
       modelId=model_id,
       body=request_payload,
       contentType="application/json",
       accept="application/json"
   )

   # Decode the response body
   response_body = json.loads(response["body"].read())

   # Extract and print the generated text
   generated_text = response_body["results"][0]["outputText"]
   print("Generated Text:\n", generated_text)

except ClientError as e:
   print(f"ClientError: {e.response['Error']['Message']}")
except Exception as e:
   print(f"An error occurred: {e}")

Hinweis: Du kannst den kompletten Code direkt von der GitHub Gist.

Du kannst die folgende Ausgabe erwarten:

% python3 main.py

Generated Text:
 
Tom:
Nancy,

I am writing to express my sincere apologies for the negative experience you had with our customer support engineer. It is unacceptable that we did not meet your expectations, and I want to assure you that we are taking steps to prevent this from happening in the future.

Sincerely,
Tom
Customer Service Manager

Anpassen der Modellausgaben

Um das Verhalten der Modellausgabe fein abzustimmen, kannst du Parameter wie temperature und maxTokenCount anpassen:

  • temperature: Dieser Parameter steuert die Zufälligkeit der Ausgabe. Niedrigere Werte erhöhen die Bestimmtheit des Outputs und höhere Werte erhöhen die Variabilität.
  • MaxTokenCount: Legt die maximale Länge der erzeugten Ausgabe fest.

Zum Beispiel:

inference_parameters = {
   "inputText": prompt,
   "textGenerationConfig": {
       "maxTokenCount": 256,  # Limit the response length
       "temperature": 0.7,    # Control the randomness of the output
   },
}

Indem du diese Parameter anpasst, kannst du die Kreativität und Länge der generierten Inhalte besser an die Bedürfnisse deiner Anwendung anpassen.

Erweiterte Amazon Bedrock Funktionen

Schalten wir einen Gang höher und konzentrieren uns auf zwei fortschrittliche Ansätze: die Verbesserung der KI durch Retrieval-Augmented Generation (RAG) und die Verwaltung und Bereitstellung von Modellen in großem Maßstab.

Anpassen von KI-Ausgaben mit Retrieval-Augmented Generation (RAG)

Die RAG verlangt, dass wir eine Wissensbasis haben. Bevor du die Wissensdatenbank in Amazon Bedrock einrichtest, musst du einen S3-Bucket erstellen und die erforderlichen Dateien hochladen. Befolge diese Schritte:

Schritt 1: Einen S3 Bucket erstellen

  • Melde dich bei der AWS Management Console an:
    • Gehen Sie zum S3-Dienst in der AWS Management Console.
  • Einen neuen Eimer erstellen:
    • Klicke auf Eimer erstellen.
    • Gib einen eindeutigen Eimernamen ein.
    • Belasse die Standardeinstellungen, es sei denn, du hast besondere Sicherheits- oder Verschlüsselungsanforderungen.
  • Konfiguriere die Bucket-Einstellungen:
    • Vergewissere dich, dass der öffentliche Zugang gesperrt ist, sofern du ihn nicht benötigst.
    • (Optional) Aktiviere die Versionsverwaltung, wenn du Versionen deiner Dateien behalten willst.
  • Erstelle den Eimer:
    • Klicke auf Eimer erstellen um die Einrichtung abzuschließen.

Schritt 2: Dateien in den S3-Bucket hochladen

  • Download der Datei:
    • Der GitHub-Link enthält eine Beispiel-PDF-Datei mit Musterdaten: octank_financial_10K.pdf. Du kannst auch eine andere Datei verwenden, wenn du möchtest.
    • Speichere sie lokal auf deinem Computer.
  • Lade die Datei auf S3 hoch:
    • Öffne den neu erstellten S3-Bucket in der AWS-Konsole.
    • Klicke auf Hochladen und wähle die Datei octank_financial_10K.pdf aus.
    • Überprüfe und lege die Berechtigungen fest (Standard: privat).
    • Klicke auf Hochladen um die Datei zum Bucket hinzuzufügen.

Screenshot eines Amazon S3-Buckets mit dem Namen "amazon-bedrock-099", der die Registerkarte "Objekte" mit einer einzelnen PDF-Datei namens "octank_financial_10K.pdf" anzeigt.

Amazon S3 Bucket View für "amazon-bedrock-099".

Mit Amazon Bedrock kannst du eine Wissensdatenbank erstellen, die auf Vektordatenbanken basiert. Die folgenden Schritte führen dich durch das Erstellen einer Wissensdatenbank, das Konfigurieren einer Datenquelle und das Auswählen von Einbettungen und Vektorspeichern.

Schritt 1: Die Details der Wissensbasis bereitstellen

  • Navigiere zur Amazon Bedrock Konsole und wähle Knowledge Bases unter dem AbschnittBuilder Tools.
  • Klicke auf Wissensdatenbank erstellen und fülle die folgenden Angaben aus:
    • Name der Wissensdatenbank: Gib einen eindeutigen Namen ein (z. B. knowledge-base-quick-start).
    • Beschreibung der Wissensdatenbank: (Optional) Beschreibe kurz die Wissensbasis.
  • In den IAM-Berechtigungen Abschnitt:
    • Wähle "Eine neue Dienstrolle erstellen und verwenden" oder "Eine bestehende Dienstrolle verwenden".
    • Stelle sicher, dass die Service-Rolle die notwendigen Rechte für den Bedrock-Zugriff hat.
    • Beispiel Service-Rolle: AmazonBedrockExecutionRoleForKnowledgeBase.
  • Klicke auf Weiter um mit der Konfiguration der Datenquelle fortzufahren.

Screenshot der Amazon Bedrock Wissensdatenbank-Erstellungsoberfläche, der die Schritte zur Konfiguration einer Wissensdatenbank zeigt.

Assistent zur Erstellung der Amazon Bedrock Knowledge Base.

Schritt 2: Konfiguriere die Datenquelle

  • Wähle unter dem Abschnitt Datenquellendetails deine Datenquelle aus:
    • Amazon S3: Wähle diese Option, da deine Daten in S3 gespeichert sind.
  • Gib Folgendes an:
    • Standort der Datenquelle: Wähle zwischen "Dieses AWS-Konto" und "Anderes AWS-Konto".
    • S3 URI: Gib die URI des S3-Buckets an, in dem die Daten gespeichert sind. Wähle die S3, die du im vorherigen Schritt erstellt hast, und die Datei.
    • Verschlüsselungsschlüssel: (Optional) Füge einen vom Kunden verwalteten KMS-Schlüssel hinzu, wenn deine Daten verschlüsselt sind.
  • Konfiguriere die Parsing-Strategie:
    • Standard-Parser: Verarbeitet Klartextdaten. Du kannst es so lassen, wie es ist.
    • Gründungsmodelle als Parser: Verarbeitet komplexe Dokumente oder Bilder. Du kannst es so lassen, wie es ist.
  • Chunking-Strategie:
    • In der Standardeinstellung wird der Text für die Einbettung in Abschnitte von etwa 300 Token aufgeteilt. Du kannst es so lassen, wie es ist.
  • (Optional) Füge Transformationsfunktionen oder erweiterte Einstellungen hinzu , um deine Daten vorzuverarbeiten. Du kannst es so lassen, wie es ist.
  • Klicke auf Weiter um fortzufahren.

Screenshot der Konfigurationsoberfläche für Amazon Bedrock-Datenquellen, der die Einstellungen für die Verbindung einer Amazon S3-Datenquelle zeigt

Amazon Bedrock Datenquellen-Konfigurationsseite für die Integration einer S3-basierten Wissensdatenbank.

Schritt 3: Wähle das Einbettungsmodell und konfiguriere den Vektorspeicher

  • Wähle ein Embeddings-Modell, um deine Daten in Vektordarstellungen umzuwandeln:
    • Titan Embeddings G1 - Text v1.2 (Du kannst dies für dieses Tutorial wählen.)
    • Englisch v3 einbetten
    • Mehrsprachig einbetten v3
  • Unter der Vektor-Datenbank Abschnitt:
    • Wähle "Schnell einen neuen Vektorenladen erstellen" (empfohlen) oder wähle einen bestehenden Laden aus.
    • Zu den Optionen gehören:
      • Amazon OpenSearch Serverless: Das ist ideal für kontextabhängige Antworten. Du kannst sie für die Zwecke dieses Tutorials auswählen.
      • Amazon Aurora PostgreSQL Serverless: Optimiert für schnelle Ähnlichkeitssuchen.
      • Amazon Neptune Analytics: Geeignet für graphbasierte Analysen und Retrieval-Augmented Generation (RAG).
  • Klicke auf Weiter um deine Konfiguration zu überprüfen und abzuschließen.

Screenshot der Amazon Bedrock-Oberfläche zur Auswahl eines Einbettungsmodells und zur Konfiguration einer Vektordatenbank.

Amazon Bedrock Konfigurationsseite zur Auswahl eines Einbettungsmodells und eines Vektorspeichers.

Schritt 4: Überprüfen und erstellen

  • Überprüfe alle deine Konfigurationen.
  • Bestätigen Sie und klicken Sie auf Erstellen um die Wissensdatenbank fertigzustellen.
  • Sobald Sie Ihre Wissensdatenbank erstellt haben, erscheint sie unter dem Menüpunkt Wissensdatenbanken in der Konsole.

Schritt 5: Teste die Wissensbasis

  • Rufe die Übersicht der Wissensdatenbank auf:
    • Gehen Sie zu den Wissensdatenbanken in der Amazon Bedrock Konsole.
    • Wähle die Wissensbasis aus, die du erstellt hast (z. B. knowledge-base-quick-start).
    • Überprüfe die Details der Übersicht:
      • Name und ID der Wissensdatenbank
      • Vergewissere dich, dass sie auf "Verfügbar" eingestellt ist.
      • Überprüfe, ob die richtige Dienstrolle verwendet wird.
  • Synchronisiere und füge Datenquellen hinzu:
    • Wenn die Datenquelle noch nicht synchronisiert wurde, klicken Sie auf Synchronisieren um den Prozess zu starten.
    • Du kannst auch weitere Dokumente oder Datenquellen hinzufügen über Dokumente aus S3 hinzufügen.

Screenshot der Übersichtsseite der Amazon Bedrock Knowledge Base, auf der wichtige Details wie der Name der Knowledge Base, die ID, die Service-Rolle, der Status und der RAG-Typ (retrieval-augmented generation) angezeigt werden.

Die Übersicht der Amazon Bedrock Knowledge Base zeigt Konfigurationsdetails und den Status der Datenquelle.

Schritt 6: Wähle ein Modell zum Testen

  • Wähle ein Gründungsmodell:
    • Klicke auf Modell auswählen in der Wissensbasis testen Panel.
    • Stöbere in den verfügbaren Modellen von Anbietern wie Amazon, Anthropic und Cohere.
    • Beispiel: Wähle Claude Instant (v1.2) für textbasierte Abfragen.
  • Art der Inferenz:
    • Wähle On-demand Inferenz, wenn du keinen reservierten Durchsatz eingerichtet hast.
  • Wende das Modell an:
    • Klicke auf Anwenden um deine Modellauswahl abzuschließen.

Screenshot der Amazon Bedrock-Oberfläche "Modell auswählen", die Modellanbieter wie Amazon, Anthropic, Cohere, Meta und Mistral AI anzeigt.

In der Amazon Bedrock Modellauswahl stehen verschiedene Claude Modelle von Anthropic zur Verfügung.

Schritt 7: Abfragen ausführen und Antworten generieren

  • Erstelle eine Antwort:
    • Gib deine Anfrage in das Eingabefeld ein (z.B. "Hilfe bei der Erstellung von Finanzberichten").
    • Klicke auf ausführen um die Wissensdatenbank zu testen.
  • Details zur Quelle anzeigen:
    • Die Antwort enthält Teile der Daten, die für deine Anfrage relevant sind.
    • Erweitern Sie Quellendetails um Metadaten und die Quelle der abgerufenen Informationen anzuzeigen.
  • Überprüfe die Ausgabe:
    • Überprüfe die Antwort, um sicherzustellen, dass sie mit dem Inhalt der Wissensdatenbank übereinstimmt.
    • Passe die Abrufkonfigurationen bei Bedarf an.

Screenshot der Amazon Bedrock Knowledge Base Testseite. Das ausgewählte Modell ist "Claude Instant v1.2" mit der Einstellung "On-Demand-Inferenz".

Amazon Bedrock Knowledge Base Testoberfläche, die eine Antwort auf eine Abfrage anzeigt.

Beispiel für die Ausgabe der Abfrage:

  • Abfrage: "Hilf mir bei der Erstellung von Finanzberichten".
  • Antwort: Die Wissensdatenbank ruft Daten zu bestimmten Positionen im Jahresabschluss ab, z. B. Aufstellungen von Vermögenswerten, Verbindlichkeiten und zugehörige Metadaten.

Verwaltung und Einsatz von KI-Modellen im großen Maßstab

Mit AWS-Diensten wie Lambda kann Amazon Bedrock KI-Modelle in großem Umfang verwalten und bereitstellen. Dieser kosteneffiziente Ansatz gewährleistet eine hohe Verfügbarkeit und skaliert automatisch für KI-gestützte Anwendungen. 

In diesem Abschnitt werden wir AWS Lambda verwenden, um ein Bedrock-Modell dynamisch aufzurufen, damit du Prompts nach Bedarf verarbeiten kannst.

Schritt 1: Erstellen einer AWS Lambda-Funktion

  • Melde dich bei der AWS Management Console an.
  • Navigieren Sie zum Lambda Dienst und klicken Sie auf Funktion erstellen.
  • Wähle die Funktionskonfiguration:
    • Wähle "Autor von Grund auf".
    • Funktionsname: Grundgestein.
    • Laufzeit: Python 3.x.
    • Erlaubnisse: Wähle eine IAM-Rolle aus, die du im ersten Abschnitt des Tutorials erstellt hast.
  • Klicke auf Funktion erstellen um die Einrichtung zu initialisieren.

Screenshot der Schnittstelle zur Erstellung einer AWS Lambda-Funktion. Die ausgewählte Option ist "Von Grund auf neu erstellen" und der Funktionsname ist auf "bedrock" gesetzt.

Seite zur Erstellung von AWS Lambda-Funktionen.

Schritt 2: Füge den Code der Lambda-Funktion hinzu

  • Öffne den Funktionseditor im Code-Bereich der Lambda-Konsole.
  • Ersetze den Standardcode durch den Code in der Github Gist.
  • Klicke auf Bereitstellen um die Änderungen zu speichern.

Schritt 3: Teste die Lambda-Funktion

  • Gehe in der Lambda-Konsole auf die Registerkarte Test und erstelle ein Testevent mit dem folgenden JSON:
{
    "prompt": "Write a formal apology letter for a late delivery."
}
  • Speichere die Testveranstaltung.
  • Klicke auf Testen um die Lambda-Funktion aufzurufen.
  • Überprüfe die Ausgabe im AbschnittAusführungsergebnisse. Der generierte Text sollte wie folgt aussehen:

Screenshot der AWS Lambda-Ausführungsergebnisse, die eine erfolgreiche Funktionsausführung anzeigen

Das Ergebnis der AWS Lambda-Ausführung zeigt einen erfolgreichen Funktionslauf.

Bewährte Praktiken für den Einsatz von KI-Modellen

Optimiere die Kosten:

  • Nutze On-Demand-Inferenz für gelegentliche Anwendungsfälle.
  • Ziehe den bereitgestellten Durchsatz in Betracht, wenn eine hohe Anzahl von Anfragen erwartet wird.

Sichern Sie die Lambda-Funktion:

  • Schränke die IAM-Rolle auf die erforderlichen Berechtigungen ein.
  • Verwende Umgebungsvariablen, um zu vermeiden, dass sensible Daten im Code preisgegeben werden.

Überwachen und protokollieren:

  • Nutze die CloudWatch-Protokolle, um Metriken zu Aufrufen zu verfolgen und Probleme zu beheben.
  • Richte Alarme für Fehler oder hohe Latenzzeiten ein.

Best Practices für die Verwendung von AWS Bedrock

In diesem Abschnitt teile ich einige Best Practices für die Arbeit mit Amazon Bedrock, von der Optimierung der Kosten bis hin zur Sicherheit und Genauigkeit der Dinge. 

Kostenoptimierung

Die Verwaltung der Kosten in AWS Bedrock kann die Nutzung von Amazon SageMaker für die Bereitstellung von Modellen und die Verwendung von Spot-Instanzen beinhalten, um bis zu 90 % der Kosten zu sparen. Hier sind einige meiner besten Praktiken:

  • Wähle das richtige Gründungsmodell: Wähle Modelle, die deinen Bedürfnissen entsprechen. Wähle kleinere, weniger ressourcenintensive Modelle, um die Rechenkosten für weniger komplexe Aufgaben zu senken. Zum Beispiel können Amazon Titan Models für textbasierte Aufgaben wie Zusammenfassungen oder Stability AI für einfache Bilderzeugung verwendet werden.
  • Batch-Inferenz: Anstatt Anfragen einzeln zu bearbeiten, kannst du mehrere Ableitungsanfragen in Stapeln zusammenfassen. Dadurch wird die Häufigkeit der Modellaufrufe reduziert, was zu geringeren Kosten führt.
  • Nutze die Lebenszyklusrichtlinien von S3: Speichere nur die Daten, die du für Inferenzen oder Feinabstimmungen brauchst, in Amazon S3. Verwende Lebenszyklusrichtlinien, um Daten automatisch auf günstigere Speicherebenen (z. B. S3 Glacier) zu verschieben oder ungenutzte Daten nach einer bestimmten Zeit zu löschen.
  • Überwache und kontrolliere die Ausgaben: Verwende den AWS Cost Explorer, um deine Ausgabenmuster zu analysieren und Bereiche mit Optimierungsbedarf zu identifizieren. Stelle AWS Budgets so ein, dass du Warnungen erhältst, wenn du dich vordefinierten Kostenschwellen näherst.

Grafik zu den Kosten und der Nutzung der Amazon Bedrock Services

Kosten- und Nutzungsdiagramm für Amazon Bedrock Services.

  • Nutze Bedrock mit SageMaker für mehr Kosteneffizienz: Verwende Bedrock Foundation-Modelle in SageMaker, um die Vorteile von verwalteten Spot-Instanzen für Inferenz- und Trainingsaufgaben zu nutzen.
  • Verwende Spot-Instanzen in SageMaker: Spot-Instanzen können die Kosten von im Vergleich zu On-Demand-Instanzen um bis zu 90% senken. SageMaker kümmert sich in deinem Namen um Unterbrechungen in Spot und versucht automatisch, Trainingsaufträge zu wiederholen, wenn die Spot-Kapazität nicht mehr verfügbar ist. Beispiel:
from sagemaker.mxnet import MXNet

# Use spot instances for cost efficiency
use_spot_instances = True

# Maximum runtime for the training job (in seconds)
max_run = 600

# Maximum wait time for Spot instance availability (in seconds); set only if using Spot instances
max_wait = 1200 if use_spot_instances else None

# Define the MXNet estimator for the training job
mnist_estimator = MXNet(
    entry_point='source_dir/mnist.py',  # Path to the script that contains the model training code
    role=role,  # IAM role used for accessing AWS resources (e.g., S3, SageMaker)
    output_path=model_artifacts_location,  # S3 location to save the trained model artifacts
    code_location=custom_code_upload_location,  # S3 location to upload the training script
    instance_count=1,  # Number of instances to use for training
    instance_type='ml.m4.xlarge',  # Instance type for the training job
    framework_version='1.6.0',  # Version of the MXNet framework to use
    py_version='py3',  # Python version for the environment
    distribution={'parameter_server': {'enabled': True}},  # Enable distributed training with a parameter server
    hyperparameters={  # Training hyperparameters
        'learning-rate': 0.1,  # Learning rate for the training job
        'epochs': 5  # Number of training epochs
    },
    use_spot_instances=use_spot_instances,  # Enable Spot instances for cost savings
    max_run=max_run,  # Maximum runtime for the training job
    max_wait=max_wait,  # Maximum wait time for Spot instance availability
    checkpoint_s3_uri=checkpoint_s3_uri  # S3 URI for saving intermediate checkpoints
)

# Start the training job and specify the locations of training and testing datasets
mnist_estimator.fit({
    'train': train_data_location,  # S3 location of the training dataset
    'test': test_data_location  # S3 location of the testing/validation dataset
})
  • Nutze die Metriken und Protokolle von CloudWatch: Trainingsmetriken und -protokolle sind unter in Amazon CloudWatch verfügbar und bietenEinblicke in die Leistung und Ressourcennutzung.

Screenshot der AWS CloudWatch-Protokollereignisse mit Einträgen für ein Machine Learning-Modell unter dem Pfad /opt/ml/model. Jedes Protokoll enthält einen Zeitstempel, die Quell-IP-Adresse und eine HTTP-GET-Anfrage an /ping mit einem Statuscode von 200.

AWS CloudWatch-Protokolle

Sicherheit

Um die Sicherheit, Compliance und Leistung von Amazon Bedrock zu gewährleisten, ist es wichtig, die Best Practices zu befolgen. Hier sind meine Empfehlungen:

  • Wenden Sie den Zugriff mit den geringsten Rechten an: Schränke die IAM-Berechtigungen und Service-Rollen auf die notwendigen Ressourcen ein, um unbefugten Zugriff zu verhindern.
  • Validiere Dienstrollen und Sicherheitsgruppen: Stelle sicher, dass Bedrock-Agenten und Modellanpassungsjobs korrekt mit aktiven Service-Rollen und Sicherheitseinstellungen konfiguriert sind.
  • Ausführen von Workloads in einer VPC: Erhöhe die Sicherheit, indem du Anpassungsaufgaben und Datenverarbeitung mitthin einer Virtual Private Cloud (VPC) ausführst.
  • Verschlüssele kritische Daten: Verwende Amazon KMS Customer-Managed Keys (CMKs), um Agentensitzungen, Bedrock Studio-Arbeitsbereiche, benutzerdefinierte Modelle und vorübergehende Wissensdatenbankdaten zu verschlüsseln.
  • Implementiere Richtlinien zur Datenlöschung: Bewahre vektoriell gespeicherte Daten nur auf, wenn wissensbasierte Quellen aktiv sind; richte eine automatische Löschung ein, wenn sie nicht mehr benötigt werden.
  • Bedrock-Leitplanken verstärken: Setze die Prompt-Angriffsstärke auf HOCH und aktiviere die Filter für sensible Informationen, um dich vor gegnerischen Angriffen und Datenlecks zu schützen.
  • Sichere Agentensitzungen: Verwende Leitplanken, um unbefugten Zugriff zu verhindern und sensible Interaktionen zu schützen.
  • Aktiviere das Logging für die Sichtbarkeit: Aktiviere die Protokollierung von Modellaufrufen auf Kontoebene, um Aktivitäten zu verfolgen und Anomalien zu erkennen.
  • Verteidige dich gegen dienstübergreifende Angriffe: Verwende Dienstrollenrichtlinien, um dienstübergreifende Confused Deputy-Angriffe zu verhindern.

Modellüberwachung und -bewertung

Durch die Überwachung und Bewertung von Modellen wird sichergestellt, dass sie genau und zuverlässig sind und mit den Unternehmenszielen übereinstimmen. Hier sind einige Best Practices:

  • Lernpfad zu den Leistungskennzahlen: Nutze CloudWatch, um Latenz, Fehler und Trends bei Aufrufen zu überwachen.
  • Ein- und Ausgänge protokollieren: Aktiviere die detaillierte Protokollierung zur Fehlersuche und Trendanalyse.
  • Rückkopplungsschleifen einbeziehen: Nutze Tools wie Amazon A2I, um menschliche Bewertungen für kritische Ausgaben einzubeziehen.
  • Bewerten Sie die Ergebnisse regelmäßig: Vergleiche die Ergebnisse mit Validierungsdatensätzen oder Ground Truth.
  • Verbessere kontinuierlich die Modelle: Verfeinere die Modelle bei Bedarf mit aktualisierten Datensätzen oder spezifischen Bereichsdaten.

Dashboard mit vier Graphen, die die Metriken für Amazon Bedrock Modelle verfolgen.

Das Metrik-Dashboard zeigt die Anzahl der Aufrufe, die Latenz und die Anzahl der Token für verschiedene Modelle in Amazon Bedrock an.

Fazit

AWS Bedrock verändert die Art und Weise, wie generative KI-Anwendungen entwickelt werden, und ist eine zentrale Plattform für die Nutzung von Basismodellen, ohne sich um die Infrastruktur kümmern zu müssen. 

Diese Schritt-für-Schritt-Anleitung soll dir dabei helfen, die richtigen Modelle zu finden, sichere und skalierbare Workflows zu erstellen und Funktionen wie die Retrieval-Augmented Generation (RAG) für eine bessere Anpassung zu integrieren. Wenn du die besten Praktiken für Kosten, Sicherheit und Überwachung kennst, bist du bereit, deine KI-Lösungen zu entwickeln und zu verwalten, um deine Ziele zu erreichen.

Wenn du deine AWS-Kenntnisse weiter vertiefen möchtest, solltest du diese Kurse besuchen:

KI-Anwendungen entwickeln

Lerne, wie man KI-Anwendungen mit der OpenAI API erstellt.
Start Upskilling For Free

Rahul Sharma's photo
Author
Rahul Sharma
LinkedIn
Twitter

Rahul Sharma ist ein AWS-Botschafter, DevOps-Architekt und technischer Blogger, der sich auf Cloud Computing, DevOps-Praktiken und Open-Source-Technologien spezialisiert hat. Mit seiner Expertise in AWS, Kubernetes und Terraform vereinfacht er komplexe Konzepte für Lernende und Fachleute durch ansprechende Artikel und Tutorials. Rahul liebt es, DevOps-Herausforderungen zu lösen und Erkenntnisse zu teilen, um die Tech-Community zu unterstützen.

Themen

Lerne mehr über AWS mit diesen Kursen!

Kurs

AWS Cloud Technology and Services Concepts

3 hr
7.4K
Master AWS cloud technology with hands-on learning and practical applications in the AWS ecosystem.
Siehe DetailsRight Arrow
Kurs starten
Mehr anzeigenRight Arrow
Verwandt

Der Blog

Top 30 Generative KI Interview Fragen und Antworten für 2024

Dieser Blog bietet eine umfassende Sammlung von Fragen und Antworten zu generativen KI-Interviews, die von grundlegenden Konzepten bis hin zu fortgeschrittenen Themen reichen.
Hesam Sheikh Hassani's photo

Hesam Sheikh Hassani

15 Min.

Der Blog

Die 32 besten AWS-Interview-Fragen und Antworten für 2024

Ein kompletter Leitfaden zur Erkundung der grundlegenden, mittleren und fortgeschrittenen AWS-Interview-Fragen, zusammen mit Fragen, die auf realen Situationen basieren. Es deckt alle Bereiche ab und sorgt so für eine abgerundete Vorbereitungsstrategie.
Zoumana Keita 's photo

Zoumana Keita

30 Min.

Der Blog

Die 20 besten Snowflake-Interview-Fragen für alle Niveaus

Bist du gerade auf der Suche nach einem Job, der Snowflake nutzt? Bereite dich mit diesen 20 besten Snowflake-Interview-Fragen vor, damit du den Job bekommst!
Nisha Arya Ahmed's photo

Nisha Arya Ahmed

20 Min.

Der Blog

Lehrer/innen und Schüler/innen erhalten das Premium DataCamp kostenlos für ihre gesamte akademische Laufbahn

Keine Hacks, keine Tricks. Schüler/innen und Lehrer/innen, lest weiter, um zu erfahren, wie ihr die Datenerziehung, die euch zusteht, kostenlos bekommen könnt.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

4 Min.

Der Blog

Q2 2023 DataCamp Donates Digest

DataCamp Donates hat im zweiten Quartal 2023 über 20.000 Stipendien an unsere gemeinnützigen Partner vergeben. Erfahre, wie fleißige benachteiligte Lernende diese Chancen in lebensverändernde berufliche Erfolge verwandelt haben.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

Der Blog

2022-2023 DataCamp Classrooms Jahresbericht

Zu Beginn des neuen Schuljahres ist DataCamp Classrooms motivierter denn je, das Lernen mit Daten zu demokratisieren. In den letzten 12 Monaten sind über 7.650 neue Klassenzimmer hinzugekommen.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

8 Min.

Mehr anzeigenMehr anzeigen