文档首页/ Astro轻应用 AstroZero/ 用户指南(低代码)/ 使用AstroZero进行应用集成开发/ 使用连接器对接云服务/ 对接ModelArts Pro实现在应用中使用文字识别和自然语言处理能力
更新时间:2024-08-29 GMT+08:00
分享

对接ModelArts Pro实现在应用中使用文字识别和自然语言处理能力

ModelArts Pro是为企业级AI应用打造的专业开发套件。基于华为云的先进算法和快速训练能力,提供预置工作流和模型,提升企业AI应用的开发效率,降低开发难度。同时,支持客户自主进行工作流编排,快速实现应用的开发、共享和发布,共建开放生态,实现普惠行业AI落地。ModelArts Pro包括自然语言处理套件、文字识别套件、视觉套件等,能够快速响应不同行业、不同场景的AI落地需求。

在AstroZero中,通过配置ModelArts Pro连接器,可实现AstroZero与华为ModelArts Pro对接。对接后可使用ModelArts Pro提供的文字识别套件、自然语言处理套件提供的能力。例如,对行程码进行识别。

前提条件

  • AstroZero对接ModelArts Pro,使用ModelArts Pro提供的文字识别套件、自然语言处理套件提供的能力。因此需要先申请文字识别套件和自然语言处理套件,具体操作请参见申请行业套件
  • 已参考获取AK/SK中操作,获取AK(Access Key ID)、SK(Secret Access Key),即访问密钥对。
  • 本节场景是对行程码图片进行识别,需要在ModelArts Pro上创建并部署上线用于对行程码进行识别的模型。由于各省份行程码可能不一致,所以部署的为多模板,具体操作请参见使用多模板工作流开发应用

创建ModelArts Pro连接器

  1. 参考登录AstroZero新版应用设计器中操作,进入应用设计器。
  2. 在左侧导航栏中,选择“集成”
  3. 单击“连接器”中的“ 连接器实例”,进入连接器实例页面。
  4. 在左侧导航栏中,选择“AI > ModelArtsPro”。
  5. 在右侧页面单击“+”,设置ModelArts Pro对接信息。

    图1 创建ModelArtsPro
    表1 创建ModelArtsPro连接器参数说明

    参数

    说明

    名称

    新建连接器的名称。命名要求如下:

    • 长度不能超过64个字符,包括前缀命名空间的长度。
      说明:

      名称前的内容为命名空间,在AstroZero中为了避免不同租户间数据的重名,租户在首次创建应用时需要先定义一个命名空间。一个租户只能创建一个命名空间,创建后不支持修改。

    • 必须以英文字母开头,只能由英文字母、数字或单下划线组成,且不能以下划线结尾。

    访问密钥ID

    访问密钥ID,与私有访问密钥关联的唯一标识符,访问密钥ID和私有访问密钥一起使用,对请求进行加密签名。配置为前提条件中“AK”的值。

    密钥

    私有访问密钥,与访问密钥ID结合使用的密钥,对请求进行加密签名,可标识发送方,并防止请求被修改。配置为前提条件中“SK”的值。

    区域

    对接ModelArts Pro的服务区域。

    项目ID

    ModelArts Pro服务区域对应的项目ID。

    描述

    根据实际需求,在输入框中输入连接器的描述信息。

    打包当前配置

    选中该选项后,应用打包时会将当前配置的连接器信息(包括访问密钥和密钥)一并带入应用包中。例如,如果应用包发布到运行环境,当前配置默认会被同步到运行环境中。如果不勾选,则内容不会打包发布到运行环境,此时需要您参考管理应用中的连接器中操作,创建对应的连接器。

    默认为选中,对信息敏感的场景,建议不勾选。

  6. 设置完成后,单击“保存”。
  7. (可选)测试是否可识别行程码。

    1. 在连接器详情页面,单击“测试”。
    2. 配置测试参数,单击“测试”。
      页面弹出“成功”提示框,表明成功识别行程码。
      图2 配置测试参数
      • 选择类型:识别的主体可以是图片或文本信息。本示例选择“文字识别套件 / 图片文件”,并上传待识别的行程码图片。
        • 文字识别套件 / 图片URL:识别的主体是图片URL。
        • 文字识别套件 / 图片文件:识别的主体为图片文件。
        • 自然语言处理套件 / 文本信息:识别的主体为文本。
      • 模型Apig-Code:标识ModelArts Pro管理控制台中已部署服务的API接口,用于AstroZero调用ModelArts Pro中已上线的服务。“选择类型”设置为“自然语言处理套件 / 文本信息”时,才显示该参数。该参数值获取方法如下:
        1. 已部署模型,具体可参考自然语言处理套件(使用文本分类工作流开发应用)
        2. 登录ModelArts Pro管理控制台,单击“自然语言处理”套件卡片的“进入套件”,进入自然语言处理套件控制台。
        3. 在左侧导航栏,选择“应用开发>工作台”,进入我的应用页签。
        4. 在“我的应用”页签下,选择已创建的应用,单击操作列的“查看”。
        5. 单击页面上方的“应用监控”,查看“API URL”,如图3所示,该参数值为“API URL”中的一串字符串。
          图3 查看“API URL”
      • 模型Id:ModelArts Pro管理控制台中,已上线的模型ID。
        图4 获取模型Id
      • 是否多模板:模型模板是否为多模板。“选择类型”设置为“文字识别套件”时,才会显示该参数。本示例场景,识别行程码的模板为多模板,请选择“是”。

