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.
pub fn create_plugin_instance( pname: impl AsRef<str>, mname: impl AsRef<str>, ) -> WasmEdgeResult<PluginInstance>
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.