Struct wasmedge_sdk::plugin::PluginManager
source · pub struct PluginManager {}Expand description
Defines the API to manage plugins.
Implementations§
source§impl PluginManager
impl PluginManager
sourcepub fn load(path: Option<&Path>) -> WasmEdgeResult<()>
pub fn load(path: Option<&Path>) -> WasmEdgeResult<()>
Load plugins from the given path.
-
If the path is not given, then the default plugin paths will be used. The default plugin paths are
-
The environment variable “WASMEDGE_PLUGIN_PATH”.
-
The
../plugin/directory related to the WasmEdge installation path. -
The
wasmedge/directory under the library path if the WasmEdge is installed under the “/usr”.
-
-
If the path is given, then
-
If the path is pointing at a file , then it indicates that a single plugin will be loaded from the file.
-
If the path is pointing at a directory, then the method will load plugins from the files in the directory.
-
Argument
path- A path to a plugin file or a directory holding plugin files. IfNone, then the default plugin path will be used.
sourcepub fn nn_preload(preloads: Vec<NNPreload>)
Available on crate feature wasi_nn only.
pub fn nn_preload(preloads: Vec<NNPreload>)
wasi_nn only.Initialize the wasi_nn plug-in with the preloads.
Note that this function is only available after loading the wasi_nn plug-in and before creating, and before creating the module instance from the plug-in.
Argument
preloads- The preload list.
Example
// load wasinn-pytorch-plugin from the default plugin directory: /usr/local/lib/wasmedge
PluginManager::load(None)?;
// preload named model
PluginManager::nn_preload(vec![NNPreload::new(
"default",
GraphEncoding::GGML,
ExecutionTarget::CPU,
"llama-2-7b-chat.Q5_K_M.gguf",
)]);If a preload is string, then use NNPreload::from_str to create a NNPreload instance:
use std::str::FromStr;
// load wasinn-pytorch-plugin from the default plugin directory: /usr/local/lib/wasmedge
PluginManager::load(None)?;
// preload named model
PluginManager::nn_preload(vec![NNPreload::from_str("default:GGML:CPU:llama-2-7b-chat.Q5_K_M.gguf")?]);
sourcepub fn find(name: impl AsRef<str>) -> WasmEdgeResult<Plugin>
pub fn find(name: impl AsRef<str>) -> WasmEdgeResult<Plugin>
Returns the target plugin by its name.
Argument
name- The name of the target plugin.
Error
If failed to return the plugin module instance, then return PluginError::NotFound error.
sourcepub fn init_wasmedge_process(allowed_cmds: Option<Vec<&str>>, allowed: bool)
Available on Linux and crate feature wasmedge_process and non-crate feature static only.
pub fn init_wasmedge_process(allowed_cmds: Option<Vec<&str>>, allowed: bool)
wasmedge_process and non-crate feature static only.Initializes the wasmedge_process plugin module instance with the parameters.
Arguments
-
allowed_cmds- A white list of commands. -
allowed- Determines if wasmedge_process is allowed to execute all commands on the white list.