

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.

# Detaillierte Einführung in die Nutzung von Konsole und API
<a name="detailed-getting-started"></a>

Inhalt kommt bald.

# Erste Schritte in der Amazon-Bedrock-Konsole
<a name="getting-started-console"></a>

In diesem Abschnitt wird beschrieben, wie Sie die [Playgrounds](playgrounds.md) in der AWS Konsole verwenden, um eine Textanfrage an ein Amazon Bedrock Foundation Model (FM) zu senden und eine Text- oder Bildantwort zu generieren. Bevor Sie die folgenden Beispiele ausführen, sollten Sie sich vergewissern, dass Sie die folgenden Voraussetzungen erfüllt haben:

**Voraussetzungen**
+ Sie haben eine AWS-Konto und haben die erforderlichen Berechtigungen für den Zugriff auf eine Rolle in diesem Konto mit den erforderlichen Berechtigungen für Amazon Bedrock. Führen Sie andernfalls die Schritte unter [Quickstart](getting-started.md) aus.
+ Vergewissern Sie sich, dass Sie sich in der Region USA Ost (Nord-Virginia) (us-east-1) befinden. Um die Region zu ändern, wählen Sie den Namen der Region oben rechts in der Konsole neben Ihrer IAM-Rolle aus. Wählen Sie dann USA Ost (Nord-Virginia) (us-east-1).

