一种向用户交互应用提供人工智能服务的方法和系统,包括从在用户设备上执行的用户交互应用接收第一未实现的服务请求,并且从该未实现的服务请求生成未实现的人工智能服务请求和未实现的非人工智能服务请求。未实现的人工智能服务请求被发送到人工智能服务模块以实现未实现的人工智能服务请求,该模块生成已实现的人工智能服务请求。未实现的非人工智能服务请求被发送到后端服务器以实现未实现的非人工智能服务请求,后端服务器生成已实现的非人工智能服务请求。人工智能代理用于将已实现的人工智能服务请求和已实现的非人工智能服务请求组合成第一已实现的服务请求,然后人工智能代理向用户交互应用发送该第一已实现的服务请求。的服务请求。的服务请求。
【技术实现步骤摘要】
【国外来华专利技术】用于AI服务的通用客户端API
[0001]本专利技术涉及虚拟助理,并且尤其涉及用于跨多个平台的人工智能层的方法和装置。
技术介绍
[0002]当前用于跨平台AI(人工智能)的系统通常基于三个方法中的任一个。第一个方法是开发跨平台“运行时”,其中用户可以在他们选择的平台(PC、云)上开发AI模型,然后将其部署到运行时,该运行时在一系列平台上具有本机实现。部署指的是使软件(诸如人工智能模型)或操作系统可供使用的过程。然后,运行时只本地地执行模型。这种方法的缺点很多。首先,应用或模型开发者不可能扩展运行时环境。其次,同一操作系统上的应用开发者不能共享相同的运行时资源,因为部署到运行时的每个模型都必须复制其所有数据和参数用于执行。第三,模型编译器对硬件细节没有概念,因此在特定平台上优化运行时变得不可能。此外,没有能力划分使得模型中的一些在云环境中运行的执行,相反,一切都必须以非常静态的方式在运行时的范围内运行。
[0003]第二个方法是将SDK(软件开发工具包)包括在应用开发者的二进制文件中,使得他们能够利用SDK中安装的AI能力。SDK在安装它的设备上本地地提供所有服务。这种方法的缺点是SDK非常静态,并且模型开发者不能扩展平台。同样,因为SDK完全在设备上运行,设备
‑
云混合程序是不可能的。通过这种方式,即使解决了第一种方法的一些缺点,也引入了许多新的缺点。
[0004]最后一个方法是通过基于云的API。在这些系统中,应用开发者将小型SDK与他们的应用捆绑在一起,其中所有智能服务请求都被代理到云执行环境。在这个系统中,只有预处理和后处理在设备上运行,主要的AI计算在云服务器上进行。这种方法没有利用设备的硬件能力,并且引入了大量的网络开销,从而降低了运行速度。同样,它涉及设备管理范围之外的云服务的编配。
技术实现思路
[0005]为了克服现有技术的缺点并提供额外的优势,本专利技术涉及支持跨多个平台开发人工智能(“AI”)服务,其中能力可以被划分为在同一网络中的,部署设备和本地设备两者或者云和本地服务的混合组合上进行计算。通过这样做,应用开发者可以执行高级AI原语,而不必考虑设备的执行能力或云可用性。高级原语的示例是将图像传递给虚拟助理并对图像进行分类。
[0006]该创新通过在操作系统之上署层而不是向单个开发者提供SDK,改进了上述三种现有技术方法。该层允许AI程序由应用开发者通过该层所做的透明硬件和网络优化来执行。附加地,AI层可以具有由单个开发者部署的新功能,使得在该层之上运行的OS上的其他用户或应用也可以利用该新功能。AI层能够在移动操作系统、消费者桌面操作系统、云服务器操作系统或嵌入式操作系统之上运行。术语“层”指的是动态库。系统和处理可以是分布
式的,并且能力是本地的、在另一设备上、在云中、或者在任何组合中。术语系统被定义为表示软件、硬件或两者,它们支持并提供本文所描述的功能。该层确定请求是可以在本地地运行,还是应该从运行在另一设备或云中的库中请求。层方法为调度计算提供了以下能力:
[0007]·
整个操作上只需安装单层。在安装时,应用和系统服务可以通过同一层路由所有请求
[0008]·
该层可以监控操作系统资源,以确定是否可以本地地执行所请求的智能服务
[0009]·
在云计算环境中,该层可以监控在与操作系统相同的网络上的设备上运行的其他连接层可用的资源。在当前层上不可能进行的计算可以传递到那些层或其他位置。
[0010]·
该层可以监控部署在云环境中的层中的可用资源。该层能够确定网络延迟和设备上的计算争用之间的权衡,以便向云各层传递请求。
[0011]该创新还提供了一些机制,开发者可以利用这些机制部署新的AI服务,或者在预建的服务之上进行更新和构建。预建的服务是具有特定的用例的定义良好的AI模型。预建的服务可以是针对特定领域(诸如电子商务和销售)的自然语言处理。这可以通过以下能力来实现:
[0012]·
开发者可以将他们的数据集上传到云层进行训练。数据集可以由开发者的产品目录、语言数据集或用于训练模型的信息的任何集合组成。下一次服务被触发时,云层可以提供更新的执行。
[0013]·
设备上的用户可以对其本地层进行更改。当该层下一次向云层传递计算时,云层可以接收更新的模型。
[0014]·
本地层是指在即时设备上运行的软件库。
[0015]·
云层是指在跨互联网的服务器上托管的aiOS功能。本地层确定何时调用云层。
[0016]本文公开了一种方法,该方法从在用户设备上执行的用户交互应用接收第一未实现的服务请求,并且从该未实现的服务请求生成未实现的人工智能服务请求和未实现的非人工智能服务请求。非人工智能服务请求是可以不使用AI来响应的请求,诸如例如执行数据库查找或查询。未实现的人工智能服务请求被发送到人工智能服务模块以实现未实现的人工智能服务请求,人工智能服务模块生成已实现的人工智能服务请求。未实现的非人工智能服务请求被发送到后端服务器以实现未实现的非人工智能服务请求,后端服务器生成已实现的非人工智能服务请求。人工智能代理用于将已实现的人工智能服务请求和已实现的非人工智能服务请求组合成第一已实现的服务请求,然后人工智能代理向用户交互应用发送该第一已实现的服务请求。用户交互应用然后可以在其上正在执行用户交互应用的用户设备上将第一已实现的服务请求作为音频或视觉响应呈现给用户。
[0017]在一个实施例中,人工智能服务模块可以是后端服务器的一部分。可以预期未实现的人工智能服务请求选自但不限于以下示例性服务请求类型:图像建模、文本建模、预测、计划、提出建议、执行搜索、将语音处理成服务请求、将音频处理成服务请求、将视频处理成服务请求、将图像处理成服务请求、面部识别、运动检测、运动跟踪、生成音频、生成文本、生成图像或生成视频。
[0018]所公开的方法还可以包括以下附加步骤:从用户交互应用接收第二未实现的服务请求,生成第三未实现的服务请求,以及使用人工智能模块、后端服务器或两者来处理第二未实现的服务请求和第三未实现的服务请求,以生成第二已实现的服务请求。可以预期第
二已实现的服务请求能够实现第二服务请求和第三服务请求。然后,第二已实现的服务请求被发送到用户交互应用,其中可以在正在其上执行用户交互应用的用户设备上将第二已实现的服务请求作为音频或视觉响应呈现给用户。在一个实施例中,未实现的人工智能服务请求向人工智能服务模块的发送由用户交互应用嵌入的智能SDK来执行。
[0019]还公开了一种向用户交互应用提供人工智能服务的系统。该系统包括用户设备。用户设备包括其上存储非暂时性机器可执行代码的存储器和被配置为执行机器可执行代码的处理器。该系统还包括用户接口,该用户接口被配置为从用户接收第一输入并向用户提供输出。机器可执行代码包括具有智能SDK的用户交互应用。智能SDK被配置为从第一输入生成第一未实现的服务请求。智能SDK被配置为从本文档来自技高网...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】1.一种用于提供人工智能服务的方法,包括:从在用户设备上执行的用户交互应用接收第一未实现的服务请求;从所述未实现的服务请求生成未实现的人工智能服务请求和未实现的非人工智能服务请求;向人工智能服务模块发送所述未实现的人工智能服务请求以实现所述未实现的人工智能服务请求,所述人工智能服务模块生成已实现的人工智能服务请求;向后端服务器发送所述未实现的非人工智能服务请求以实现所述未实现的非人工智能服务请求,所述后端服务器生成已实现的非人工智能服务请求;用人工智能代理将所述已实现的人工智能服务请求和所述已实现的非人工智能服务请求组合成第一已实现的服务请求;从所述人工智能代理向所述用户交互应用发送所述第一已实现的服务请求;以及在正在其上执行所述用户交互应用的所述用户设备上将所述第一已实现的服务请求作为音频或视觉响应呈现给用户。2.根据权利要求1所述的方法,其中,所述后端服务器包括所述人工智能服务模块。3.根据权利要求1的方法,其中,所述未实现的人工智能服务请求选自以下服务请求类型:图像建模、文本建模、预测、计划、提出建议、执行搜索、将语音处理成服务请求、将音频处理成服务请求、将视频处理成服务请求、将图像处理成服务请求、面部识别、运动检测、运动跟踪、生成音频、生成文本、生成图像或生成视频。4.根据权利要求1所述的方法,还包括:从所述用户交互应用接收第二未实现的服务请求,生成第三未实现的服务请求,使用所述人工智能模块、所述后端服务器或两者来处理所述第二未实现的服务请求和所述第三未实现的服务请求,以生成第二已实现的服务请求,所述第二已实现的服务请求能够实现第二服务请求和第三服务请求;向所述用户交互应用发送所述第二已实现的服务请求;以及在正在其上执行所述用户交互应用的所述用户设备上将所述第二已实现的服务请求作为音频或视觉响应呈现给所述用户。5.根据权利要求1所述的方法,其中,向人工智能服务模块发送所述未实现的人工智能服务请求是由所述用户交互应用嵌入的智能SDK执行的。6.一种用于向用户交互应用提供人工智能服务的系统,包括:用户设备,所述用户设备包括存储非暂时性机器可执行代码的存储器、被配置为执行所述机器可执行代码的处理器、以及被配置为从用户接收第一输入并向所述用户提供输出的用户接口,所述机器可执行代码包括具有智能SDK的用户交互应用,所述用户交互应用被配置为:从所述第一输入生成第一未实现的服务请求;从所述第一未实现的服务请求生成未实现的人工智能服务请求和未实现的非人工智能服务请求;向人工智能服务模块发送所述未实现的人工智能服务请求以实现所述未实现的人工智能服务请求,所述人工智能服务模块生成已实现的人工智能服务请求;
向后端服务器发送所述未实现的非人工智能服务请求以实现所述未实现的非人工智能服务请求,所述后端服务器生成已实现的非人工智能服务请求;将所述已实现的人工智能服务请求和所述已实现的非人工智能服务请求组合成响应于所述第一未实现的服务请求,第一已实现的服务请求;以及向所述用户交互应用发送所述第一已实现的服务请求,以生成第一响应,所述第一响应经由所述用户设备的用户接口输出给所述用户。7.根据权利要求6所述的系统,其中,所述智能SDK与所述用户交互应用分离。8.根据权利要求6所述的系统,其中,所述智能SDK还包括人工智能代理,所述人工智能代理被配置为促进所述未实现的人工智能服务请求、所述已实现的人工智能服务请求、所述未实现的非人工智能服务请求和所述已实现的非人工智能服务请求到一个或多个后端服务器和一个或多个人工智能服务模块的发送。9.根据权利要求6所述的系统,其中,所述...
【专利技术属性】
技术研发人员:J卡普兰,
申请(专利权)人:梅特凯股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。