Utilizzo dell’API Bedrock Data Automation - Amazon Bedrock

Utilizzo dell’API Bedrock Data Automation

La funzionalità Amazon Bedrock Data Automation (BDA) offre un flusso di lavoro API semplificato per l’elaborazione dei dati. Per tutte le modalità, questo flusso di lavoro consiste in tre fasi principali: creazione di un progetto, invocazione dell’analisi e recupero dei risultati. Per recuperare l’output personalizzato per i dati elaborati, fornisci l’ARN del blueprint quando invochi l’operazione di analisi.

Creare un progetto Data Automation

Per iniziare a elaborare i file con BDA, devi prima creare un progetto di Data Automation. Questa operazione può essere eseguita in due modi, tramite CreateDataAutomationProject o la console Amazon Amazon Bedrock.

Utilizzo dell'API

Quando utilizzi l’API per creare un progetto, invoca CreateDataAutomationProject. Durante la creazione di un progetto, è necessario definire le impostazioni di configurazione per il tipo di file che si intende elaborare (la modalità da utilizzare). Di seguito è riportato un esempio di come è possibile configurare l’output standard per le immagini:

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

L’API convalida la configurazione di input. Crea un nuovo progetto con un ARN univoco. Le impostazioni del progetto vengono archiviate per l’utilizzo futuro. Se un progetto viene creato senza parametri, vengono applicate le impostazioni predefinite. Ad esempio, durante l’elaborazione delle immagini, la sintesi delle immagini e il rilevamento del testo sono abilitati per impostazione predefinita.

Il numero di progetti che possono essere creati per account AWS è limitato. Alcune combinazioni di impostazioni potrebbero non essere consentite o richiedere autorizzazioni aggiuntive.

Invocare Data Automation in modalità asincrona

Se hai un progetto configurato, puoi iniziare a elaborare le immagini utilizzando l’operazione InvokeDataAutomationAsync. Se si utilizza un output personalizzato, è possibile inviare solo un singolo ARN di blueprint per richiesta.

Questa chiamata API avvia l’elaborazione asincrona dei file in un bucket S3 specificato. L’API accetta l’ARN del progetto e il file da elaborare, quindi avvia il processo di elaborazione asincrona. Viene restituito un ID di processo per monitorare il processo. Vengono generati errori se il progetto non esiste, se il chiamante non dispone delle autorizzazioni necessarie o se i file di input non sono in un formato supportato.

Di seguito è riportata la struttura della richiesta JSON:

{ { "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" } ] } }

Quando eseguite InvokeDataAutomationAsync su un file video, potete impostare una sezione di almeno 5 minuti di un video che verrà trattata come un video completo per l’estrazione dei dati. Questo orario è impostato con un timestamp del millisecondo iniziale e del millisecondo finale. Queste informazioni vengono aggiunte nell’elemento assetProcessingConfiguration.

Ottenere lo stato di Data Automation

Per verificare lo stato del processo di elaborazione e recuperare i risultati, utilizza GetDataAutomationStatus.

L’API GetDataAutomationStatus consente di monitorare l’avanzamento di un processo e di accedere ai risultati una volta completata l’elaborazione. L’API accetta l’ARN di invocazione restituito da InvokeDataAutomationAsync. Controlla lo stato corrente del processo e restituisce le informazioni pertinenti. Una volta completato il processo, fornisce la posizione dei risultati in S3.

Se il processo è ancora in corso, restituisce lo stato corrente (ad esempio, “InProgress”). Se il processo è completato, restituisce “Success” insieme alla posizione S3 dei risultati. Se si è verificato un errore, restituisce “ServiceError” o “ClientError” con i dettagli dell’errore.

La richiesta JSON ha il seguente formato:

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

Risposta di output asincrono

I risultati dell’elaborazione dei file vengono archiviati nel bucket S3 configurato per le immagini di input. L’output include strutture univoche che dipendono sia dalla modalità del file che dai tipi di operazioni specificati nella chiamata a InvokeDataAutomationAsync.

Per informazioni sugli output standard per una determinata modalità, consulta Output standard in Bedrock Data Automation.

Ad esempio, per le immagini può includere informazioni su quanto segue:

  • Riepilogo dell’immagine: un riepilogo o una didascalia descrittiva dell’immagine.

  • Classificazione IAB: categorizzazione basata sulla tassonomia IAB.

  • Rilevamento del testo dell’immagine: testo estratto con informazioni sul riquadro di delimitazione.

  • Moderazione dei contenuti: rileva contenuti inappropriati, indesiderati oppure offensivi in un’immagine.

Di seguito è riportato una esempio di frammento di codice dell’output per l’elaborazione delle immagini:

{ "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 } ] } ] } ] } }

Questo output strutturato consente una facile integrazione con le applicazioni downstream e ulteriori analisi.