Amazon Bedrock angetestet

07.03.2024
Von 
Martin Heller schreibt als freier Autor für die Schwesterpublikation InfoWorld.

Amazon-Bedrock-Prompts, -Beispiele und -Playgrounds

Amazon Bedrock wartet zum Zeitpunkt dieses Tests mit 33 Beispielen für die Nutzung von GenAI-Modellen auf und stellt drei verschiedene Playgrounds zur Verfügung. Letztgenannte bieten eine Konsolenumgebung für Experimente mit Inferenzen auf unterschiedlichen Modellen und unter verschiedenen Konfigurationen. Sie haben die Wahl:

  • eEntweder mit einem der Playground (Chat, Text oder Bild) loszulegen, ein Modell auszuwählen, einen Prompt zu erstellen und die Metaparameter festlegen.

  • oder mit einem Beispiel zu beginnen und dieses im entsprechenden Playground öffnen. Dann sind Modell und Metaparameter bereits vorausgewählt, das Prompt-Feld bereits befüllt.

Die Bedrock-Beispiele veranschaulichen Prompts und Parameter für diverse unterstützte Modelle und Aufgaben. Diese Tasks decken folgende Bereiche ab:

  • Zusammenfassungen anfertigen,

  • Fragen beantworten,

  • Probleme lösen,

  • Code generieren,

  • Texte erstellen, sowie

  • Bilder erzeugen.

Jedes dieser Beispiele demonstriert ein Modell, einen Prompt, ein Parameter sowie eine Antwort und enthält eine klickbare Schaltfläche, die das jeweilige Beispiel direkt in einem Playground öffnet. Die Ergebnisse, die Sie dort erhalten, können mit den im Beispiel gezeigten übereinstimmen oder auch nicht - vor allem, wenn die Parameter weniger wahrscheinliche Token zulassen. Im Folgenden sehen wir uns drei der Beispiele genauer an.

1. Beispiel: Chain of Thought

Unser erstes Beispiel demonstriert die Lösung eines arithmetischen Wortproblems in Amazon Bedrock mit einem Chain-of-Thought-Prompt und dem Llama-2-Modell Chat 70B v1.

Der [INST] (Instruktions)-Block in diesem Beispiel ist Llama-spezifisch.
Der [INST] (Instruktions)-Block in diesem Beispiel ist Llama-spezifisch.
Foto: Martin Heller | IDG

An diesem Beispiel sind mehrere Aspekte interessant: Zum einen funktioniert es mit einem relativ kleinen Open-Source-Modell. Zum anderen wird die Chain-of-Thought-Aktion durch einen simplen Prompt-Zusatz getriggert: "Let's think step by step". Wenn Sie diesen entfernen, dürfen Sie dabei zusehen, wie das Modell regelmäßig aus den Fugen gerät und falsche Antworten generiert.

Das Chain-of-Thought-Beispiel im Amazon-Bedrock-Playground: Dieses spezifische Prompt- und Hyperparameter-Set sorgt in der Regel für korrekte Antworten - wenn auch nicht immer in konsistentem Format. Die Temperatureinstellung von 0,5 sorgt für moderate Randomness, das Top-P-Setting von 0,9 erlaubt auch weniger wahrscheinliche Outputs.
Das Chain-of-Thought-Beispiel im Amazon-Bedrock-Playground: Dieses spezifische Prompt- und Hyperparameter-Set sorgt in der Regel für korrekte Antworten - wenn auch nicht immer in konsistentem Format. Die Temperatureinstellung von 0,5 sorgt für moderate Randomness, das Top-P-Setting von 0,9 erlaubt auch weniger wahrscheinliche Outputs.
Foto: Martin Heller | IDG

2. Beispiel: Contract Entity Extraction

Dieses Example veranschaulicht die Informationsextraktion aus Verträgen mit Coheres KI-Modell Command.

