Semantic Search

by bbawj
5
4
3
2
1
Score: 53/100

Description

Category: Coding & Technical Tools

The Semantic Search plugin revolutionizes your Obsidian experience by introducing a cutting-edge file switcher powered by OpenAI's embedding API. With this innovative tool, you can find what you're looking for based on what you mean, rather than just relying on keywords. The plugin generates input CSV files based on sections of your notes and uses OpenAI's text-embedding model to create embeddings. These embeddings are then used for semantic searching, allowing you to quickly locate relevant information within your vault. Additionally, the plugin offers a link recommendation feature that suggests related files using {{}} syntax. With Semantic Search, you can say goodbye to tedious manual searching and hello to a more efficient and intuitive note-taking experience.

Reviews

No reviews yet.

Stats

149
stars
6,969
downloads
13
forks
1,123
days
217
days
332
days
1
total PRs
0
open PRs
0
closed PRs
1
merged PRs
28
total issues
14
open issues
14
closed issues
0
commits

Latest Version

a year ago

Changelog

Full Changelog: https://github.com/bbawj/obsidian-semantic-search/compare/0.4.0...0.4.1

Fixes #15 and #18 generate input failure, and adds new setting to control the maximum number of tokens for each input.

README file from

Github

Semantic Search for Obsidian

Find what you are looking for based on what you mean. A new file switcher built using WASM and Rust.

Quickstart

  1. Setup API configuration in plugin settings
  2. Run Generate Input command
  3. Run Generate Embedding command
  4. Run Open Query Modal command and start semantic searching!

Demo

https://user-images.githubusercontent.com/53790951/231014867-ce37c097-3b22-412a-9b1a-74204b0f167c.mp4

Commands

Command Description
Generate Input Generate input csv based on sections of your notes. Currently, sections are defined as text blocks between headings. Prepared input is saved as input.csv in your root folder.
Generate Embedding Obtain embeddings via the configured API URL (this requires that the generate input command was successfully executed). Generated embeddings is saved as embedding.csv in your root folder.
Open Query Modal Semantic search through your notes using generated embeddings.
Recommend links using current selection Uses current editor selection as query input, automatically creating a markdown link with your choice. Can also be triggered in the context menu using the mouse right-click.

Configuration

Setting Description
API URL Any arbitrary url endpoint for obtaining embeddings, but make sure the response JSON is supported (selected from "API repsonse type"). e.g. OpenAI: https://api.openai.com/v1/embeddings. Ollama: http://localhost:11434/api/embed
API Key Optional API key that is placed into Bearer Auth HTTP header. This gets stored into data.json as per all obsidian plugin settings data so make sure you do not commit this file to a repository.
Model The model id, passed in the key "model" of request.
API response type The type of response JSON expected to be returned from the URL.
Section Delimeters Regex used to determine if the current line is the start of a new section. Sections are used to group related content together. Defaults to ., meaning every line starts a new section. E.g. matching every heading: ^#{1,6}
Folders to ignore Folders to ignore when generating input. Enter folder paths separated by newlines.
Number of batches Number of batches used to call OpenAI's endpoint. If you have lots of data, and are facing invalid request errors, try increasing this number.
Enable link recommendation using {{}} Use {{}} as a way to trigger semantic search suggestions for file linking.
Enable cost estimation Turn on/off input cost estimation that is based on a flat rate of $0.0004 / 1000 tokens.
Enable debug mode logging Turn on/off more verbose logging.

Installing

From Obsidian v1.0.0, this plugin can be activated from within Obsidian:

  1. Open Settings > Third-party plugin
  2. Make sure Safe mode is off
  3. Click Browse community plugins
  4. Search for "Semantic Search"
  5. Click the "Install" button
  6. Once installed, close the community plugins window
  7. Under the "Installed plugins" section, enable Semantic Search

From Github

  1. Download the latest release distribution
  2. Extract the the contents of the distribution zip file to your vault's plugins folder: /.obsidian/plugins/ Note: On MacOs the .obsidian folder may be hidden by default.
  3. Reload Obsidian
  4. Open Settings, third-party plugins, make sure safe mode is off and enable "Semantic Search" from there.

Contributing

