Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

Tutorial: Introducción al uso de la API de Amazon A2I

Modo de enfoque
Tutorial: Introducción al uso de la API de Amazon A2I - Amazon SageMaker AI

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

En este tutorial, se explican las operaciones de API que puede utilizar para dar los primeros pasos con Amazon A2I.

Para usar un cuaderno de Jupyter para ejecutar estas operaciones, selecciona un cuaderno de Jupyter Casos y ejemplos de uso de Amazon A2I y úsalo Utilice SageMaker Notebook Instance con Amazon A2I Jupyter Notebook para aprender a usarlo en una instancia de cuaderno de IA. SageMaker

Para obtener más información sobre las operaciones de API que puede utilizar con Amazon A2I, consulte Uso APIs en Amazon Augmented AI.

Crear un equipo de trabajo privado

Puede crear un equipo de trabajo privado y añadirse como trabajador para poder obtener una vista previa de Amazon A2I.

Si no está familiarizado con Amazon Cognito, le recomendamos que utilice la consola de SageMaker IA para crear una fuerza laboral privada y sumarse como trabajador privado. Para obtener instrucciones, consulte Paso 1: crear un equipo de trabajo.

Si está familiarizado con Amazon Cognito, puede utilizar las siguientes instrucciones para crear un equipo de trabajo privado mediante la SageMaker API. Después de crear un equipo de trabajo, anote su ARN (WorkteamArn).

Para obtener más información sobre la plantilla privada y otras configuraciones disponibles, consulte Personal privado.

Cree un personal privado

Si no ha creado una plantilla privada, puede hacerlo mediante un grupo de usuarios de Amazon Cognito. Recuerde añadirse a usted mismo a este grupo de usuarios. Puede crear un equipo de trabajo privado mediante la AWS SDK para Python (Boto3) create_workforce función. Para obtener información sobre otros idiomas específicos SDKs, consulte la lista de. CreateWorkforce

response = client.create_workforce( CognitoConfig={ "UserPool": "Pool_ID", "ClientId": "app-client-id" }, WorkforceName="workforce-name" )
Crear un equipo de trabajo privado

Una vez que haya creado una plantilla privada en la AWS región para configurar e iniciar su ciclo humano, podrá crear un equipo de trabajo privado mediante la AWS SDK para Python (Boto3) create_workteam función. Para obtener información sobre otros idiomas específicos SDKs, consulte la lista de. CreateWorkteam

response = client.create_workteam( WorkteamName="work-team-name", WorkforceName= "workforce-name", MemberDefinitions=[ { "CognitoMemberDefinition": { "UserPool": "<aws-region>_ID", "UserGroup": "user-group", "ClientId": "app-client-id" }, } ] )

Acceda al ARN de su equipo de trabajo de la siguiente manera:

workteamArn = response["WorkteamArn"]
Incluir los equipos de trabajo privados en su cuenta

Si ya ha creado un equipo de trabajo privado, puede incluir en su cuenta todos los equipos de trabajo de una AWS región determinada mediante la AWS SDK para Python (Boto3) list_workteams función. Para conocer otros idiomas específicos SDKs, consulta la lista de. ListWorkteams

response = client.list_workteams()

Si tiene varios equipos de trabajo en su cuenta, quizá le interese usar MaxResults, NameContains y SortBy para filtrar los resultados.

Crear un flujo de trabajo de revisión humana

Puede crear un flujo de trabajo de revisión humana mediante la operación CreateFlowDefinition de Amazon A2I. Antes de crear su flujo de trabajo de revisión humana, debe crear una interfaz de usuario de tareas humanas. Puede hacerlo con la operación CreateHumanTaskUi.

Si utiliza Amazon A2I con las integraciones de Amazon Textract o Amazon Rekognition, puede especificar las condiciones de activación mediante un JSON.

Crear una interfaz de usuario para tareas humanas

Si va a crear un flujo de trabajo de revisión humana para usarlo con las integraciones de Amazon Textract o Amazon Rekognition, necesitará usar y modificar una plantilla de tareas de trabajo prediseñada. Puede usar su propia plantilla de tareas de trabajo personalizada en todas las integraciones personalizadas. Use la siguiente tabla para aprender a crear una interfaz de usuario para tareas humanas con una plantilla de tareas de trabajador para las dos integraciones integradas. Sustituya la plantilla por la suya propia para personalizar esta solicitud.

