

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Amazon Augmented AI 中用于人工循环激活条件的 JSON 架构
<a name="a2i-human-fallback-conditions-json-schema"></a>

`HumanLoopActivationConditions` 是 [https://docs.amazonaws.cn/sagemaker/latest/APIReference/API_CreateFlowDefinition.html](https://docs.amazonaws.cn/sagemaker/latest/APIReference/API_CreateFlowDefinition.html) API 的输入参数。此参数是 JSON 格式的字符串。JSON 对创建人工循环的条件建立模型，确定在根据集成 AI 服务 API（例如 `Rekognition.DetectModerationLabels` 或 `Textract.AnalyzeDocument`）的响应评估这些条件时，应该创建哪个人工循环。此响应称为*推理*。例如，Amazon Rekognition 发送对审核标签的推理以及关联的置信度得分。在此示例中，推理是模型对适合图像的标签的最佳估计值。对于 Amazon Textract，推理是针对文本块之间的关联（*键/值对*）进行的，例如表单中 `Name:` 和 `Sue` 之间的关联以及文本块（即*词块*）中的内容，例如“Name”。

下面是 JSON 的架构。在顶层，`HumanLoopActivationConditions` 具有 JSON 数组 `Conditions`。此数组的每个成员都是一个独立的条件，如果评估为 `true`，将导致 Amazon A2I 创建人工循环。每个这样的独立条件可以是简单条件，也可以是复杂条件。简单条件具有以下属性：
+ `ConditionType`：此属性标识条件的类型。与 Amazon A2I 集成的每个 Amazon AI 服务 API 都会定义了自己一组允许的 `ConditionTypes`。
  + Rekognition `DetectModerationLabels` – 此 API 支持 `ModerationLabelConfidenceCheck` 和 `Sampling` `ConditionType` 值。
  + Textract `AnalyzeDocument` – 此 API 支持 `ImportantFormKeyConfidenceCheck`、`MissingImportantFormKey` 和 `Sampling` `ConditionType` 值。
+ `ConditionParameters` – 这是一个 JSON 对象，用于将条件参数化。此对象的允许属性集取决于 `ConditionType` 的值。每个 `ConditionType` 定义它自己的 `ConditionParameters` 集。

`Conditions` 数组的成员可以对复杂条件进行建模。为此，它使用 `And` 和 `Or` 逻辑运算符连接原始条件并嵌套底层简单条件。最多支持两层嵌套。

```
{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "definitions": {
        "Condition": {
            "type": "object",
            "properties": {
                "ConditionType": {
                    "type": "string"
                },
                "ConditionParameters": {
                    "type": "object"
                }
            },
            "required": [
                "ConditionType"
            ]
        },
        "OrConditionArray": {
            "type": "object",
            "properties": {
                "Or": {
                    "type": "array",
                    "minItems": 2,
                    "items": {
                        "$ref": "#/definitions/ComplexCondition"
                    }
                }
            }
        },
        "AndConditionArray": {
            "type": "object",
            "properties": {
                "And": {
                    "type": "array",
                    "minItems": 2,
                    "items": {
                        "$ref": "#/definitions/ComplexCondition"
                    }
                }
            }
        },
        "ComplexCondition": {
            "anyOf": [
                {
                    "$ref": "#/definitions/Condition"
                },
                {
                    "$ref": "#/definitions/OrConditionArray"
                },
                {
                    "$ref": "#/definitions/AndConditionArray"
                }
            ]
        }
    },
    "type": "object",
    "properties": {
        "Conditions": {
            "type": "array",
            "items": {
                "$ref": "#/definitions/ComplexCondition"
            }
        }
    }
}
```

**注意**  
人工循环激活条件不适用于与自定义任务类型集成的人工审核工作流。对于自定义任务类型，`HumanLoopActivationConditions` 参数禁用。

**Topics**
+ [将人工循环激活条件 JSON 架构与 Amazon Textract 结合使用](a2i-json-humantaskactivationconditions-textract-example.md)
+ [将人工循环激活条件 JSON 架构与 Amazon Rekognition 结合使用](a2i-json-humantaskactivationconditions-rekognition-example.md)