将人工智能添加到现有应用程序的5种方法

文章探讨了将人工智能集成到应用程序的五种方法:自己编写代码、使用AI库和工具包、利用抽象库如.NETML和openVino、采用托管AI服务以及本地人工智能服务。每种方法都有其独特的优点和缺点,如自编代码可能导致重复劳动,使用库可能带来版本和依赖问题,托管服务可能涉及高昂成本和数据安全问题。选择合适的方法取决于需求、预算和数据管理考虑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

自己写

优点

缺点

直接在代码中使用AI库或工具包

优点

缺点

使用抽象库(.NET ML,openVino)

优点

缺点

托管AI服务

优点

缺点

本地人工智能服务

优点

缺点

后续步骤


上一篇

如果您尚未被要求向应用程序添加人工智能(AI)功能,那么提出该主题可能只是时间问题。

添加AI功能并不难。但是,这就像说向应用程序添加数据库支持并不难。事实并非如此,但选择正确的数据库、设置架构和存储过程可能是一项艰巨的工作。然后,您需要确定数据库是否应该在同一台服务器上,不同的服务器上。您还需要决定将使用哪个数据库:关系数据库、基于文档数据库、键/值数据库...它可能会变得复杂。

人工智能就是这样。添加库,使用本地服务,使用托管服务,我使用哪个服务?我该如何设置它。然后是棘手的问题:要花多少钱?如何处理我的数据?它有多安全?

因此,让我们快速浏览一下您的选择,以便您至少知道要问的问题。

自己写

我首先要说的是,这就是我们十年前开始涉足人工智能的方式,我真的不推荐它。有这么多才华横溢的研究人员花费了无数工时,基于快速发展的人工智能研究语料库,构建了令人难以置信的强大和高效的人工智能库和模型,以至于使用已经可用的众多人工智能解决方案之一更容易、更快、更安全。

话虽如此,深入研究简单的神经网络以建立根据特定场景对数据进行分类的能力可能会很充实,提供出色的结果,并且开销很小。CodeProjectSPAM过滤器就是这样一个野兽,在我们看来,任何更大的东西都是矫枉过正的。在这种情况下,适合这项工作的工具。

优点

  • 编写代码很有趣。
  • 你得到的正是你需要的,仅此而已
  • 您最终可能会得到一个小得多的代码库,因为您没有导入库及其所有依赖项

缺点

  • 你正在重新发明轮子
  • 你(可能)不会做得那么好,那么准确,或者有一个像已经存在的那样快的解决方案。
  • 这可能会分散您核心业务案例的注意力。与简单地使用现有解决方案相比,它最终可能会花费您更多的时间、错失机会和开发人员时间。

直接在代码中使用AI库或工具包

如果您希望将AI处理直接包含在代码库中,那么使用TensorflowPyTorch等库不会出错。有许多成熟、受支持、易于使用的库可用于多种语言和平台。他们为您处理艰苦的工作,再加上许多预先训练的模型,您需要做的就是包含工具包、加载模型、输入数据、运行推理并输出结果。

以下是在python中使用最新的YOLO5模型的方法:

import torch                                             # import the Torch library

model = torch.hub.load(‘ultralytics/yolov5’, ‘yolov5s’)  # Load the YOLO model
img = '~/username/images/street.jpg'                     # Specify the image
results = model(img)                                     # Perform the inference
results.print()                                          # Output the results

这是多么容易啊!

当您需要满足不同的模型版本以及模型训练的库版本时,问题开始出现。以及模型所需的库所需的编译器或解释器版本。然后,如果所有这些都与应用程序其他部分的库、解释器版本甚至硬件要求发生冲突,会发生什么?

这可能是一个真正的挑战,特别是对于Python,您可能需要设置多个虚拟环境,每个环境都有自己的库包副本,并且每个都使用不同版本的Python。保持这些同步和未损坏可能需要很大的耐心。

你可能有一个很好的解决方案,比如说,Python 3.7,但是当它在另一台安装了Python 3.11的机器上运行时,它可能会失败。