Amazon Textract – Key-value pair extraction

Para obtener más información sobre esta plantilla, consulte Ejemplo de plantilla personalizada para Amazon Textract.

template = r""" <script src="https://assets.crowd.aws/crowd-html-elements.js"></script> {% capture s3_uri %}http://s3.amazonaws.com/{{ task.input.aiServiceRequest.document.s3Object.bucket }}/{{ task.input.aiServiceRequest.document.s3Object.name }}{% endcapture %} <crowd-form> <crowd-textract-analyze-document src="{{ s3_uri | grant_read_access }}" initial-value="{{ task.input.selectedAiServiceResponse.blocks }}" header="Review the key-value pairs listed on the right and correct them if they don"t match the following document." no-key-edit="" no-geometry-edit="" keys="{{ task.input.humanLoopContext.importantFormKeys }}" block-types='["KEY_VALUE_SET"]'> <short-instructions header="Instructions"> <p>Click on a key-value block to highlight the corresponding key-value pair in the document. </p><p><br></p> <p>If it is a valid key-value pair, review the content for the value. If the content is incorrect, correct it. </p><p><br></p> <p>The text of the value is incorrect, correct it.</p> <p><img src="https://assets.crowd.aws/images/a2i-console/correct-value-text.png"> </p><p><br></p> <p>A wrong value is identified, correct it.</p> <p><img src="https://assets.crowd.aws/images/a2i-console/correct-value.png"> </p><p><br></p> <p>If it is not a valid key-value relationship, choose No.</p> <p><img src="https://assets.crowd.aws/images/a2i-console/not-a-key-value-pair.png"> </p><p><br></p> <p>If you can’t find the key in the document, choose Key not found.</p> <p><img src="https://assets.crowd.aws/images/a2i-console/key-is-not-found.png"> </p><p><br></p> <p>If the content of a field is empty, choose Value is blank.</p> <p><img src="https://assets.crowd.aws/images/a2i-console/value-is-blank.png"> </p><p><br></p> <p><strong>Examples</strong></p> <p>Key and value are often displayed next or below to each other. </p><p><br></p> <p>Key and value displayed in one line.</p> <p><img src="https://assets.crowd.aws/images/a2i-console/sample-key-value-pair-1.png"> </p><p><br></p> <p>Key and value displayed in two lines.</p> <p><img src="https://assets.crowd.aws/images/a2i-console/sample-key-value-pair-2.png"> </p><p><br></p> <p>If the content of the value has multiple lines, enter all the text without line break. Include all value text even if it extends beyond the highlight box.</p> <p><img src="https://assets.crowd.aws/images/a2i-console/multiple-lines.png"></p> </short-instructions> <full-instructions header="Instructions"></full-instructions> </crowd-textract-analyze-document> </crowd-form> """
Amazon Rekognition – Image moderation

Para obtener más información sobre esta plantilla, consulte Ejemplo de plantilla personalizada para Amazon Rekognition.

template = r""" <script src="https://assets.crowd.aws/crowd-html-elements.js"></script> {% capture s3_uri %}http://s3.amazonaws.com/{{ task.input.aiServiceRequest.image.s3Object.bucket }}/{{ task.input.aiServiceRequest.image.s3Object.name }}{% endcapture %} <crowd-form> <crowd-rekognition-detect-moderation-labels categories='[ {% for label in task.input.selectedAiServiceResponse.moderationLabels %} { name: "{{ label.name }}", parentName: "{{ label.parentName }}", }, {% endfor %} ]' src="{{ s3_uri | grant_read_access }}" header="Review the image and choose all applicable categories." > <short-instructions header="Instructions"> <style> .instructions { white-space: pre-wrap; } </style> <p class="instructions">Review the image and choose all applicable categories. If no categories apply, choose None. <b>Nudity</b> Visuals depicting nude male or female person or persons <b>Partial Nudity</b> Visuals depicting covered up nudity, for example using hands or pose <b>Revealing Clothes</b> Visuals depicting revealing clothes and poses <b>Physical Violence</b> Visuals depicting violent physical assault, such as kicking or punching <b>Weapon Violence</b> Visuals depicting violence using weapons like firearms or blades, such as shooting <b>Weapons</b> Visuals depicting weapons like firearms and blades </short-instructions> <full-instructions header="Instructions"></full-instructions> </crowd-rekognition-detect-moderation-labels> </crowd-form>"""
Custom Integration

