WasmEdge 插件
对于那些过于重而难以编译成 WebAssembly的工作负载,将它们构建成本机主机函数是更好的选择。为了满足 WebAssembly 运行时的可移植性,WasmEdge 引入了插件机制,使主机函数可以加载和传输。
WasmEdge 的插件机制是一种扩展主机模块的简便方法,用户可以通过插件从由 WasmEdge 官方发布或其他开发人员发布的共享库中加载和实例化主机函数。
官方插件
下面列出了 WasmEdge 官方发布的插件。用户可以通过安装程序轻松安装它们。
| Plug-in | Description | Platform Support | Guest Language Support | Build From Source |
|---|---|---|---|---|
| WASI-Logging | Logging API for WebAssembly program to log messages. | manylinux2014 (x86_64, aarch64)ubuntu 20.04 (x86_64)darwin (x86_64, arm64)(since 0.13.0) | Rust | Steps |
| WASI-Crypto | APIs that a runtime can expose to WebAssembly modules in order to perform cryptographic operations and key management. | manylinux2014 (x86_64, aarch64)ubuntu 20.04 (x86_64)(since 0.10.1) | Rust | Steps |
| WASI-NN (OpenVINO backend) | AI inference using OpenVINO models. | ubuntu 20.04 (x86_64)(since 0.10.1) | Rust, JavaScript | Steps |
| WASI-NN (Pytorch backend) | AI inference using Pytorch models. | manylinux2014 (x86_64)ubuntu 20.04 (x86_64)(since 0.11.1) | Rust, JavaScript | Steps |
| WASI-NN (TensorFlow-Lite backend) | AI inference using TensorFlow-Lite models. | manylinux2014 (x86_64, aarch64)ubuntu 20.04 (x86_64)(since 0.11.2) | Rust, JavaScript | Steps |
| WASI-NN (Ggml backend) | AI inference using LLM interfaces. | manylinux2014 (x86_64, aarch64)ubuntu 20.04 (x86_64)darwin (x86_64, arm64)(since 0.13.4) | Rust | Steps |
| WASI-NN (Piper backend) | AI inference using Piper models. | manylinux_2_28 (x86_64, aarch64)ubuntu 20.04 (x86_64)(since 0.14.1) | Rust | Steps |
| WASI-NN (Whisper backend) | AI inference using Whisper models. | manylinux2014 (x86_64, aarch64)ubuntu 20.04 (x86_64)darwin (x86_64, arm64)(since 0.14.1) | Rust | Steps |
| WASI-NN Burn.rs backend (Squeezenet) | AI inference using Squeezenet models in Burn.rs. | ubuntu 20.04 (x86_64)(since 0.14.1) | Rust | |
| WASI-NN Burn.rs backend (Whisper) | AI inference using Whisper models in Burn.rs. | ubuntu 20.04 (x86_64)(since 0.14.1) | Rust | |
| WasmEdge-ffmpeg | manylinux2014 (x86_64, aarch64)ubuntu 20.04 (x86_64)darwin (x86_64, arm64)(since 0.14.0) | |||
| WasmEdge-Image | A native library to manipulate images for AI inference tasks. | manylinux2014 (x86_64, aarch64)ubuntu 20.04 (x86_64)darwin (x86_64, arm64)(since 0.13.0) | Rust (0.3.0) | Steps |
| WasmEdge-LLMC | manylinux2014 (x86_64, aarch64)ubuntu 20.04 (x86_64)(since 0.14.1) | |||
| WasmEdge-OpenCV | Very popular utility functions to process images and videos for AI input/output. | manylinux2014 (x86_64, aarch64)ubuntu 20.04 (x86_64)darwin (x86_64, arm64)(since 0.13.3) | ||
| WasmEdge-Process | Allows WebAssembly programs to execute native commands in the host operating system. It supports passing arguments, environment variables, STDIN/STDOUT pipes, and security policies for host access. | manylinux2014 (x86_64, aarch64)ubuntu 20.04 (x86_64)(since 0.10.0) | Rust | Steps |
| WasmEdge-StableDiffusion | manylinux2014 (x86_64, aarch64)ubuntu 20.04 (x86_64)darwin (x86_64, arm64)(since 0.14.1) | |||
| WasmEdge-Tensorflow | A native library for inferring TensorFlow models. | manylinux2014 (x86_64, aarch64)ubuntu 20.04 (x86_64)darwin (x86_64, arm64)(since 0.13.0) | Rust (0.3.0) | Steps |
| WasmEdge-TensorflowLite | A native library for inferring TensorFlow-Lite models. | manylinux2014 (x86_64, aarch64)ubuntu 20.04 (x86_64)darwin (x86_64, arm64)(since 0.13.0) | Rust (0.3.0) | Steps |
| WasmEdge-zlib | ??? | manylinux2014 (x86_64, aarch64)ubuntu 20.04 (x86_64)darwin (x86_64, arm64)(since 0.13.5) | ||
| WasmEdge-eBPF | A native library for inferring eBPF applications | manylinux2014 (x86_64, aarch64)ubuntu 20.04 (x86_64)(since 0.13.2) | Rust | Steps |
| WasmEdge-rustls (DEPRECATED) | A native library for inferring Rust and TLS Library | manylinux2014 (x86_64, aarch64)ubuntu 20.04 (x86_64)darwin (x86_64, arm64)(since 0.13.0, until 0.13.5) | Rust | Steps |