AI21 LabsJamba-Instruct-Modelle - Amazon Bedrock

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.

AI21 LabsJamba-Instruct-Modelle

Dieser Abschnitt enthält Inferenzparameter und ein Codebeispiel für die Verwendung von Modellen. AI21 Jamba-Instruct

Pflichtfelder

Das Jamba-Instruct-Modell von AI21 Labs unterstützt die folgenden Pflichtfelder:

  • Nachrichten (messages) — Die vorherigen Nachrichten in diesem Chat, von den ältesten (Index 0) bis zu den neuesten. Die Liste muss mindestens eine Benutzer- oder Assistentennachricht enthalten. Schließen Sie sowohl Benutzereingaben als auch Systemantworten ein. Die maximale Gesamtgröße für die Liste beträgt etwa 256.000 Token. Jede Nachricht umfasst die folgenden Mitglieder:

  • Rolle (role) — Die Rolle des Nachrichtenautors. Einer der folgenden Werte:

    • Benutzer (user) — Vom Benutzer bereitgestellte Eingabe. Alle hier angegebenen Anweisungen, die im Widerspruch zu den Anweisungen in der system Aufforderung stehen, haben Vorrang vor den Anweisungen in der system Aufforderung.

    • Assistent (assistant) — Vom Modell generierte Antwort.

    • System (system) — Erste Anweisungen an das System mit allgemeinen Hinweisen zu Ton und Stimme der generierten Nachricht. Eine erste Systemnachricht ist optional, wird jedoch empfohlen, um Hinweise zum Ton des Chats zu geben. Zum Beispiel: „Sie sind ein hilfreicher Chatbot mit einem Hintergrund in Geowissenschaften und einem charmanten französischen Akzent.“

  • Inhalt (content) — Der Inhalt der Nachricht.

Inferenzparameter

Das Jamba-Instruct-Modell von AI21 Labs unterstützt die folgenden Inferenzparameter.

Zufälligkeit und Diversität

Das Jamba-Instruct-Modell von AI21 Labs unterstützt die folgenden Parameter, um die Zufälligkeit und Diversität der Antwortvariablen zu kontrollieren.

  • Temperatur (temperature) — Wie stark die Variation bei jeder Antwort sein soll. Wenn Sie diesen Wert auf 0 setzen, wird garantiert, dass jedes Mal dieselbe Antwort auf dieselbe Frage gegeben wird. Die Einstellung eines höheren Werts fördert mehr Variation. Ändert die Verteilung, aus der Tokens entnommen werden. Standard: 1.0, Wertebereich: 0.0 — 2.0

  • Top P (top_p) — Beschränkt den Pool der nächsten Token in jedem Schritt auf das oberste N-Perzentil der möglichen Token, wobei 1,0 den Pool aller möglichen Token und 0,01 den Pool nur der wahrscheinlichsten nächsten Token bedeutet.

Länge

Das Jamba Instruct-Modell von AI21 Labs unterstützt die folgenden Parameter, um die Länge der generierten Antwort zu steuern.

  • Max. Abschlusslänge (max_tokens) — Die maximale Anzahl von Token, die für jede generierte Antwortnachricht zulässig sind. In der Regel ist es am besten, die Länge der Ausgabe zu begrenzen, indem Sie in der Systemaufforderung eine Längenbeschränkung angeben (z. B. „Beschränken Sie Ihre Antworten auf drei Sätze“). Standard: 4096, Wertebereich: 0 — 4096.

  • Sequenzen beenden (stop) — Beendet die Nachricht, wenn das Modell eine dieser Zeichenketten generiert. Die Stoppsequenz ist nicht in der generierten Nachricht enthalten. Jede Sequenz kann bis zu 64 KB lang sein und Zeilenumbrüche als\nZeichen enthalten.

    Beispiele:

    • Einfaches Stoppzeichen mit einem Wort und einem Punkt: „Affen“.

    • Mehrere Stoppzeichenfolgen und eine neue Zeile: ["cat“, „dog“,“ . „, „####“, "\n„]

  • Anzahl der Antworten (n) — Wie viele Chat-Antworten generiert werden sollen. Hinweis n muss 1 sein, damit Antworten gestreamt werden können. Wenn n auf einen Wert größer als 1 gesetzt ist, schlägt die Einstellung immer temperature=0 fehl, da es sich bei allen Antworten garantiert um Duplikate handelt. Standard:1, Wertebereich: 1 — 16

Wiederholungen

Die Jamba-Instruct-Modelle von AI21 Labs unterstützen die folgenden Parameter zur Steuerung der Wiederholungen in der generierten Antwort.

  • Frequenzeinbußen (frequency_penalty) — Reduzieren Sie die Häufigkeit wiederholter Wörter in einer einzelnen Antwortnachricht, indem Sie diese Zahl erhöhen. Diese Strafe nimmt allmählich zu, je öfter ein Wort während der Antwortgenerierung vorkommt. Bei Einstellung auf 2.0 wird eine Zeichenfolge mit wenigen, wenn überhaupt, sich wiederholenden Wörtern erzeugt.

  • Präsenzstrafe (presence_penalty) — Reduzieren Sie die Häufigkeit wiederholter Wörter innerhalb einer einzelnen Nachricht, indem Sie diese Zahl erhöhen. Im Gegensatz zur Häufigkeitsabzug ist die Präsenzstrafe immer gleich, egal wie oft ein Wort vorkommt.

Textfeld für die Modellaufrufanforderung

Wenn Sie mithilfe eines AI21 Labs Modells einen InvokeModelInvokeModelWithResponseStreamOR-Aufruf ausführen, füllen Sie das body Feld mit einem JSON-Objekt, das dem unten stehenden entspricht. Geben Sie die Eingabeaufforderung in das Feld prompt ein.

{ "messages": [ { "role":"system", // Non-printing contextual information for the model "content":"You are a helpful history teacher. You are kind and you respond with helpful content in a professional manner. Limit your answers to three sentences. Your listener is a high school student." }, { "role":"user", // The question we want answered. "content":"Who was the first emperor of rome?" } ], "n":1 // Limit response to one answer }

Textfeld für die Modellaufruf-Antwort

Informationen zum Format des body Felds in der Antwort finden Sie unter https://docs.ai21.com/reference/ jamba-instruct-api #response -details.

Codebeispiel

Dieses Beispiel zeigt, wie das Jamba-Instruct-Modell von AI21 Labs aufgerufen wird.

invoke_model

import boto3 import json bedrock = session.client('bedrock-runtime', 'us-east-1') response = bedrock.invoke_model( modelId='ai21.jamba-instruct-v1:0', body=json.dumps({ 'messages': [ { 'role': 'user', 'content': 'which llm are you?' } ], }) ) print(json.dumps(json.loads(response['body']), indent=4))

Umgekehrt

import boto3 import json bedrock = session.client('bedrock-runtime', 'us-east-1') response = bedrock.converse( modelId='ai21.jamba-instruct-v1:0', messages=[ { 'role': 'user', 'content': [ { 'text': 'which llm are you?' } ] } ] ) print(json.dumps(json.loads(response['body']), indent=4))