mirror of
https://github.com/khoj-ai/khoj.git
synced 2024-11-23 15:38:55 +01:00
Mirror of khoj from Github
agentaiassistantchatchatgptemacsimage-generationllama3llamacppllmobsidianobsidian-mdoffline-llmproductivityragresearchself-hostedsemantic-searchsttwhatsapp-ai
processor/org-mode | ||
search_types | ||
utils | ||
.gitignore | ||
environment.yml | ||
LICENSE | ||
main.py | ||
README.md | ||
requirements.txt |
Semantic Search
Provide natural language search on user personal content like notes, images using ML models
All data is processed locally. User can interface with semantic-search app via Emacs, API or Commandline
Dependencies
- Python3
- Miniconda
Install
git clone https://github.com/debanjum/semantic-search && cd semantic-search
conda env create -f environment.yml
conda activate semantic-search
Setup
Generate compressed JSONL from specified org-mode files
python3 processor/org-mode/org-to-jsonl.py \
--org-files "Schedule.org" "Incoming.org" \
--org-directory "~/Notes" \
--jsonl-file ".data/notes.jsonl" \
--compress \
--verbose
Run
Load ML model, generate embeddings and expose API interface to run user queries on above org-mode files
python3 main.py -j .data/notes.jsonl.gz -e .data/notes_embeddings.pt
Use
-
Calls Semantic Search via Emacs
M-x semantic-search "<user-query>"
C-c C-s
-
Call Semantic Search via API
-
Call Semantic Search via Python Script Directly
python3 search_types/asymmetric.py \ -j .data/notes.jsonl.gz \ -e .data/notes_embeddings.pt \ -n 5 \ --verbose \ --interactive
Acknowledgments
- Charles Cave for OrgNode Parser