WasmEdge 0.12 发布,新的 plugin 系统,用于 AI 的 Wasm API


WasmEdge 0.12.1 发布:新的 plugin 系统、用于 AI 的 Wasm API、高级 socket networking

WasmEdge 0.12.0 和 0.12.1 已经发布。这两个版本带来了大量新的特性、优化和错误修复,进一步提高了 WasmEdge 的性能、安全性和通用性。

主要特性:

  • 新的 plugin 系统使社区可以轻松地向 WasmEdge 增加功能
  • 通过 plugin 的新 Wasm API 用于 AI、可观测性和网络
  • 高级 socket 网络
  • 改进了 host SDK ,使 WasmEdge 能够实现更好地被嵌入
  • 性能和兼容性的提升

新的 plugin 系统

WasmEdge 0.12.0 引入了 WasmEdge plugin C API。WasmEdge plugin C API 为社区提供了一种简单的方式,将 host 函数添加、管理和打包到运行时中。现在,所有 host 函数,包括 WASI 本身,都是 WasmEdge 中的 plugin 。这意味着,你甚至可以替换一个新的 WASI 实现(例如用于实时操作系统)。

现在,你可以用 C、C++ 和 Rust 编写 plugin !现在我们已经有 C++ 实现的 Tensorflow Lite plugin ,C++ 实现的 PyTorch plugin ,C++ 实现的 OpenVINO plugin ,C++ 实现的 eBPF plugin ,Rust 实现的 Rustls plugin 。

这些 plugin 将与之后的 component model 兼容,持续有效。

通过 plugin 实现了用于 AI、可观测性和网络的新 Wasm API

通过新的 WasmEdge plugin,你可以用新的 Wasm API 构建用于 AI、可观测性和网络的 Wasm 应用程序。

  • WasmEdge 的 Tensorflow Lite plugin 使得 Tensorflow Lite 模型的轻量级(大小仅为 Linux 容器的1/10)且速度快(本机 GPU)AI 推理应用程序成为可能。请参见这里的文档。
  • WasmEdge 的 PyTorch plugin ,让 PyTorch 模型的轻量级(大小仅为 Linux 容器的1/10)且速度快(本机 GPU)AI 推理应用程序成为可能。见这里的文档。
  • WasmEdge 的 eBPF plugin 使得开发者可以在 Kubernetes 环境中创建安全和容器化的 eBPF 工具和控制器。请参见这里的文档。
  • WasmEdge 的 Rustls plugin 便于在 WasmEdge 中创建和执行 HTTP 服务,实现与现有 Web 生态的无缝集成。按照教程在Rust 中创建 HTTP 服务。

这些 plugin 以及对 zlib、OpenCV、tesseract 和 FFMPEG 等其他库的支持,为开发者提供了一个全面的工具集,用于构建复杂的 WasmEdge 应用程序,包括涉及 AI 和多媒体处理的应用程序,例如在 WasmEdge 运行 Mediapipe。

高级 socket networking

WasmEdge socket API 在 0.12.1 版本中进行了重构,以兼容更受限的 WASI socket 提案。现在你可以在 WasmEdge 中运行 .net 程序了。WasmEdge socket 已经成为 WASI socket 的超集。

WasmEdge 网络 socket 在 0.12.1 版本中加入了新特性,如 DNS、网络设备绑定和 TLS。你可以创建需要高效 non-blocking 网络 socket 的复杂微服务。

以下是一些可以用 WasmEdge socket 实现的复杂网络应用示例。

  • 使用 Rust 编写的数据驱动微服务
  • WasmEdge 数据库客户端示例
  • Rust Hyper 示例

WasmEdge 已经是最小、最高效的 Wasm 运行时之一。它能嵌入到 libsql(在服务器上使用 SQLite!)用于执行用户定义的函数,执行复杂数字任务,如 HTTPS Web 服务和 AI 推理 SQL 语句!

通过改进的 host SDK 实现更好的嵌入

WasmEdge C++ 和 Rust SDK 现在允许 host 应用程序异步嵌入 Wasm 函数。这对于许多应用程序至关重要,因为嵌入的 Wasm 函数根本不允许阻止 host 应用程序的执行。

异步 host SDK 比较复杂,还有很多工作要做。我们将继续与终端用户和合作伙伴社区共同努力改进。敬请期待!预览地址:https://github.com/L-jasmine/WasmEdge/tree/feat/async

性能和兼容性提升

WasmEdge 0.12.0 和 0.12.1 包括大量的错误修复和性能改进。值得注意的是,WasmEdge 0.12.1 引入了对 WebAssembly System Interface (WASI) 的提升,使 Wasm 应用程序能够以只读权限访问文件和文件夹。 [Image: Image.jpg]

未来可期

WasmEdge 团队致力于不断推陈出新,同时,为之后的版本制定了令人期待的路线图。一些即将推出的特性包括:

  • 在我们的 Docker 和 k8s 集成中支持 plugin
  • 为 Kotlin 和 Dart 等语言提供 Wasm GC 支持
  • WASI 线程
  • 协程(coroutines)的堆栈切换
  • 组件模型(Component model )
  • 支持开源 LLM 的推理
  • 更好的 JS 和 Python 支持 AI

