对接API Explorer获取云服务API元数据信息
操作场景
API Explorer是华为云为开发者提供的一站式API解决方案的统一平台,集成华为云云服务开放API,支持全量快速检索、可视化调试、帮助文档,帮助开发者快速查找、学习API和定位修复错误。
AstroZero通过对接API Explorer,可获取到大量华为云云服务的API元数据信息,从而为开发者提供访问这些API的连接器,无需再针对每个云服务单独开发连接器。
AstroZero当前支持对接如下云服务的API,本章节以自然语言处理为例,向您介绍如何使用华为云API Explorer导入连接器。
- 自然语言处理
自然语言处理(Natural Language Processing,简称NLP)是一款基于人工智能技术,针对各类企业及开发者提供的用于文本分析及挖掘的云服务,旨在帮助用户高效的处理文本。更多介绍,请参见https://support.huaweicloud.com/nlp/index.html。
- 对话机器人服务
对话机器人服务(Conversational Bot Service) 是一款基于人工智能技术,针对企业应用场景开发的云服务,主要包括智能问答、智能质检、定制对话机器人和任务型对话等功能。更多介绍,请参见https://support.huaweicloud.com/cbs/index.html。
- 人脸识别服务
人脸识别服务(Face Recognition Service,简称FRS),是基于人的脸部特征信息,利用计算机对人脸图像进行处理、分析和理解,进行身份识别的一种智能服务。更多介绍,请参见https://support.huaweicloud.com/face/index.html。
- 内容审核服务
内容审核(Content Moderation),基于图像、文本、视频审核技术,可自动进行涉黄、广告、涉政涉暴、涉政敏感人物等内容检测,帮助客户降低业务违规风险。更多介绍,请参见https://support.huaweicloud.com/moderation/index.html。
- 文字识别服务
文字识别(Optical Character Recognition,简称OCR)以开放API的方式提供给用户,用户使用Python、Java等编程语言调用OCR服务API将图片识别成文字,帮助用户自动采集关键数据,打造智能化业务系统,提升业务效率。更多介绍,请参见https://support.huaweicloud.com/ocr/index.html。
- 图像识别服务
图像识别(Image Recognition),基于深度学习技术,可准确识别图像中的视觉内容,提供多种物体、场景和概念标签,具备目标检测和属性识别等能力,帮助客户准确识别和理解图像内容。更多介绍,请参见https://support.huaweicloud.com/image/index.html。
- 图像搜索服务
图像搜索(ImageSearch)基于深度学习与图像识别技术,结合不同应用业务和行业场景,利用特征向量化与搜索能力,帮助客户从指定图库中搜索相同或相似的图片。更多介绍,请参见https://support.huaweicloud.com/imagesearch/index.html。
- 视频接入服务
视频接入服务(Video Ingestion Service,简称VIS)是华为云提供的实时视频数据接入服务,提供了摄像头视频数据采集、实时数据分发和视频数据转储等能力。借助视频接入服务,您可以与华为云视频分析服务集成,快速构建基于实时视频数据的智能分析应用。更多介绍,请参见https://support.huaweicloud.com/vis/index.html。
- 视频分析服务
视频分析服务(Video Analysis Service,简称VAS)依靠AI技术对视频进行智能分析,提供了视频预处理、视频审核、视频内容分析、视频编辑、视频搜索、视频指纹等功能。包含了对视频中目标的检测、跟踪、属性识别、行为识别、内容审核、摘要、标签等能力,在多种场景下为用户提供快捷高效的视频分析能力。更多介绍,请参见https://support.huaweicloud.com/vias/index.html。
- 语音交互服务
语音交互服务(Speech Interaction Service,简称SIS)是一种人机交互方式,用户通过实时访问和调用API(Application Programming Interface,应用程序编程接口)将语音识别成文字或者将文本转换成逼真的语音等。更多介绍,请参见https://support.huaweicloud.com/sis/index.html。
前提条件
- 已在华为云的自然语言处理 NLP注册账号,并获取所用NLP资源对应区域的项目ID。
图1 获取项目ID
- 已获取AK(Access Key ID)、SK(Secret Access Key),即访问密钥对,具体操作请参见获取AK/SK。
创建自然语言处理连接器
- 参考登录AstroZero新版应用设计器中操作,进入应用设计器。
- 在左侧导航栏中,选择“集成”。
- 单击“连接器”中的“ 连接器实例”,进入连接器实例页面。
- 在左侧导航栏中,选择“华为云开放API > 自然语言处理”。
- 在右侧页面单击“+”,设置自然语言处理连接器对接参数。
表1 新建自然语言处理连接器参数说明 参数
说明
名称
新建连接器的名称。命名要求如下:
- 长度不能超过64个字符,包括前缀命名空间的长度。
说明:
名称前的内容为命名空间,在AstroZero中为了避免不同租户间数据的重名,租户在首次创建应用时需要先定义一个命名空间。一个租户只能创建一个命名空间,创建后不支持修改。
- 必须以英文字母开头,只能由英文字母、数字或单下划线组成,且不能以下划线结尾。
访问密钥ID
配置为前提条件中获取的“Access Key Id”对应的值。
访问密钥
配置为前提条件中获取的“Secret Access Key”对应的值。
区域
NLP服务所在的区域,可以跨区域,即NLP和AstroZero不在同一个区域。
项目ID
当前用户的项目ID,配置为前提条件中获取的值。
描述
请根据实际需求,输入连接器的描述信息。
取值范围:1~255个字符。
- 长度不能超过64个字符,包括前缀命名空间的长度。
- 设置完成后,单击“保存”。
- 在连接器详情页面,单击测试中的某个接口,再单击“测试一下”,可模拟API接口调用。
以“自然语言处理基础服务”中的“RunNer”接口为例。
图2 单击“RunNer”接口
请务必按照“示例模型”中的格式配置接口请求参数,各接口请求参数配置说明请参见各服务的API参考,如《自然语言处理基础服务接口说明》。
返回如下参数信息,表明API接口调用成功。
{ named_entities: [ { len: 3, offset: 7, tag: 't', word: '10点' }, { len: 2, offset: 10, tag: 'ns', word: '北京' }, { len: 2, offset: 13, tag: 'ns', word: '上海' } ] }
在脚本中调用连接器
在脚本中,调用已创建的连接器,可实现与云服务NLP的对接。
- 参考创建空白AstroZero脚本中操作,创建有一个空白脚本。
- 在脚本编辑器中,输入如下代码。
以“自然语言处理基础服务”中的“RunNer”接口为例。
// Here's your code. import * as connector from 'connector'; let client = connector.newClient("NLP","NS__TEST"); let req ={ "postNerRequest": { "text": "我订购一张明早10点北京到上海的票", "lang": "zh" } }; let resp = client.invoke("RunNer", req); console.log(resp)
其中,connector.newClient中“NLP”为云服务名称,“NS__TEST”为连接器的名称。示例中的加粗内容为图3中的请求消息参数。
- 单击脚本编辑器页面上方的,保存脚本。
- 保存成功后,单击编辑器页面上方的,执行脚本。
- 2中代码已设置入参,故此处不需要再次设置,直接单击测试窗口右上角的。
- 在日志页签,由日志可看出刷新了NLP上数据。
0628 16:00:52.971|debug|vm[310]>>> Build #AstroZero Core 1.3.6 on amd64 Built on 2021-06-26 20:14:28 Commit #b5759f4 0628 16:00:52.971|debug|vm[310]>>> node: 12 0628 16:00:52.971|debug|vm[310]>>> script: NS__NLP001 1.0.1 0628 16:00:52.971|debug|vm[310]>>> locale: zh_CN 0628 16:00:52.971|debug|vm[310]>>> timezone: (GMT+08:00) China Standard Time (Asia/Shanghai) 0628 16:00:57.441|debug|vm[310]>>> { named_entities: [ { len: 3, offset: 7, tag: 't', word: '10点' }, { len: 2, offset: 10, tag: 'ns', word: '北京' }, { len: 2, offset: 13, tag: 'ns', word: '上海' } ] } (NS__NLP001.ts:12)
- 单击脚本编辑器页面上方的,启用脚本。
在服务编排中调用连接器
在服务编排中,调用已创建的连接器,可实现与NLP的对接。
- 参考创建空白AstroZero服务编排中操作,创建一个服务编排。
- 为服务编排设置入参和出参变量。
- 在服务编排编辑器页面右侧,选择。
- 在全局上下文页面中,单击“变量”后的。
- 新建入参变量inputrequest、出参变量output,变量类型为“任意”,如图4所示。
- 单击,设置服务编排入参和出参。
- 在服务编排编辑器页面左侧,选择“连接器 > 华为云开放API > EI企业智能”,拖拽“自然语言处理”至画布中。
图5 拖拽“自然语言处理”至画布中
- 单击,设置基本信息。
图6 设置基本信息
- 标签:该图元的展示名。
- 名称:该图元的唯一标识,不能和其他图元相同。
- 描述:该图元的描述信息。
- 连接器:该Flow使用的连接器的名称。选择创建自然语言处理连接器中创建的连接器“命名空间名__TEST”。
- 单击,设置调用“NLP”参数。
图7 配置“NLP”参数
- 动作:以“自然语言处理基础服务”中的“RunNer”接口为例,故此处动作设置为“RunNer”。
- 输入参数:设置输入参数。“目标”为“postNerRequest”,将变量中inputrequest拖拽到“源”中。
- 输出参数:设置输出参数。“源”从下拉框选择“result”,将变量中的output拖拽到“目标”中。
- 连接开始和NLP图元。
图8 连接图元
- 单击页面上方的,保存服务编排。
- 保存成功后,单击,运行服务编排。
- 设置输入参数,单击“运行”。
{ "inputrequest": { "text": "我订购一张明早10点北京到上海的票", "lang": "zh" } }
显示如下信息,表明连接成功。
- 单击服务编排页面上方的,启用服务编排。