”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > Offload - 一个统一的 javascript SDK,支持浏览器内 AI

Offload - 一个统一的 javascript SDK,支持浏览器内 AI

发布于2024-11-07
浏览:962

今天我想分享Offload,一个直接在用户浏览器上运行AI的javascript SDK。

Offload - A unified javascript SDK that enables in-browser AI

什么是卸载?

这是一个 SDK,您可以使用它向您的网站添加 AI,但有一个特点:它允许您的用户在本地运行 AI 任务,将数据保存在设备上,从而无需发送数据到第三方推理 API。

此外,它降低了您的成本并帮助您以低廉的成本扩展应用程序。随着更多的推理转移到用户的设备,您需要分配或花费在第三方 API 上的资源就越少。

如果您是应用程序开发人员,集成 Offload 只会改进您的应用程序,因为它将继续照常工作,同时为您的用户提供本地处理数据的能力,而无需您付出任何努力。

卸载功能

您可以集成 Offload 作为您现在使用的任何 SDK 的直接替代品,只需更改您的推理函数调用即可。

Offload 自动为您的用户提供**不同尺寸的模型**,具体取决于设备及其资源。如果用户的设备没有足够的资源,Offload 将不会向用户显示在本地处理数据的选项,并将回退到您通过仪表板指定的任何 API。

在仪表板中,您可以配置和管理提示,针对不同模型自定义和测试它们,并从用户那里获取分析等等。一切都不会将用户数据暴露给任何第三方,因为一切都在设备上处理。

Offload 支持生成文本响应、通过 JSON 模式强制执行结构化数据对象、流式传输文本响应等等。

如果还有什么我们不支持您想看的,请留言!

为什么卸载很重要?

我相信本地人工智能是未来。然而,随着人工智能的不断进步,我越来越关心我们的数据是如何处理的。

如今实现人工智能功能的每个应用程序都使用远程 API,在其中发送用户数据。这些应用程序大多数都使用公共 API,例如 OpenAI、Anthropic 等。流程很简单:应用程序收集用户数据并将其与提示一起发送到远程 API,远程 API 会回复生成的文本或图像。

这种方法的一个大问题是,当您授予应用程序访问文档(或照片、视频或任何数据)的权限时,它会将您的文档发送到远程 API,其中可能包含任何敏感信息包含。远程 API 可能会记录提示、使用数据来训练新模型或出于其他目的出售您的数据。

我认为既然我们有了法学硕士,数据隐私问题就更加严重了。法学硕士允许以以前不可能的新方式索引大量非结构化信息,这增加了暴露任何个人信息的危险。

例如,假设您有一本日记。它可能包括你住在哪里、你的日程安排、你的朋友是谁、你在哪里工作、也许你赚了多少钱等等。就算不是直接写出来,从日记的内容中也大概能推断出来。到目前为止,要推断该信息,需要有人完整阅读它。然而,有了法学硕士,人们可以在几秒钟内获得足够的数据来冒充你。

通过使用应用程序与您的日记聊天,您可能会暴露您的信息,因为它会发送到某些 API。
另一方面,如果此类应用程序使用 Offload,您可以安全地使用它,因为您的数据不会离开您的设备,因此不会被公开。

这对于使用高度敏感数据的行业尤其重要,例如医疗保健、法律、文档处理应用程序、个人助理等。

立即将 Offload 集成到您的应用程序中!

