- Why The khoj pypi packages should be installed in `khoj' directory. Previously it was being installed into `src' directory, which is a generic top level directory name that is discouraged from being used - Changes - move src/* to src/khoj/* - update `setup.py' to `find_packages' in `src' instead of project root - rename imports to form `from khoj.*' in complete project - update `constants.web_directory' path to use `khoj' directory - rename root logger to `khoj' in `main.py' - fix image_search tests to use the newly rename `khoj' logger - update config, docs, workflows to reference new path `src/khoj'
2.1 KiB
Emacs Khoj
An Emacs interface for Khoj
Requirements
- Install and Run Khoj
Installation
- Direct Install
-
Put
khoj.el
in your Emacs load path. For e.g ~/.emacs.d/lisp -
Load via
use-package
in your ~/.emacs.d/init.el or .emacs file by adding below snippet;; Khoj Package (use-package khoj :load-path "~/.emacs.d/lisp/khoj.el" :bind ("C-c s" . 'khoj))
-
- With straight.el
-
Add below snippet to your ~/.emacs.d/init.el or .emacs config file and execute it.
;; Khoj Package for Semantic Search (use-package khoj :after org :straight (khoj :type git :host github :repo "debanjum/khoj" :files (:defaults "src/khoj/interface/emacs/khoj.el")) :bind ("C-c s" . 'khoj))
-
- With Quelpa
-
Ensure Quelpa, quelpa-use-package are installed
-
Add below snippet to your ~/.emacs.d/init.el or .emacs config file and execute it.
;; Khoj Package (use-package khoj :after org :quelpa (khoj :fetcher url :url "https://raw.githubusercontent.com/debanjum/khoj/master/interface/emacs/khoj.el") :bind ("C-c s" . 'khoj))
-
Usage
-
Open Query Interface on Client
- In Emacs: Call
khoj
using keybindingC-c s
orM-x khoj
- On Web: Open http://localhost:8000/
- In Emacs: Call
-
Query in Natural Language
e.g "What is the meaning of life?" "What are my life goals?"
Note: It takes about 4s on a Mac M1 and a >100K line corpus of notes
-
(Optional) Narrow down results further
Include/Exclude specific words or date range from results by updating query with below query format
e.g `What is the meaning of life? -god +none dt:"last week"`