**Topics**
+ [Kennenlernen des Text-Playgrounds](#getting-started-text)
+ [Kennenlernen des Image-Playgrounds](#getting-started-image)

## Kennenlernen des Text-Playgrounds
<a name="getting-started-text"></a>

Das folgende Beispiel zeigt, wie der Text-Playground verwendet wird:

1. Melden Sie sich bei der AWS-Managementkonsole mit einer IAM-Identität an, die berechtigt ist, die Amazon Bedrock-Konsole zu verwenden. Öffnen Sie dann die Amazon Bedrock-Konsole unter [https://console.aws.amazon.com/bedrock](https://console.aws.amazon.com/bedrock).

1. Wählen Sie im linken Navigationsbereich unter **Playgrounds** die Option **Text** aus.

1. Wählen Sie **Modell auswählen** sowie einen Anbieter und ein Modell aus. Für dieses Beispiel wählen wir **Amazon Titan Text G1 - Lite**. Klicken Sie dann auf **Anwenden**.

1. Wählen Sie einen Standard-Prompt unter dem Textbereich aus oder geben Sie einen Prompt in das Textfeld ein, z. B. **Describe the purpose of a "hello world" program in one line**.

1. Klicken Sie auf **Ausführen**, um die Inferenz für das Modell auszuführen. Der generierte Text wird unter Ihrem Prompt im Textfeld angezeigt.

## Kennenlernen des Image-Playgrounds
<a name="getting-started-image"></a>

Das folgende Beispiel zeigt, wie der Image-Playground verwendet wird.

1. Melden Sie sich bei der AWS-Managementkonsole mit einer IAM-Identität an, die berechtigt ist, die Amazon Bedrock-Konsole zu verwenden. Öffnen Sie dann die Amazon Bedrock-Konsole unter [https://console.aws.amazon.com/bedrock](https://console.aws.amazon.com/bedrock).

1. Wählen Sie im linken Navigationsbereich unter **Playgrounds** die Option **Bild** aus.

1. Wählen Sie **Modell auswählen** sowie einen Anbieter und ein Modell aus. Für dieses Beispiel wählen wir **Amazon Titan Image Generator G1 V1**. Klicken Sie dann auf **Anwenden**.

1. Wählen Sie einen Standard-Prompt unter dem Textbereich aus oder geben Sie einen Prompt in das Textfeld ein, z. B. **Generate an image of happy cats**.

1. Ändern Sie im Bereich **Konfigurationen** die **Anzahl der Bilder** in **1**.

1. Klicken Sie auf **Ausführen**, um die Inferenz für das Modell auszuführen. Das generierte Bild wird über dem Prompt angezeigt.

# Erste Schritte mit der API
<a name="getting-started-api"></a>

In diesem Abschnitt wird beschrieben, wie Sie Ihre Umgebung so einrichten, dass Amazon Bedrock-Anfragen über die AWS API gestellt werden. AWS bietet die folgenden Tools, um Ihre Erfahrung zu optimieren:
+ AWS Command Line Interface (AWS CLI)
+ AWS SDKs
+ Amazon SageMaker AI-Notizbücher

Für den Einstieg in die API sind Anmeldeinformationen erforderlich, um programmgesteuerten Zugriff zu gewähren. Wenn die folgenden Abschnitte auf Sie zutreffen, erweitern Sie sie und folgen Sie den Anleitungen. Andernfalls fahren Sie mit den übrigen Abschnitten fort.

## Ich bin neu bei AWS
<a name="gs-api-new-to-aws"></a>

Wenn Sie noch keine haben AWS-Konto, führen Sie die folgenden Schritte aus, um eine zu erstellen.

**Um sich für eine anzumelden AWS-Konto**

1. Öffnen Sie [https://portal.aws.amazon.com/billing/die Anmeldung.](https://portal.aws.amazon.com/billing/signup)

1. Folgen Sie den Online-Anweisungen.

   Während der Anmeldung erhalten Sie einen Telefonanruf oder eine Textnachricht und müssen einen Verifizierungscode über die Telefontasten eingeben.

   Wenn Sie sich für eine anmelden AWS-Konto, *Root-Benutzer des AWS-Kontos*wird eine erstellt. Der Root-Benutzer hat Zugriff auf alle AWS-Services und Ressourcen des Kontos. Als bewährte Sicherheitsmethode weisen Sie einem Benutzer Administratorzugriff zu und verwenden Sie nur den Root-Benutzer, um [Aufgaben auszuführen, die Root-Benutzerzugriff erfordern](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks).

AWS sendet Ihnen nach Abschluss des Anmeldevorgangs eine Bestätigungs-E-Mail. Sie können Ihre aktuellen Kontoaktivitäten jederzeit einsehen und Ihr Konto verwalten, indem Sie zu [https://aws.amazon.com/](https://aws.amazon.com/)gehen und **Mein Konto** auswählen.

**Sichern Sie sich Ihre Root-Benutzer des AWS-Kontos**

1.  Melden Sie sich [AWS-Managementkonsole](https://console.aws.amazon.com/)als Kontoinhaber an, indem Sie **Root-Benutzer** auswählen und Ihre AWS-Konto E-Mail-Adresse eingeben. Geben Sie auf der nächsten Seite Ihr Passwort ein.

   Hilfe bei der Anmeldung mit dem Root-Benutzer finden Sie unter [Anmelden als Root-Benutzer](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial) im *AWS-Anmeldung -Benutzerhandbuch* zu.

1. Aktivieren Sie die Multi-Faktor-Authentifizierung (MFA) für den Root-Benutzer.

   Anweisungen finden Sie unter [Aktivieren eines virtuellen MFA-Geräts für Ihren AWS-Konto Root-Benutzer (Konsole)](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html) im *IAM-Benutzerhandbuch*.

## Ich muss das AWS CLI oder ein SDK installieren AWS
<a name="gs-api-cli-sdk-install"></a>

Um das zu installieren AWS CLI, folgen Sie den Schritten unter [Installieren oder Aktualisieren Sie auf die neueste Version von AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).

Um ein AWS SDK zu installieren, wählen Sie unter [Tools to Build on die Registerkarte aus, die der Programmiersprache entspricht,](https://aws.amazon.com/developer/tools/) die Sie verwenden möchten AWS. AWS Software Development Kits (SDKs) sind für viele gängige Programmiersprachen verfügbar. Jedes SDK bietet eine API, Codebeispiele und Dokumentation, die es Entwicklern erleichtern, Anwendungen in ihrer bevorzugten Sprache zu erstellen. SDKs führt automatisch nützliche Aufgaben für Sie aus, wie zum Beispiel:
+ Kryptographisches Signieren Ihrer Serviceanforderungen
+ Wiederholungsanforderungen
+ Umgang mit Fehlerantworten

## Einholen von Anmeldeinformationen, um programmgesteuerten Zugriff zu gewähren
<a name="gs-grant-program-access"></a>

Benutzer benötigen programmgesteuerten Zugriff, wenn sie mit AWS außerhalb des AWS-Managementkonsole interagieren möchten. AWS bietet je nach Ihren Sicherheitsbedenken mehrere Optionen.

**Anmerkung**  
Eine step-by-step Anleitung zum Generieren eines API-Schlüssels, mit dem Sie schnell auf die Amazon Bedrock-API zugreifen können, finden Sie unter[Erste Schritte mit Schlüsseln für die Amazon-Bedrock-API: Generieren Sie einen 30-Tage-Schlüssel und tätigen Sie Ihren ersten API-Aufruf](getting-started-api-keys.md).  
Weitere Informationen zu höheren Sicherheitsanforderungen finden Sie in diesem Abschnitt.

Die Art und Weise, wie programmatischer Zugriff gewährt wird, hängt vom Benutzertyp ab, der zugreift. AWS

Um Benutzern programmgesteuerten Zugriff zu gewähren, wählen Sie eine der folgenden Optionen.


****  

| Welcher Prinzipal benötigt programmgesteuerten Zugriff? | Bis | Von | 
| --- | --- | --- | 
| IAM-Benutzer | Beschränken Sie die Dauer langfristiger Anmeldeinformationen zum Signieren von programmatischen Anfragen an das AWS CLI AWS SDKs, oder. AWS APIs |  Befolgen Sie die Anweisungen für die Schnittstelle, die Sie verwenden möchten. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/getting-started-api.html)  | 
| IAM-Rollen | Verwenden Sie temporäre Anmeldeinformationen, um programmatische Anfragen an das AWS CLI, AWS SDKs oder zu signieren. AWS APIs | Folgen Sie den Anweisungen unter [Verwenden temporärer Anmeldeinformationen mit AWS Ressourcen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html) im IAM-Benutzerhandbuch. | 
|  Mitarbeiteridentität (Benutzer, die in IAM Identity Center verwaltet werden)  | Verwenden Sie temporäre Anmeldeinformationen, um programmatische Anfragen an das AWS CLI AWS SDKs, oder zu signieren. AWS APIs |  Befolgen Sie die Anweisungen für die Schnittstelle, die Sie verwenden möchten. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/getting-started-api.html)  | 

## So konfigurieren Sie Zugriffsschlüssel für einen IAM-Benutzer
<a name="create-user-time-bound"></a>

Wenn Sie sich dafür entscheiden, Zugriffsschlüssel für einen IAM-Benutzer zu verwenden, AWS empfiehlt es sich, ein Ablaufdatum für den IAM-Benutzer festzulegen, indem Sie eine restriktive Inline-Richtlinie einbeziehen.

**Wichtig**  
Beachten Sie die folgenden Warnungen:  
Verwenden **Sie NICHT** die Root-Anmeldeinformationen Ihres Kontos, um auf Ressourcen zuzugreifen AWS . Diese Anmeldeinformationen bieten uneingeschränkten Zugriff auf Konten und können nur schwer widerrufen werden.
Fügen Sie **KEINE** tatsächlichen Zugriffsschlüssel oder Anmeldeinformationen in Ihre Anwendungsdateien ein. Wenn Sie dies tun, riskieren Sie damit, dass Ihre Kontodaten versehentlich offengelegt werden, falls Sie z. B. das Projekt in ein öffentliches Repository hochladen.
Fügen Sie **KEINE** Dateien in Ihrem Projektbereich hinzu, die Anmeldeinformationen enthalten.
Verwalten Sie Ihre Zugriffsschlüssel auf sichere Weise. Geben Sie Ihre Zugangsschlüssel nicht an Unbefugte weiter, auch nicht, um [Ihre Kontokennungen zu finden](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html). Dadurch kann eine Person permanenten Zugriff auf Ihr Konto erlangen.
Beachten Sie, dass alle in der Datei mit den gemeinsam genutzten AWS Anmeldeinformationen gespeicherten Anmeldeinformationen im Klartext gespeichert werden.

Weitere Informationen finden Sie unter [Bewährte Methoden für die Verwaltung von AWS Zugriffsschlüsseln](https://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html) in der Allgemeine AWS-Referenz.

**Erstellen eines IAM-Benutzers**

1. Wählen Sie auf der AWS-Managementkonsole Startseite den IAM-Dienst aus oder navigieren Sie zur IAM-Konsole unter. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

1. Wählen Sie im Navigationsbereich **Benutzer** und dann **Benutzer erstellen** aus.

1. Folgen Sie den Anweisungen in der IAM-Konsole, um einen programmatischen Benutzer (ohne Zugriff auf AWS-Managementkonsole) und ohne Berechtigungen einzurichten.

**Beschränken des Benutzerzugriffs auf ein begrenztes Zeitfenster**

Alle von Ihnen erstellten Zugriffsschlüssel für IAM-Benutzer stellen langfristige Anmeldeinformationen dar. Um sicherzustellen, dass diese Anmeldeinformationen bei unsachgemäßer Verwendung ablaufen, können Sie die Anmeldeinformationen zeitlich begrenzen, indem Sie eine Inline-Richtlinie erstellen, die ein Datum festlegt, nach dem die Schlüssel nicht mehr gültig sind.

1. Öffnen Sie den IAM-Benutzer, den Sie gerade erstellt haben. Wählen Sie auf der Registerkarte **Berechtigungen** die Option **Berechtigungen hinzufügen** und dann **Inline-Richtlinie erstellen** aus.

1. Geben Sie im JSON-Editor die folgenden Berechtigungen an. Um diese Richtlinie anzuwenden, ersetzen Sie den Wert für den Zeitstempel `aws:CurrentTime` in der Beispielrichtlinie durch ein eigenes Enddatum.
**Anmerkung**  
IAM empfiehlt, die Zugriffsschlüssel auf 12 Stunden zu begrenzen.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Deny",
         "Action": "*",
         "Resource": "*",
         "Condition": {
           "DateGreaterThan": {
             "aws:CurrentTime": "2024-01-01T00:00:000"
           }
         }
       }
     ]
   }
   ```

------

**Erstellen eines Zugriffsschlüssels**

1. Wählen Sie auf der Seite **Benutzerdetails** die Registerkarte **Sicherheitsanmeldeinformationen** aus. Wählen Sie im Abschnitt **Zugriffsschlüssel** die Option **Zugriffsschlüssel erstellen** aus.

1. Geben Sie an, dass Sie beabsichtigen, diese Zugriffsschlüssel als **Andere** zu verwenden, und wählen Sie **Zugriffsschlüssel erstellen** aus.

1. Wählen Sie auf der Seite **Zugriffsschlüssel abrufen** die Option **Anzeigen** aus, um den Wert des geheimen Zugriffsschlüssels Ihres Benutzers anzuzeigen. Sie können die Anmeldeinformationen kopieren oder eine CSV-Datei herunterladen.

**Wichtig**  
Wenn Sie diesen IAM-Benutzer nicht mehr benötigen, empfehlen wir, ihn zu entfernen und sich an die [bewährten AWS Sicherheitsmethoden](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#lock-away-credentials) zu halten. Wir empfehlen, dass Ihre menschlichen Benutzer beim Zugriff temporäre Anmeldeinformationen über [AWS IAM Identity](https://docs.aws.amazon.com/singlesignon/latest/userguide/getting-started.html) Center verwenden müssen. AWS

## Anfügen von Amazon-Bedrock-Berechtigungen an einen Benutzer oder eine Rolle
<a name="gs-api-br-permissions"></a>

Nachdem Sie die Anmeldeinformationen für den programmgesteuerten Zugriff eingerichtet haben, müssen Sie die Berechtigungen für einen Benutzer oder eine IAM-Rolle konfigurieren, damit er bzw. sie Zugriff auf eine Reihe von Amazon-Bedrock-bezogenen Aktionen erhält. Gehen Sie folgendermaßen vor, um diese Berechtigungen einzurichten:

1. Wählen Sie auf der AWS-Managementkonsole Startseite den IAM-Dienst aus oder navigieren Sie zur IAM-Konsole unter. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

1. Wählen Sie **Benutzer** oder **Rollen** und dann Ihren Benutzer oder Ihre Rolle aus.

1. Wählen Sie auf der Registerkarte „**Berechtigungen**“ die Option „**Berechtigungen hinzufügen**“ und anschließend „** AWS Verwaltete Richtlinie hinzufügen**“ aus. Wählen Sie die verwaltete [AmazonBedrockFullAccess]() AWS -Richtlinie.

1. Um dem Benutzer oder der Rolle das Abonnieren von Modellen zu ermöglichen, wählen Sie **Inline-Richtlinie erstellen** und geben Sie dann die folgenden Berechtigungen im JSON-Editor an:

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
         {
             "Sid": "MarketplaceBedrock",
             "Effect": "Allow",
             "Action": [
                 "aws-marketplace:ViewSubscriptions",
                 "aws-marketplace:Unsubscribe",
                 "aws-marketplace:Subscribe"
             ],
             "Resource": "*"
         }
     ]
   }
   ```

------

## Versuchen, API-Aufrufe an Amazon Bedrock zu tätigen
<a name="gs-try-bedrock"></a>

Nachdem Sie alle Voraussetzungen erfüllt haben, wählen Sie eines der folgenden Themen aus, um das Erstellen von Modellaufrufanforderungen mit Amazon-Bedrock-Modellen zu testen:

**Topics**
+ [Einholen von Anmeldeinformationen, um programmgesteuerten Zugriff zu gewähren](#gs-grant-program-access)
+ [Anfügen von Amazon-Bedrock-Berechtigungen an einen Benutzer oder eine Rolle](#gs-api-br-permissions)
+ [Versuchen, API-Aufrufe an Amazon Bedrock zu tätigen](#gs-try-bedrock)
+ [Erste Schritte mit Schlüsseln für die Amazon-Bedrock-API: Generieren Sie einen 30-Tage-Schlüssel und tätigen Sie Ihren ersten API-Aufruf](getting-started-api-keys.md)
+ [Führen Sie Amazon Bedrock API-Beispielanfragen mit dem AWS Command Line Interface](getting-started-api-ex-cli.md)
+ [Führen Sie Amazon Bedrock API-Beispielanfragen über das AWS SDK for Python (Boto3)](getting-started-api-ex-python.md)
+ [Führen Sie Amazon Bedrock API-Beispielanfragen mit einem Amazon SageMaker AI-Notizbuch aus](getting-started-api-ex-sm.md)

# Erste Schritte mit Schlüsseln für die Amazon-Bedrock-API: Generieren Sie einen 30-Tage-Schlüssel und tätigen Sie Ihren ersten API-Aufruf
<a name="getting-started-api-keys"></a>

Dieses Tutorial führt Sie durch die Erstellung eines langfristigen Schlüssels für die Amazon-Bedrock-API, der nach 30 Tagen abläuft. Außerdem erfahren Sie, wie Sie ihn verwenden, um einen einfachen [Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html)-API-Aufruf mit Python durchzuführen. Dies ist der schnellste Weg, um mit Amazon Bedrock zu experimentieren, ohne komplexe AWS Anmeldeinformationen einrichten zu müssen.

**Warnung**  
Langfristige API-Schlüssel werden nur für die Erkundung und Entwicklung von Amazon Bedrock empfohlen. Verwenden Sie für Produktionsanwendungen [Alternativen zu langfristigen Zugriffsschlüsseln](https://docs.aws.amazon.com/IAM/latest/UserGuide/security-creds-programmatic-access.html#security-creds-alternatives-to-long-term-access-keys), z. B. IAM-Rollen oder temporäre Anmeldeinformationen.

Gehen Sie wie folgt vor, um einen langfristigen API-Schlüssel für Amazon Bedrock zu erstellen, der nach 30 Tagen abläuft:

1. Melden Sie sich bei der AWS-Managementkonsole mit einer IAM-Identität an, die berechtigt ist, die Amazon Bedrock-Konsole zu verwenden. Öffnen Sie dann die Amazon Bedrock-Konsole unter [https://console.aws.amazon.com/bedrock](https://console.aws.amazon.com/bedrock).

1. Wählen Sie im linken Navigationsbereich **API-Schlüssel** aus.

1. Wählen Sie auf der Registerkarte **Langfristige API-Schlüssel** die Option **Langfristige API-Schlüssel generieren** aus.

1. Wählen Sie im Abschnitt **Ablauf des API-Schlüssels** die Option **30 Tage** aus.

1. Klicken Sie auf **Generieren**. Der von Ihnen generierte Schlüssel bietet Berechtigungen zur Durchführung der wichtigsten Amazon Bedrock-Aktionen, wie in der beigefügten [AmazonBedrockLimitedAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonBedrockLimitedAccess)Richtlinie definiert.

1. Kopieren Sie den generierten API-Schlüssel und speichern Sie ihn an einem sicheren Ort. Sie benötigen diesen Schlüssel im nächsten Schritt.
**Wichtig**  
Der API-Schlüssel wird nur einmal angezeigt. Sie müssen ihn kopieren und speichern, bevor Sie das Dialogfeld schließen. Denken Sie daran, dass Ihr API-Schlüssel nach 30 Tagen abläuft. Sie können einen neuen Schlüssel generieren, indem Sie dieselben Schritte ausführen, oder überlegen, für die weitere Verwendung auf sicherere Authentifizierungsmethoden umzusteigen.

1. Legen Sie den API-Schlüssel als Umgebungsvariable fest, indem Sie ihn durch Ihren generierten API-Schlüsselwert *\$1\$1api-key\$1* ersetzen, und verwenden Sie ihn, um eine Antwort mit der Methode Ihrer Wahl zu generieren:

------
#### [ Python ]

   ```
   import boto3
   import os
   
   # Set the API key as an environment variable
   os.environ['AWS_BEARER_TOKEN_BEDROCK'] = "${api-key}"
   
   # Create the Bedrock client
   client = boto3.client(
       service_name="bedrock-runtime",
       region_name="us-east-1"
   )
   
   # Define the model and message
   model_id = "us.anthropic.claude-3-5-haiku-20241022-v1:0"
   messages = [{"role": "user", "content": [{"text": "Hello! Can you tell me about Amazon Bedrock?"}]}]
   
   # Make the API call
   response = client.converse(
       modelId=model_id,
       messages=messages,
   )
   
   # Print the response
   print(response['output']['message']['content'][0]['text'])
   ```

------
#### [ HTTP client using Python ]

   ```
   import requests
   
   url = "https://bedrock-runtime.us-east-1.amazonaws.com/model/us.anthropic.claude-3-5-haiku-20241022-v1:0/converse"
   
   payload = {
       "messages": [
           {
               "role": "user",
               "content": [{"text": "Hello"}]
           }
       ]
   }
   
   headers = {
       "Content-Type": "application/json",
       "Authorization": "Bearer ${api-key}"
   }
   
   response = requests.request("POST", url, json=payload, headers=headers)
   
   print(response.text)
   ```

------
#### [ HTTP request using cURL ]

   ```
   curl -X POST "https://bedrock-runtime.us-east-1.amazonaws.com/model/us.anthropic.claude-3-5-haiku-20241022-v1:0/converse" \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer ${api-key}" \
     -d '{
       "messages": [
           {
               "role": "user",
               "content": [{"text": "Hello"}]
           }
       ]
     }'
   ```

------

Herzlichen Glückwunsch\$1 Sie haben erfolgreich einen API-Schlüssel für Amazon Bedrock generiert und Ihren ersten API-Aufruf an den Amazon-Bedrock-Service getätigt. Nachdem Sie einige weitere Amazon Bedrock-Aktionen untersucht haben, sollten Sie zu sichereren Authentifizierungsmethoden wie kurzfristigen Amazon Bedrock-API-Schlüsseln oder allgemeinen temporären Anmeldeinformationen AWSübergehen. Weitere Informationen finden Sie in den folgenden Ressourcen:
+ **Verschiedene Modelle erkunden** – Erfahren Sie unter [Informationen zum Amazon-Bedrock-Basismodell](foundation-models-reference.md) mehr über andere Basismodelle, die in Amazon Bedrock verfügbar sind, und ändern Sie die `model_id` in Ihrem Code, um sie auszuprobieren.
+ **Mehr über Modellinferenz erfahren** – Erfahren Sie mehr über die Generierung von Antworten mit Modellinferenz, indem Sie unter [So senden Sie Prompts und generieren Antworten mithilfe der Modellinferenz](inference.md) mehr über Konzepte und die in Amazon Bedrock verfügbaren Optionen lesen.
+ **Planung für die Produktion mit sichereren Authentifizierungsmethoden** — Weitere Informationen zu Amazon Bedrock API-Schlüsseln finden Sie im Kapitel Build und wie Sie sicherere, kurzfristige Amazon Bedrock-API-Schlüssel erstellen können. Wenn Sie bereit sind, Produktionsanwendungen zu entwickeln, sollten Sie auch [nach Alternativen zu langfristigen Zugriffsschlüsseln suchen, um](https://docs.aws.amazon.com/IAM/latest/UserGuide/security-creds-programmatic-access.html#security-creds-alternatives-to-long-term-access-keys) sicherere Optionen zu finden, die auch den Zugriff auf andere AWS Dienste ermöglichen.

# Führen Sie Amazon Bedrock API-Beispielanfragen mit dem AWS Command Line Interface
<a name="getting-started-api-ex-cli"></a>

Dieser Abschnitt führt Sie durch das Ausprobieren einiger gängiger Vorgänge in Amazon Bedrock, mit denen AWS Command Line Interface Sie testen, ob Ihre Berechtigungen und Authentifizierung ordnungsgemäß eingerichtet sind. Bevor Sie die folgenden Beispiele ausführen, sollten Sie sich vergewissern, dass Sie die folgenden Voraussetzungen erfüllt haben:

**Voraussetzungen**
+ Sie haben einen AWS-Konto und einen Benutzer oder eine Rolle mit eingerichteter Authentifizierung und den erforderlichen Berechtigungen für Amazon Bedrock. Führen Sie andernfalls die Schritte unter [Erste Schritte mit der API](getting-started-api.md) aus.
+ Sie haben die Authentifizierung für das AWS CLI installiert und konfiguriert. Um das zu installieren AWS CLI, folgen Sie den Schritten unter [Installieren oder aktualisieren Sie auf die neueste Version von](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html). AWS CLIÜberprüfen Sie, ob Sie Ihre Anmeldeinformationen für die Verwendung des CLI gemäß den Schritten unter [Einholen von Anmeldeinformationen, um programmgesteuerten Zugriff zu gewähren](getting-started-api.md#gs-grant-program-access) konfiguriert haben.

Testen Sie, ob Ihre Berechtigungen für Amazon Bedrock ordnungsgemäß konfiguriert sind, indem Sie einen Benutzer oder eine Rolle verwenden, den bzw. die Sie mit den richtigen Berechtigungen konfiguriert haben.

**Topics**
+ [Auflisten der Basismodelle, die Amazon Bedrock zu bieten hat](#getting-started-api-ex-cli-listfm)
+ [Senden Sie eine Textaufforderung an ein Modell und generieren Sie eine Textantwort mit InvokeModel](#getting-started-api-ex-cli-invoke-text)
+ [Senden eines Text-Prompts an ein Modell und Generieren einer Textantwort mit Converse](#getting-started-api-ex-cli-converse)

## Auflisten der Basismodelle, die Amazon Bedrock zu bieten hat
<a name="getting-started-api-ex-cli-listfm"></a>

Im folgenden Beispiel wird der [ListFoundationModels](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_ListFoundationModels.html)Vorgang mit dem ausgeführt AWS CLI. `ListFoundationModels`listet die Foundation-Modelle (FMs) auf, die in Amazon Bedrock in Ihrer Region verfügbar sind. Führen Sie den folgenden Befehl in einem Terminal aus:

```
aws bedrock list-foundation-models
```

Wenn der Befehl erfolgreich ist, gibt die Antwort eine Liste der Basismodelle zurück, die in Amazon Bedrock verfügbar sind.

## Senden Sie eine Textaufforderung an ein Modell und generieren Sie eine Textantwort mit InvokeModel
<a name="getting-started-api-ex-cli-invoke-text"></a>

Im folgenden Beispiel wird der [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html)Vorgang mit dem ausgeführt AWS CLI. `InvokeModel`ermöglicht es Ihnen, eine Aufforderung zur Generierung einer Modellantwort einzureichen. Führen Sie den folgenden Befehl in einem Terminal aus:

```
aws bedrock-runtime invoke-model \
--model-id amazon.titan-text-express-v1 \
--body '{"inputText": "Describe the purpose of a \"hello world\" program in one line.", "textGenerationConfig" : {"maxTokenCount": 512, "temperature": 0.5, "topP": 0.9}}' \
--cli-binary-format raw-in-base64-out \
invoke-model-output-text.txt
```

Wenn der Befehl erfolgreich ist, wird die vom Modell generierte Antwort in die Datei `invoke-model-output-text.txt` geschrieben. Die Textantwort wird zusammen mit den zugehörigen Informationen im Feld `outputText` zurückgegeben.

## Senden eines Text-Prompts an ein Modell und Generieren einer Textantwort mit Converse
<a name="getting-started-api-ex-cli-converse"></a>

Im folgenden Beispiel wird die [Converse-Operation](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html) mit dem AWS CLI ausgeführt. `Converse`ermöglicht es Ihnen, eine Aufforderung zur Generierung einer Modellantwort einzureichen. Wir empfehlen, die Operation `Converse` anstatt `InvokeModel` zu verwenden, sofern dies unterstützt wird, da sie die Inferenzanforderung für alle Amazon-Bedrock-Modelle vereinheitlicht und die Verwaltung von Multi-Turn-Konversationen vereinfacht. Führen Sie den folgenden Befehl in einem Terminal aus:

```
aws bedrock-runtime converse \
--model-id amazon.titan-text-express-v1 \
--messages '[{"role": "user", "content": [{"text": "Describe the purpose of a \"hello world\" program in one line."}]}]' \
--inference-config '{"maxTokens": 512, "temperature": 0.5, "topP": 0.9}'
```

Wenn der Befehl erfolgreich ist, wird die vom Modell generierte Antwort zusammen mit den zugehörigen Informationen im Feld `text` zurückgegeben.

# Führen Sie Amazon Bedrock API-Beispielanfragen über das AWS SDK for Python (Boto3)
<a name="getting-started-api-ex-python"></a>

Dieser Abschnitt führt Sie durch das Ausprobieren einiger gängiger Vorgänge in Amazon Bedrock, AWS Python um zu testen, ob Ihre Berechtigungen und Authentifizierung ordnungsgemäß eingerichtet sind. Bevor Sie die folgenden Beispiele ausführen, sollten Sie sich vergewissern, dass Sie die folgenden Voraussetzungen erfüllt haben:

**Voraussetzungen**
+ Sie haben einen AWS-Konto und einen Benutzer oder eine Rolle mit eingerichteter Authentifizierung und den erforderlichen Berechtigungen für Amazon Bedrock. Führen Sie andernfalls die Schritte unter [Erste Schritte mit der API](getting-started-api.md) aus.
+ Sie haben die Authentifizierung für das AWS SDK for Python (Boto3) installiert und eingerichtet. Um Boto3 zu installieren, befolgen Sie die Schritte unter [Schnellstart](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) in der Boto3-Dokumentation. Überprüfen Sie, ob Sie Ihre Anmeldeinformationen für die Verwendung von Boto3 gemäß den Schritten unter [Einholen von Anmeldeinformationen, um programmgesteuerten Zugriff zu gewähren](getting-started-api.md#gs-grant-program-access) konfiguriert haben.

Testen Sie, ob Ihre Berechtigungen für Amazon Bedrock ordnungsgemäß konfiguriert sind, indem Sie einen Benutzer oder eine Rolle verwenden, den bzw. die Sie mit den richtigen Berechtigungen konfiguriert haben. 

Die Dokumentation zu Amazon Bedrock enthält auch Codebeispiele für andere Programmiersprachen. Weitere Informationen finden Sie unter [Codebeispiele für Amazon Bedrock mit AWS SDKs](service_code_examples.md).

**Topics**
+ [Auflisten der Basismodelle, die Amazon Bedrock zu bieten hat](#getting-started-api-ex-python-listfm)
+ [Senden Sie eine Textaufforderung an ein Modell und generieren Sie eine Textantwort mit InvokeModel](#getting-started-api-ex-python-invoke-text)
+ [Senden eines Text-Prompts an ein Modell und Generieren einer Textantwort mit Converse](#getting-started-api-ex-python-converse)

## Auflisten der Basismodelle, die Amazon Bedrock zu bieten hat
<a name="getting-started-api-ex-python-listfm"></a>

Im folgenden Beispiel wird der [ListFoundationModels](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_ListFoundationModels.html)Vorgang mit einem Amazon Bedrock-Client ausgeführt. `ListFoundationModels`listet die Foundation-Modelle (FMs) auf, die in Amazon Bedrock in Ihrer Region verfügbar sind. Führen Sie das folgende SDK für Python-Skript aus, um einen Amazon Bedrock-Client zu erstellen und den [ListFoundationModels](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_ListFoundationModels.html)Vorgang zu testen:

```
"""
Lists the available Amazon Bedrock models in an &AWS-Region;.
"""
import logging
import json
import boto3


from botocore.exceptions import ClientError


logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)


def list_foundation_models(bedrock_client):
    """
    Gets a list of available Amazon Bedrock foundation models.

    :return: The list of available bedrock foundation models.
    """

    try:
        response = bedrock_client.list_foundation_models()
        models = response["modelSummaries"]
        logger.info("Got %s foundation models.", len(models))
        return models

    except ClientError:
        logger.error("Couldn't list foundation models.")
        raise


def main():
    """Entry point for the example. Change aws_region to the &AWS-Region;
    that you want to use."""
   
    aws_region = "us-east-1"

    bedrock_client = boto3.client(service_name="bedrock", region_name=aws_region)
    
    fm_models = list_foundation_models(bedrock_client)
    for model in fm_models:
        print(f"Model: {model["modelName"]}")
        print(json.dumps(model, indent=2))
        print("---------------------------\n")
    
    logger.info("Done.")

if __name__ == "__main__":
    main()
```

Wenn das Skript erfolgreich ist, gibt die Antwort eine Liste der Basismodelle zurück, die in Amazon Bedrock verfügbar sind.

## Senden Sie eine Textaufforderung an ein Modell und generieren Sie eine Textantwort mit InvokeModel
<a name="getting-started-api-ex-python-invoke-text"></a>

Im folgenden Beispiel wird der [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html)Vorgang mit einem Amazon Bedrock-Client ausgeführt. `InvokeModel`ermöglicht es Ihnen, eine Aufforderung zur Generierung einer Modellantwort einzureichen. Führen Sie das folgende Skript des SDK für Python aus, um einen Laufzeit-Client für Amazon Bedrock zu erstellen und eine Textantwort mit der Operation `` zu generieren:

```
# Use the native inference API to send a text message to Amazon Titan Text G1 - Express.

import boto3
import json

from botocore.exceptions import ClientError

# Create an Amazon Bedrock Runtime client.
brt = boto3.client("bedrock-runtime")

# Set the model ID, e.g., Amazon Titan Text G1 - Express.
model_id = "amazon.titan-text-express-v1"

# Define the prompt for the model.
prompt = "Describe the purpose of a 'hello world' program in one line."

# Format the request payload using the model's native structure.
native_request = {
    "inputText": prompt,
    "textGenerationConfig": {
        "maxTokenCount": 512,
        "temperature": 0.5,
        "topP": 0.9
    },
}

# Convert the native request to JSON.
request = json.dumps(native_request)

try:
    # Invoke the model with the request.
    response = brt.invoke_model(modelId=model_id, body=request)

except (ClientError, Exception) as e:
    print(f"ERROR: Can't invoke '{model_id}'. Reason: {e}")
    exit(1)

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

# Extract and print the response text.
response_text = model_response["results"][0]["outputText"]
print(response_text)
```

Wenn der Befehl erfolgreich ist, gibt die Antwort den Text zurück, der vom Modell als Antwort auf den Prompt generiert wurde.

## Senden eines Text-Prompts an ein Modell und Generieren einer Textantwort mit Converse
<a name="getting-started-api-ex-python-converse"></a>

Im folgenden Beispiel wird die Operation [Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html) mit einem Amazon-Bedrock-Client ausgeführt. Wir empfehlen, die Operation `Converse` anstatt `InvokeModel` zu verwenden, sofern dies unterstützt wird, da sie die Inferenzanforderung für alle Amazon-Bedrock-Modelle vereinheitlicht und die Verwaltung von Multi-Turn-Konversationen vereinfacht. Führen Sie das folgende Skript des SDK für Python aus, um einen Laufzeit-Client für Amazon Bedrock zu erstellen und eine Textantwort mit der Operation `Converse` zu generieren:

```
# Use the Conversation API to send a text message to Amazon Titan Text G1 - Express.

import boto3
from botocore.exceptions import ClientError

# Create an Amazon Bedrock Runtime client.
brt = boto3.client("bedrock-runtime")

# Set the model ID, e.g., Amazon Titan Text G1 - Express.
model_id = "amazon.titan-text-express-v1"

# Start a conversation with the user message.
user_message = "Describe the purpose of a 'hello world' program in one line."
conversation = [
    {
        "role": "user",
        "content": [{"text": user_message}],
    }
]

try:
    # Send the message to the model, using a basic inference configuration.
    response = brt.converse(
        modelId=model_id,
        messages=conversation,
        inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9},
    )

    # Extract and print the response text.
    response_text = response["output"]["message"]["content"][0]["text"]
    print(response_text)

except (ClientError, Exception) as e:
    print(f"ERROR: Can't invoke '{model_id}'. Reason: {e}")
    exit(1)
```

Wenn der Befehl erfolgreich ist, gibt die Antwort den Text zurück, der vom Modell als Antwort auf den Prompt generiert wurde.

# Führen Sie Amazon Bedrock API-Beispielanfragen mit einem Amazon SageMaker AI-Notizbuch aus
<a name="getting-started-api-ex-sm"></a>

Dieser Abschnitt führt Sie durch das Ausprobieren einiger gängiger Vorgänge in Amazon Bedrock mit einem Amazon SageMaker AI-Notizbuch, um zu testen, ob Ihre Amazon Bedrock-Rollenberechtigungen ordnungsgemäß eingerichtet sind. Bevor Sie die folgenden Beispiele ausführen, sollten Sie sich vergewissern, dass Sie die folgenden Voraussetzungen erfüllt haben:

**Voraussetzungen**
+ Sie verfügen über eine AWS-Konto und haben die erforderlichen Berechtigungen für den Zugriff auf eine Rolle mit den erforderlichen Berechtigungen für Amazon Bedrock. Führen Sie andernfalls die Schritte unter [Quickstart](getting-started.md) aus.
+ Führen Sie die folgenden Schritte aus, um IAM-Berechtigungen für SageMaker KI einzurichten und ein Notizbuch zu erstellen:

  1. Ändern Sie die [Vertrauensrichtlinie](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#term_trust-policy) der Amazon-Bedrock-Rolle, die Sie in [Quickstart](getting-started.md) über die [Konsole](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-console.html#roles-managingrole_edit-trust-policy), das [CLI](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-cli.html#roles-managingrole_edit-trust-policy-cli) oder die [API](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-api.html#roles-managingrole_edit-trust-policy-api) konfiguriert haben. Fügen Sie der Rolle die folgende Vertrauensrichtlinie hinzu, damit sowohl die Amazon Bedrock- als auch die SageMaker KI-Dienste die Amazon Bedrock-Rolle übernehmen können:

------
#### [ JSON ]

****  

     ```
     {
         "Version":"2012-10-17",		 	 	 
         "Statement": [
             {
                 "Sid": "BedrockTrust",
                 "Effect": "Allow",
                 "Principal": {
                     "Service": "bedrock.amazonaws.com"
                 },
                 "Action": "sts:AssumeRole"
             },
             {
                 "Sid": "SagemakerTrust",
                 "Effect": "Allow",
                 "Principal": {
                     "Service": "sagemaker.amazonaws.com"
                 },
                 "Action": "sts:AssumeRole"
             }
         ]
     }
     ```

------

  1. Melden Sie sich bei der Amazon-Bedrock-Rolle an, deren Vertrauensrichtlinie Sie gerade geändert haben.

  1. Folgen Sie den Schritten unter [Amazon SageMaker AI Notebook Instance erstellen für das Tutorial](https://docs.aws.amazon.com/sagemaker/latest/dg/gs-setup-working-env.html) und geben Sie den ARN der Amazon Bedrock-Rolle an, die Sie zum Erstellen einer SageMaker AI-Notebook-Instance erstellt haben.

  1. Wenn der **Status** der Notebook-Instance lautet **InService**, wählen Sie die Instance aus und klicken Sie dann auf **Öffnen JupyterLab**.

Nachdem Sie Ihr SageMaker KI-Notizbuch geöffnet haben, können Sie die folgenden Beispiele ausprobieren:

**Topics**
+ [Auflisten der Basismodelle, die Amazon Bedrock zu bieten hat](#getting-started-api-ex-sm-listfm)
+ [Senden eines Text-Prompts an ein Modell und Generieren einer Antwort](#getting-started-api-ex-sm-converse)

## Auflisten der Basismodelle, die Amazon Bedrock zu bieten hat
<a name="getting-started-api-ex-sm-listfm"></a>

Im folgenden Beispiel wird der [ListFoundationModels](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_ListFoundationModels.html)Vorgang mit einem Amazon Bedrock-Client ausgeführt. `ListFoundationModels`listet die Foundation-Modelle (FMs) auf, die in Amazon Bedrock in Ihrer Region verfügbar sind. Führen Sie das folgende SDK für Python-Skript aus, um einen Amazon Bedrock-Client zu erstellen und den [ListFoundationModels](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_ListFoundationModels.html)Vorgang zu testen:

```
"""
Lists the available Amazon Bedrock models in an &AWS-Region;.
"""
import logging
import json
import boto3


from botocore.exceptions import ClientError


logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)


def list_foundation_models(bedrock_client):
    """
    Gets a list of available Amazon Bedrock foundation models.

    :return: The list of available bedrock foundation models.
    """

    try:
        response = bedrock_client.list_foundation_models()
        models = response["modelSummaries"]
        logger.info("Got %s foundation models.", len(models))
        return models

    except ClientError:
        logger.error("Couldn't list foundation models.")
        raise


def main():
    """Entry point for the example. Change aws_region to the &AWS-Region;
    that you want to use."""
   
    aws_region = "us-east-1"

    bedrock_client = boto3.client(service_name="bedrock", region_name=aws_region)
    
    fm_models = list_foundation_models(bedrock_client)
    for model in fm_models:
        print(f"Model: {model["modelName"]}")
        print(json.dumps(model, indent=2))
        print("---------------------------\n")
    
    logger.info("Done.")

if __name__ == "__main__":
    main()
```

Wenn das Skript erfolgreich ist, gibt die Antwort eine Liste der Basismodelle zurück, die in Amazon Bedrock verfügbar sind.

## Senden eines Text-Prompts an ein Modell und Generieren einer Antwort
<a name="getting-started-api-ex-sm-converse"></a>

Im folgenden Beispiel wird die Operation [Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html) mit einem Amazon-Bedrock-Client ausgeführt. `Converse` ermöglicht es Ihnen, einen Prompt zum Generieren einer Modellantwort zu senden. Führen Sie das folgende Skript des SDK für Python aus, um einen Laufzeit-Client für Amazon Bedrock zu erstellen und die Operation [Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html) zu testen:

```
# Use the Conversation API to send a text message to Amazon Titan Text G1 - Express.

import boto3
from botocore.exceptions import ClientError

# Create an Amazon Bedrock Runtime client.
brt = boto3.client("bedrock-runtime")

# Set the model ID, e.g., Amazon Titan Text G1 - Express.
model_id = "amazon.titan-text-express-v1"

# Start a conversation with the user message.
user_message = "Describe the purpose of a 'hello world' program in one line."
conversation = [
    {
        "role": "user",
        "content": [{"text": user_message}],
    }
]

try:
    # Send the message to the model, using a basic inference configuration.
    response = brt.converse(
        modelId=model_id,
        messages=conversation,
        inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9},
    )

    # Extract and print the response text.
    response_text = response["output"]["message"]["content"][0]["text"]
    print(response_text)

except (ClientError, Exception) as e:
    print(f"ERROR: Can't invoke '{model_id}'. Reason: {e}")
    exit(1)
```

Wenn der Befehl erfolgreich ist, gibt die Antwort den Text zurück, der vom Modell als Antwort auf den Prompt generiert wurde.