khoj/docs/chat.md
Debanjum Singh Solanky 35b469e488 Simplify setup, features since Khoj cloud in docs
- No Khoj server setup required to start using Khoj from Obsidian, Emacs
- Use tabs for install, upgrade in Emacs with different package
  managers
- Use default subtitles in Khoj Docs
- Deduplicate query filters, remove backend setup instructions in
  plugin pages
- Remove stale Setup demo on Khoj Obsidian plugin docs
2023-11-18 17:25:52 -08:00

3.6 KiB

Khoj Chat

Overview

  • Creates a personal assistant for you to inquire and engage with your notes
  • You can choose to use Online or Offline Chat depending on your requirements
  • Supports multi-turn conversations with the relevant notes for context
  • Shows reference notes used to generate a response

Setup (Self-Hosting)

Offline Chat

Offline chat stays completely private and works without internet using open-source models.

System Requirements:

  1. Open your Khoj offline settings and click Enable on the Offline Chat configuration.
  2. Open your Chat model options and add a new option for the offline chat model you want to use. Make sure to use Offline as its type. We currently only support offline models that use the Llama chat prompt format. We recommend using mistral-7b-instruct-v0.1.Q4_0.gguf.

!> Note: Offline chat is not supported for a multi-user scenario. The host machine will encounter segmentation faults if multiple users try to use offline chat at the same time.

Online Chat

Online chat requires internet to use ChatGPT but is faster, higher quality and less compute intensive.

!> Warning: This will enable Khoj to send your chat queries and query relevant notes to OpenAI for processing

  1. Get your OpenAI API Key
  2. Open your Khoj Online Chat settings. Add a new setting with your OpenAI API key, and click Save. Only one configuration will be used, so make sure that's the only one you have.
  3. Open your Chat model options and add a new option for the OpenAI chat model you want to use. Make sure to use OpenAI as its type.

Use

  1. Open Khoj Chat
    • On Web: Open /chat in your web browser
    • On Obsidian: Search for Khoj: Chat in the Command Palette
    • On Emacs: Run M-x khoj <user-query>
  2. Enter your queries to chat with Khoj. Use slash commands and query filters to change what Khoj uses to respond

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 the enabled chat model along with your query to generate a response

Commands

Slash commands allows you to change what Khoj uses to respond to your query

  • /notes: Limit chat to only respond using your notes, not just Khoj's general world knowledge as reference
  • /general: Limit chat to only respond using Khoj's general world knowledge, not using your notes as reference
  • /default: Allow chat to respond using your notes or it's general knowledge as reference. It's the default behavior when no slash command is used
  • /help: Use /help to get all available commands and general information about Khoj