View a markdown version of this page

Verwendung der Converse-API - Amazon Nova

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.

Verwendung der Converse-API

Die Converse-API bietet eine einheitliche Schnittstelle für die Interaktion mit Amazon Nova-Modellen. Es abstrahiert modellspezifische Details und bietet eine konsistente Methode zur Verwaltung von Multi-Turn-Konversationen, Systemaufforderungen und Streaming-Antworten für alle Amazon Nova-Modelle.

Struktur der Anfrage

  • Multi-Turn-Konversationen: Behalten Sie den Kontext über mehrere Börsen hinweg bei

  • Systemaufforderungen: Systemanweisungen wie Personas oder Antwortrichtlinien

  • Chat mit Dokumenten: Interagieren Sie mit Dokumenten oder Dokumentensammlungen und fragen Sie diese ab

  • Vision: Bilder und Videos verarbeiten und analysieren

  • Verwendung von Tools: Ermöglichen Sie Modellen die Verwendung externer Tools und APIs

  • Leitplanken: Wenden Sie Inhaltsfilterung und Sicherheitskontrollen an

  • Argumentation: Erweitertes Denken zur Lösung komplexer Probleme

Eine grundlegende Converse API-Anfrage enthält die Modell-ID und eine Liste von Nachrichten:

import boto3 bedrock = boto3.client('bedrock-runtime', region_name='us-east-1') response = bedrock.converse( modelId='us.amazon.nova-2-lite-v1:0', messages=[ { 'role': 'user', 'content': [{'text': 'What is machine learning?'}] } ] ) content_list = response["output"]["message"]["content"] # Extract the first text block text = next((item["text"] for item in content_list if "text" in item), None) if text is not None: print(text)

Verwenden von Systemaufforderungen

Systemaufforderungen bieten Kontext und Anweisungen für das Modell:

import boto3 bedrock = boto3.client('bedrock-runtime', region_name='us-east-1') response = bedrock.converse( modelId='us.amazon.nova-2-lite-v1:0', system=[ {'text': 'You are a helpful AI assistant specializing in cloud computing.'} ], messages=[ { 'role': 'user', 'content': [{'text': 'Explain serverless computing.'}] } ] ) # Print the response text content_list = response["output"]["message"]["content"] text = next((item["text"] for item in content_list if "text" in item), None) if text is not None: print(text)

Inferenzparameter

Steuern Sie die Ausgabe des Modells mithilfe von Inferenzparametern. Die folgenden Inferenzparameter sind verfügbar.

  • maxTokens (Integer): Maximale Anzahl der zu generierenden Token (bis zu 65.000). Wenn nicht angegeben, verwendet das Modell einen dynamischen Standard, der auf dem Anforderungskontext basiert.

  • Temperatur (Float): Steuert die Zufälligkeit (0,0-1,0, Standard 0,7). Niedrigere Werte machen die Ausgabe deterministischer

  • toPP (float): Nucleus-Abtastschwellenwert (0-1, Standard 0,9). Niedrigere Werte sorgen für eine zielgerichtetere Ausgabe

  • stopSequences (Array): Zeichenfolgen, die die Generierung beenden, wenn sie gefunden werden

Beispiel:

import boto3 bedrock = boto3.client('bedrock-runtime', region_name='us-east-1') response = bedrock.converse( modelId='us.amazon.nova-2-lite-v1:0', messages=[ { 'role': 'user', 'content': [{'text': 'Write a short story.'}] } ], inferenceConfig={ 'maxTokens': 512, 'temperature': 0.7, 'topP': 0.9, 'stopSequences': ['END'] } ) content_list = response["output"]["message"]["content"] text = next((item["text"] for item in content_list if "text" in item), None) if text is not None: print(text)

Argumentation verwenden

Nova 2 Lite unterstützt erweitertes Denken zur Lösung komplexer Probleme. Ermöglichen Sie das Denken mit. reasoningConfig

Standardmäßig ist Argumentation deaktiviert, um Geschwindigkeit und Kosten bei einfachen Abfragen zu optimieren. Wenn Sie über diese einfachen Aufgaben hinausgehen möchten, können Sie Argumentation aktivieren. Nova 2 bietet eine flexible Steuerung der Argumentationstiefe und bietet drei Aufwandsebenen:

Geringer Aufwand () maxReasoningEffort: "low"