A continuación, se muestra un ejemplo de plantilla que se puede utilizar en una integración personalizada. Esta plantilla se utiliza en este cuaderno, y muestra una integración personalizada con Amazon Comprehend.

template = r""" <script src="https://assets.crowd.aws/crowd-html-elements.js"></script> <crowd-form> <crowd-classifier name="sentiment" categories='["Positive", "Negative", "Neutral", "Mixed"]' initial-value="{{ task.input.initialValue }}" header="What sentiment does this text convey?" > <classification-target> {{ task.input.taskObject }} </classification-target> <full-instructions header="Sentiment Analysis Instructions"> <p><strong>Positive</strong> sentiment include: joy, excitement, delight</p> <p><strong>Negative</strong> sentiment include: anger, sarcasm, anxiety</p> <p><strong>Neutral</strong>: neither positive or negative, such as stating a fact</p> <p><strong>Mixed</strong>: when the sentiment is mixed</p> </full-instructions> <short-instructions> Choose the primary sentiment that is expressed by the text. </short-instructions> </crowd-classifier> </crowd-form> """

Para obtener más información sobre esta plantilla, consulte Ejemplo de plantilla personalizada para Amazon Textract.

template = r""" <script src="https://assets.crowd.aws/crowd-html-elements.js"></script> {% capture s3_uri %}http://s3.amazonaws.com/{{ task.input.aiServiceRequest.document.s3Object.bucket }}/{{ task.input.aiServiceRequest.document.s3Object.name }}{% endcapture %} <crowd-form> <crowd-textract-analyze-document src="{{ s3_uri | grant_read_access }}" initial-value="{{ task.input.selectedAiServiceResponse.blocks }}" header="Review the key-value pairs listed on the right and correct them if they don"t match the following document." no-key-edit="" no-geometry-edit="" keys="{{ task.input.humanLoopContext.importantFormKeys }}" block-types='["KEY_VALUE_SET"]'> <short-instructions header="Instructions"> <p>Click on a key-value block to highlight the corresponding key-value pair in the document. </p><p><br></p> <p>If it is a valid key-value pair, review the content for the value. If the content is incorrect, correct it. </p><p><br></p> <p>The text of the value is incorrect, correct it.</p> <p><img src="https://assets.crowd.aws/images/a2i-console/correct-value-text.png"> </p><p><br></p> <p>A wrong value is identified, correct it.</p> <p><img src="https://assets.crowd.aws/images/a2i-console/correct-value.png"> </p><p><br></p> <p>If it is not a valid key-value relationship, choose No.</p> <p><img src="https://assets.crowd.aws/images/a2i-console/not-a-key-value-pair.png"> </p><p><br></p> <p>If you can’t find the key in the document, choose Key not found.</p> <p><img src="https://assets.crowd.aws/images/a2i-console/key-is-not-found.png"> </p><p><br></p> <p>If the content of a field is empty, choose Value is blank.</p> <p><img src="https://assets.crowd.aws/images/a2i-console/value-is-blank.png"> </p><p><br></p> <p><strong>Examples</strong></p> <p>Key and value are often displayed next or below to each other. </p><p><br></p> <p>Key and value displayed in one line.</p> <p><img src="https://assets.crowd.aws/images/a2i-console/sample-key-value-pair-1.png"> </p><p><br></p> <p>Key and value displayed in two lines.</p> <p><img src="https://assets.crowd.aws/images/a2i-console/sample-key-value-pair-2.png"> </p><p><br></p> <p>If the content of the value has multiple lines, enter all the text without line break. Include all value text even if it extends beyond the highlight box.</p> <p><img src="https://assets.crowd.aws/images/a2i-console/multiple-lines.png"></p> </short-instructions> <full-instructions header="Instructions"></full-instructions> </crowd-textract-analyze-document> </crowd-form> """

Con la plantilla especificada anteriormente, puede crear una plantilla mediante la AWS SDK para Python (Boto3) create_human_task_ui función. Para obtener información sobre otros idiomas específicos SDKs, consulte la lista de. CreateHumanTaskUi

response = client.create_human_task_ui( HumanTaskUiName="human-task-ui-name", UiTemplate={ "Content": template } )

Este elemento de respuesta contiene el ARN de la interfaz de usuario de tareas humanas. Guarde esto de la siguiente manera:

humanTaskUiArn = response["HumanTaskUiArn"]

