AWS Germany – HAQM Web Services in Deutschland
HAQM Bedrock ist jetzt allgemein verfügbar!
von Antje Barth, übersetzt von Tobias Nitzsche.
Im April haben wir HAQM Bedrock als Teil eines neuen Toolsets für den Bau von generativer KI auf AWS vorgestellt. HAQM Bedrock ist ein vollständig verwalteter Service, der eine Auswahl von leistungsstarken Grundlagenmodellen (engl. Foundation Models – FMs) von führenden KI-Unternehmen wie AI21 Labs [EN, Extern], Anthropic [EN, Extern], Cohere [EN, Extern], Stability AI [EN, Extern] und HAQM [EN] bietet. Dazu kommen umfangreiche Möglichkeiten, generative KI-Anwendungen zu erstellen, wobei die Entwicklung vereinfacht wird, ohne dabei Datenschutz und Sicherheit zu vernachlässigen.
Heute freue ich mich, Ihnen mitteilen zu können, dass HAQM Bedrock nun allgemein verfügbar ist! Zudem freue ich mich, Ihnen mitteilen zu können, dass Metas Llama 2 [EN, Extern] 13B und 70B Parameter-Modelle bald auch auf HAQM Bedrock verfügbar sein werden.
Die umfassenden Möglichkeiten von HAQM Bedrock unterstützen Sie dabei, mit einer Vielzahl von Top-FMs zu experimentieren, sie privat mit Ihren Daten mittels Techniken wie Feinabstimmung und Retrieval-augmented Generation (RAG) anzupassen und verwaltete Agents zu erstellen, die komplexe Geschäftsaufgaben erledigen – und das alles ohne jeglichen Code. Schauen Sie sich meine vorherigen Beiträge an, um mehr über Agents für HAQM Bedrock und die Verbindung von FMs mit den Datenquellen Ihres Unternehmens zu erfahren.
Bitte beachten Sie, dass einige Funktionen, wie z.B. Agents für HAQM Bedrock einschließlich Wissensdatenbanken, weiterhin als Vorschau verfügbar sind. Genauere Details dazu, welche Funktionen weiterhin in der Vorschau verfügbar sind, werde ich gegen Ende dieses Blog-Beitrags mitteilen.
Da HAQM Bedrock serverlos ist, müssen Sie keine Infrastruktur verwalten. Sie können generative KI-Fähigkeiten sicher in Ihre bestehenden und neuen Anwendungen integrieren, indem Sie die Ihnen bereits vertrauten AWS-Dienste nutzen.
HAQM Bedrock ist mit HAQM CloudWatch und AWS CloudTrail integriert, um Ihre Überwachungs- und Governance-Bedürfnisse zu unterstützen. Mit CloudWatch können Sie Nutzungsdaten verfolgen und angepasste Dashboards für Audit-Zwecke erstellen. Mit CloudTrail können Sie API-Aktivitäten überwachen und Probleme beheben, während Sie andere Systeme in Ihre generativen KI-Anwendungen integrieren. HAQM Bedrock ermöglicht es Ihnen auch, Anwendungen zu erstellen, die mit der DSGVO konform sind, und Sie können HAQM Bedrock nutzen, um sensible Workloads gemäß dem US-amerikanischen Health Insurance Portability and Accountability Act (HIPAA) auszuführen.
Starten Sie mit HAQM Bedrock
Sie können auf verfügbare FMs in HAQM Bedrock über die AWS Management Console, AWS SDKs und Open-Source-Frameworks wie LangChain [EN, Extern] zugreifen.
Mit der HAQM Bedrock-Konsole [EN] können Sie FMs durchstöbern und Beispiele sowie Aufforderungen für jedes Modell erkunden und laden. Zuerst müssen Sie den Zugriff auf die Modelle aktivieren. Im Konsolenbereich wählen Sie auf der linken Navigationsleiste Model access (Modellzugriff) aus und aktivieren die Modelle, auf die Sie zugreifen möchten. Sobald der Modellzugriff aktiviert ist, können Sie verschiedene Modelle und Inferenzkonfigurationseinstellungen ausprobieren, um ein Modell zu finden, das zu Ihrem Anwendungsfall passt.
Hier ein Beispiel für einen Anwendungsfall zur Vertragsentitäts-Extraktion mit Cohere’s [EN, Extern] Command Modell:
Das Beispiel zeigt eine Aufforderung mit einer Musterantwort, die Inferenzkonfigurationseinstellungen für das Beispiel und die API-Anfrage, die das Beispiel ausführt. Wenn Sie Open in Playground (Im Spielplatz öffnen) auswählen, können Sie das Modell und den Anwendungsfall in einer interaktiven Konsolenumgebung weiter erkunden.HAQM Bedrock bietet Chat-, Text- und Bildmodell-Spielplätze an. Im Chat-Spielplatz können Sie mit verschiedenen FMs über eine konversationelle Chat-Schnittstelle experimentieren. Das folgende Beispiel verwendet Anthropic’s [EN, Extern] Claude Modell:
Während Sie verschiedene Modelle bewerten, sollten Sie verschiedene Aufforderungstechniken (engl. prompt engineering) und Inferenzparameter (engl. inference configurations) ausprobieren. Promt Engineering ist eine neue und spannende Aufgabe, die darauf abzielt, besser zu verstehen wie Sie FMs für Ihre Aufgaben und Anwendungsfälle nutzen können. Promt Engineering dreht sich darum, die den perfekten Promt zu formulieren, um das Beste aus den FMs herauszuholen und korrekte, sowie präzise Antworten zu erhalten. Im Allgemeinen sollten Prompts einfach, direkt und frei von Mehrdeutigkeit sein. Sie können auch Beispiele im Prompt geben oder das Modell dazu anregen, komplexere Aufgaben zu “durchdenken”.
Inference Configurations beeinflussen die vom Modell erzeugte Antwort. Parameter wie Temperature
, Top P
und Top K
geben Ihnen Kontrolle über Zufall und Vielfalt. Die maximale Länge (Maximum Length
) oder die maximale Anzahl an Tokens (Max Tokens
) steuern die Länge der Modellantworten. Beachten Sie, dass jedes Modell eine unterschiedliche, aber oft überschneidende Menge von Inferenzparametern bietet. Diese Parameter sind entweder zwischen den Modellen gleich benannt oder ähnlich genug, um sie zu verstehen, wenn Sie verschiedene Modelle ausprobieren.
Wir besprechen Promt Engineering und Inference Configurations ausführlicher in Woche 1 des On-Demand-Kurses Generative KI mit großen Sprachmodellen [EN, Extern], der von AWS in Zusammenarbeit mit DeepLearning.AI [EN, Extern] entwickelt wurde. Sie können auch die HAQM Bedrock-Dokumentation und die jeweilige Dokumentation des Modellanbieters für weitere Tipps konsultieren.
Als Nächstes sehen wir uns an, wie Sie über APIs mit HAQM Bedrock interagieren können.
Mit der HAQM Bedrock API arbeiten
Die Arbeit mit HAQM Bedrock ist so einfach wie das Auswählen eines FM für Ihren Anwendungsfall und das Tätigen einiger API-Aufrufe. In den folgenden Code-Beispielen werde ich das AWS SDK für Python (Boto3) verwenden, um mit HAQM Bedrock zu interagieren.
Verfügbare Foundation Modelle auflisten
Zunächst richten wir den boto3
Client ein und verwenden dann list_foundation_models()
, um die aktuellste Liste der verfügbaren FMs zu sehen:
import boto3
import json
bedrock = boto3.client(
service_name='bedrock',
region_name='us-east-1'
)
bedrock.list_foundation_models()
Inferenz mit HAQM Bedrocks InvokeModel
API durchführen
Anschließend führen wir eine Inferenzanfrage mit der InvokeModel
API von HAQM Bedrock und dem boto3
-Runtime-Client durch. Der Runtime-Client verwaltet die Datenplane-APIs, einschließlich der InvokeModel
API.
Die InvokeModel
API erwartet die folgenden Parameter:
Der Parameter modelId
identifiziert das FM, das Sie verwenden möchten. Der body
des Anfrage ist ein JSON-String, der die Aufforderung für Ihre Aufgabe sowie etwaige Inference Configurations enthält. Beachten Sie, dass das Format der Aufforderung je nach ausgewähltem Modellanbieter und FM variieren kann. Die Parameter contentType
und accept
definieren den MIME-Typ der Daten im Anfragekörper und in der Antwort und sind standardmäßig auf application/json
festgelegt. Weitere Informationen zu den neuesten Modellen, InvokeModel
API-Parametern und Aufforderungsformaten finden Sie in der HAQM Bedrock-Dokumentation [EN].
Beispiel: Texterzeugung mit AI21 Labs Jurassic-2 Modell
Hier ein Beispiel für die Texterzeugung mit dem Jurassic-2 Ultra-Modell von AI21 Lab [EN, Extern]. Ich werde das Modell bitten, mir einen Klopf-Klopf-Witz zu erzählen – meine Version von einem Hallo-Welt-Programm.
bedrock_runtime = boto3.client(
service_name='bedrock-runtime',
region_name='us-east-1'
)
modelId = 'ai21.j2-ultra-v1'
accept = 'application/json'
contentType = 'application/json'
body = json.dumps(
{"prompt": "Knock, knock!",
"maxTokens": 200,
"temperature": 0.7,
"topP": 1,
}
)
response = bedrock_runtime.invoke_model(
body=body,
modelId=modelId,
accept=accept,
contentType=contentType
)
response_body = json.loads(response.get('body').read())
Hier ist die Antwort:
Sie können die API InvokeModel
nutzen, um mit Einbettungsmodellen zu arbeiten.
Beispiel: Erstellen von Texteinbettungen mit HAQMs Titan-Einbettungsmodell
Text-Einbettungsmodelle übersetzen Texteingaben, wie Wörter, Phrasen oder möglicherweise große Texteinheiten, in numerische Darstellungen, die als Einbettungsvektoren bekannt sind. Diese Vektoren erfassen die semantische Bedeutung des Textes in einem hochdimensionalen Vektorraum und sind nützlich für Anwendungen wie Personalisierung oder Suche. Im folgenden Beispiel verwende ich das HAQM Titan Einbettungsmodell [EN], um einen Einbettungsvektor zu erstellen.
prompt = "Knock-knock jokes are hilarious."
body = json.dumps({
"inputText": prompt,
})
model_id = 'amazon.titan-embed-text-v1'
accept = 'application/json'
content_type = 'application/json'
response = bedrock_runtime.invoke_model(
body=body,
modelId=model_id,
accept=accept,
contentType=content_type
)
response_body = json.loads(response['body'].read())
embedding = response_body.get('embedding')
Der Einbettungsvektor (gekürzt) sieht etwa so aus:
Beachten Sie, dass HAQM Titan Einbettungen ab heute verfügbar sind. Die HAQM Titan Text Modellfamilie zur Textgenerierung ist weiterhin in einer eingeschränkten Vorschau verfügbar.
Inferenz mit HAQM Bedrocks InvokeModelWithResponseStream
API durchführen
Die InvokeModel
API-Anfrage ist synchron und wartet darauf, dass die gesamte Antwort vom Modell generiert wird. Für Modelle, die Streaming-Antworten unterstützen, bietet Bedrock auch eine InvokeModelWithResponseStream
API an, mit der das angegebene Modell zur Inferenz mit der bereitgestellten Eingabe aufgerufen werden kann, während die Antwort gestreamt wird, wenn das Modell die Ausgabe generiert.
Streaming-Antworten sind besonders nützlich für responsive Chat-Schnittstellen, um die Nutzer:innen in einer interaktiven Anwendung engagiert zu halten. Hier ist ein Python-Code-Beispiel, das die InvokeModelWithResponseStream
API von HAQM Bedrock verwendet:
response = bedrock_runtime.invoke_model_with_response_stream(
modelId=modelId,
body=body)
stream = response.get('body')
if stream:
for event in stream:
chunk=event.get('chunk')
if chunk:
print(json.loads(chunk.get(‘bytes').decode))
Datenschutz und Netzwerksicherheit
Mit HAQM Bedrock haben Sie die Kontrolle über Ihre Daten, alle Ihre Eingaben und Anpassungen bleiben sicher in Ihrem AWS-Account. Ihre Daten, wie Prompts, Vervollständigungen und fein abgestimmte Modelle, werden nicht zur Serviceverbesserung verwendet. Zudem werden die Daten nie mit Drittanbieter-Modellanbietern geteilt.
Ihre Daten verbleiben in der Region, in der der API-Aufruf verarbeitet wird. Alle Daten werden während der Übertragung mit mindestens TLS 1.2 verschlüsselt. Daten im Ruhezustand werden mit AES-256 unter Verwendung von AWS KMS-verwalteten Datenverschlüsselungsschlüsseln verschlüsselt. Sie können auch Ihre eigenen Schlüssel (kundenspezifische Schlüssel) verwenden, um die Daten zu verschlüsseln.
Sie können Ihr AWS-Konto und Ihr virtuelles privates Netzwerk (VPC) so konfigurieren, dass HAQM VPC-Endpunkte (basiert auf AWS PrivateLink) verwendet werden, um sicher über das AWS-Netzwerk eine Verbindung zu HAQM Bedrock herzustellen. Dies ermöglicht eine sichere und private Verbindung zwischen Ihren Anwendungen, die in einem VPC laufen, und HAQM Bedrock.
Steuerung und Überwachung
HAQM Bedrock integriert sich in AWS IAM, um Ihnen zu helfen, die Berechtigungen für HAQM Bedrock zu verwalten. Zu diesen Berechtigungen gehören der Zugriff auf bestimmte Modelle, den Playground oder Funktionen innerhalb von HAQM Bedrock. Alle von AWS verwalteten Service-API-Aktivitäten, einschließlich der Aktivitäten von HAQM Bedrock, werden in Ihrem Konto in CloudTrail protokolliert.
HAQM Bedrock übermittelt Datenpunkte an HAQM CloudWatch im Namespace AWS/Bedrock, um gängige Metriken wie InputTokenCount
, OutputTokenCount
, InvocationLatency
und (Anzahl der) Invocations
zu verfolgen. Sie können Ergebnisse filtern und Statistiken für ein bestimmtes Modell erhalten, indem Sie die Modell-ID-Dimension angeben, wenn Sie nach Metriken suchen. Diese nahezu Echtzeiteinblicke helfen Ihnen, die Nutzung und Kosten (Input- und Output-Token-Anzahl) zu überwachen und Leistungsprobleme (Aufruflatenz und Anzahl der Aufrufe) zu beheben, während Sie generative KI-Anwendungen mit HAQM Bedrock erstellen.
Abrechnung und Preismodelle
Hier sind einige Dinge zur Abrechnung und den Preisgestaltungsmodellen zu beachten, wenn Sie HAQM Bedrock verwenden:
Abrechnung – Textgenerierungsmodelle werden pro verarbeiteten Eingabetoken und pro generierten Ausgabetoken abgerechnet. Texteinbettungsmodelle werden pro verarbeiteten Eingabetoken abgerechnet. Bildgenerierungsmodelle werden pro generiertem Bild abgerechnet.
Preismodelle – HAQM Bedrock bietet zwei Preismodelle, On-Demand und reservierter Durchsatz. On-Demand-Preise ermöglichen es Ihnen, FMs nach dem Pay-as-you-go-Prinzip zu nutzen, ohne zeitbasierte Verpflichtungen eingehen zu müssen. Reservierter Durchsatz ist hauptsächlich für große, konsistente Inferenzworkloads konzipiert, die einen garantierten Durchsatz im Austausch für eine Vertragslaufzeit benötigen. Hier geben Sie die Anzahl der Modell-Einheiten eines bestimmten FMs an, um den Leistungsanforderungen Ihrer Anwendung gerecht zu werden, wie sie durch die maximale Anzahl der pro Minute verarbeiteten Eingabe- und Ausgabetoken definiert sind.
Weitere Informationen zur Preisgestaltung finden Sie unter HAQM Bedrock Preise [EN].
Jetzt verfügbar!
HAQM Bedrock ist heute in den AWS-Regionen US East (N. Virginia) und US West (Oregon) verfügbar. Um mehr zu erfahren, besuchen Sie HAQM Bedrock [EN], sehen Sie sich die HAQM Bedrock-Dokumentation [EN] an, erkunden Sie den generativen KI-Bereich auf community.aws [EN] und sammeln Sie praktische Erfahrungen mit unseren HAQM Bedrock-Workshops [EN]. Feedback können Sie über AWS re:Post für HAQM Bedrock [EN] oder über Ihre üblichen AWS-Kontakte senden.
(In der Vorschau verfügbar) Die HAQM Titan Text-Modellfamilie zur Textgenerierung, das Stable Diffusion XL Bildgenerierungsmodell von Stability AI und Agents für HAQM Bedrock, einschließlich Wissensdatenbanken, sind weiterhin in der Vorschau verfügbar. Kontaktieren Sie uns über Ihre üblichen AWS-Kontakte, wenn Sie Zugang wünschen.
(Demnächst verfügbar) Die Modelle Llama 2 [EN, Extern] 13B und 70B von Meta [EN, Extern] werden bald über HAQMs Bedrock’s vollständig verwaltete API für Inferenz und Feinabstimmung verfügbar sein.
Beginnen Sie noch heute mit dem Aufbau generativer KI-Anwendungen mit HAQM Bedrock! [EN]
— Antje [Extern] & Tobi [Extern]
Über die Autoren
Antje Barth ist Principal Developer Advocate für AI und ML bei AWS. Sie ist Co-Autorin des O’Reilly-Buchs – Data Science auf AWS. Antje spricht häufig auf AI/ML-Konferenzen, Veranstaltungen und Meetups auf der ganzen Welt. Sie hat auch das Düsseldorfer Kapitel von Women in Big Data mitbegründet. |