AI直接添加到您的应用程序中可能意味着您需要非常小心,以确保始终将所有需要的部件部署为一个单元。Docker可以在这里拯救你,但对许多人来说,这种开销可能是不可接受的。

最后,在向应用添加AI工具包时,您需要记住,您还将添加模型本身。AI模型可以很大,也可以是技嘉大。

优点

  • 您建立在您之前杰出的开发人员和研究人员的工作之上
  • 许多库都是开源的,因此您可以查看和审核代码
  • 人工智能库和工具正在以惊人的速度开发和完善。不断发布新功能和改进的性能
  • 这些库通常非常易于使用
  • 有一些工具允许在库之间转换模型。
  • 几乎任何语言和平台都有模型

缺点

  • 使用库肯定有一个学习曲线
  • 您可能被限制为对给定库使用特定的模型格式
  • 有这么多库。选择的悖论。
  • 包括一个库很少意味着只有一个库:它通常会带来它的所有朋友、亲戚和远房表亲。事情可能会变得臃肿
  • 包含库意味着包括模型。事情可以变得非常非常大,很快。
  • 您必须确保在版本控制方面保持编译器/解释器、库和模型的同步。例如,永远不要假设python的默认安装可以与您的代码一起使用。

使用抽象库(.NET MLopenVino

许多库要求您使用特定形式的预训练模型,或者它们需要针对不同硬件的不同库。此问题已通过ML.NETopenVino等库来解决,这些库用于聚合和抽象库和硬件,以便为您的AI操作提供单个API

优点

  • 使用专用库的所有优点
  • 无需为特定硬件提供特定版本。库将动态调整
  • 您可以轻松使用更广泛的模型
  • 您在某种程度上可以适应新的硬件和模型格式

缺点

  • 库和功能的聚合将导致更大的占用空间。
  • 抽象可能会导致“最小公分母”问题,即库仅公开通用功能,这意味着您将无法访问专用库中可用的某些功能或微调
  • 您选择的语言或平台可能会受到限制。

托管AI服务

使用托管AI服务意味着您可以消除与库和硬件以及兼容工具包相关的所有问题,并且拖拽大约GB的模型。您调用托管的AI服务,结果会在几毫秒后通过低延迟、高带宽的互联网连接返回。当然,假设您有其中之一。

托管提供商提供的服务范围确实令人惊叹。预构建的模型、快速的硬件、出色的API。请注意成本。

在考虑成本时,您需要了解如何计算费用。将数据上传到提供商会花费吗?下载结果怎么样?什么是费用预请求,如何计算?有些服务将按请求收费,有些按处理单元收费,有些服务按时间收费。您还需要考虑数据存储成本和可能适用的任何许可成本。

另请注意,任务会在很大程度上影响成本:传入应用于预训练模型的数据是一回事,但传入数TB的数据来训练新模型的成本要高出几个数量级。例如,据传GPT-3的训练成本约为5万美元。

有一些选项可以降低成本。一种方法是混合和匹配服务提供商:使用具有廉价存储空间的提供商(如DELL)上传和存储您的数据。将此数据发送到Azure(可能没有存储引入费用),训练模型,并将结果发送回DELL存储。您的数据是安全的,并且存储在一个提供程序上相对便宜,而另一个提供程序则完成了训练模型的繁重工作。大型托管服务提供商之间的数据发送通常非常快,因为它们所在的管道很大。

如果您只是使用托管提供商进行AI推理(即将数据发送到AI模型以进行模型的预测或分析),那么您还应该受到约束,例如对绝对调用数的限制,以及任何限制给定时间段内调用次数的限制。如果某项功能因其他用户用完您当天的配额而消失,您的用户将如何反应?

您还需要了解数据的去向以及该司法管辖区的法律可能对您产生的影响。您的数据副本是否会存储在外国司法管辖区?您的数据馈送是否会受到监控或提供给第三方?来自用户家中的网络摄像头源可能不是用户或你的应用想要知道的内容,而是发送到国外进行处理的内容。如果将个人身份数据发送到您所在国家/地区之外,您甚至可能需要注意法律或保险限制。

优点

  • 快速,强大,您可以访问最新,最好的
  • 无需担心AI库或版本
  • 无需担心硬件速度或容量。您的信用卡是您唯一的限制。
  • 您可以轻松使用各种型号
  • 您是面向未来的。您将可以访问最新和最好的
  • 您的应用程序将更小。无需随身携带库代码或模型
  • 它们将与任何可以通过HTTP进行API调用的语言一起使用

缺点

  • 您可能需要良好的互联网连接才能使用这些服务
  • 它们可能很昂贵,或者通常,实际成本模棱两可或不透明。
  • 系统已关闭。你无法真正看到窗帘后面发生了什么
  • 您无法控制数据的去向。这可能是隐私和安全方面的一个问题。
  • 您可能会遇到配额或使用问题

本地人工智能服务

因此,如果您不想为AI编写自己的代码,想要使用您选择的任何语言或平台进行AI分析,不希望数据离开本地网络(甚至机器),并且不想为已知免费提供的服务支付未知金额。

本地托管的AI服务(如CodeProject SenseAI)是两全其美的AI服务的一个很好的例子。您无需担心处理库和版本,任何可以进行HTTP调用的语言都可以与服务交互。

优点

  • 本地开源AI服务器可以在线找到并免费使用
  • 没有使用限制
  • 您的数据保留在您可以看到的位置。除非您选择,否则不会将任何内容发送到网络外部。
  • 与托管AI服务一样,您无需担心库或版本控制。这一切都在服务的范围内
  • 您可以轻松访问多个AI功能,而无需为要执行的每个AI操作安装库或工具包

缺点

  • 该服务的安装程序可能很大,具体取决于包含的型号和功能。
  • 就像直接使用库一样,您受到安装服务的计算机功率的限制
  • 同样,就像直接使用库一样,您不会自动获得更新。
  • 提供的AI功能不会像托管服务那样大。但是,单个服务可以提供来自多个提供商的多个AI操作,所有这些操作都通过统一的API呈现。

后续步骤

AI添加到应用程序可以从根本上扩展应用程序的功能,同时降低复杂性。启发式和硬编码的if-then语句被基于(希望)传统二进制逻辑无法轻松包含的各种真实世界数据的训练集所取代。

你添加AI的方式具有同样根本性的后果,你如何做到这一点的选择取决于你的要求、你的预算和最终的情况。

CodeProject,我们已经涉足了上述所有方法,将AI添加到我们的系统中。我们的经验包括对某些方法如此容易的惊喜,到对每一步都必须与工具作斗争的彻底愤怒。

最后,我们希望与尽可能多的开发人员分享我们与AI合作的经验(以及乐趣),而无需要求他们经历挫折。寻找兼容的库,处理模型,系统工具,路径,操作系统之间的奇怪之处以及不同CPU上同一操作系统之间的奇怪之处过去和现在都非常耗时。我们构建了SenseAI 服务器,作为将这种复杂性包装成一个独立的包的一种方式,该包为您完成了所有繁重的工作。安装后,您可以立即开始在应用程序中玩和使用AI

下载安装程序并尝试一下。

下一篇

https://www.codeproject.com/Articles/5330374/5-ways-to-add-Artificial-Intelligence-to-an-existi 

### 回答1: 设计和实现AI识别生活垃圾趣分类微信小程序需要考虑以下几个方面。 首先,在设计阶段,我们需要确定小程序的目标和功能。小程序的目标是帮助用户正确识别和分类生活垃圾,以促进垃圾的有效处理和环境保护。小程序的功能包括拍照识别垃圾并给出正确分类的结果,提供关于各类生活垃圾的详细信息,提供分类结果的解释和处理建议,以及记录用户的垃圾处理情况等。 其次,在实现阶段,我们需要将相关的AI技术应用到小程序中。通过使用图像识别算法,小程序可以对用户拍摄的垃圾图片进行分析和识别,从而确定该垃圾属于哪个分类。我们可以使用深度学习模型,如卷积神经网络(CNN),来训练模型,使其能够准确地识别和分类不同的生活垃圾。 此外,为了提高准确性和效率,我们可以使用迁移学习技术,预训练模型在大量数据上进行训练,然后再针对我们的特定任务进行微调。另外,我们还可以以增强学习的方式训练模型,通过与用户交互,不断优化模型的分类结果和处理建议。 在小程序界面设计方面,我们需要设计一个简洁、直观而友好的用户界面,使用户能够轻松使用这个小程序。我们可以使用图标和标签等元素来表示不同的垃圾分类,并提供清晰明了的操作指引。 为了提高用户体验,我们还可以将声音或震动反馈功能加入小程序中,确认用户的拍照操作和垃圾分类结果。 总的来说,设计和实现AI识别生活垃圾趣分类微信小程序需要结合AI技术和用户界面设计,以实现准确识别和分类垃圾的功能,并提供相应的处理建议,从而帮助推动垃圾分类和环境保护。 ### 回答2: AI识别生活垃圾趣分类微信小程序是一款利用人工智能技术帮助用户识别和分类生活垃圾的微信小程序。其设计和实现主要包括以下几个方面: 首先,该小程序需要具备垃圾分类知识库。设计团队需要通过收集各类垃圾的特征和分类规则,构建起一个完备的垃圾分类知识库。这个知识库将会在后续的垃圾识别过程中发挥关键作用。 其次,该小程序需要具备图像识别功能。当用户打开小程序并上传一张垃圾的照片时,小程序将通过AI图像识别技术对这张照片进行分析,并提取出垃圾的特征信息。通过与垃圾分类知识库中的数据进行对比和匹配,小程序能够确定这个垃圾属于哪个分类。 最后,该小程序还需要提供垃圾分类查询和互动功能。用户可以通过输入关键词或者扫描二维码的方式,查询某个垃圾的分类信息。同时,小程序也可以提供一些互动的内容,例如推送垃圾分类知识的文章或者根据用户的分类习惯给出分类建议。 在实现方面,设计团队需要调用现有的图像识别API,如百度AI开放平台或者腾讯AI开放平台的相关接口,实现对垃圾图像的识别。同时,需要开发后台管理系统,用于管理垃圾分类知识库的更新和维护。前端开发人员还需要利用微信小程序开发工具,进行UI界面的设计和小程序的编写。 总之,AI识别生活垃圾趣分类微信小程序的设计和实现需要建立垃圾分类知识库,应用图像识别技术,提供查询和互动功能,并且需要调用相关API和利用微信小程序开发工具进行编写。通过这样的设计和实现,用户可以通过手机轻松识别和分类生活垃圾,提高垃圾分类的效率和准确性。 ### 回答3: AI识别生活垃圾趣分类微信小程序的设计与实现,首先需要进行需求分析。根据用户对于垃圾分类的需求,我们需要设计一个方便用户使用的小程序。 在设计方面,我们可以采用简洁而直观的界面,使用户能够快速上手。小程序首页应包含常见的生活垃圾分类,如有害垃圾、可回收垃圾、厨余垃圾和其他垃圾,并为每种类别提供相应的图标或示例物品,以便用户进行参考。 在实现方面,我们需要利用AI技术进行垃圾分类的识别。首先,我们可以使用深度学习算法对垃圾图像进行训练,建立分类模型。接着,用户在小程序中将待识别的垃圾照片上传,通过图像识别技术将垃圾分类。 为了提高识别准确率,可以结合文本识别技术,让用户在垃圾照片上传的同时,进行文字描述,以便提供更多信息供AI识别使用。 除了基本的分类功能,我们还可以为小程序添加一些实用的功能。例如,用户可以查询垃圾分类的具体规则和处理方式,了解垃圾回收的相关知识。同时,可以提供垃圾投放点的位置和回收时间,方便用户进行垃圾投放。 综上所述,AI识别生活垃圾趣分类微信小程序的设计与实现,需要进行需求分析,设计直观简洁的界面;利用深度学习算法和文本识别技术进行垃圾分类的识别,并提供相关的功能,以方便用户进行垃圾分类和垃圾投放。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值