Closed louis030195 closed 1 year ago
@louis030195 - this is excellent work. thanks for sharing.
The default obsidian search is lacking. So, I use Omnisearch as alternative, which under the hood, it uses the excellent MiniSearch library. This is serving most search functions quite well and most importantly its quite fast.
Semantic search requires one to download an LLM - need space, tune it (optional), generate embeddings for the vault data and then for every query on the fly generate embeddings for the query before checking similarity with vaults embeddings space. This will require some effort in settings up the env. So, I was on sidelines if it's worth the effort. But it's in my to-do list to checkout.
Do you see if there is a spike in CPU/GPU when search query is run. Is it tested only on MAC or is it tried on Win PC without GPU and how is the performance.
Ideally I'd like multimodal or cross modal search - I want to be able to search my second-brain with images, audio, anything.
Problem that traditional search does not solve: sometimes I want to search my 500.000 words, 4000 files vault for some notes I thought about in the past, but I don't remember the title, example: "something about memory palaces" but maybe the title is "cat" (for some reason), but the content talks about memory palaces...
I like Omnisearch UX!
It was quite fast on mac, real time not even tried to optimize, on CPU, didn't try on MPS yet, no point in using GPU. I believe by using https://github.com/criteo/autofaiss it runs faster on CPU, but no guarantee
My idea is to have the semantic search running all the time as I navigate the vault, suggesting related links & tags by their semantic, allowing me to connect my knowledge and learn faster I will throw a mockup here when I have time
incoming https://asciinema.org/a/541582
based on obsidian search code (sentence transformers + faiss) and faster than obsidian traditional search :)
FYI We're going to integrate the automatic tagging / linking in the plugin, in Obsidian UI soon
done as of 2.3.6
I always try to connect my notes together using links or tags.
We can automate it using semantic search https://github.com/louis030195/obsidian-search