Aufrufen Ihres importierten Modells - 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.

Aufrufen Ihres importierten Modells

Der Modellimportjob kann mehrere Minuten dauern, bis Ihr Modell importiert wird, nachdem Sie die CreateModelImportJobAnfrage gesendet haben. Sie können den Status Ihres Importauftrags in der Konsole überprüfen oder indem Sie den GetModelImportJobVorgang aufrufen und das Status Feld in der Antwort überprüfen. Der Auftrag ist abgeschlossen, wenn der Status für das Modell Abgeschlossen lautet.

Nachdem Ihr importiertes Modell in Amazon Bedrock verfügbar ist, können Sie das Modell mit On-Demand-Durchsatz verwenden, indem Sie Anfragen senden InvokeModeloder InvokeModelWithResponseStreamAnfragen zum Durchführen von Inferenzaufrufen an das Modell senden. Weitere Informationen finden Sie unter Senden Sie eine einzelne Aufforderung mit InvokeModel.

Um mithilfe des Nachrichtenformats eine Schnittstelle zu Ihrem importierten Modell herzustellen, können Sie Converse oder Operations aufrufen. ConverseStream Weitere Informationen finden Sie unter Verwenden der Converse-API.

Anmerkung

Die Converse-API wird für Qwen2.5, Qwen2-VL, Qwen2.5-VL und andere Modelle nicht unterstützt. GPT-OSS

Verbesserte API-Unterstützung: Mehrere API-Formate

Ab dem 17. November 2025 unterstützt Amazon Bedrock Custom Model Import umfassende OpenAI-kompatible API-Formate und bietet so Flexibilität bei der Integration und Bereitstellung Ihrer benutzerdefinierten Modelle. Alle Modelle, die nach dem 11. November 2025 importiert wurden, profitieren automatisch von diesen erweiterten Funktionen, ohne dass eine zusätzliche Konfiguration erforderlich ist.

Der benutzerdefinierte Modellimport unterstützt jetzt drei API-Formate:

  • BedrockCompletion (Text) — Kompatibel mit aktuellen Bedrock-Workflows

  • Open AICompletion (Text) - OpenAI Completions Schema-Kompatibilität

  • Open AIChat Completion (Text und Bilder) — Vollständige Kompatibilität mit Konversationsschemas

Zu diesen erweiterten Funktionen gehören strukturierte Ausgaben zur Durchsetzung von JSON-Schemas und -Mustern, erweiterte Bildverarbeitungsunterstützung mit Verarbeitung mehrerer Bilder, Log-Wahrscheinlichkeiten für Erkenntnisse zur Modellsicherheit und Funktionen zum Aufrufen von Tools für Modelle. GPT-OSS

Eine ausführliche API-Referenzdokumentation finden Sie in der offiziellen OpenAI-Dokumentation:

Beispiele für API-Formate

Die folgenden Beispiele zeigen, wie Sie jedes der vier unterstützten API-Formate mit Ihren importierten Modellen verwenden können.

BedrockCompletion

BedrockCompletionDas Format ist mit aktuellen Bedrock-Workflows kompatibel und unterstützt textbasierte Inferenzanfragen.

Beispielanforderung:

import json import boto3 client = boto3.client('bedrock-runtime', region_name='us-east-1') payload = { "prompt": "How is the rainbow formed?", "max_gen_len": 100, "temperature": 0.5 } response = client.invoke_model( modelId='your-model-arn', body=json.dumps(payload), accept='application/json', contentType='application/json' ) response_body = json.loads(response['body'].read())

Beispielantwort:

{ "generation": " – A scientific explanation\nA rainbow is a beautiful natural phenomenon that occurs when sunlight passes through water droplets in the air. It is formed through a process called refraction, which is the bending of light as it passes from one medium to another.\nHere's a step-by-step explanation of how a rainbow is formed:\n1. Sunlight enters the Earth's atmosphere: The first step in forming a rainbow is for sunlight to enter the Earth's atmosphere. This sunlight is made up of a spectrum of", "prompt_token_count": 7, "generation_token_count": 100, "stop_reason": "length", "logprobs": null }

BedrockCompletion unterstützt strukturierte Ausgaben unter Verwendung von response_format Parametern mit json_object und Typen. json_schema

OpenAICompletion

Das offene AICompletion Format bietet OpenAI Completions Schema-Kompatibilität. Um dieses Format zu verwenden, fügen Sie den max_tokens Parameter anstelle von ein. max_gen_len

Beispielanforderung:

import json import boto3 client = boto3.client('bedrock-runtime', region_name='us-east-1') payload = { "prompt": "How is the rainbow formed?", "max_tokens": 100, "temperature": 0.5 } response = client.invoke_model( modelId='your-model-arn', body=json.dumps(payload), accept='application/json', contentType='application/json' ) response_body = json.loads(response['body'].read())

Beispielantwort:

{ "id": "cmpl-b09d5810bd64428f8a853be71c31f912", "object": "text_completion", "created": 1763166682, "choices": [ { "index": 0, "text": " The formation of a rainbow is a complex process that involves the interaction of sunlight with water droplets in the air. Here's a simplified explanation: 1. Sunlight enters the Earth's atmosphere and is refracted, or bent, as it passes through the air. 2. When sunlight encounters a water droplet, such as a cloud, mist, or fog, it is refracted again and split into its individual colors, a process known as dispersion. 3. The refracted and", "finish_reason": "length" } ], "usage": { "prompt_tokens": 7, "total_tokens": 107, "completion_tokens": 100 } }

Open AICompletion unterstützt alle Funktionen für strukturierte Ausgabenjson, einschließlich, regexchoice, und grammar Einschränkungen, die den structured_outputs Parameter verwenden.

OpenAIChatCompletion

Das Open AIChat Completion-Format bietet volle Kompatibilität mit Konversationsschemas und unterstützt sowohl Text- als auch Bildeingaben.

Beispielanforderung:

import json import boto3 client = boto3.client('bedrock-runtime', region_name='us-east-1') payload = { "messages": [ { "role": "user", "content": "How is the rainbow formed?" } ], "max_tokens": 100, "temperature": 0.5 } response = client.invoke_model( modelId='your-model-arn', body=json.dumps(payload), accept='application/json', contentType='application/json' ) response_body = json.loads(response['body'].read())

Beispielantwort:

{ "id": "chatcmpl-1d84ce1d3d61418e8c6d1973f87173db", "object": "chat.completion", "created": 1763166683, "choices": [ { "index": 0, "message": { "role": "assistant", "content": "A rainbow is a beautiful natural phenomenon that occurs when sunlight passes through water droplets in the air. The process of forming a rainbow involves several steps:\n\n1. **Sunlight**: The first requirement for a rainbow is sunlight. The sun should be shining brightly, but not directly overhead.\n2. **Water droplets**: The second requirement is water droplets in the air..." }, "finish_reason": "length" } ], "usage": { "prompt_tokens": 41, "completion_tokens": 100, "total_tokens": 141 } }

Open AIChat Completion unterstützt strukturierte Ausgaben, die response_format sowohl als auch structured_outputs Parameter verwenden. Für Bildverarbeitungsfunktionen sollten Sie Bilder mit Base64-codierten Bilddaten in das Inhaltsarray aufnehmen.

Anmerkung

Um das ChatCompletion Format verwenden zu können, muss die Chat-Vorlage Teil von sein. tokenizer_config.json Beim Import benutzerdefinierter Modelle werden keine Standard-Chat-Vorlagen auf die Anfrage angewendet.

Sie benötigen den Modell-ARN, um Inferenzaufrufe für Ihr neu importiertes Modell durchzuführen. Nach erfolgreichem Abschluss des Importjobs und nachdem Ihr importiertes Modell aktiv ist, können Sie den Modell-ARN Ihres importierten Modells in der Konsole oder durch Senden einer ListImportedModelsAnfrage abrufen.

Wenn Sie Ihr importiertes Modell mit InvokeModel oder InvokeModelWithStream aufrufen, wird Ihre Anfrage innerhalb von 5 Minuten bedient; andernfalls erhalten Sie möglicherweise ModelNotReadyException. Um das zu verstehen ModelNotReadyException, folgen Sie den Schritten in diesem nächsten Abschnitt zur Handhabung ModelNotreadyException.

Häufig gestellte Fragen

F: Welches API-Format sollte ich verwenden?

A: Für maximale Kompatibilität mit verschiedenen Formaten empfehlen wir die Verwendung der Formate Open AICompletion oder Open AIChat Completion SDKs, da sie OpenAI-kompatible Schemas bieten, die von verschiedenen Tools und Bibliotheken weitgehend unterstützt werden.

F: Unterstützt Bedrock Custom Model Import GPT-OSS auf Amazon die Converse-API?

A: Nein. GPT-OSSbasierte Importmodelle für benutzerdefinierte Modelle unterstützen die Converse API oder ConverseStream API nicht. Sie müssen die InvokeModelAPI mit OpenAI-kompatiblen Schemas verwenden, wenn Sie mit GPT-OSS basierten benutzerdefinierten Modellen arbeiten.

F: Welche Modelle unterstützen das Aufrufen von Tools?

