Verwenden der Bedrock-Data-Automation-API - 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.

Verwenden der Bedrock-Data-Automation-API

Die Funktion Amazon Bedrock Data Automation (BDA) bietet einen optimierten API-Workflow für die Verarbeitung Ihrer Daten. Für alle Modalitäten besteht dieser Workflow aus drei Hauptschritten: Erstellen eines Projekts, Aufrufen der Analyse und Abrufen der Ergebnisse. Um eine benutzerdefinierte Ausgabe für verarbeitete Daten abzurufen, geben Sie beim Aufrufen des Analysevorgangs den Vorlagen-ARN an.

Erstellen eines Datenautomatisierungsprojekts

Um mit der Verarbeitung von Dateien mit BDA zu beginnen, müssen Sie zunächst ein Datenautomatisierungsprojekt erstellen. Dies kann auf zwei Arten geschehen, mit der CreateDataAutomationProject Bedienung oder der Amazon Bedrock Amazon-Konsole.

Verwenden der API

Wenn Sie die API verwenden, um ein Projekt zu erstellen, rufen Sie die CreateDataAutomationProject auf. Definieren Sie bei der Erstellung des Projekts die Konfigurationseinstellungen für den Dateityp, den Sie verarbeiten möchten (die gewünschte Modalität). Hier sehen Sie ein Beispiel dafür, wie Sie die Standardausgabe für Bilder konfigurieren könnten:

{ "standardOutputConfiguration": { "image": { "state": "ENABLED", "extraction": { "category": { "state": "ENABLED", "types": [ "CONTENT_MODERATION", "TEXT_DETECTION" ] }, "boundingBox": { "state": "ENABLED" } }, "generativeField": { "state": "ENABLED", "types": [ "IMAGE_SUMMARY", "IAB" ] } } } }

Die API validiert die Eingabekonfiguration. Sie erstellt ein neues Projekt mit einem eindeutigen ARN. Die Projekteinstellungen werden für die zukünftige Verwendung gespeichert. Wenn ein Projekt ohne Parameter erstellt wird, gelten die Standardeinstellungen. Bei der Verarbeitung von Bildern sind beispielsweise die Bildzusammenfassung und die Texterkennung standardmäßig aktiviert.

Die Anzahl der Projekte, die pro AWS Konto erstellt werden können, ist begrenzt. Bestimmte Kombinationen von Einstellungen sind möglicherweise nicht zulässig oder erfordern zusätzliche Berechtigungen.

Aufrufen von Data Automation Async

Sie haben ein Projekt eingerichtet und können mit der Bearbeitung von Bildern mithilfe der InvokeDataAutomationAsyncOperation beginnen. Wenn Sie eine benutzerdefinierte Ausgabe verwenden, können Sie nur einen einzigen Vorlagen-ARN pro Anfrage übermitteln.

Dieser API-Aufruf initiiert die asynchrone Verarbeitung der Dateien in einem angegebenen S3-Bucket. Die API akzeptiert den Projekt-ARN und die zu verarbeitende Datei und startet dann den asynchronen Verarbeitungsauftrag. Zur Nachverfolgung des Prozesses wird eine Auftrags-ID zurückgegeben. Es werden Fehler ausgelöst, wenn das Projekt nicht existiert, wenn der Aufrufer nicht über die erforderlichen Berechtigungen verfügt oder wenn die Eingabedateien nicht in einem unterstützten Format vorliegen.

Der Anfrage-JSON hat die folgende Struktur:

