Progress
- implementing "summarising notebooks" feature
- tested with these scenarios (right-clicked notebook is the root of the tree):
- summarizing the whole notebook -> all subtrees are summarized
- summarizing the child notebook that has a parent notebook -> only the subtrees in the child notebook are summarized and parent notebook is not summarized
- tested with these scenarios (right-clicked notebook is the root of the tree):
- posted an overview of extractive summarization techniques in the Joplin Forum
- understanding how LexRank and LSA work
- discovered WebLLM -> using .wasm to load and run LLM models in browsers (Llama, Mistral, etc.)
Plans
- implementing base class called "AIHandler" from the proposal and then create TextRankHandler and LexRankHandler -> ensure that future AI implementations follow the same structure, as this will make the codebase easier to maintain and understand.
- implement and testing Hobb's Algorithm
- implementing and testing LexRank
- if all the above are done: try to implement LSA
Problems
- Still having problems with running Transformers.js in the plugin -> postpone this for now to focus on extractive summarization
- Problem running WebLLM in Joplin plugin-> some developer has a same issue running it in Obsidian plugin. It might be Electron/bundler related issue. They are currently looking into it and then will give us the update (GPU Device Error: Uncaught (in promise) TypeError: lib$1.exports.detectGPUDevice is not a function ยท Issue #319 ยท mlc-ai/web-llm ยท GitHub) -> postpone this for now to focus on extractive summarization