Crear un JSON para especificar las condiciones de activación

En el caso de las integraciones integradas de Amazon Textract y Amazon Rekognition, puede guardar las condiciones de activación en un objeto JSON y utilizarlas en su solicitud CreateFlowDefinition.

A continuación, seleccione una pestaña para ver ejemplos de condiciones de activación que puede utilizar para estas integraciones integradas. Para obtener información acerca de las opciones de condición de activación, consulte Esquema JSON para condiciones de activación del bucle humano en Amazon Augmented AI.

Amazon Textract – Key-value pair extraction

En este ejemplo, se especifican las condiciones para claves específicas (como Mail address) en el documento. Si la confianza de Amazon Textract supera los umbrales establecidos aquí, el documento se envía a una persona para que lo revise, y se le solicitarán al trabajador las claves específicas que iniciaron el bucle humano.

import json humanLoopActivationConditions = json.dumps( { "Conditions": [ { "Or": [ { "ConditionType": "ImportantFormKeyConfidenceCheck", "ConditionParameters": { "ImportantFormKey": "Mail address", "ImportantFormKeyAliases": ["Mail Address:","Mail address:", "Mailing Add:","Mailing Addresses"], "KeyValueBlockConfidenceLessThan": 100, "WordBlockConfidenceLessThan": 100 } }, { "ConditionType": "MissingImportantFormKey", "ConditionParameters": { "ImportantFormKey": "Mail address", "ImportantFormKeyAliases": ["Mail Address:","Mail address:","Mailing Add:","Mailing Addresses"] } }, { "ConditionType": "ImportantFormKeyConfidenceCheck", "ConditionParameters": { "ImportantFormKey": "Phone Number", "ImportantFormKeyAliases": ["Phone number:", "Phone No.:", "Number:"], "KeyValueBlockConfidenceLessThan": 100, "WordBlockConfidenceLessThan": 100 } }, { "ConditionType": "ImportantFormKeyConfidenceCheck", "ConditionParameters": { "ImportantFormKey": "*", "KeyValueBlockConfidenceLessThan": 100, "WordBlockConfidenceLessThan": 100 } }, { "ConditionType": "ImportantFormKeyConfidenceCheck", "ConditionParameters": { "ImportantFormKey": "*", "KeyValueBlockConfidenceGreaterThan": 0, "WordBlockConfidenceGreaterThan": 0 } } ] } ] } )
Amazon Rekognition – Image moderation

Las condiciones de activación del bucle humano que se utilizan aquí se adaptan a la moderación de contenidos de Amazon Rekognition, y se basan en los umbrales de confianza para las etiquetas de moderación Suggestive y Female Swimwear Or Underwear.

import json humanLoopActivationConditions = json.dumps( { "Conditions": [ { "Or": [ { "ConditionType": "ModerationLabelConfidenceCheck", "ConditionParameters": { "ModerationLabelName": "Suggestive", "ConfidenceLessThan": 98 } }, { "ConditionType": "ModerationLabelConfidenceCheck", "ConditionParameters": { "ModerationLabelName": "Female Swimwear Or Underwear", "ConfidenceGreaterThan": 98 } } ] } ] } )

En este ejemplo, se especifican las condiciones para claves específicas (como Mail address) en el documento. Si la confianza de Amazon Textract supera los umbrales establecidos aquí, el documento se envía a una persona para que lo revise, y se le solicitarán al trabajador las claves específicas que iniciaron el bucle humano.

import json humanLoopActivationConditions = json.dumps( { "Conditions": [ { "Or": [ { "ConditionType": "ImportantFormKeyConfidenceCheck", "ConditionParameters": { "ImportantFormKey": "Mail address", "ImportantFormKeyAliases": ["Mail Address:","Mail address:", "Mailing Add:","Mailing Addresses"], "KeyValueBlockConfidenceLessThan": 100, "WordBlockConfidenceLessThan": 100 } }, { "ConditionType": "MissingImportantFormKey", "ConditionParameters": { "ImportantFormKey": "Mail address", "ImportantFormKeyAliases": ["Mail Address:","Mail address:","Mailing Add:","Mailing Addresses"] } }, { "ConditionType": "ImportantFormKeyConfidenceCheck", "ConditionParameters": { "ImportantFormKey": "Phone Number", "ImportantFormKeyAliases": ["Phone number:", "Phone No.:", "Number:"], "KeyValueBlockConfidenceLessThan": 100, "WordBlockConfidenceLessThan": 100 } }, { "ConditionType": "ImportantFormKeyConfidenceCheck", "ConditionParameters": { "ImportantFormKey": "*", "KeyValueBlockConfidenceLessThan": 100, "WordBlockConfidenceLessThan": 100 } }, { "ConditionType": "ImportantFormKeyConfidenceCheck", "ConditionParameters": { "ImportantFormKey": "*", "KeyValueBlockConfidenceGreaterThan": 0, "WordBlockConfidenceGreaterThan": 0 } } ] } ] } )

