diff --git a/docs/assets/interfaces.png b/docs/assets/interfaces.png deleted file mode 100644 index 764a169d..00000000 Binary files a/docs/assets/interfaces.png and /dev/null differ diff --git a/docs/assets/khoj_chat_on_emacs_0.5.0.png b/docs/assets/khoj_chat_on_emacs.png similarity index 100% rename from docs/assets/khoj_chat_on_emacs_0.5.0.png rename to docs/assets/khoj_chat_on_emacs.png diff --git a/docs/assets/khoj_chat_on_obsidian.png b/docs/assets/khoj_chat_on_obsidian.png new file mode 100644 index 00000000..3eb1a00b Binary files /dev/null and b/docs/assets/khoj_chat_on_obsidian.png differ diff --git a/docs/assets/khoj_chat_on_obsidian_0.6.0.png b/docs/assets/khoj_chat_on_obsidian_0.6.0.png deleted file mode 100644 index aad983fb..00000000 Binary files a/docs/assets/khoj_chat_on_obsidian_0.6.0.png and /dev/null differ diff --git a/docs/assets/khoj_chat_on_web.png b/docs/assets/khoj_chat_on_web.png new file mode 100644 index 00000000..99d1dc6d Binary files /dev/null and b/docs/assets/khoj_chat_on_web.png differ diff --git a/docs/assets/khoj_chat_web_interface.png b/docs/assets/khoj_chat_web_interface.png deleted file mode 100644 index 7dfd1fdf..00000000 Binary files a/docs/assets/khoj_chat_web_interface.png and /dev/null differ diff --git a/docs/assets/khoj_on_emacs.png b/docs/assets/khoj_on_emacs.png deleted file mode 100644 index 4f8f66a0..00000000 Binary files a/docs/assets/khoj_on_emacs.png and /dev/null differ diff --git a/docs/assets/khoj_on_obsidian_0.2.5.png b/docs/assets/khoj_on_obsidian_0.2.5.png deleted file mode 100644 index 561e8a5f..00000000 Binary files a/docs/assets/khoj_on_obsidian_0.2.5.png and /dev/null differ diff --git a/docs/assets/khoj_search_on_emacs.png b/docs/assets/khoj_search_on_emacs.png new file mode 100644 index 00000000..b406537d Binary files /dev/null and b/docs/assets/khoj_search_on_emacs.png differ diff --git a/docs/assets/khoj_search_on_obsidian.png b/docs/assets/khoj_search_on_obsidian.png new file mode 100644 index 00000000..f0fdf099 Binary files /dev/null and b/docs/assets/khoj_search_on_obsidian.png differ diff --git a/docs/assets/khoj_search_on_web.png b/docs/assets/khoj_search_on_web.png new file mode 100644 index 00000000..f9f73ff9 Binary files /dev/null and b/docs/assets/khoj_search_on_web.png differ diff --git a/docs/chat.md b/docs/chat.md index 1f30a197..df487d15 100644 --- a/docs/chat.md +++ b/docs/chat.md @@ -28,7 +28,7 @@ 2. Type your queries and see response by Khoj from your notes #### Demo -![](./assets/khoj_chat_web_interface.png) +![](./assets/khoj_chat_on_web.png ':size=400px') ### Details 1. Your query is used to retrieve the most relevant notes, if any, using Khoj search diff --git a/docs/demos.md b/docs/demos.md index fb680d1a..75adb43b 100644 --- a/docs/demos.md +++ b/docs/demos.md @@ -1,13 +1,24 @@ ## Demos -### Interfaces +### Screenshots +#### Web +![](./assets/khoj_search_on_web.png ':size=300px') +![](./assets/khoj_chat_on_web.png ':size=300px') -![](./assets/interfaces.png) +#### Obsidian +![](./assets/khoj_search_on_obsidian.png ':size=300px') +![](./assets/khoj_chat_on_obsidian.png ':size=300px') -### Khoj in Obsidian +#### Emacs +![](./assets/khoj_search_on_emacs.png ':size=300px') +![](./assets/khoj_chat_on_emacs.png ':size=400px') + + +### Videos +#### Khoj in Obsidian [KhojObsidian](https://github-production-user-asset-6210df.s3.amazonaws.com/6413477/240061700-3e33d8ea-25bb-46c8-a3bf-c92f78d0f56b.mp4 ':include :type=mp4') -#### Installation +##### Installation 1. Install Khoj via `pip` and start Khoj backend in a terminal (Run `khoj`) ```bash @@ -21,10 +32,10 @@ - Search \"*Announce plugin to folks*\" in the [Obsidian Plugin docs](https://marcus.se.net/obsidian-plugin-docs/) - Jump to the [search result](https://marcus.se.net/obsidian-plugin-docs/publishing/submit-your-plugin) -### Khoj in Emacs, Browser +#### Khoj in Emacs, Browser [KhojEmacs](https://user-images.githubusercontent.com/6413477/184735169-92c78bf1-d827-4663-9087-a1ea194b8f4b.mp4 ':include :type=mp4') -#### Installation +##### Installation - Install Khoj via pip - Start Khoj app @@ -32,7 +43,7 @@ - Search \"*Setup editor*\" on the Web and Emacs. Re-rank the results for better accuracy - Top result is what we are looking for, the [section to Install Khoj.el on Emacs](https://github.com/khoj-ai/khoj/tree/master/src/interface/emacs#2-Install-Khojel) -#### Analysis +##### Analysis - The results do not have any words used in the query - *Based on the top result it seems the re-ranking model understands that Emacs is an editor?* diff --git a/docs/development.md b/docs/development.md index eb15c417..47c8f3a3 100644 --- a/docs/development.md +++ b/docs/development.md @@ -112,3 +112,18 @@ Follow the steps below to [release](https://github.com/debanjum/khoj/releases/) *[Interactive Visualization](https://mango-dune-07a8b7110.1.azurestaticapps.net/?repo=debanjum%2Fkhoj)* ![](./assets/khoj_codebase_visualization_0.2.1.png) + +## Visualize Khoj Obsidian Plugin Codebase + +![](./assets/khoj_obsidian_codebase_visualization_0.2.1.png) + +## Khoj Obsidian Plugin Implementation +The plugin implements the following functionality to search your notes with Khoj: +- [X] Open the Khoj search modal via left ribbon icon or the *Khoj: Search* command +- [X] Render results as Markdown preview to improve readability +- [X] Configure Khoj via the plugin setting tab on the settings page + - Set Obsidian Vault to Index with Khoj. Defaults to all markdown, PDF files in current Vault + - Set URL of Khoj backend + - Set Number of Search Results to show in Search Modal +- [X] Allow reranking of result to improve search quality +- [X] Allow Finding notes similar to current note being viewed diff --git a/docs/obsidian.md b/docs/obsidian.md index 95b3c84f..2d2ee761 100644 --- a/docs/obsidian.md +++ b/docs/obsidian.md @@ -12,6 +12,10 @@ - **Iterative discovery**: Iteratively explore and (re-)discover your notes - **Assisted creativity**: Smoothly weave across answers retrieval and content generation +## Interface +![](./assets/khoj_search_on_obsidian.png ':size=400px') +![](./assets/khoj_chat_on_obsidian.png ':size=400px') + ## Setup - *Make sure [python](https://realpython.com/installing-python/) and [pip](https://pip.pypa.io/en/stable/installation/) are installed on your machine* @@ -104,12 +108,6 @@ To see other notes similar to the current one, run *Khoj: Find Similar Notes* fr - Search \"*Announce plugin to folks*\" in the [Obsidian Plugin docs](https://marcus.se.net/obsidian-plugin-docs/) - Jump to the [search result](https://marcus.se.net/obsidian-plugin-docs/publishing/submit-your-plugin) -## Interfaces -### Search Modal -![](./assets/khoj_on_obsidian_0.2.5.png) - -### Chat Modal -![](./assets/khoj_chat_on_obsidian_0.6.0.png) ## Troubleshooting - Open the Khoj plugin settings pane, to configure Khoj @@ -119,18 +117,3 @@ To see other notes similar to the current one, run *Khoj: Find Similar Notes* fr ## Current Limitations - The plugin loads the index of only one vault at a time.
So notes across multiple vaults **cannot** be searched at the same time - -## Visualize Codebase - -![](./assets/khoj_obsidian_codebase_visualization_0.2.1.png) - -## Implementation -The plugin implements the following functionality to search your notes with Khoj: -- [X] Open the Khoj search modal via left ribbon icon or the *Khoj: Search* command -- [X] Render results as Markdown preview to improve readability -- [X] Configure Khoj via the plugin setting tab on the settings page - - Set Obsidian Vault to Index with Khoj. Defaults to all markdown, PDF files in current Vault - - Set URL of Khoj backend - - Set Number of Search Results to show in Search Modal -- [X] Allow reranking of result to improve search quality -- [X] Allow Finding notes similar to current note being viewed diff --git a/docs/search.md b/docs/search.md index aadc0af9..1132cfdb 100644 --- a/docs/search.md +++ b/docs/search.md @@ -1,12 +1,14 @@ ## Khoj Search -- **Using Obsidian** - - Click the *Khoj search* icon 🔎 on the [Ribbon](https://help.obsidian.md/User+interface/Workspace/Ribbon) or Search for *Khoj: Search* in the [Command Palette](https://help.obsidian.md/Plugins/Command+palette) -- **Using Emacs** - - Run `M-x khoj ` -- **Using Web** +### Use +- **From Web** - Open in your web browser -- **Using API** - - See the Khoj FastAPI [Swagger Docs](http://localhost:42110/docs), [ReDocs](http://localhost:42110/redocs) +- **From Obsidian** + - Click the *Khoj search* icon 🔎 on the [Ribbon](https://help.obsidian.md/User+interface/Workspace/Ribbon) or Search for *Khoj: Search* in the [Command Palette](https://help.obsidian.md/Plugins/Command+palette) +- **From Emacs** + - Run `M-x khoj ` + +### Demo +![](./assets/khoj_search_on_web.png ':size=400px') ### Query Filters diff --git a/docs/setup.md b/docs/setup.md index 2ab971d5..2755edd6 100644 --- a/docs/setup.md +++ b/docs/setup.md @@ -22,7 +22,7 @@ Run the following command in your terminal to install the Khoj backend. For more detailed Windows installation and troubleshooting, see [Windows Install](./windows_install.md). -### 2. Run +### 2. Start Run the following commmand from your terminal to start the Khoj backend and open Khoj in your browser. @@ -37,6 +37,8 @@ Note: To start Khoj automatically in the background use [Task scheduler](https:/ 2. Add your OpenAI API key to Chat Feature settings if you want to use Chat 3. Click `Configure` and wait. The app will download ML models and index the content for search and (optionally) chat +[configure demo](./assets/khoj_configure_on_web.mp4 ':include :type=mp4') + ### 4. Install Interface Plugins (Optional) Khoj exposes a web interface to search, chat and configure by default.
The optional steps below allow using Khoj from within an existing application like Obsidian or Emacs. diff --git a/docs/windows_install.md b/docs/windows_install.md index d9da5bbe..ec7d3999 100644 --- a/docs/windows_install.md +++ b/docs/windows_install.md @@ -5,19 +5,19 @@ These steps can be used to setup Khoj on a clean, new Windows 11 machine. It has ## Prerequisites 1. Ensure you have Visual Studio C++ Build tools installed. You can download it [from Microsoft here](https://visualstudio.microsoft.com/visual-cpp-build-tools/). At the minimum, you should have the following configuration: Screenshot 2023-07-12 at 3 56 25 PM -3. Ensure you have Python installed. You can check by running `python --version`. If you don't, install the latest version [from here](https://www.python.org/downloads/). +2. Ensure you have Python installed. You can check by running `python --version`. If you don't, install the latest version [from here](https://www.python.org/downloads/). - Ensure you have pip installed: `py -m ensurepip --upgrade`. ## Quick start 1. Open a PowerShell terminal. -7. Run `pip install khoj-assistant` -8. Start Khoj with `khoj` +2. Run `pip install khoj-assistant` +3. Start Khoj with `khoj` ## Installation in a Virtual Environment Use this if you want to install with a virtual environment. This will make it much easier to manage your dependencies. You can read more about [virtual environments](https://packaging.python.org/en/latest/guides/installing-using-pip-and-virtual-environments/) here. 1. Open a PowerShell terminal with the `Run as Administrator` privileges. -5. Create a virtual environment: `mkdir khoj && cd khoj && py -m venv .venv` -6. Activate the virtual environment: `.\.venv\Scripts\activate`. If you get a permissions error, then run `Set-ExecutionPolicy -ExecutionPolicy RemoteSigned`. -7. Run `pip install khoj-assistant` -8. Start Khoj with `khoj` +2. Create a virtual environment: `mkdir khoj && cd khoj && py -m venv .venv` +3. Activate the virtual environment: `.\.venv\Scripts\activate`. If you get a permissions error, then run `Set-ExecutionPolicy -ExecutionPolicy RemoteSigned`. +4. Run `pip install khoj-assistant` +5. Start Khoj with `khoj`