Mirror of khoj from Github
Find a file
2022-01-29 00:11:40 -05:00
.github/workflows Try cache conda build step using online docs 2021-12-15 11:48:14 +05:30
src Fix type of use_xmp_metadata to be bool, rather than str 2022-01-24 21:53:26 -05:00
tests Rename RawConfig Types for Consistency 2022-01-14 20:54:38 -05:00
views Fix input text behavior for null/empty value fields 2021-12-04 10:45:48 -05:00
.gitignore Set up basic ui page with no functionality 2021-11-26 14:51:11 -05:00
docker-compose.yml Add Troubleshooting Section, Minor Fixes to Readme 2022-01-29 00:11:40 -05:00
docker_sample_config.yml Fix type of use_xmp_metadata to be bool, rather than str 2022-01-24 21:53:26 -05:00
Dockerfile Simplify Dockerfile by removing multibuild 2022-01-24 21:54:10 -05:00
environment.yml Merge branch 'master' of github.com:debanjum/semantic-search into add-summarize-capability-to-chat-bot 2021-12-20 13:30:42 +05:30
LICENSE Add Readme, License. Update .gitignore 2021-08-15 22:52:37 -07:00
README.org Mention the experimental /chat API interacts with OpenAI's API 2022-01-29 00:11:40 -05:00
sample_config.yml Fix type of use_xmp_metadata to be bool, rather than str 2022-01-24 21:53:26 -05:00

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 search is done 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
Troubleshooting
  • The first run will take time. Let it run, it's mostly not hung
  • Symptom: Errors out with "Killed" in error message

  • Symptom: Errors out complaining about Tensors mismatch, null etc

    • Mitigation: Delete content-type > image section from docker_sample_config.yml

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

On Docker

  docker-compose build

On Local Machine

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

Miscellaneous

  • The experimental /chat API endpoint uses the OpenAI API

    • It is disabled by default
    • To use it add your openai-api-key to config.yml

Acknowledgments