User Guide

gpt-cotts is built with the goal to extend a brain. 'notes' is the page for saving the notes, ideas and thoughts the LLM should have access to. Currently, this is a simple wrapper around multiple LLMs. See the models section for more information on the models we have access to.

This tool does not have custom prompts. This comes from the opinion that most users don't want to mess around with custom prompts, and we can hide that complexity behind knobs, dials & buttons. This is also more intuitive to use, and it relates more to traditional internet browsing.

Models

Use the "expertise" slider to adjust how the AI models respond to your prompts.

GPT Models

OpenAI's GPT series, including GPT-4o-mini and the more advanced GPT-4o

Deepseek Chat V2.5

Deepseek Chat V2.5 is more advanced combination of DeepseekChat & DeepseekCoder. This means that it is a little better than the other models at coding specific tasks.

Claude

Anthropic's Claude models, including Claude 3 Haiku and Claude 3.5 Sonnet (the most capable and default model)

Keep a eye on my X profile for my opinions on the models and their capabilities.

RAG (Retrieval Augmented Generation)

We currently have a vanilla RAG setup, with query rewriting, embedding, retrieval and reranking performed before sending the retrieve content to the language model. RAG enhances our models by allowing them to access information from your personal notes. Click "query over your notes" to leverage this feature (You can also press Alt+r).

For advanced users:

Adjust the reranker option if you feel the model isn't retrieving the most relevant information from your notes.

Notes

The notes section is your personal knowledge base. Store information here that you want our AI models to access and utilize in their responses.

Adding Notes

To add notes to an existing 'class' select the class from the dropdown and click edit. To add a new class, click the 'Add Class' button and enter the class name.

Editing Notes

To edit notes, click the 'Edit' button next to the class you want to edit. You can add, delete, or modify notes in the editor.

Notes Format

The format of the notes has been optimised for high quality retrieval and answers. Therefore, it is recommended to follow to use headings ('#' of varying lengths) to separate the sections which will be used for retrieval. For example, a note titled 'Neovim' could look like this:

## What is Neovim?
Neovim is a highly configurable, next-generation text editor. It is a fork of Vim, with a focus on extensibility and usability.
## Keybindings
- `:w` - write the file
### Custom Keybindings
I have set up 'jk' to exit insert mode and return to normal mode.
## Plugins
...

Ensure that you don't use a single '#' as a heading, as it is used for the title of the note. Other than that, any markdown is valid, including code and math blocks.

Rubberduck Mode

The RubberDuck mode is a feature I added for when I'm programming. It comes from when my A-Level CS teacher gave me a Rubber duck to talk to as debugging tool. In this mode, the AI will never solve problems or provide answers. However, it will try to guide you towards things you potentially haven't thought of. I'd recommended trying out this mode while you're programming as well.

tldraw

This tool also has a tldraw integration because I think it's cool. In the future, a teach.tldraw-like functionality will be added, as I find that super cool.