Utilisation de l’API d’automatisation des données Bedrock
La fonctionnalité d’automatisation des données Amazon Bedrock (BDA) fournit un flux de travail d’API rationalisé pour le traitement de vos données. Pour toutes les modalités, ce flux de travail comprend trois étapes principales : création d’un projet, invocation de l’analyse et récupération des résultats. Pour récupérer une sortie personnalisée pour vos données traitées, vous devez fournir l’ARN du plan lorsque vous invoquez l’opération d’analyse.
Création d’un projet d’automatisation des données
Pour commencer à traiter des fichiers avec BDA, vous devez d’abord créer un projet d’automatisation des données. Vous pouvez y parvenir de deux manières : à l’aide de l’opération CreateDataAutomationProject ou de la console Amazon Amazon Bedrock.
Utilisation de l’API
Lorsque vous créez un projet à l’aide de l’API, vous invoquez l’opération CreateDataAutomationProject. Lorsque vous créez un projet, vous devez définir vos paramètres de configuration pour le type de fichier que vous souhaitez traiter (la modalité que vous souhaitez utiliser). Voici un exemple de configuration de la sortie standard pour les images :
{ "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 valide la configuration d’entrée. Elle crée un projet avec un ARN unique. Les paramètres du projet sont stockés pour une utilisation ultérieure. Si un projet est créé sans paramètres, les paramètres par défaut s’appliquent. Par exemple, lors du traitement d’images, le résumé des images et la détection de texte sont activés par défaut.
Le nombre de projets pouvant être créés par compte AWS est limité. Certaines combinaisons de paramètres peuvent ne pas être autorisées ou nécessiter des autorisations supplémentaires.
Invocation de l’automatisation des données de manière asynchrone
Vous avez un projet configuré, donc vous pouvez commencer à traiter les images à l’aide de l’opération InvokeDataAutomationAsync. Si vous utilisez une sortie personnalisée, vous ne pouvez soumettre qu’un seul ARN de plan par demande.
Cet appel d’API lance le traitement asynchrone de vos fichiers dans un compartiment S3 spécifié. L’API accepte l’ARN du projet et le fichier à traiter, puis lance la tâche de traitement asynchrone. Un identifiant de tâche est renvoyé pour suivre le processus. Des erreurs sont signalées si le projet n’existe pas, si l’appelant ne dispose pas des autorisations nécessaires ou si les fichiers d’entrée ne sont pas dans un format pris en charge.
Voici la structure de la demande 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" } ] } }
Lorsque vous exécutez l’opération InvokeDataAutomationAsync sur un fichier vidéo, vous pouvez définir une section de 5 minutes ou plus d’une vidéo qui sera traitée comme une vidéo complète pour l’extraction des données. Cette durée est définie avec un horodatage de la milliseconde de début et de la milliseconde de fin. Ces informations sont ajoutées dans l’élément assetProcessingConfiguration.
Obtention du statut de l’automatisation des données
Vérifiez le statut de votre tâche de traitement et récupérez les résultats à l’aide de l’API GetDataAutomationStatus.
L’API GetDataAutomationStatus vous permet de suivre la progression de votre tâche et d’accéder aux résultats une fois le traitement terminé. L’API accepte l’ARN d’invocation renvoyé par l’opération InvokeDataAutomationAsync. Elle vérifie le statut actuel de la tâche et renvoie les informations pertinentes. Une fois la tâche terminée, elle indique l’emplacement des résultats dans S3.
Si la tâche est toujours en cours, elle renvoie l’état actuel (par ex. « InProgress »). Si la tâche est terminée, elle renvoie « Success » ainsi que l’emplacement S3 des résultats. En cas d’erreur, elle renvoie « ServiceError » ou « ClientError » avec les détails de l’erreur.
Le code JSON de la demande est au format suivant :
{ "InvocationArn": "string" // Arn }
Réponse de sortie asynchrone
Les résultats du traitement du fichier sont stockés dans le compartiment S3 configuré pour les images d’entrée. La sortie inclut des structures uniques qui dépendent de la modalité du fichier et des types d’opérations spécifiés dans l’appel à l’opération InvokeDataAutomationAsync.
Pour en savoir plus sur les sorties standard pour une modalité donnée, consultez Sortie standard dans l’automatisation des données Bedrock.
Par exemple, pour les images, elle peut inclure des informations sur les éléments suivants :
Résumé de l’image : résumé descriptif ou légende de l’image.
Classification IAB : catégorisation basée sur la taxonomie de l’IAB.
Détection du texte de l’image : texte extrait avec des informations sur les cadres de délimitation.
Modération de contenu : détecte le contenu inapproprié, indésirable ou offensant dans une image.
Voici un exemple d’extrait de la sortie pour le traitement d’image :
{ "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 } ] } ] } ] } }
Cette sortie structurée permet une intégration facile aux applications en aval et une analyse plus approfondie.