使用 Serverless 工作流快速构建 AI Serving 应用

本文涉及的产品
简介: 本文介绍如何快速使用 Serverless 工作流 + 阿里云|达摩院 视觉智能平台构建人工智能服务应用

人工智能在最近两年一直是很火的话题,我们也越来越多的在实际生活场景中能感受到 AI 所带来的便利,比如:自动售货机购物已经可以使用支付宝人脸支付;进行一些与财务相关的 APP 注册的时候 APP 已经可以自动进行活体人脸检测;小区的物业、门禁系统支持身份证/驾驶证/车牌号的自动身份识别等等。这些应用所用到的核心 AI 基础能力是一样的,如人脸人体检测、卡证识别等。目前阿里云视觉智能开放平台以 API 的方式向开发者提供了 100 多项 AI 能力,作为产品以及应用的开发者,我们可以越来越简单的使用这些 AI 能力,更加聚焦于业务。

在实际的产品或应用中,这些图片识别的 API 往往是作为一个处理流程的某个步骤。比如:

在用户 APP 注册的过程中,上传身份证照片->身份证照片识别,提取关键信息->记录关键信息,进行业务处理->返回注册结果 就是一个典型的图片处理流程。这类场景使用 Serverless 工作流来进行处理是十分合适的。

为适应用户的需求,Serverless 工作流对阿里云视觉智能开放平台提供的 AI 能力进行了集成(已支持的 API 能力详见 列表),丰富了用户的体验,降低了用户在工作流中使用 AI 能力的成本。在集成视觉智能平台之前,用户需要手动编写 API 调用的处理逻辑,并处理 API 调用的各种异常,现在可以直接将视觉智能 API 调用作为流程中的一个步骤进行处理,并将结果数据传递到后续的流程中。这种使用方式将极大简化用户的处理逻辑,降低开发成本。

下面我们将以上述 APP 注册场景作为示例,详细解释如何在 Serverless 工作流中编排视觉智能 API。

在流程中集成身份证识别能力

在上述 APP 注册场景中,身份识别(如用户身份认证、卡证信息录入、身份信息采集等)可以抽象为一个独立的流程,为不同的 APP 复用。在这个流程中,我们使用视觉智能开放平台所提供的身份证识别 RecognizeIdentityCard 能力进行图片识别。整个流程定义如下:

version: v1beta1
type: flow
steps:
  - type: task
    name: APIRecognizeIdentityCard
    action: ocr:RecognizeIdentityCard
    inputMappings:
      - target: image
        source: $input.imageUrl
      - target: cardSide
        source: face
    outputMappings:
      - target: name
        source: $local.Data.FrontResult.Name
      - target: gender
        source: $local.Data.FrontResult.Gender
      - target: idNumber
        source: $local.Data.FrontResult.IDNumber
    serviceParams:
      ImageURL: $.image
      Side: $.cardSide
    retry: # 针对系统内部错误进行重试
      - errors:
          - ocr.ServiceUnavailable
          - ocr.InternalError
          - ocr.Timeout
          - ocr.InvalidResult
          - ocr.InvalidImage.Download
        intervalSeconds: 10
        maxAttempts: 2
        multiplier: 2

完成该流程的定义后,即可在您的业务流程中使用 Serverless 工作流所提供的 SDK,传入不同的 imageUrl 对流程进行调用。

流程详解

步骤定义

为使用 API 编排功能,我们需要定义 任务步骤。根据 使用示例,在 action 下指定 serviceNameapiName 分别为 action: ocr:RecognizeIdentityCard;

输入及输出

输入输出参数可参考 RecognizeIdentityCard文档 。在 ServiceParams 中我们将 API 所需的 imageUrl 定义为输入,这样可以做到在执行时指定不同的图片作为流程的输入从而达到识别不同身份证的目的。

输出 outputMappings 与普通的任务步骤一致,对于 API 的返回,我们只关心姓名、性别及身份证号,因此在这里我们只将这些结果作为输出。

错误处理

在错误处理方面,本流程主要需要考虑对服务内部错误进行重试。API 的所有错误码见 文档,需要额外注意的是在工作流中使用这些错误码需要添加服务名称作为前缀,即 ocr.xxx

注:该应用已上线应用中心,您可以一键 尝鲜

更多信息

阿里云视觉智能开放平台目前已开放 100 + AI API 。Serverless 工作流已集成其中的大部分能力,具体详见 阿里云视觉智能开放平台 API
欢迎大家加入官网客户群,提出您的使用建议或疑问。

_

相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
目录
相关文章
|
2月前
|
人工智能 关系型数据库 Serverless
Serverless 应用引擎常见问题之AI应用限制人为限制内存如何解决
Serverless 应用引擎(Serverless Application Engine, SAE)是一种完全托管的应用平台,它允许开发者无需管理服务器即可构建和部署应用。以下是Serverless 应用引擎使用过程中的一些常见问题及其答案的汇总:
31 3
|
2月前
|
人工智能 弹性计算 Serverless
Serverless+AI驱动的一站式数据平台有哪些可能性
【2月更文挑战第4天】Serverless+AI驱动的一站式数据平台有哪些可能性
|
3月前
|
人工智能 数据管理 Serverless
阿里云数据库走向Serverless与AI驱动的一站式数据平台具有重大意义和潜力
阿里云数据库走向Serverless与AI驱动的一站式数据平台具有重大意义和潜力
409 2
|
3月前
|
人工智能 运维 Cloud Native
、你如何看待阿里云数据库走向Serverless与AI驱动的一站式数据平台?
、你如何看待阿里云数据库走向Serverless与AI驱动的一站式数据平台?
150 2
|
3月前
|
人工智能 NoSQL Serverless
基于函数计算3.0 Stable Diffusion Serverless API 的AI艺术字头像生成应用搭建与实践的报告
本文主要分享了自己基于函数计算3.0 Stable Diffusion Serverless API 的AI艺术字头像生成应用搭建与实践的报告
477 6
基于函数计算3.0 Stable Diffusion Serverless API 的AI艺术字头像生成应用搭建与实践的报告
|
3月前
|
人工智能 数据管理 大数据
阿里云数据库走向Serverless与AI驱动的一站式数据平台是一个很有前景和意义的发展方向
阿里云数据库走向Serverless与AI驱动的一站式数据平台是一个很有前景和意义的发展方向
38 2
|
1月前
|
Cloud Native 关系型数据库 分布式数据库
数据之势丨云原生数据库,走向Serverless与AI驱动的一站式数据平台
在大模型席卷之下,历史的齿轮仍在转动,很多人开始思考,大模型能为数据库带来哪些改变。阿里云数据库产品事业部负责人李飞飞表示,数据库和智能化的结合是未来非常重要的发展方向,数据库的使用门槛将大幅降低。
|
2月前
|
人工智能 监控 Serverless
如何基于ACK Serverless快速部署AI推理服务
通过上述步骤,可以在ACK Serverless上快速部署AI推理服务,实现高可用、弹性扩展的服务架构。
27 1
|
3月前
|
人工智能 Serverless API
AI 绘画平台难开发,难变现?试试 Stable Diffusion API Serverless 版解决方案
AI 绘画平台难开发,难变现?试试 Stable Diffusion API Serverless 版解决方案
|
3月前
|
人工智能 运维 数据管理
阿里云数据库走向Serverless与AI驱动的一站式数据平台
阿里云数据库走向Serverless与AI驱动的一站式数据平台
272 2

热门文章

最新文章

相关产品

  • 函数计算