版本声明 本文转载于:https://dev.to/miguelaeh/offload-a-unified-javascript-sdk-that-enables-in-browser-ai-2aii?1如有侵犯,请联系[email protected]删除
最新教程 更多>
  • 如何配置Pytesseract以使用数字输出的单位数字识别?
    如何配置Pytesseract以使用数字输出的单位数字识别?
    Pytesseract OCR具有单位数字识别和仅数字约束 在pytesseract的上下文中,在配置tesseract以识别单位数字和限制单个数字和限制输出对数字可能会提出质疑。 To address this issue, we delve into the specifics of Te...
    编程 发布于2025-04-05
  • 如何同步迭代并从PHP中的两个等级阵列打印值?
    如何同步迭代并从PHP中的两个等级阵列打印值?
    同步的迭代和打印值来自相同大小的两个数组使用两个数组相等大小的selectbox时,一个包含country代码的数组,另一个包含乡村代码,另一个包含其相应名称的数组,可能会因不当提供了exply for for for the uncore for the forsion for for ytry...
    编程 发布于2025-04-05
  • 为什么我会收到MySQL错误#1089:错误的前缀密钥?
    为什么我会收到MySQL错误#1089:错误的前缀密钥?
    mySQL错误#1089:错误的前缀键错误descript [#1089-不正确的前缀键在尝试在表中创建一个prefix键时会出现。前缀键旨在索引字符串列的特定前缀长度长度,可以更快地搜索这些前缀。了解prefix keys `这将在整个Movie_ID列上创建标准主键。主密钥对于唯一识别...
    编程 发布于2025-04-05
  • 如何使用node-mysql在单个查询中执行多个SQL语句?
    如何使用node-mysql在单个查询中执行多个SQL语句?
    在node-mysql node-mysql文档最初出于安全原因最初禁用多个语句支持,因为它可能导致SQL注入攻击。要启用此功能,您需要在创建连接时将倍增设置设置为true: var connection = mysql.createconnection({{multipleStatement:...
    编程 发布于2025-04-05
  • 如何在php中使用卷发发送原始帖子请求?
    如何在php中使用卷发发送原始帖子请求?
    如何使用php 创建请求来发送原始帖子请求,开始使用curl_init()开始初始化curl session。然后,配置以下选项: curlopt_url:请求 [要发送的原始数据指定内容类型,为原始的帖子请求指定身体的内容类型很重要。在这种情况下,它是文本/平原。要执行此操作,请使用包含以下标头...
    编程 发布于2025-04-05
  • 如何限制动态大小的父元素中元素的滚动范围?
    如何限制动态大小的父元素中元素的滚动范围?
    在交互式接口中实现垂直滚动元素的CSS高度限制问题:考虑一个布局,其中我们具有与用户垂直滚动一起移动的可滚动地图div,同时与固定的固定sidebar保持一致。但是,地图的滚动无限期扩展,超过了视口的高度,阻止用户访问页面页脚。 映射{} 因此。我们不使用jQuery的“ .aimimate(...
    编程 发布于2025-04-05
  • 为什么不使用CSS`content'属性显示图像?
    为什么不使用CSS`content'属性显示图像?
    在Firefox extemers属性为某些图像很大,&& && && &&华倍华倍[华氏华倍华氏度]很少见,却是某些浏览属性很少,尤其是特定于Firefox的某些浏览器未能显示图像时未能显示图像时遇到了一个问题。这可以在提供的CSS类中看到:。googlepic { 内容:url(&#...
    编程 发布于2025-04-05
  • 您如何在Laravel Blade模板中定义变量?
    您如何在Laravel Blade模板中定义变量?
    在Laravel Blade模板中使用Elegance 在blade模板中如何分配变量对于存储以后使用的数据至关重要。在使用“ {{}}”分配变量的同时,它可能并不总是最优雅的解决方案。幸运的是,Blade通过@php Directive提供了更优雅的方法: $ old_section =“...
    编程 发布于2025-04-05
  • 如何将多种用户类型(学生,老师和管理员)重定向到Firebase应用中的各自活动?
    如何将多种用户类型(学生,老师和管理员)重定向到Firebase应用中的各自活动?
    Red: How to Redirect Multiple User Types to Respective ActivitiesUnderstanding the ProblemIn a Firebase-based voting app with three distinct user type...
    编程 发布于2025-04-05
  • 如何解决由于Android的内容安全策略而拒绝加载脚本... \”错误?
    如何解决由于Android的内容安全策略而拒绝加载脚本... \”错误?
    Unveiling the Mystery: Content Security Policy Directive ErrorsEncountering the enigmatic error "Refused to load the script..." when deployi...
    编程 发布于2025-04-05
  • 如何从PHP中的数组中提取随机元素?
    如何从PHP中的数组中提取随机元素?
    从阵列中的随机选择,可以轻松从数组中获取随机项目。考虑以下数组:; 从此数组中检索一个随机项目,利用array_rand( array_rand()函数从数组返回一个随机键。通过将$项目数组索引使用此键,我们可以从数组中访问一个随机元素。这种方法为选择随机项目提供了一种直接且可靠的方法。
    编程 发布于2025-04-05
  • 对象拟合:IE和Edge中的封面失败,如何修复?
    对象拟合:IE和Edge中的封面失败,如何修复?
    To resolve this issue, we employ a clever CSS solution that solves the problem:position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%)...
    编程 发布于2025-04-05
  • 如何使用Python有效地以相反顺序读取大型文件?
    如何使用Python有效地以相反顺序读取大型文件?
    在python 中,如果您使用一个大文件,并且需要从最后一行读取其内容,则在第一行到第一行,Python的内置功能可能不合适。这是解决此任务的有效解决方案:反向行读取器生成器 == ord('\ n'): 缓冲区=缓冲区[:-1] ...
    编程 发布于2025-04-05
  • 如何使用替换指令在GO MOD中解析模块路径差异?
    如何使用替换指令在GO MOD中解析模块路径差异?
    在使用GO MOD时,在GO MOD 中克服模块路径差异时,可能会遇到冲突,其中可能会遇到一个冲突,其中3派对软件包将另一个带有导入套件的path package the Imptioned package the Imptioned package the Imported tocted pac...
    编程 发布于2025-04-05
  • 找到最大计数时,如何解决mySQL中的“组函数\”错误的“无效使用”?
    找到最大计数时,如何解决mySQL中的“组函数\”错误的“无效使用”?
    如何在mySQL中使用mySql 检索最大计数,您可能会遇到一个问题,您可能会在尝试使用以下命令:理解错误正确找到由名称列分组的值的最大计数,请使用以下修改后的查询: 计数(*)为c 来自EMP1 按名称组 c desc订购 限制1 查询说明 select语句提取名称列和每个名称...
    编程 发布于2025-04-05

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3