Crear un flujo de trabajo de revisión humana

En esta sección se ofrece un ejemplo de la CreateFlowDefinition AWS SDK para Python (Boto3) solicitud que utiliza los recursos creados en las secciones anteriores. Para obtener información sobre otros idiomas específicos SDKs, consulte la lista de. CreateFlowDefinition Utilice las pestañas de la siguiente tabla para ver las solicitudes de creación de un flujo de trabajo de revisión humana para las integraciones integradas de Amazon Textract y Amazon Rekognition.

Amazon Textract – Key-value pair extraction

Si utiliza la integración integrada con Amazon Textract, debe especificar "AWS/Textract/AnalyzeDocument/Forms/V1" para "AwsManagedHumanLoopRequestSource" en HumanLoopRequestSource.

response = client.create_flow_definition( FlowDefinitionName="human-review-workflow-name", HumanLoopRequestSource={ "AwsManagedHumanLoopRequestSource": "AWS/Textract/AnalyzeDocument/Forms/V1" }, HumanLoopActivationConfig={ "HumanLoopActivationConditionsConfig": { "HumanLoopActivationConditions": humanLoopActivationConditions } }, HumanLoopConfig={ "WorkteamArn": workteamArn, "HumanTaskUiArn": humanTaskUiArn, "TaskTitle": "Document entry review", "TaskDescription": "Review the document and instructions. Complete the task", "TaskCount": 1, "TaskAvailabilityLifetimeInSeconds": 43200, "TaskTimeLimitInSeconds": 3600, "TaskKeywords": [ "document review", ], }, OutputConfig={ "S3OutputPath": "s3://amzn-s3-demo-bucket/prefix/", }, RoleArn="arn:aws:iam::<account-number>:role/<role-name>", Tags=[ { "Key": "string", "Value": "string" }, ] )
Amazon Rekognition – Image moderation

Si utiliza la integración integrada con Amazon Rekognition, debe especificar "AWS/Rekognition/DetectModerationLabels/Image/V3" para "AwsManagedHumanLoopRequestSource" en HumanLoopRequestSource.

response = client.create_flow_definition( FlowDefinitionName="human-review-workflow-name", HumanLoopRequestSource={ "AwsManagedHumanLoopRequestSource": "AWS/Rekognition/DetectModerationLabels/Image/V3" }, HumanLoopActivationConfig={ "HumanLoopActivationConditionsConfig": { "HumanLoopActivationConditions": humanLoopActivationConditions } }, HumanLoopConfig={ "WorkteamArn": workteamArn, "HumanTaskUiArn": humanTaskUiArn, "TaskTitle": "Image content moderation", "TaskDescription": "Review the image and instructions. Complete the task", "TaskCount": 1, "TaskAvailabilityLifetimeInSeconds": 43200, "TaskTimeLimitInSeconds": 3600, "TaskKeywords": [ "content moderation", ], }, OutputConfig={ "S3OutputPath": "s3://amzn-s3-demo-bucket/prefix/", }, RoleArn="arn:aws:iam::<account-number>:role/<role-name>", Tags=[ { "Key": "string", "Value": "string" }, ] )
Custom Integration

Si utiliza una integración personalizada, excluya los parámetros HumanLoopRequestSource y HumanLoopActivationConfig.

response = client.create_flow_definition( FlowDefinitionName="human-review-workflow-name", HumanLoopConfig={ "WorkteamArn": workteamArn, "HumanTaskUiArn": humanTaskUiArn, "TaskTitle": "Image content moderation", "TaskDescription": "Review the image and instructions. Complete the task", "TaskCount": 1, "TaskAvailabilityLifetimeInSeconds": 43200, "TaskTimeLimitInSeconds": 3600, "TaskKeywords": [ "content moderation", ], }, OutputConfig={ "S3OutputPath": "s3://amzn-s3-demo-bucket/prefix/", }, RoleArn="arn:aws:iam::<account-number>:role/<role-name>", Tags=[ { "Key": "string", "Value": "string" }, ] )