{ { "blueprints": [ { "blueprintArn": "string", "stage": "string", "version": "string" } ], "clientToken": "string", "dataAutomationConfiguration": { "dataAutomationProjectArn": "string", "stage": "string" }, "dataAutomationProfileArn": "string", "encryptionConfiguration": { "kmsEncryptionContext": { "string" : "string" }, "kmsKeyId": "string" }, "inputConfiguration": { "assetProcessingConfiguration": { "video": { "segmentConfiguration": { ... } } "s3Uri": "string" }, "notificationConfiguration": { "eventBridgeConfiguration": { "eventBridgeEnabled": boolean } }, "outputConfiguration": { "s3Uri": "string" }, "tags": [ { "key": "sstring", "value": "string" } ] } }

Wenn Sie InvokeDataAutomationAsync für eine Videodatei ausführen, können Sie einen fünfminütigen oder längeren Abschnitt eines Videos festlegen, der bei der Datenextraktion als vollständiges Video behandelt wird. Dieses wird mit einem Zeitstempel für erste und letzte Millisekunde versehen. Diese Information wird dem assetProcessingConfiguration-Element hinzugefügt.

Rufen Sie die Datenautomatisierung (Sync) auf

Alternativ können Sie den InvokeDataAutomationVorgang verwenden. Der InvokeDataAutomation Vorgang unterstützt nur die Verarbeitung von Bildern.

Dieser API-Aufruf initiiert die synchrone Verarbeitung der über eine S3-Referenz oder in der Nutzlast bereitgestellten Daten. Die API akzeptiert den Projekt-ARN und die zu verarbeitende Datei und gibt die strukturierten Erkenntnisse in der Antwort zurück. Es werden Fehler ausgelöst, wenn das Projekt nicht existiert, wenn der Aufrufer nicht über die erforderlichen Berechtigungen verfügt oder wenn die Eingabedateien nicht in einem unterstützten Format vorliegen. Wenn das analysierte Bild semantisch als Dokument klassifiziert ist, wird dies ebenfalls als Fehler gemeldet, da InvokeDataAutomation nur Bilder unterstützt werden. Um diesen Fehler zu vermeiden, können Sie Modality Routing in Ihrem Projekt verwenden, um das Routing aller Bilddateitypen als Bilder zu erzwingen (sieheModalitäten für die Deaktivierung und Weiterleitung von Dateitypen).

Hier ist die Struktur der JSON-Anfrage:

{ { "blueprints": [ { "blueprintArn": "string", "stage": "string", "version": "string" } ], "clientToken": "string", "dataAutomationConfiguration": { "dataAutomationProjectArn": "string", "stage": "string" }, "dataAutomationProfileArn": "string", "encryptionConfiguration": { "kmsEncryptionContext": { "string" : "string" }, "kmsKeyId": "string" }, "inputConfiguration": { "assetProcessingConfiguration": { "video": { "segmentConfiguration": { ... } } "s3Uri": "string" }, "notificationConfiguration": { "eventBridgeConfiguration": { "eventBridgeEnabled": boolean } }, "tags": [ { "key": "string", "value": "string" } ] } }

Die Ausgabe enthält eindeutige Strukturen, die sowohl von der Datei als auch von den Vorgängen und der benutzerdefinierten Ausgabekonfiguration abhängen, die im Aufruf von angegeben wurden InvokeDataAutomation. Beachten Sie, dass diese Antwort sowohl die standardmäßigen als auch die benutzerdefinierten Ausgabeantworten umfasst.

Hier ist die Struktur der JSON-Antwort mit Standard- und benutzerdefinierter Ausgabekonfiguration:

{ "semanticModality": "IMAGE", "outputSegments": [ { "customOutputStatus": "MATCH", "standardOutput": { "image": { "summary": "This image shows a white Nike running shoe with a black Nike swoosh logo on the side. The shoe has a modern design with a thick, cushioned sole and a sleek upper part. The word \"ROUKEA\" is visible on the sole of the shoe, repeated twice. The shoe appears to be designed for comfort and performance, suitable for running or athletic activities. The background is plain and dark, highlighting the shoe.", "iab_categories": [ { "category": "Style and Fashion", "confidence": 0.9890000000000001, "taxonomy_level": 1, "parent_name": "", "id": "0ebe86c8-e9af-43f6-a7bb-182a61d2e1fd", "type": "IAB" }, { "category": "Men's Fashion", "confidence": 0.9890000000000001, "taxonomy_level": 2, "parent_name": "Style and Fashion", "id": "13bd456a-3e1b-4681-b0dd-f42a8d5e5ad5", "type": "IAB" }, { "category": "Style and Fashion", "confidence": 0.853, "taxonomy_level": 1, "parent_name": "", "id": "177b29a1-0e40-45c1-8540-5f49a3d7ded3", "type": "IAB" }, { "category": "Women's Fashion", "confidence": 0.853, "taxonomy_level": 2, "parent_name": "Style and Fashion", "id": "f0197ede-3ba6-498b-8f7b-43fecc5735ef", "type": "IAB" } ], "content_moderation": [], "logos": [ { "id": "2e109eb6-39f5-4782-826f-911b62d277fb", "type": "LOGOS", "confidence": 0.9170872209665809, "name": "nike", "locations": [ { "bounding_box": { "left": 0.3977411523719743, "top": 0.4922481227565456, "width": 0.2574246356942061, "height": 0.15461772197001689 } } ] } ], "text_words": [ { "id": "f70301df-5725-405e-b50c-612e352467bf", "type": "TEXT_WORD", "confidence": 0.10091366487951722, "text": "ROUKEA", "locations": [ { "bounding_box": { "left": 0.6486002310163024, "top": 0.6783271480251003, "width": 0.13219473954570082, "height": 0.05802226710963898 }, "polygon": [ { "x": 0.6486002310163024, "y": 0.7025876947351404 }, { "x": 0.7760931467045249, "y": 0.6783271480251003 }, { "x": 0.7807949705620032, "y": 0.7120888684246991 }, { "x": 0.6533020989743271, "y": 0.7363494151347393 } ] } ], "line_id": "9147fec0-d869-4d58-933e-93eb7164c404" } ], "text_lines": [ { "id": "9147fec0-d869-4d58-933e-93eb7164c404", "type": "TEXT_LINE", "confidence": 0.10091366487951722, "text": "ROUKEA", "locations": [ { "bounding_box": { "left": 0.6486002310163024, "top": 0.6783271480251003, "width": 0.13219473954570082, "height": 0.05802226710963898 }, "polygon": [ { "x": 0.6486002310163024, "y": 0.7025876947351404 }, { "x": 0.7760931467045249, "y": 0.6783271480251003 }, { "x": 0.7807949705620032, "y": 0.7120888684246991 }, { "x": 0.6533020989743271, "y": 0.7363494151347393 } ] } ] } ] }, "statistics": { "iab_category_count": 4, "content_moderation_count": 0, "logo_count": 1, "line_count": 1, "word_count": 1 }, "metadata": { "semantic_modality": "IMAGE", "image_width_pixels": 173, "image_height_pixels": 148, "image_encoding": "jpeg", "s3_bucket": "test-bucket", "s3_key": "uploads/test-image.jpeg" } }, "customOutput": { "matched_blueprint": { "arn": "arn:aws:bedrock:us-east-1:123456789012:blueprint/test", "version": "1", "name": "test-blueprint", "confidence": 1.0 }, "inference_result": { "product_details": { "product_category": "footwear" }, "image_sentiment": "Positive", "image_background": "Solid color", "image_style": "Product image", "image_humor": false } } } ] }

Abrufen des Datenautomatisierungsstatus

Um den Status Ihres Verarbeitungsauftrags zu überprüfen und Ergebnisse abzurufen, verwenden Sie GetDataAutomationStatus.

Mit der GetDataAutomationStatus API können Sie den Fortschritt Ihres Jobs überwachen und nach Abschluss der Verarbeitung auf die Ergebnisse zugreifen. Die API akzeptiert den von InvokeDataAutomationAsync zurückgegebenen Aufruf-ARN. Sie überprüft den aktuellen Status des Auftrags und gibt relevante Informationen zurück. Sobald der Auftrag abgeschlossen ist, gibt sie den Speicherort der Ergebnisse in S3 an.

Wenn der Job noch in Bearbeitung ist, gibt er den aktuellen Status zurück (z. B. "InProgress„). Wenn der Auftrag abgeschlossen ist, wird zusammen mit dem S3-Speicherort der Ergebnisse der Status „Success“ zurückgegeben. Wenn ein Fehler aufgetreten ist, wird "ServiceError" oder "ClientError" mit Fehlerdetails zurückgegeben.

Der Anfrage-JSON hat das folgende Format:

{ "InvocationArn": "string" // Arn }

Asynchrone Ausgabeantwort

Die Ergebnisse der Dateiverarbeitung werden in dem für die Eingabebilder konfigurierten S3-Bucket gespeichert. Die Ausgabe enthält eindeutige Strukturen, die sowohl von der Dateimodalität als auch von den im Aufruf von angegebenen Operationstypen abhängen. InvokeDataAutomationAsync

Hinweise zu den Standardausgaben für eine bestimmte Modalität finden Sie unter Standardausgabe in Bedrock Data Automation.

Für Bilder kann sie beispielsweise Informationen zu folgenden Themen enthalten:

  • Bildzusammenfassung: Eine beschreibende Zusammenfassung oder Bildunterschrift.

  • IAB-Klassifikation: Kategorisierung auf der Grundlage der IAB-Taxonomie.

  • Erkennung von Bildtext: Extrahierter Text mit Informationen zum Begrenzungsrahmen.

  • Inhaltsmoderation: Erkennt unangemessene, unerwünschte oder anstößige Inhalte in einem Bild.

Es folgt ein Beispiel für einen Ausschnitt der Ausgabe für die Bildverarbeitung:

{ "metadata": { "id": "image_123", "semantic_modality": "IMAGE", "s3_bucket": "my-s3-bucket", "s3_prefix": "images/", "image_width_pixels": 1920, "image_height_pixels": 1080 }, "image": { "summary": "A lively party scene with colorful decorations and supplies", "iab_categories": [ { "category": "Party Supplies", "confidence": 0.9, "parent_name": "Events & Attractions" } ], "content_moderation": [ { "category": "Drugs & Tobacco Paraphernalia & Use", "confidence": 0.7 } ], "text_words": [ { "id": "word_1", "text": "lively", "confidence": 0.9, "line_id": "line_1", "locations": [ { "bounding_box": { "left": 100, "top": 200, "width": 50, "height": 20 }, "polygon": [ { "x": 100, "y": 200 }, { "x": 150, "y": 200 }, { "x": 150, "y": 220 }, { "x": 100, "y": 220 } ] } ] } ] } }

Diese strukturierte Ausgabe ermöglicht eine einfache Integration von Bildern in nachgelagerte Anwendungen und weitere Analysen.

Blueprint-Optimierung APIs

InvokeBlueprintOptimizationAsync

Sie können die Genauigkeit von Blueprints verbessern, indem Sie Beispielinhalte mit den korrekten erwarteten Ergebnissen bereitstellen. Die Optimierung von Blueprint-Anweisungen verwendet Ihre Beispiele, um die Anweisungen in natürlicher Sprache in Ihren Blueprint-Feldern zu verfeinern, wodurch die Genauigkeit Ihrer Inferenzergebnisse verbessert wird.

Für einen Blueprint können Sie eine InvokeBlueprintOptimizationAsync API aufrufen, die den asynchronen Optimierungsjob initiiert, um die Blueprint-Feldanweisungen auf der Grundlage von Ground-Truth-Daten zu verbessern.

Anforderungstext

{ "blueprint": { "blueprintArn": "arn:aws:bedrock:us-east-1:123456789012:blueprint/my-document-processor", "stage": "DEVELOPMENT" }, "samples": [ { "assetS3Object": { "s3Uri": "s3://my-optimization-bucket/samples/document1.pdf" }, "groundTruthS3Object": { "s3Uri": "s3://my-optimization-bucket/ground-truth/document1-expected.json" } } ], "outputConfiguration": { "s3Object": { "s3Uri": "s3://my-optimization-bucket/results/optimization-output" } }, "dataAutomationProfileArn": "arn:aws:bedrock:us-east-1:123456789012:data-automation-profile/my-profile" }
Antwort

{ "invocationArn": "arn:aws:bedrock:us-east-1:123456789012:blueprint-optimization-invocation/opt-12345abcdef" }
Wichtig

Speichern Sie den InvocationARN, um den Status des Optimierungsauftrags zu überwachen.

GetBlueprintOptimizationStatus

Ruft den aktuellen Status und die Ergebnisse eines Blueprint-Optimierungsauftrags ab, der durch Aufrufen der asynchronen API ausgegeben wurde. InvokeBlueprintOptimizationAsync GetBlueprintOptimizationStatus akzeptiert den von zurückgegebenen Aufruf-ARN. InvokeBlueprintOptimizationAsync

Antwort

{ "status": "Success", "outputConfiguration": { "s3Object": { "s3Uri": "s3://my-optimization-bucket/results/optimization-output" } } }
Statuswerte:

  • Erstellt — Job wurde erstellt

  • InProgress - Die Optimierung läuft

  • Erfolgreich — Die Optimierung wurde erfolgreich abgeschlossen

  • ServiceError - Ein interner Servicefehler ist aufgetreten

  • ClientError - Ungültige Anforderungsparameter

CopyBlueprintStage

Kopiert den Blueprint von der Quellphase in die Zielphase (z. B. ENTWICKLUNGSPHASE zur LIVE-Phase). Dies wird verwendet, um die gesamte Konfiguration einschließlich des Felds OptimizationSamples zwischen den Phasen zu synchronisieren.

Anforderungstext

{ "blueprintArn": "arn:aws:bedrock:us-east-1:123456789012:blueprint/my-document-processor", "sourceStage": "DEVELOPMENT", "targetStage": "LIVE" }
Stufenwerte:

  • ENTWICKLUNG — Development/testing Phase

  • LIVE - Produktionsphase

Antwort

{}
Warnung

Dieser Vorgang überschreibt die Konfiguration der Zielphase und kann nicht einfach rückgängig gemacht werden. Stellen Sie vor dem Kopieren in die LIVE-Phase gründliche Tests sicher.