您的位置:首页 > IT > 正文

WasmEdge 0.12 发布,新的 plugin 系统,用于 AI 的 Wasm API_天天快播报

来源:开源中国     时间:2023-06-19 17:25:24

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 吧!

相关文章