在脚本中调用连接器

在脚本中,通过调用连接器,实现调用ModelArts Pro的接口。

  1. 参考创建空白AstroZero脚本中操作,创建一个空白脚本。
  2. 在脚本编辑器中,输入如下代码。

    import * as modelartspro from 'modelartspro';
    
    export class Input {
        @action.param({ type: "String", required: false, description: "the image url" })
        url: string;
    
        @action.param({ type: "String", required: false, description: "the base64 coded image" })
        image: string;
    
        @action.param({ type: "Boolean", required: false, description: "" })
        isMultiTemplate: boolean
    
        @action.param({ type: "String", required: false, description: "" })
        modelId: string
    }
    
    export class Output {
        @action.param({ type: "string" })
        result: string;
    }
    
    
    export class testModelartsPro {
    
        @action.method({ input: "Input", output: "Output", description: "modelartspro test case" })
        run(input: Input): void {
            // 填写实例化的modelartspro连接器名称
            let client = modelartspro.newClient("custom_defined_ocr")
            let result = null
            result = client.customOCRWithURL(input.url, input.isMultiTemplate, input.modelId);
            console.log(result)
        }
    }

    代码modelartspro.newClient("custom_defined_ocr")中“custom_defined_ocr”为连接器的名称,如果连接器名称带有命名空间前缀,代码中也要携带。

  3. 单击脚本编辑器页面上方的,保存脚本。
  4. 保存成功后,单击,运行脚本。
  5. 在页面底部“输入参数”中,设置输入请求参数,单击测试窗口右上角的

    {
        "url": "https://XXXXXXXX/testModelArtsPro.jpg",
        "isMultiTemplate": true,
        "modelId": "0b7f0f28-27e2-11ec-8f30-0255ac100057"
    }

    其中,“url”为图片的URL。

  6. 在日志页签,可查看到识别结果,表示脚本执行成功。

    图5 查看日志

  7. 单击脚本编辑器页面上方的,启用脚本。

在服务编排中调用连接器

在服务编排中,调用连接器实现与ModelArts Pro的对接。

  1. 参考创建空白AstroZero服务编排中操作,创建一个空白服务编排。

    图6 添加服务编排

  2. 创建该服务编排的入参和出参变量。

    由于该服务编排调用的是ModelArts Pro的服务接口,需要定义该服务编排的入参和出参,与接口的入参和出参类型保持一致。
    表2 服务编排变量

    变量类型

    参数名

    参数类型

    Input/Output Type

    说明

    普通变量

    isMultiTemplate

    复选框

    Input Only

    是否为多模板。

    普通变量

    image

    文本

    Input Only

    行程码图片URL。

    普通变量

    modelID

    文本

    Input Only

    模型Id。

    普通变量

    result

    任意

    Output Only

    输出的查询结果。

    普通变量

    error

    文本

    Output Only

    报错时的错误信息。

    1. 在服务编排设计页面右侧,单击
    2. 在全局上下文页面,单击“变量”后的加号。
      图7 创建变量
    3. 修改变量名为“isMultiTemplate”,并修改类型为复选框。
      图8 设置变量
      图9 修改类型为复选框
    4. 新增表2中其他变量,单击开始图元,在右侧设置整个服务编排的入参、出参。
      图10 设置入参、出参

  3. 在服务编排设计页面左侧,选择“连接器 > AI > ModelArtsPro”,拖拽“ModelArtsPro”图元到画布中。

    ModelArtsPro是系统预置的与ModelArts Pro对接的接口。

    图11 拖拽ModelArtsPro图元到画布中

  4. 选中ModelArtsPro图元,单击
  5. 在“基本信息 > 连接器”中,选择已创建的连接器“custom_defined_ocr”。
  6. 单击,设置动作参数。

    图12 设置动作参数
    • 动作:调用的ModelArts的具体接口。本示例选择“custom_ocr_with_url”。
      • custom_ocr_with_url:根据图片URL识别图片。
      • custom_ocr_with_image:根据图片文件识别图片。
      • custom_nlp_with_text:根据文本信息识别文本。
    • 输入参数:调用接口的输入参数。在“目标”中选择参数,在“源”中拖入全局上下文中的对应变量。
    • 输出参数:调用接口的输出参数。
      • 在“源”中选择“result”,“目标”中拖入全局上下文中的“result”,用于接收调用结果。
      • 在“源”中选择“error”,“目标”中拖入全局上下文中的“error”,用于接收错误信息。

  7. 连接开始和ModelArtsPro图元。

    图13 连接图元

  8. 单击页面上方的,保存服务编排。
  9. 保存成功后,单击,运行服务编排。
  10. 设置输入参数,单击“运行”

    {
        "image": "https://XXXXXXX/testModelArtsPro.jpg",
        "isMultiTemplate": "true",
        "modelID": "0b7f0f28-27e2-11ec-8f30-0255ac100057"
    }

    其中,“image”为图片的URL。若输出识别结果,表示成功调用连接器。

    图14 输出结果

  1. 单击编辑器上方的,启用服务编排。

相关文档