different-ai / obsidian-ava

Quickly format your notes with ChatGPT in Obsidian
https://app.anotherai.co
MIT License
651 stars 19 forks source link

Automatic tagging & linking #15

Closed louis030195 closed 1 year ago

louis030195 commented 1 year ago

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

sudheer82 commented 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.

louis030195 commented 1 year ago

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

louis030195 commented 1 year ago

incoming https://asciinema.org/a/541582

based on obsidian search code (sentence transformers + faiss) and faster than obsidian traditional search :)

louis030195 commented 1 year ago

it works

https://user-images.githubusercontent.com/25003283/204858913-daf196f8-75eb-4d08-bb8d-93fe9db8ab66.mp4

louis030195 commented 1 year ago

FYI We're going to integrate the automatic tagging / linking in the plugin, in Obsidian UI soon

louis030195 commented 1 year ago

done as of 2.3.6