Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Utilizzo dell’API Bedrock Data Automation
La funzionalità Amazon Bedrock Data Automation (BDA) fornisce 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. Ciò può essere fatto in due modi, con l' CreateDataAutomationProject operazione o la Amazon Bedrock console Amazon.
Utilizzo dell’API
Quando si utilizza l'API per creare un progetto, si invoca il 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 saranno abilitati per impostazione predefinita.
C'è un limite al numero di progetti che possono essere creati per AWS account. Alcune combinazioni di impostazioni potrebbero non essere consentite o richiedere autorizzazioni aggiuntive.
Invocare Data Automation in modalità asincrona
Hai un progetto configurato, puoi iniziare a elaborare le immagini usando l'InvokeDataAutomationAsyncoperazione. 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.
Invoke Data Automation (Sync)
In alternativa, è possibile utilizzare l'InvokeDataAutomationoperazione. L'InvokeDataAutomationoperazione supporta solo l'elaborazione delle immagini.
Questa chiamata API avvia l'elaborazione sincrona di quanto fornito tramite un riferimento S3 o nel payload. L'API accetta l'ARN del progetto e il file da elaborare e restituisce le informazioni strutturate nella risposta. 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. Se l'immagine analizzata viene classificata semanticamente come documento, anche questo verrà segnalato come errore, poiché supporta InvokeDataAutomation solo le immagini. Per evitare questo errore, puoi usare Modality Routing sul tuo progetto per forzare il routing di tutti i tipi di file di immagine come immagini (vedi). Disabilitazione delle modalità e dei tipi di file di routing
Ecco 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 } }, "tags": [ { "key": "string", "value": "string" } ] } }
L'output include strutture uniche che dipendono dal file, dalle operazioni e dalla configurazione di output personalizzata specificata nella chiamata a InvokeDataAutomation. Nota che questa risposta include sia le risposte di output standard che quelle personalizzate.
Ecco la struttura della risposta JSON con configurazione di output standard e personalizzata:
{ "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 } } } ] }
Ottenere lo stato di Data Automation
Per controllare lo stato del processo di elaborazione e recuperare i risultati, usa. GetDataAutomationStatus
L' GetDataAutomationStatus API consente di monitorare lo stato di avanzamento del lavoro e di accedere ai risultati una volta completata l'elaborazione. L'API accetta l'ARN di chiamata 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 c'è stato 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 uniche che dipendono sia dalla modalità del file che dai tipi di operazione 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.
Ottimizzazione del progetto APIs
InvokeBlueprintOptimizationAsync
È possibile migliorare la precisione del progetto fornendo risorse di contenuto di esempio con i risultati corretti previsti. L'ottimizzazione delle istruzioni Blueprint utilizza i tuoi esempi per perfezionare le istruzioni in linguaggio naturale nei campi del blueprint, il che migliora la precisione dei risultati di inferenza.
Per un blueprint, puoi chiamare l' InvokeBlueprintOptimizationAsync API che avvia il processo di ottimizzazione asincrono per migliorare le istruzioni sul campo Blueprint sulla base di dati di base.
Corpo della richiesta
{ "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" }
Risposta
{ "invocationArn": "arn:aws:bedrock:us-east-1:123456789012:blueprint-optimization-invocation/opt-12345abcdef" }
Importante
Salva InvocationARN per monitorare lo stato del processo di ottimizzazione.
GetBlueprintOptimizationStatus
Recupera lo stato e i risultati correnti di un processo di ottimizzazione del blueprint generato chiamando l'API async. InvokeBlueprintOptimizationAsync GetBlueprintOptimizationStatus accetta l'invocazione ARN restituita da. InvokeBlueprintOptimizationAsync
Risposta
{ "status": "Success", "outputConfiguration": { "s3Object": { "s3Uri": "s3://my-optimization-bucket/results/optimization-output" } } }
Valori di stato:
Creato - Il Job è stato creato
InProgress - L'ottimizzazione è in esecuzione
Operazione riuscita: ottimizzazione completata con successo
ServiceError - Si è verificato un errore interno del servizio
ClientError - Parametri di richiesta non validi
CopyBlueprintStage
Copia il Blueprint dalla fase di origine alla fase di destinazione (ad es. Dalla fase di SVILUPPO alla fase LIVE). Questo verrà utilizzato per sincronizzare tutta la configurazione, incluso il campo OptimizationSamples, tra le fasi.
Corpo della richiesta
{ "blueprintArn": "arn:aws:bedrock:us-east-1:123456789012:blueprint/my-document-processor", "sourceStage": "DEVELOPMENT", "targetStage": "LIVE" }
Valori dello stadio:
SVILUPPO - Development/testing fase
LIVE - Fase di produzione
Risposta
{}
avvertimento
Questa operazione sovrascrive la configurazione dello stadio di destinazione e non può essere annullata facilmente. Assicuratevi di eseguire test approfonditi prima di copiare su LIVE stage.