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

本文涉及的产品
函数计算FC,每月15万CU 3个月
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
简介: 本文介绍如何快速使用 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
欢迎大家加入官网客户群,提出您的使用建议或疑问。

_
视觉智能.jpg

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
目录
相关文章
|
2月前
|
人工智能 自然语言处理 Serverless
阿里云函数计算 x NVIDIA 加速企业 AI 应用落地
阿里云函数计算与 NVIDIA TensorRT/TensorRT-LLM 展开合作,通过结合阿里云的无缝计算体验和 NVIDIA 的高性能推理库,开发者能够以更低的成本、更高的效率完成复杂的 AI 任务,加速技术落地和应用创新。
139 13
|
7天前
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
31 1
|
10天前
|
运维 监控 Serverless
Serverless架构在图像处理等计算密集型应用中展现了显著的优势
Serverless架构在图像处理等计算密集型应用中展现了显著的优势
23 1
|
21天前
|
存储 消息中间件 人工智能
ApsaraMQ Serverless 能力再升级,事件驱动架构赋能 AI 应用
本文整理自2024年云栖大会阿里云智能集团高级技术专家金吉祥的演讲《ApsaraMQ Serverless 能力再升级,事件驱动架构赋能 AI 应用》。
|
22天前
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
54 3
|
23天前
|
运维 Serverless 数据处理
Serverless架构在图像处理等计算密集型应用中展现了显著的优势
Serverless架构在图像处理等计算密集型应用中展现出显著优势,包括加速研发交付、降低成本、零运维成本、高效资源利用、自动扩展、实时数据处理及快速原型开发,为高并发、动态需求场景提供高效解决方案。
44 1
|
28天前
|
运维 Serverless 数据处理
Serverless架构在图像处理等计算密集型应用中展现出显著优势
【10月更文挑战第6天】Serverless架构在图像处理等计算密集型应用中展现出显著优势,包括加速研发交付、成本效益、零运维成本、高效资源利用、自动扩展能力、实时数据处理及快速原型开发,为高并发、动态需求场景提供高效、灵活的解决方案。
46 4
|
2月前
|
人工智能 运维 Serverless
Serverless + AI 让应用开发更简单,加速应用智能化
2024 云栖大会开幕,在大会第一天,阿里云正式发布全新产品——云应用开发平台 CAP。CAP 拥有丰富的场景化应用模板,可以极速体验,并且具备更低的成本优势以及灵活组装等特点,成为广大开发者与企业必备的一站式应用开发平台,让应用开发更简单。
172 12
|
2月前
|
Kubernetes Java Maven
揭秘无服务器革命:Quarkus如何让Java应用在云端“零”负担起飞?
本文介绍如何使用Quarkus从零开始开发无服务器应用,通过示例代码和详细步骤引导读者掌握这一技术。无服务器架构让开发者无需管理服务器,具有自动扩展和成本效益等优势。Quarkus作为Kubernetes Native Java框架,优化了Java应用的启动速度和内存使用,适合无服务器环境。文章涵盖环境搭建、项目创建及部署全流程,并介绍了Quarkus的扩展性和监控工具,助力高效开发与应用性能提升。
48 9
|
2月前
|
Cloud Native 关系型数据库 Serverless
基于阿里云函数计算(FC)x 云原生 API 网关构建生产级别 LLM Chat 应用方案最佳实践
本文带大家了解一下如何使用阿里云Serverless计算产品函数计算构建生产级别的LLM Chat应用。该最佳实践会指导大家基于开源WebChat组件LobeChat和阿里云函数计算(FC)构建企业生产级别LLM Chat应用。实现同一个WebChat中既可以支持自定义的Agent,也支持基于Ollama部署的开源模型场景。
340 12

热门文章

最新文章

相关产品

  • 函数计算