有关 WasmEdge 0.12.0 和 0.12.1 的更多信息,请在 GitHub 上查看 WasmEdge 源代码。我们非常重视你的反馈意见,同时真诚邀请你参与 WasmEdge 社区。加入我们继续推动 WebAssembly 的发展,用 WasmEdge 开启新的可能性。现在就开始使用 WasmEdge 吧!


相關推薦

2022-10-28

新的 containerd shim——把负责容器进程运行的 runC 替换成 WasmEdge runtime。据称这是和 WasmEdge 合作的项目,这个 containerd shim 从 OCI artifact 中提取 Wasm 模块,并使用 WasmEdge runtime 来运行。 Docker 没有透露更多细节,但 WasmEdge

2023-03-27

新的 containerd shim—— 把负责容器进程运行的 runC 替换成 WasmEdge runtime。据称这是和 WasmEdge 合作的项目,这个 containerd shim 从 OCI artifact 中提取 Wasm 模块,并使用 WasmEdge runtime 来运行。 Docker+Wasm 新的技术预览版支持以下三

2022-10-24

ss计算 Serverless强依赖高度优化的冷启动,Wasm运行时(如WasmEdge)非常适合为下一代无服务器平台提供动力。SecondState、Cloudflare、Netlify和Vercel等公司都支持通过其边缘运行时部署WebAssembly功能。其他公司如Grafbase正在使用Wasm,使

2024-10-21

,还对软件的底层架构进行了深入改进。Typst 0.12 版本的发布标志着该排版工具的进一步成熟,也让开发者和文档创作者们能够以更高效的方式处理复杂的排版任务。 持续创新的 Typst 自 2019 年推出以来,Typst 一直致力于打造一

2023-06-19

atest 版本发布 v0.0.12 atest 是一款用 Golang 编写的、基于 YAML 格式的开源接口测试工具,可以方便地在本地、服务端、持续集成等场景中使用。 我们希望提供一个简单、强大、高质量的测试工具,方便测试、研发人员快速

2022-08-02

Wasmer 3.0 发布了首个 Alpha 版本。 Wasmer 是支持 WASI 和 Emscripten 的通用 WebAssembly 运行时,提供基于 WebAssembly 的超轻量级容器,专注于支持在任何平台上运行 WASM 代码:从桌面端到云端、以及 IoT 设备,并且能嵌入在任何编程

2023-09-17

dioxus等框架集成,打通社区生态资源。 Zino开发框架已发布0.12版本!这一个月的改进,主要集中在以下方面: 初步集成dioxus-desktop,可用来开发桌面应用。 进一步完善ORM功能,新增支持SQLite数据库。 完整支持OpenAPI规范

2023-11-18

,以及其他潜在的稳定性问题。 综合来看,Bun v1.0.12的发布是该项目在打造更加强大、易用工具方面的一大步。这些更新和改进预期将使Bun在JavaScript开发社区中的作用更为重要,为开发者提供更高效、更可靠的编程体验。

2022-06-13

Wasmer 官方宣布在推出下一个大版本 Wasmer 3.0 之前先发布了一个 2.3 版本。 Wasmer 是支持 WASI 和 Emscripten 的通用 WebAssembly 运行时,提供基于 WebAssembly 的超轻量级容器,专注于支持在任何平台上运行 WASM 代码:从桌面端到云端、以

2023-09-15

尽可能使用CLOCK_MONOTONIC。 WebAssembly:现在可以使用 Bun、WasmEdge、Wazero、wasm3 和 wasmer-js 运行测试。对 WAVM 和 Lucet 的支持已被删除,因为这些项目已达到 EOL。 .NET:支持的最低 macOS 版本现在为 1.0.15。 .NET:所有包现在都是在

2022-07-15

距离 v2 发布 16 个月后,Vite 3.0 现已正式发布。公告指出,去年 2 月 Vite 2 发布以来,其采用率就在不断增长;每周 npm 下载量超过 100 万次,迅速形成了庞大的生态系统。Vite 正在推动 Web 框架的新一轮创新竞赛。 “我们决定至

2022-11-01

个标准,已经在不同的领域取得巨大的进展。比如 Docker 发布集成 WebAssembly 的首个技术预览版。同时大量编程语言已经开始支持 WASM 平台(完整列表可参考 https://wasmlang.org/ ),国内的 Go+、凹语言、KCL 配置语言 等都把

2023-09-08

Google 开发者在线课程 开始学习 CNCF 与 Wasm 社区合作发布了首版 Wasm landscape,旨在帮助更好地了解 Wasm 生态系统范围。“最初的 Cloud Native Landscape 帮助我们描绘了围绕云原生技术的庞大生态系统,我们相信,随着生态系统的发

2023-09-10

添加实验性的 WebAssembly 构建支持(WebGL 2.0),由 @nowasm 贡献 已知问题 WebGL context lost 尚未处理 部署在 github pages 的 demo 可快速预览,注意:由于  Github 限制,未开启 WASM 多线程支持,因此多线程模块测试会