diff options
Diffstat (limited to 'toolkit/components/ml/docs/index.md')
-rw-r--r-- | toolkit/components/ml/docs/index.md | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/toolkit/components/ml/docs/index.md b/toolkit/components/ml/docs/index.md deleted file mode 100644 index 1b2015456b..0000000000 --- a/toolkit/components/ml/docs/index.md +++ /dev/null @@ -1,44 +0,0 @@ -# Machine Learning - -This component is an experimental machine learning local inference engine. Currently there is no inference engine actually integrated yet. - -Here is an example of the API: - -```js -// The engine process manages the life cycle of the engine. It runs in its own process. -// Models can consume large amounts of memory, and this helps encapsulate it at the -// operating system level. -const EngineProcess = ChromeUtils.importESModule("chrome://global/content/ml/EngineProcess.sys.mjs"); - -// The MLEngineParent is a JSActor that can communicate with the engine process. -const mlEngineParent = await EngineProcess.getMLEngineParent(); - - -/** - * When implementing a model, there should be a class that provides a `getModel` function - * that is responsible for providing the `ArrayBuffer` of the model. Typically this - * download is managed by RemoteSettings. - */ -class SummarizerModel { - /** - * @returns {ArrayBuffer} - */ - static getModel() { ... } -} - -// An engine can be created using a unique name for the engine, and the function -// to get the model. This class handles the life cycle of the engine. -const summarizer = mlEngineParent.getEngine( - "summarizer", - SummarizerModel.getModel -); - -// In order to run the model, use the `run` method. This will initiate the engine if -// it is needed, and return the result. The messaging to the engine process happens -// through a MessagePort. -const result = await summarizer.run("A sentence that can be summarized.") - -// The engine can be explicitly terminated, or it will be destroyed through an idle -// timeout when not in use, as the memory requirements for models can be quite large. -summarizer.terminate(); -``` |