Si utiliza la integración integrada con Amazon Textract, debe especificar "AWS/Textract/AnalyzeDocument/Forms/V1" para "AwsManagedHumanLoopRequestSource" en HumanLoopRequestSource.

response = client.create_flow_definition( FlowDefinitionName="human-review-workflow-name", HumanLoopRequestSource={ "AwsManagedHumanLoopRequestSource": "AWS/Textract/AnalyzeDocument/Forms/V1" }, HumanLoopActivationConfig={ "HumanLoopActivationConditionsConfig": { "HumanLoopActivationConditions": humanLoopActivationConditions } }, HumanLoopConfig={ "WorkteamArn": workteamArn, "HumanTaskUiArn": humanTaskUiArn, "TaskTitle": "Document entry review", "TaskDescription": "Review the document and instructions. Complete the task", "TaskCount": 1, "TaskAvailabilityLifetimeInSeconds": 43200, "TaskTimeLimitInSeconds": 3600, "TaskKeywords": [ "document review", ], }, OutputConfig={ "S3OutputPath": "s3://amzn-s3-demo-bucket/prefix/", }, RoleArn="arn:aws:iam::<account-number>:role/<role-name>", Tags=[ { "Key": "string", "Value": "string" }, ] )

Tras crear un flujo de trabajo de revisión humana, puede recuperar el ARN de definición de flujo de la respuesta:

humanReviewWorkflowArn = response["FlowDefinitionArn"]

Crear un bucle humano

La operación de API que utilice para iniciar un bucle humano dependerá de la integración de Amazon A2I que utilice.

  • Si utilizas la integración integrada de Amazon Textract, utilizas la AnalyzeDocumentoperación.

  • Si utiliza la integración integrada de Amazon Rekognition, utilizará la operación. DetectModerationLabels

  • Si usa una integración personalizada, usa la operación. StartHumanLoop

Seleccione el tipo de tarea en la siguiente tabla para ver ejemplos de solicitudes para Amazon Textract y Amazon Rekognition empleando AWS SDK para Python (Boto3).

Amazon Textract – Key-value pair extraction

En el siguiente ejemplo, se utiliza AWS SDK para Python (Boto3) para llamar analyze_document a us-west-2. Sustituya el texto rojo en cursiva por sus recursos. Solo debe incluir el parámetro DataAttributes si utiliza la plantilla de Amazon Mechanical Turk. Para obtener más información, consulte la documentación de analyze_document en la documentación de referencia de la API AWS SDK for Python (Boto) .

