DeepDive机器人

深入理解机器人

机器人在软件上的形式是Docker容器,它们存储在Amazon ECR上,每个机器人都包括下述两个部分:

  1. 业务逻辑处理模块。该模块主要负责处理Amazon S3的输入输出,负责调用推理终端节点及其它业务逻辑。
  2. 推理终端节点。此解决方案自带预训练的模型,预训练模型在Amazon SageMaker中启动后即可用于推理,并可被相应的业务处理模块调用。

架构与工作原理简介

** 任务生成 **

首先,要将待盘活的数字资产存储在Amazon S3上。然后,您只需要向Amazon API Gateway发出REST请求,指定要处理的Amazon S3文件夹和要使用的机器人类型即可。机器人具体运行流程如下:

  • Amazon API Gateway将请求转发到AWS Lambda。
  • AWS Lambda 递归取出Amazon S3中所有待处理的文件路径,并生成待处理文件列表。
  • AWS Lambda 将待处理文件列表存入Amazon Elasticsearch Service中。
  • AWS Lambda 启动Amazon SageMaker的推理终端节点。
  • AWS Lambda 通过AWS Step Functions启动一个或者多个AWS Batch任务。
  • AWS Batch 执行相应资产盘活任务,从 Amazon S3 存储桶中读取源文件,并调用 Sagemaker的终端节点进行推理。推理结果会被写入 Amazon Elasticsearch Service (https://amazonaws-china.com/cn/elasticsearch-service/) 的索引中,识别结果将被写入您指定的S3路径。

系统流程图

服务交互

  • 红线表示Planner和Bot的集成点,蓝线表示Bot需要实现的部分。
  • 深黄色是需要预先provison的service/code。
  • Bot部分的docker image是可以代码创建出来的。