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 |