https://github.com/debanjum/semantic-search/actions/workflows/build.yml/badge.svg

Semantic Search

Allow natural language search on user content like notes, images, transactions using transformer based models

All data is processed locally. User can interface with semantic-search app via Emacs, API or Commandline

Setup

Setup using Docker

1. Clone Repository
  git clone https://github.com/debanjum/semantic-search && cd semantic-search
2. Configure

Add Content Directories for Semantic Search to Docker-Compose Update docker-compose.yml to mount your images, org-mode notes, ledger/beancount directories If required, edit config settings in docker_sample_config.yml.

3. Run
docker-compose up -d

Setup on Local Machine

1. Install Dependencies
  1. Install Python3 [Required[
  2. Install Conda [Required]
  3. Install Exiftool [Optional]

    sudo apt-get -y install libimage-exiftool-perl
2. Install Semantic Search
git clone https://github.com/debanjum/semantic-search && cd semantic-search
conda env create -f environment.yml
conda activate semantic-search
3. Configure

Configure application search types and their underlying data source/files in sample_config.yml Use the sample_config.yml as reference

4. Run

Load ML model, generate embeddings and expose API to query notes, images, transactions etc specified in config YAML

python3 -m src.main -c=sample_config.yml -vv

Use

Upgrade

Using Docker

  docker-compose up

On Local Machine

  cd semantic-search
  git pull origin master
  conda env update -f environment.yml
  conda activate semantic-search

Acknowledgments

Description
No description provided
Readme AGPL-3.0 116 MiB
Languages
Python 51%
TypeScript 36.1%
CSS 4.1%
HTML 3.2%
Emacs Lisp 2.4%
Other 3.1%