response = client.analyze_document( Document={"S3Object": {"Bucket": "amzn-s3-demo-bucket", "Name": "document-name.pdf"}, HumanLoopConfig={ "FlowDefinitionArn":"arn:aws:sagemaker:us-west-2:111122223333:flow-definition/flow-definition-name", "HumanLoopName":"human-loop-name", "DataAttributes" : {ContentClassifiers:["FreeOfPersonallyIdentifiableInformation"|"FreeOfAdultContent"]} } FeatureTypes=["FORMS"] )

Los bucles humanos solo se crean si la confianza de Amazon Textract para la tarea de análisis de documentos cumple las condiciones de activación que ha especificado en su flujo de trabajo de revisión humana. Puede comprobar el elemento response para determinar si se ha creado un bucle humano. Para ver todo lo que está incluido en esta respuesta, consulte HumanLoopActivationOutput.

if "HumanLoopArn" in analyzeDocumentResponse["HumanLoopActivationOutput"]: # A human loop has been started! print(f"A human loop has been started with ARN: {analyzeDocumentResponse["HumanLoopActivationOutput"]["HumanLoopArn"]}"
Amazon Rekognition – Image moderation

En el siguiente ejemplo, se utiliza AWS SDK para Python (Boto3) para llamar detect_moderation_labels a us-west-2. Sustituya el texto rojo en cursiva por sus recursos. Solo debe incluir el parámetro DataAttributes si utiliza la plantilla de Amazon Mechanical Turk. Para obtener más información, consulte la documentación detect_moderation_labels en la documentación de referencia de la API de AWS SDK for Python (Boto) .

response = client.detect_moderation_labels( Image={"S3Object":{"Bucket": "amzn-s3-demo-bucket", "Name": "image-name.png"}}, HumanLoopConfig={ "FlowDefinitionArn":"arn:aws:sagemaker:us-west-2:111122223333:flow-definition/flow-definition-name", "HumanLoopName":"human-loop-name", "DataAttributes":{ContentClassifiers:["FreeOfPersonallyIdentifiableInformation"|"FreeOfAdultContent"]} } )

Los bucles humanos solo se crean si la confianza de Amazon Rekognition para la tarea de moderación de imagen cumple las condiciones de activación que ha especificado en su flujo de trabajo de revisión humana. Puede comprobar el elemento response para determinar si se ha creado un bucle humano. Para ver todo lo que está incluido en esta respuesta, consulte HumanLoopActivationOutput.

if "HumanLoopArn" in response["HumanLoopActivationOutput"]: # A human loop has been started! print(f"A human loop has been started with ARN: {response["HumanLoopActivationOutput"]["HumanLoopArn"]}")
Custom Integration

En el siguiente ejemplo, se utiliza AWS SDK para Python (Boto3) para llamar start_human_loop a us-west-2. Sustituya el texto rojo en cursiva por sus recursos. Solo debe incluir el parámetro DataAttributes si utiliza la plantilla de Amazon Mechanical Turk. Para obtener más información, consulte la documentación start_human_loop en la documentación de referencia de la API de AWS SDK for Python (Boto) .

response = client.start_human_loop( HumanLoopName= "human-loop-name", FlowDefinitionArn= "arn:aws:sagemaker:us-west-2:111122223333:flow-definition/flow-definition-name", HumanLoopInput={"InputContent": inputContentJson}, DataAttributes={"ContentClassifiers":["FreeOfPersonallyIdentifiableInformation"|"FreeOfAdultContent"]} )

En este ejemplo, se almacena el contenido de entrada en la variable inputContentJson. Suponga que el contenido de entrada contiene dos elementos, un blurb de texto y un sentimiento (como Positive, Negative o Neutral), y tiene el siguiente formato:

inputContent = { "initialValue": sentiment, "taskObject": blurb }

Las claves initialValue y taskObject deben corresponderse con las teclas utilizadas en los elementos Liquid de la plantilla de tareas del trabajador. Consulte la plantilla personalizada en Crear una interfaz de usuario para tareas humanas para ver un ejemplo.

Para crear inputContentJson, haga lo siguiente:

import json inputContentJson = json.dumps(inputContent)

Cada vez que llama a start_human_loop, se inicia un bucle humano. Para comprobar el estado de su bucle humano, use describe_human_loop:

human_loop_info = a2i.describe_human_loop(HumanLoopName="human_loop_name") print(f"HumanLoop Status: {resp["HumanLoopStatus"]}") print(f"HumanLoop Output Destination: {resp["HumanLoopOutput"]}")

En el siguiente ejemplo, se utiliza AWS SDK para Python (Boto3) para llamar analyze_document a us-west-2. Sustituya el texto rojo en cursiva por sus recursos. Solo debe incluir el parámetro DataAttributes si utiliza la plantilla de Amazon Mechanical Turk. Para obtener más información, consulte la documentación de analyze_document en la documentación de referencia de la API AWS SDK for Python (Boto) .

response = client.analyze_document( Document={"S3Object": {"Bucket": "amzn-s3-demo-bucket", "Name": "document-name.pdf"}, HumanLoopConfig={ "FlowDefinitionArn":"arn:aws:sagemaker:us-west-2:111122223333:flow-definition/flow-definition-name", "HumanLoopName":"human-loop-name", "DataAttributes" : {ContentClassifiers:["FreeOfPersonallyIdentifiableInformation"|"FreeOfAdultContent"]} } FeatureTypes=["FORMS"] )

Los bucles humanos solo se crean si la confianza de Amazon Textract para la tarea de análisis de documentos cumple las condiciones de activación que ha especificado en su flujo de trabajo de revisión humana. Puede comprobar el elemento response para determinar si se ha creado un bucle humano. Para ver todo lo que está incluido en esta respuesta, consulte HumanLoopActivationOutput.

if "HumanLoopArn" in analyzeDocumentResponse["HumanLoopActivationOutput"]: # A human loop has been started! print(f"A human loop has been started with ARN: {analyzeDocumentResponse["HumanLoopActivationOutput"]["HumanLoopArn"]}"
PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.