A: GPT-OSS Maßgeschneiderte Modelle unterstützen Funktionen zum Aufrufen von Tools. Der Aufruf von Tools ermöglicht das Aufrufen von Funktionen für komplexe Workflows.

F: Was ist mit Modellen, die vor dem 11. November 2025 importiert wurden?

A: Modelle, die vor dem 11. November 2025 importiert wurden, funktionieren weiterhin unverändert mit ihren bestehenden API-Formaten und Funktionen.

F: Was ist mit generation_config.json OpenAI-basierten Modellen?

A: Es ist wichtig, dass Sie die richtige generation_config.json Datei angeben, wenn Sie OpenAI-basierte Modelle importieren, wie z. GPT-OSS Sie müssen die aktualisierte Konfigurationsdatei (aktualisiert am 13. August 2024) verwenden, die unter https://huggingface verfügbar ist. co/openai/gpt-oss-20b/blob/main/generation_config.json. Die aktualisierte Konfiguration umfasst drei end-of-sequence Token IDs ([200002, 199999, 200012]), wohingegen ältere Versionen nur zwei Token () enthielten. [200002, 199999] Die Verwendung einer veralteten generation_config.json Datei führt zu Laufzeitfehlern beim Modellaufruf. Diese Datei ist für das korrekte Modellverhalten unerlässlich und muss in Ihren OpenAI-basierten Modellimporten enthalten sein.

Handhabung ModelNotReadyException

Der benutzerdefinierte Modellimport für Amazon Bedrock optimiert die Hardwarenutzung, indem die Modelle entfernt werden, die nicht aktiv sind. Wenn Sie versuchen, ein Modell aufzurufen, das entfernt wurde, erhalten Sie eine ModelNotReadyException. Nachdem das Modell entfernt wurde und Sie das Modell zum ersten Mal aufrufen, beginnt der benutzerdefinierte Modellimport mit der Wiederherstellung des Modells. Die Wiederherstellungszeit hängt von der Größe der On-Demand-Flotte und der Modellgröße ab.

Wenn Ihre InvokeModel- oder InvokeModelWithStream-Anfrage ModelNotReadyException zurückgibt, folgen Sie den Schritten zur Ausnahmenbehandlung.

  1. Konfigurieren von Wiederholungsversuchen

    Standardmäßig wird Ihre Anforderung automatisch mit exponentiellem Backoff wiederholt. Sie können die maximale Anzahl an Wiederholungen konfigurieren.

    Das folgende Codebeispiel zeigt, wie Sie die Wiederholungsversuche konfigurieren. Ersetzen Sie ${region-name}${model-arn}, und 10 durch Ihre Region, Modell-ARN und maximale Versuche.

    import json import boto3 from botocore.config import Config REGION_NAME = ${region-name} MODEL_ID= '${model-arn}' config = Config( retries={ 'total_max_attempts': 10, //customizable 'mode': 'standard' } ) message = "Hello" session = boto3.session.Session() br_runtime = session.client(service_name = 'bedrock-runtime', region_name=REGION_NAME, config=config) try: invoke_response = br_runtime.invoke_model(modelId=MODEL_ID, body=json.dumps({'prompt': message}), accept="application/json", contentType="application/json") invoke_response["body"] = json.loads(invoke_response["body"].read().decode("utf-8")) print(json.dumps(invoke_response, indent=4)) except Exception as e: print(e) print(e.__repr__())
  2. Überwachen Sie die Antwortcodes bei Wiederholungsversuchen

    Bei jedem erneuten Versuch wird der Modellwiederherstellungsprozess gestartet. Die Wiederherstellungszeit hängt von der Verfügbarkeit der On-Demand-Flotte und der Modellgröße ab. Überwachen Sie die Antwortcodes, während der Wiederherstellungsprozess läuft.

    Wenn die Wiederholungsversuche immer wieder fehlschlagen, fahren Sie mit den nächsten Schritten fort.

  3. So stellen Sie sicher, dass das Modell erfolgreich importiert wurde

    Sie können überprüfen, ob das Modell erfolgreich importiert wurde, indem Sie den Status Ihres Importauftrags in der Konsole überprüfen oder den GetModelImportJobVorgang aufrufen. Prüfen Sie das Status-Feld in der Antwort. Der Importauftrag ist erfolgreich, wenn der Status für das Modell Abgeschlossen lautet.

  4. Wenden Sie sich Support für weitere Untersuchungen an

    Öffnen Sie ein Ticket mit Support Weitere Informationen finden Sie unter Supportanfragen erstellen.

    Geben Sie relevante Details wie die Modell-ID und Zeitstempel im Support-Ticket ein.