Contributions are welcome!

Dependencies

  1. Rust and cargo
  2. wasm-pack

Getting Started

  1. Clone the repo
  2. cd into the newly created folder and run yarn install
  3. Run yarn run dev

Note

This plugin is very much experimental at the moment, use it at your own risk. Testing is done on Windows.

Thanks to Robert's blog post for the idea and inspiration!

Similar Plugins

info
• Similar plugins are suggested based on the common tags between the plugins.
Core Search Assistant
4 years ago by qawatake
An Obsidian plugin to enhance built-in search: keyboard interface, card preview, bigger preview
Power Search
4 years ago by Aviral Batra
Settings Search
4 years ago by Jeremy Valentine
Adds a search bar to Obsidian.md's settings
Search Everywhere
4 years ago by Mom0
Obsidian Search Everywhere Plugin
Text Generator
4 years ago by Noureddine Haouari
Text Generator is a versatile plugin for Obsidian that allows you to generate text content using various AI providers, including OpenAI, Anthropic, Google and local models.
Card View Switcher
4 years ago by qawatake
An Obsidian plugin to provide a quick switcher with card view
Version History Diff (Sync, File Recovery & Git)
4 years ago by kometenstaub
Get a diff view of your Obsidian Sync, File Recovery and Git version history
Quiet Outline
4 years ago by the_tree
Improving experience of outline in Obsidian
Book Search
4 years ago by anpigon
Obsidian plugin that automatically creates notes by searching for books
Copy Search URL
4 years ago by Carlo Zottmann
A plugin for Obsidian (https://obsidian.md) that adds a menu entry to its search view for copying the Obsidian search URL.
External Link Helper
3 years ago by Jhonghee Park
Obsidian plugin for link suggestion
Contacts
3 years ago by vbeskrovnov
With this plugin, you can easily organize and manage your contacts within Obsidian. Simply create a note with contact information and use the plugin's features to quickly search, and sort through your contacts. Contacts plugin also helps you to remember birthdays of your contacts and keeps track of the last time you met them.
Khoj
3 years ago by Debanjum Singh Solanky
Your AI second brain. Self-hostable. Get answers from the web or your docs. Build custom agents, schedule automations, do deep research. Turn any online or local LLM into your personal, autonomous AI (gpt, claude, gemini, llama, qwen, mistral). Get started - free.
Unicode Search
3 years ago by BambusControl
Simple Unicode character search for Obsidian.md
Emoji Magic
3 years ago by simplgy
Makes it easier to add emojis using an improved keyword search
Global Search and Replace
3 years ago by Mahmoud Fawzy Khalil
A plugin to do a global search and replace in all your Obsidian vault files.
Gene 🧬
3 years ago by Matiss Jurevics
An AI assistant plugin for Obsidian
Floating Search
3 years ago by Boninall
A plugin for searching text by using Obsidian default search view.
AI Commander
3 years ago by Simon Yang
text2anki-openai
3 years ago by Mani Batra
Fuzzy Chinese Pinyin
3 years ago by lazyloong
brAIn
3 years ago by lusob
Silicon AI
3 years ago by deepfates
Add some intelligence to your notes with Silicon AI for Obsidian
AI Notes Summary
3 years ago by R. Ian Bull (irbull)
An Obsidian plugin that uses ChatGPT to generate a summary of referenced notes
Simple CanvaSearch
3 years ago by ddalexb
Search Templates Library
3 years ago by Pentchaff
Obsidian plugin that allows to store searches templates for later use, and displays search results both in the search view and graph view.
Auto Tag
3 years ago by Control Alt
Easily generate relevant tags for your Obsidian notes.
Canvas LLM Extender
3 years ago by Pasi Saarinen
Let the OpenAI LLM add nodes to your Obsidian canvas
Intelligence
2 years ago by John Mavrick
Aloud
2 years ago by Adrian Lyjak
Obsidian TTS Plugin
AI for Templater
2 years ago by TfTHacker
Extends Templater with AI Chat commands using the OpenAI Client Library
CoCo AskAI
2 years ago by Yukee
CoCo-AskAI is an Obsidian plugin that enables AI-powered note assistance, enhancing the writing experience with customizable functions.
ai-writer
2 years ago by Donovan Ye
A plugin for Obsidian that uses AI to help you write better and faster.
Explain Selection With AI
2 years ago by Ben Wurster
This is my first go at making an Obsidian plugin to elaborate on and describe selected bits of information and their context.
Search In Canvas
2 years ago by Boninall
You and Your Research
2 years ago by Neo Zhang
Notes Refresher
2 years ago by Connor Park
Obsidian plugin for AI-generated note refreshers
Giphy
2 years ago by LuCrypto
Blockreffer
2 years ago by tyler.earth
An Obsidian plugin to search and embed blocks with ^block-references (aka ^block-ids)
Text expand
6 years ago by MrJackphil
A simple text expand plugin for Obsidian.md
Quick Switcher++
6 years ago by darlal
Enhanced Quick Switcher plugin for Obsidian.md
Search++
6 years ago by Noureddine Haouari
Allow inserting text context search results on the active note.
Vantage - Advanced search builder
5 years ago by ryanjamurphy
Vantage helps you build complex queries using Obsidian's native search tools.
Obsidian Query Language
5 years ago by Joost Plattel
An Obsidian plugin allowing you to query your notes
Tag Wrangler
5 years ago by PJ Eby
Rename, merge, toggle, and search tags from the Obsidian tag pane
Relative Find
5 years ago by phibr0
Another Quick Switcher
5 years ago by tadashi-aikawa
This is an Obsidian plugin which is another choice of Quick switcher.
Omnisearch
4 years ago by Simon Cambier
A search engine that "just works" for Obsidian. Supports OCR and PDF indexing.
Lemons Search
2 years ago by Moritz Jung
An Obsidian plugin that offers a fast fuzzy finder based quick switcher with preview.
Tree Search
2 years ago by catacgc
Text Finder
2 years ago by hafuhafu
Provides a find/replace window in edit mode similar to VSCode (supports regular expressions and case sensitivity).
Atomizer
a year ago by Zac Bagley
An AI-Driven Obsidian plugin designed to turn lengthy text into insightful atomic notes. Perfect for turning source notes into ideas in a Zettelkasten workflow.
AI-AnkiSync
a year ago by goev
Clipper Catalog
a year ago by Greg K.
A catalog view that provides a powerful interface for all your clipped web articles and content. Easily organize, search, and manage your web clippings within your vault.
NetClip
a year ago by Elhary
this plugin is for Obsidian that allows you to browse the web and clip webpages directly into your vault.
Media Companion
a year ago by Nick de Bruin
Image Picker
a year ago by ari.the.elk
TG Emoji Search
a year ago by MarsBatya
Research Quest
a year ago by Nathan Arthur
CmdSearch
a year ago by SpaceshipCaptain
AI Helper
a year ago by David Connolly
Large Language Models
a year ago by eharris128, r-mahoney, & jsmorabito
The LLM plugin gives Obsidian users access to local and web-based, large language models via several chat interfaces: modal, widget, FAB window, and commands.
Vault LLM Assistant
a year ago by Brians Tjipto
An obsidian notebook plugin that uses LLM (OpenAI or Gemini) to answer questions and create new notes about your vault
LLM docs
a year ago by Shane Lamb
Chat with LLM in regular markdown files in Obsidian
EasyLink
10 months ago by isitwho
Select text in your obsidian editor to find the most similar content from other notes and easily create links.
Clipboard Manager
9 months ago by Ayush Raj
The clipboard obsidian plugin
AI Image OCR
9 months ago by Rootiest
Obsidian plugin for AI-powered text extraction from images
NoteSmith
8 months ago by csteamengine
Note Codes
8 months ago by Ezhik
Reference your Obsidian notes from anywhere with simple 4-character codes.
AI Companion
5 months ago by Kowshik
An Obsidian plugin that provides AI assistance using OpenAI's API, triggered by the `/ai` slash command.
AI Transcriber
4 months ago by Musashino Software
AI-powered speech-to-text transcription using OpenAI GPT-4o and Whisper APIs
Segerlab
a month ago by Semyon Kononchuk
Renders calculator views within notes from JSON data copied from the Segerlab app.