mirror of
https://github.com/khoj-ai/khoj.git
synced 2024-11-23 15:38:55 +01:00
Update Readme to reflect Khoj Chat out of Beta
This commit is contained in:
parent
a71f168273
commit
198d9af8cf
1 changed files with 45 additions and 30 deletions
75
README.md
75
README.md
|
@ -22,9 +22,10 @@
|
||||||
- [Install](#1-Install)
|
- [Install](#1-Install)
|
||||||
- [Run](#2-Run)
|
- [Run](#2-Run)
|
||||||
- [Configure](#3-Configure)
|
- [Configure](#3-Configure)
|
||||||
|
- [Install Plugins](#4-install-interface-plugins)
|
||||||
- [Use](#Use)
|
- [Use](#Use)
|
||||||
- [Interfaces](#Interfaces-1)
|
- [Khoj Search](#Khoj-search)
|
||||||
- [Query Filters](#Query-filters)
|
- [Khoj Chat](#Khoj-chat)
|
||||||
- [Upgrade](#Upgrade)
|
- [Upgrade](#Upgrade)
|
||||||
- [Khoj Server](#upgrade-khoj-server)
|
- [Khoj Server](#upgrade-khoj-server)
|
||||||
- [Khoj.el](#upgrade-khoj-on-emacs)
|
- [Khoj.el](#upgrade-khoj-on-emacs)
|
||||||
|
@ -33,12 +34,11 @@
|
||||||
- [Troubleshoot](#Troubleshoot)
|
- [Troubleshoot](#Troubleshoot)
|
||||||
- [Advanced Usage](#advanced-usage)
|
- [Advanced Usage](#advanced-usage)
|
||||||
- [Access Khoj on Mobile](#access-khoj-on-mobile)
|
- [Access Khoj on Mobile](#access-khoj-on-mobile)
|
||||||
- [Chat with Notes](#chat-with-notes)
|
|
||||||
- [Use OpenAI Models for Search](#use-openai-models-for-search)
|
- [Use OpenAI Models for Search](#use-openai-models-for-search)
|
||||||
- [Search across Different Languages](#search-across-different-languages)
|
- [Search across Different Languages](#search-across-different-languages)
|
||||||
- [Miscellaneous](#Miscellaneous)
|
- [Miscellaneous](#Miscellaneous)
|
||||||
- [Setup OpenAI API key in Khoj](#set-your-openai-api-key-in-khoj)
|
- [Setup OpenAI API key in Khoj](#set-your-openai-api-key-in-khoj)
|
||||||
- [Beta API](#beta-api)
|
- [GPT API](#gpt-api)
|
||||||
- [Performance](#Performance)
|
- [Performance](#Performance)
|
||||||
- [Query Performance](#Query-performance)
|
- [Query Performance](#Query-performance)
|
||||||
- [Indexing Performance](#Indexing-performance)
|
- [Indexing Performance](#Indexing-performance)
|
||||||
|
@ -131,21 +131,29 @@ Note: To start Khoj automatically in the background use [Task scheduler](https:/
|
||||||
1. Enable content types and point to files to search in the First Run Screen that pops up on app start
|
1. Enable content types and point to files to search in the First Run Screen that pops up on app start
|
||||||
2. Click `Configure` and wait. The app will download ML models and index the content for search
|
2. Click `Configure` and wait. The app will download ML models and index the content for search
|
||||||
|
|
||||||
## Use
|
### 4. Install Interface Plugins
|
||||||
### Interfaces
|
Khoj exposes a web interface by default.<br />
|
||||||
|
The optional steps below allow using Khoj from within an existing application like Obsidian or Emacs.
|
||||||
|
|
||||||
|
- **Khoj Obsidian**:<br />
|
||||||
|
[Install](https://github.com/debanjum/khoj/tree/master/src/interface/obsidian#2-Setup-Plugin) the Khoj Obsidian plugin
|
||||||
|
|
||||||
|
- **Khoj Emacs**:<br />
|
||||||
|
[Install](https://github.com/debanjum/khoj/tree/master/src/interface/emacs#2-Install-Khojel) khoj.el
|
||||||
|
|
||||||
|
## Use
|
||||||
|
### Khoj Search
|
||||||
- **Khoj via Obsidian**
|
- **Khoj via Obsidian**
|
||||||
- [Install](https://github.com/debanjum/khoj/tree/master/src/interface/obsidian#2-Setup-Plugin) the Khoj Obsidian plugin
|
|
||||||
- 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)
|
- 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)
|
||||||
- **Khoj via Emacs**
|
- **Khoj via Emacs**
|
||||||
- [Install](https://github.com/debanjum/khoj/tree/master/src/interface/emacs#installation) [khoj.el](./src/interface/emacs/khoj.el)
|
|
||||||
- Run `M-x khoj <user-query>`
|
- Run `M-x khoj <user-query>`
|
||||||
- **Khoj via Web**
|
- **Khoj via Web**
|
||||||
- Open <http://localhost:8000/> via desktop interface or directly
|
- Open <http://localhost:8000/> via desktop interface or directly
|
||||||
- **Khoj via API**
|
- **Khoj via API**
|
||||||
- See the Khoj FastAPI [Swagger Docs](http://localhost:8000/docs), [ReDocs](http://localhost:8000/redocs)
|
- See the Khoj FastAPI [Swagger Docs](http://localhost:8000/docs), [ReDocs](http://localhost:8000/redocs)
|
||||||
|
|
||||||
### Query Filters
|
<details><summary>Query Filters</summary>
|
||||||
|
|
||||||
Use structured query syntax to filter the natural language search results
|
Use structured query syntax to filter the natural language search results
|
||||||
- **Word Filter**: Get entries that include/exclude a specified term
|
- **Word Filter**: Get entries that include/exclude a specified term
|
||||||
- Entries that contain term_to_include: `+"term_to_include"`
|
- Entries that contain term_to_include: `+"term_to_include"`
|
||||||
|
@ -164,6 +172,30 @@ Use structured query syntax to filter the natural language search results
|
||||||
- excluding words *"big"* and *"brother"*
|
- excluding words *"big"* and *"brother"*
|
||||||
- that best match the natural language query *"what is the meaning of life?"*
|
- that best match the natural language query *"what is the meaning of life?"*
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
### Khoj Chat
|
||||||
|
#### Overview
|
||||||
|
- Creates a personal assistant for you to inquire and engage with your notes
|
||||||
|
- Uses [ChatGPT](https://openai.com/blog/chatgpt) and [Khoj search](#khoj-search)
|
||||||
|
- Supports multi-turn conversations with the relevant notes for context
|
||||||
|
- Shows reference notes used to generate a response
|
||||||
|
- **Note**: *Your query and top notes from khoj search will be sent to OpenAI for processing*
|
||||||
|
|
||||||
|
#### Setup
|
||||||
|
- [Setup your OpenAI API key in Khoj](#set-your-openai-api-key-in-khoj)
|
||||||
|
|
||||||
|
#### Use
|
||||||
|
1. Open [/chat](http://localhost:8000/chat)[^2]
|
||||||
|
2. Type your queries and see response by Khoj from your notes
|
||||||
|
|
||||||
|
#### Demo
|
||||||
|
![](https://github.com/debanjum/khoj/blob/master/docs/khoj_chat_web_interface.png?)
|
||||||
|
|
||||||
|
### Details
|
||||||
|
1. Your query is used to retrieve the most relevant notes, if any, using Khoj search
|
||||||
|
2. These notes, the last few messages and associated metadata is passed to ChatGPT along with your query for a response
|
||||||
|
|
||||||
## Upgrade
|
## Upgrade
|
||||||
### Upgrade Khoj Server
|
### Upgrade Khoj Server
|
||||||
```shell
|
```shell
|
||||||
|
@ -223,23 +255,6 @@ pip install --upgrade --pre khoj-assistant
|
||||||
|
|
||||||
![](https://github.com/debanjum/khoj/blob/master/docs/khoj_pwa_android.png?)
|
![](https://github.com/debanjum/khoj/blob/master/docs/khoj_pwa_android.png?)
|
||||||
|
|
||||||
### Chat with Notes
|
|
||||||
#### Overview
|
|
||||||
- Provides a chat interface to inquire and engage with your notes
|
|
||||||
- Chat Types:
|
|
||||||
- **Summarize**: Pulls the most relevant note from your notes and summarizes it
|
|
||||||
- **Chat**: Also does general chat. It guesses whether to give a general response or search, summarizes from your note. <br />
|
|
||||||
E.g *"how was your day?"* will give a general response. But *When did I go surfing?* should give a response from your notes
|
|
||||||
- **Note**: *Your query and top note from search result will be sent to OpenAI for processing*
|
|
||||||
|
|
||||||
#### Use
|
|
||||||
1. [Setup your OpenAI API key in Khoj](#set-your-openai-api-key-in-khoj)
|
|
||||||
2. Open [/chat?t=summarize](http://localhost:8000/chat?t=summarize)[^2]
|
|
||||||
3. Type your queries, see summarized response by Khoj from your notes
|
|
||||||
|
|
||||||
#### Demo
|
|
||||||
![](https://github.com/debanjum/khoj/blob/master/docs/khoj_chat_web_interface.png?)
|
|
||||||
|
|
||||||
### Use OpenAI Models for Search
|
### Use OpenAI Models for Search
|
||||||
#### Setup
|
#### Setup
|
||||||
1. Set `encoder-type`, `encoder` and `model-directory` under `asymmetric` and/or `symmetric` `search-type` in your `khoj.yml`[^1]:
|
1. Set `encoder-type`, `encoder` and `model-directory` under `asymmetric` and/or `symmetric` `search-type` in your `khoj.yml`[^1]:
|
||||||
|
@ -282,7 +297,7 @@ pip install --upgrade --pre khoj-assistant
|
||||||
If you want, Khoj can be configured to use OpenAI for search and chat.<br />
|
If you want, Khoj can be configured to use OpenAI for search and chat.<br />
|
||||||
Add your OpenAI API to Khoj by using either of the two options below:
|
Add your OpenAI API to Khoj by using either of the two options below:
|
||||||
- Open the Khoj desktop GUI, add your [OpenAI API key](https://beta.openai.com/account/api-keys) and click *Configure*
|
- Open the Khoj desktop GUI, add your [OpenAI API key](https://beta.openai.com/account/api-keys) and click *Configure*
|
||||||
Ensure khoj is started without the `--no-gui` flag. Check your system tray to see if Khoj 🦅 is minimized there.
|
Ensure khoj is started **without** the `--no-gui` flag. Check your system tray to see if Khoj 🦅 is minimized there.
|
||||||
- Set `openai-api-key` field under `processor.conversation` section in your `khoj.yml`[^1] to your [OpenAI API key](https://beta.openai.com/account/api-keys) and restart khoj:
|
- Set `openai-api-key` field under `processor.conversation` section in your `khoj.yml`[^1] to your [OpenAI API key](https://beta.openai.com/account/api-keys) and restart khoj:
|
||||||
```diff
|
```diff
|
||||||
processor:
|
processor:
|
||||||
|
@ -293,10 +308,10 @@ Add your OpenAI API to Khoj by using either of the two options below:
|
||||||
conversation-logfile: "~/.khoj/processor/conversation/conversation_logs.json"
|
conversation-logfile: "~/.khoj/processor/conversation/conversation_logs.json"
|
||||||
```
|
```
|
||||||
|
|
||||||
**Warning**: *This will enable khoj to send your query and note(s) to OpenAI for processing*
|
**Warning**: *This will enable Khoj to send your query and note(s) to OpenAI for processing*
|
||||||
|
|
||||||
### Beta API
|
### GPT API
|
||||||
- The beta [chat](http://localhost:8000/api/beta/chat), [summarize](http://localhost:8000/api/beta/summarize) and [search](http://localhost:8000/api/beta/search) API endpoints use [OpenAI API](https://openai.com/api/)
|
- The [chat](http://localhost:8000/api/chat), [answer](http://localhost:8000/api/beta/answer) and [search](http://localhost:8000/api/beta/search) API endpoints use [OpenAI API](https://openai.com/api/)
|
||||||
- They are disabled by default
|
- They are disabled by default
|
||||||
- To use them:
|
- To use them:
|
||||||
1. [Setup your OpenAI API key in Khoj](#set-your-openai-api-key-in-khoj)
|
1. [Setup your OpenAI API key in Khoj](#set-your-openai-api-key-in-khoj)
|
||||||
|
|
Loading…
Reference in a new issue