Ein Blick auf die "Contract Entity Extraction" mit dem Text-LLM Command.
Ein Blick auf die "Contract Entity Extraction" mit dem Text-LLM Command.
Foto: Martin Heller | IDG
Die Temperatureinstellung in diesem Beispiel liegt bei 0,9, Top P bei 1 - das erlaubt hohe Randomness für den generierten Text.
Die Temperatureinstellung in diesem Beispiel liegt bei 0,9, Top P bei 1 - das erlaubt hohe Randomness für den generierten Text.
Foto: Martin Heller | IDG

3. Beispiel: Image Inpainting

Unser letztes Beispiel beschäftigt sich mit Bildbearbeitung - genauer gesagt "Image Inpainting" (Bildelemente ersetzen beziehungsweise modifizieren) mit Amazons KI-Modell "Titan Image Generator G1". Hierbei wird über ein Referenzbild, eine Maske und einen Prompt ein neues Bild erzeugt.

Die Blumen in diesem Bild sollen manipuliert werden. Dazu wird die Maske über den betreffenden Bereich gelegt und ein entsprechender Prompt übermittelt.
Die Blumen in diesem Bild sollen manipuliert werden. Dazu wird die Maske über den betreffenden Bereich gelegt und ein entsprechender Prompt übermittelt.
Foto: Martin Heller | IDG
Das Ergebnis. Über die klickbaren Info-Links im Konfigurationsbereich können Sie sich en detail über die einzelnen Hyperparameter informieren.
Das Ergebnis. Über die klickbaren Info-Links im Konfigurationsbereich können Sie sich en detail über die einzelnen Hyperparameter informieren.
Foto: Martin Heller | IDG

Mit Amazon Bedrock orchestrieren

In Sachen Orchestrierung bietet Amazon Bedrock derzeit folgende Optionen:

  • Datenquellen in Wissensdatenbanken ("Knowledge Bases") importieren, die dann verwendet werden können, um RAG einzurichten.

  • Agenten kreieren, die Aktionen ausführen können.

Dabei handelt es sich um zwei der wichtigsten Methoden, um generative KI-Anwendungen aufzubauen. Sie liegen irgendwo zwischen simplem Prompt Engineering und teurem sowie zeitaufwändigem Modell-Pretraining und Feintuning.

Um Wissensdatenbanken zu verwenden, gehen Sie bei Amazon Bedrock schrittweise vor:

  • Importieren Sie Ihre Datenquellen in ein Amazon S3-Bucket.

  • Legen Sie das "Chunking" für Ihre Daten fest. Der Standardwert liegt bei circa 300 Token pro Chunk, Sie können jedoch auch maßgeschneiderte Größen festlegen.

  • Richten Sie Ihren Vector Store und Ihr Embeddings-Modell in der von Ihnen bevorzugten Datenbank ein - oder gestatten Sie AWS, die Default-Einstelllungen von Amazon OpenSearch Serverless zu verwenden.

  • Erstellen Sie Ihre Wissensdatenbank über die Bedrock-Konsole, verbinden Sie sie mit Datenquellen und testen sie.

  • Schließlich kann die Knowledge Base mit einem RAG-Modell oder mit einem Agenten verbunden werden. Ein Videobeitrag von der AWS re:Invent 2023 widmet sich diesem Thema eingehend.

Der Startpunkt, um eine Wissensdatenbank in Amazon Bedrock aufzusetzen.
Der Startpunkt, um eine Wissensdatenbank in Amazon Bedrock aufzusetzen.
Foto: Martin Heller | IDG

Agenten orchestrieren Interaktionen zwischen KI-Basismodellen, Datenquellen, Softwareanwendungen und Prompts. Zudem rufen sie APIs auf, um Aktionen auszuführen. Zusätzlich zu den RAG-Komponenten sind Agenten in der Lage:

  • Anweisungen zu befolgen,

  • ein OpenAPI-Schema zu verwenden, um abrufbare APIs zu definieren und/oder

  • eine Lambda-Funktion aufzurufen.