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.
Integration von Amazon Redshift ML mit Amazon Bedrock
In diesem Abschnitt wird beschrieben, wie Sie die Amazon Redshift ML-Integration mit Amazon Bedrock verwenden. Mit dieser Funktion können Sie ein Amazon Bedrock-Modell mithilfe von SQL aufrufen und Ihre Daten aus einem Amazon Redshift Redshift-Data Warehouse verwenden, um generative KI-Anwendungen wie Textgenerierung, Stimmungsanalyse oder Übersetzung zu erstellen.
Themen
Erstellen oder Aktualisieren einer IAM-Rolle für die Amazon Redshift ML-Integration mit Amazon Bedrock
In diesem Abschnitt wird gezeigt, wie Sie eine IAM-Rolle zur Verwendung mit der Amazon Redshift ML-Integration mit Amazon Bedrock erstellen.
Fügen Sie der IAM-Rolle, die Sie mit der Amazon Redshift ML-Integration mit Amazon Bedrock verwenden, die folgende Richtlinie hinzu:
AmazonBedrockFullAccess
Damit Amazon Redshift eine Rolle für die Interaktion mit anderen Diensten übernehmen kann, fügen Sie der IAM-Rolle die folgende Vertrauensrichtlinie hinzu:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "redshift.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
Wenn sich der Cluster oder Namespace in einer VPC befindet, folgen Sie den Anweisungen unter. Einrichtung für die Amazon-Redshift-ML-Administration in Cluster aufteilen und konfigurieren
Wenn Sie eine restriktivere Richtlinie benötigen, können Sie eine erstellen, die nur die auf den folgenden Seiten angegebenen Amazon Bedrock-Berechtigungen umfasst:
Informationen zum Erstellen einer IAM-Rolle finden Sie unter IAM-Rollenerstellung im AWS Identity and Access Management Benutzerhandbuch.
Erstellen eines externen Modells für die Amazon Redshift ML-Integration mit Amazon Bedrock
In diesem Abschnitt wird gezeigt, wie Sie ein externes Modell erstellen, das als Schnittstelle für Amazon Bedrock in Ihrem Amazon Redshift Data Warehouse verwendet werden kann.
Um ein Amazon Bedrock-Modell von Amazon Redshift aus aufzurufen, müssen Sie zuerst den Befehl ausführen. CREATE EXTERNAL MODEL
Dieser Befehl erstellt ein externes Modellobjekt in der Datenbank und eine zugehörige Benutzerfunktion, die Sie verwenden, um Textinhalte mit Amazon Bedrock zu generieren.
Das folgende Codebeispiel zeigt einen grundlegenden CREATE EXTERNAL MODEL
Befehl:
CREATE EXTERNAL MODEL llm_claude FUNCTION llm_claude_func IAM_ROLE '
<IAM role arn>
' MODEL_TYPE BEDROCK SETTINGS ( MODEL_ID 'anthropic.claude-v2:1', PROMPT 'Summarize the following text:');
Der CREATE EXTERNAL MODEL
Befehl verfügt über eine einheitliche und konsistente Schnittstelle zu Amazon Bedrock für alle Foundation-Modelle (FM), die Nachrichten unterstützen. Dies ist die Standardoption, wenn Sie den CREATE EXTERNAL MODEL
Befehl verwenden oder wenn der gewünschte Anforderungstyp explizit angegeben wirdUNIFIED
. Weitere Informationen finden Sie in der Converse API-Dokumentation in der Amazon Bedrock API-Dokumentation.
Wenn ein FM keine Nachrichten unterstützt, müssen Sie die request_type
Einstellung auf setzen. RAW
Wenn Sie request_type
auf einstellenRAW
, müssen Sie die an Amazon Bedrock gesendete Anfrage erstellen, wenn Sie die Inferenzfunktion auf der Grundlage des ausgewählten FM verwenden.
Der PROMPT
Parameter für den CREATE EXTERNAL MODEL
Befehl ist eine statische Eingabeaufforderung. Wenn Sie eine dynamische Eingabeaufforderung für Ihre Anwendung benötigen, müssen Sie diese angeben, wenn Sie die Inferenzfunktion verwenden. Weitere Einzelheiten finden Sie im Promptes Engineering für die Integration von Amazon Redshift ML mit Amazon Bedrock Folgenden.
Weitere Informationen zur CREATE EXTERNAL MODEL
Anweisung und ihren Parametern und Einstellungen finden Sie unterEXTERNES MODELL ERSTELLEN.
Verwendung eines externen Modells für die Amazon Redshift ML-Integration mit Amazon Bedrock
In diesem Abschnitt wird gezeigt, wie Sie ein externes Modell aufrufen, um als Antwort auf bereitgestellte Eingabeaufforderungen Text zu generieren. Verwenden Sie die Inferenzfunktion, mit der Sie ein externes Modell erstellen, um ein externes Modell aufzurufen. CREATE EXTERNAL MODEL
Themen
Inferenz mit Modellen vom Typ Anfrage UNIFIED
Die Inferenzfunktion für Modelle mit dem Anforderungstyp UNIFIED
hat die folgenden drei Parameter, die der Reihe nach an die Funktion übergeben werden:
Eingabetext (erforderlich): Dieser Parameter gibt den Eingabetext an, den Amazon Redshift an Amazon Bedrock weitergibt.
Felder für Inferenzkonfiguration und Zusätzliche Modellanfragen (optional): Amazon Redshift übergibt diese Parameter an die entsprechenden Parameter für die Converse-Modell-API.
Das folgende Codebeispiel zeigt, wie eine UNIFIED
Typinferenzfunktion verwendet wird:
SELECT llm_claude_func(input_text, object('temperature', 0.7, 'maxtokens', 500)) FROM some_data;
Inferenz mit Modellen vom Typ RAW
Anfrage
Die Inferenzfunktion für Modelle mit Anforderungstyp RAW
hat nur einen Parameter vom Datentyp. SUPER
Die Syntax dieses Parameters hängt vom verwendeten Amazon Bedrock-Modell ab.
Das folgende Codebeispiel zeigt, wie eine RAW
Typinferenzfunktion verwendet wird:
SELECT llm_titan_func( object( "inputText", "Summarize the following text: " | input_text, "textGenerationConfig", object("temperature", 0.5, "maxTokenCount", 500) ) ) FROM some_data;
Inferenzfunktionen sind reine Leader-Funktionen
Inferenzfunktionen für Amazon Bedrock-Modelle können als reine Leader-Knotenfunktionen ausgeführt werden, wenn die Abfrage, die sie verwendet, keine Tabellen referenziert. Dies kann hilfreich sein, wenn Sie einem LLM schnell eine Frage stellen möchten.
Das folgende Codebeispiel zeigt, wie eine Inferenzfunktion verwendet wird, die nur für Führungskräfte bestimmt ist:
SELECT general_titan_llm_func('Summarize the benefits of LLM on data analytics in 100 words');
Hinweise zur Verwendung der Inferenzfunktion
Beachten Sie Folgendes, wenn Sie Inferenzfunktionen mit der Amazon Redshift ML-Integration mit Amazon Bedrock verwenden:
Bei den Namen der Parameter für alle Amazon Bedrock-Modelle wird zwischen Groß- und Kleinschreibung unterschieden. Wenn Ihre Parameter nicht mit den vom Modell geforderten Parametern übereinstimmen, ignoriert Amazon Bedrock sie möglicherweise stillschweigend.
Der Durchsatz von Inferenzabfragen wird durch die Laufzeitkontingente der verschiedenen Modelle begrenzt, die von Amazon Bedrock in verschiedenen Regionen angeboten werden. Weitere Informationen finden Sie unter Kontingente für Amazon Bedrock im Amazon Bedrock-Benutzerhandbuch.
Wenn Sie einen garantierten und konsistenten Durchsatz benötigen, sollten Sie erwägen, einen bereitgestellten Durchsatz für das Modell, das Sie benötigen, von Amazon Bedrock zu erhalten. Weitere Informationen finden Sie unter Erhöhen der Modellaufrufkapazität mit bereitgestelltem Durchsatz in Amazon Bedrock im Amazon Bedrock-Benutzerhandbuch.
Bei Inferenzabfragen mit großen Datenmengen kann es zu Drosselungsausnahmen kommen. Dies liegt an den begrenzten Laufzeitkontingenten für Amazon Bedrock. Amazon Redshift versucht Anfragen mehrmals erneut, aber Abfragen können trotzdem gedrosselt werden, da der Durchsatz für nicht bereitgestellte Modelle variabel sein kann.
Wenn Sie auf Drosselungsausnahmen von Amazon Bedrock stoßen, z. B.
Too many requests, please wait before trying again.
auch bei kleinen Datenmengen, überprüfen Sie die Kontingente unter Servicequotas in Ihrem Amazon Bedrock-Konto. Vergewissern Sie sich, dass das angewendete Kontingent auf Kontoebene mindestens dem AWS Standardkontingentwert für die InvokeModelAnfragen für das von Ihnen verwendete Modell entspricht.
Promptes Engineering für die Integration von Amazon Redshift ML mit Amazon Bedrock
In diesem Abschnitt wird gezeigt, wie statische Eingabeaufforderungen mit einem externen Modell verwendet werden.
Um statische Präfix- und Suffix-Eingabeaufforderungen für Ihr externes Modell zu verwenden, geben Sie sie mit den SUFFIX
Parametern PROMPT
und der Anweisung an. CREATE EXTERNAL MODEL
Diese Eingabeaufforderungen werden jeder Abfrage hinzugefügt, die das externe Modell verwendet.
Das folgende Beispiel zeigt, wie Präfix- und Suffix-Eingabeaufforderungen zu einem externen Modell hinzugefügt werden:
CREATE EXTERNAL MODEL llm_claude FUNCTION llm_claude_func IAM_ROLE '
<IAM role arn>
' MODEL_TYPE BEDROCK SETTINGS ( MODEL_ID 'anthropic.claude-v2:1',PROMPT 'Summarize the following text:', SUFFIX 'Respond in an analytic tone')
;
Um dynamische Eingabeaufforderungen zu verwenden, können Sie sie bei der Verwendung der Inferenzfunktion angeben, indem Sie sie in der Funktionseingabe verketten. Das folgende Beispiel zeigt, wie dynamische Eingabeaufforderungen mit einer Inferenzfunktion verwendet werden:
SELECT llm_claude_func('Summarize the following review:' | input_text | 'The review should have formal tone.') FROM some_data