AM BESTEN GEEIGNET FÜR: AUFGABEN MIT ZUSÄTZLICHER KOMPLEXITÄT, DIE STRUKTURIERTES DENKEN ERFORDERN. Sie können dies beispielsweise für Codeüberprüfungen und Verbesserungsvorschläge verwenden, bei denen das Modell die vorhandene Codequalität sorgfältig berücksichtigen muss, für Analyseaufgaben, die eine sorgfältige Berücksichtigung mehrerer Faktoren erfordern, oder für Problemlösungsszenarien, die von einem methodischen Ansatz profitieren. Ein geringer Aufwand ist ideal für komplexe Aufgaben, bei denen grundlegende Überlegungen die Genauigkeit verbessern, ohne dass eine gründliche Planung in mehreren Schritten erforderlich ist.

Mittlerer Aufwand () maxReasoningEffort: "medium"

AM BESTEN GEEIGNET FÜR: MEHRSTUFIGE AUFGABEN UND CODIERUNGSWORKFLOWS. Sie können dies beispielsweise für die Softwareentwicklung und das Debugging verwenden, bei denen das Modell die bestehende Codestruktur verstehen muss, bevor Änderungen implementiert werden, für die Codegenerierung, die die Koordination mehrerer Dateien oder Komponenten erfordert, für mehrstufige Berechnungen mit gegenseitigen Abhängigkeiten oder für die Planung von Aufgaben mit mehreren Einschränkungen. Ein mittlerer Aufwand ist optimal für agentische Workflows, die mehrere Tools koordinieren und erfordern, dass das Modell den Kontext mehrerer sequentieller Operationen beibehält.

Hoher Aufwand () maxReasoningEffort: "high"

AM BESTEN GEEIGNET FÜR: LOGISCHES DENKEN UND FORTGESCHRITTENE PROBLEMLÖSUNG. Sie können dies beispielsweise für fortgeschrittene mathematische Probleme und Beweise verwenden, die eine strenge step-by-step Überprüfung erfordern, für wissenschaftliche Analysen und Forschungsaufgaben, die gründliche Untersuchungen erfordern, für ein komplexes Systemdesign mit architektonischen Überlegungen über mehrere Dimensionen oder für kritische Entscheidungsszenarien mit erheblichen Auswirkungen. Ein hoher Aufwand sorgt für maximale Genauigkeit bei Aufgaben, die eine ausgeklügelte Argumentation, eine sorgfältige Bewertung von Alternativen und eine gründliche Validierung der Schlussfolgerungen erfordern.

Die folgenden Beispiele zeigen die unterschiedlichen Ebenen des Argumentationsaufwands:

Low effort
import boto3 bedrock = boto3.client('bedrock-runtime', region_name='us-east-1') response = bedrock.converse( modelId='us.amazon.nova-2-lite-v1:0', system=[{"text": "You are a highly capable personal assistant"}], messages=[{ "role": "user", "content": [{"text": "Provide a meal plan for a gluten free family of 4."}] }], inferenceConfig={ "temperature": 0.7, "topP": 0.9, "maxTokens": 10000 }, additionalModelRequestFields={ "reasoningConfig": { "type": "enabled", "maxReasoningEffort": "low" } } )

Parameter für das Denken:

Im Folgenden sind Argumentationsparameter aufgeführt

  • type: enabled oder disabled (Standard:disabled)

  • maxReasoningEffort: lowmedium, oderhigh. Dies ist erforderlich, wenn Reasoning aktiviert ist.

Anmerkung

Temperatur, TopP und TopK können nicht zusammen mit maxReasoningEffort der Einstellung auf verwendet werden. high Dies wird zu einem Fehler führen.

Die Antwort enthält Argumentationsinhalte:

{ "output": { "message": { "role": "assistant", "content": [ { "reasoningContent": { "reasoningText": { "text": "[REDACTED]" } } }, { "text": "Based on the premises, we can conclude..." } ] } }, "stopReason": "end_turn" }
Anmerkung

Bei Amazon Nova 2 werden Argumentationsinhalte als [REDACTED] angezeigt. Für Argumentations-Tokens fallen weiterhin Gebühren an, da sie zu einer verbesserten Ausgabequalität beitragen. Wir nehmen dieses Feld jetzt in die Antwortstruktur auf, um die Möglichkeit zu wahren, in future Argumentationsinhalte offenzulegen. Wir arbeiten aktiv mit unseren Kunden zusammen, um herauszufinden, wie der Argumentationsprozess des Modells am besten dargestellt werden kann.