Skip to content

Commit

Permalink
version 1.8.9
Browse files Browse the repository at this point in the history
  • Loading branch information
longy2k committed Mar 4, 2024
1 parent c21b988 commit 4a617b0
Show file tree
Hide file tree
Showing 4 changed files with 68 additions and 54 deletions.
116 changes: 65 additions & 51 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,43 +1,50 @@
# BMO Chatbot for Obsidian
Generate and brainstorm ideas while creating your notes using Large Language Models (LLMs) such as Ollama, LM Studio, OpenAI's ChatGPT, Mistral AI, and more for Obsidian.

Generate and brainstorm ideas while creating your notes using Large Language Models (LLMs) from Ollama, LM Studio, Anthropic, OpenAI, Mistral AI, and more for Obsidian.

![Screenshot-1](README_images/Screenshot-1.png)

<p align="center">
<img src="README_images/Screenshot-2.png" alt="Description of image">
</p>

## Features
- **Interact with self-hosted Large Language Models (LLMs):** Use the REST API URLs provided to interact with self-hosted Large Language Models (LLMs) using [Ollama](https://ollama.ai) or [LM Studio](https://lmstudio.ai/).
- **Chat from anywhere in Obsidian:** Chat with your bot from anywhere within Obsidian.
- **Chat with current note:** Use your chatbot to reference and engage within your current note.
- **Chatbot responds in Markdown:** Receive formatted responses in Markdown for consistency.
- **Customizable bot name:** Personalize the chatbot's name.
- **System role prompt:** Configure the chatbot to prompt for user roles before responding to messages.
- **Custom prompts in Markdown:** Create custom prompts in Markdown to interact with your models.
- **Prompt Select Generate:** Prompt, select, and generate within your editor.
- **Save current chat history as markdown:** Use the `/save` command in chat to save current conversation.

- **Interact with self-hosted Large Language Models (LLMs):** Use the REST API URLs provided to interact with self-hosted Large Language Models (LLMs) using [Ollama](https://ollama.ai) or [LM Studio](https://lmstudio.ai/).
- **Chat from anywhere in Obsidian:** Chat with your bot from anywhere within Obsidian.
- **Chat with current note:** Use your chatbot to reference and engage within your current note.
- **Chatbot renders in Obsidian Markdown:** Receive formatted responses in Obsidian Markdown for consistency.
- **Customizable bot name:** Personalize the chatbot's name.
- **System role prompt:** Configure the chatbot to prompt for user roles before responding to messages.
- **Custom prompts:** Create custom prompts to interact with your models.
- **Prompt Select Generate:** Prompt, select, and generate within your editor.
- **Save current chat history as markdown:** Use the `/save` command in chat to save current conversation.

## Requirements
To use this plugin, you'll need an OpenAI account with API access. If you don't have an account yet, you can sign up for one on the [OpenAI website](https://platform.openai.com/overview).

Additionally, if you want to interact with self-hosted Large Language Models (LLMs) using [Ollama](https://ollama.ai) or [LM Studio](https://lmstudio.ai/), you will need to have the self-hosted API set up and running. You can follow the instructions provided by the self-hosted API provider to get it up and running. Once you have the REST API URL for your self-hosted API, you can use it with this plugin to interact with your models.
If you want to interact with self-hosted Large Language Models (LLMs) using [Ollama](https://ollama.ai) or [LM Studio](https://lmstudio.ai/), you will need to have the self-hosted API set up and running. You can follow the instructions provided by the self-hosted API provider to get it up and running. Once you have the REST API URL for your self-hosted API, you can use it with this plugin to interact with your models.

Access to other models may require an API key.

Please see [instructions](https://github.com/longy2k/obsidian-bmo-chatbot/wiki) to setup with other LLMs providers.

Explore some models at [GPT4ALL](https://gpt4all.io/index.html) under the "Model Explorer" section or [Ollama's Library](https://ollama.ai/library).

## How to activate the plugin

Three methods:

Obsidian Community plugins (**Recommended**):
1. Search for "BMO Chatbot" in the Obsidian Community plugins.
2. Enable "BMO Chatbot" in the settings.

1. Search for "BMO Chatbot" in the Obsidian Community plugins.
2. Enable "BMO Chatbot" in the settings.

To activate the plugin from this repo:
1. Navigate to the plugin's folder in your terminal.
2. Run `npm install` to install any necessary dependencies for the plugin.
3. Once the dependencies have been installed, run `npm run build` to build the plugin.
4. Once the plugin has been built, it should be ready to activate.

1. Navigate to the plugin's folder in your terminal.
2. Run `npm install` to install any necessary dependencies for the plugin.
3. Once the dependencies have been installed, run `npm run build` to build the plugin.
4. Once the plugin has been built, it should be ready to activate.

Install using Beta Reviewers Auto-update Tester ([BRAT](https://github.com/TfTHacker/obsidian42-brat)) - [Quick guide for using BRAT](https://tfthacker.com/Obsidian+Plugins+by+TfTHacker/BRAT+-+Beta+Reviewer's+Auto-update+Tool/Quick+guide+for+using+BRAT)

Expand All @@ -50,49 +57,56 @@ Install using Beta Reviewers Auto-update Tester ([BRAT](https://github.com/TfTHa
7. Find the beta plugin you just installed and enable it.

## Getting Started

To start using the plugin, enable it in your settings menu and enter your OpenAI API key. After completing these steps, you can access the bot panel by clicking on the bot icon in the left sidebar.

## Commands
- `/help` - Show help commands.
- `/model` - List or change model.
- `/model 1` or `/model "gpt-3.5-turbo"`
- `/model 2` or `/model "gpt-3.5-turbo-1106"`
- ...
- `/prompt` - List or change prompt.
- `/prompt 1` or `/prompt "[PROMPT-NAME]"`
- `/prompt clear` or `/prompt c` - Clear prompt.
- `/system` - Change system prompt.
- `/system "WRITE IN ALL CAPS!"`
- `/maxtokens [VALUE]` - Set max tokens.
- `/temp [VALUE]` - Change temperature range from 0 to 1.
- `/ref on | off` - Turn on or off reference current note.
- `/append` - Append current chat history to current active note.
- `/save` - Save current chat history to a note.
- `/clear` or `/c` - Clear chat history.
- `/stop` or `/s` - Stop fetching response.

- `/help` - Show help commands.
- `/model` - List or change model.
- `/model 1` or `/model "llama2"`
- `/model 2` or `/model "gpt-3.5-turbo"`
- ...
- `/prompt` - List or change prompt.
- `/prompt 1` or `/prompt "[PROMPT-NAME]"`
- `/prompt clear` or `/prompt c` - Clear prompt.
- `/system` - Change system prompt.
- `/system "WRITE IN ALL CAPS!"`
- `/maxtokens [VALUE]` - Set max tokens.
- `/temp [VALUE]` - Change temperature range from 0 to 1.
- `/ref on | off` - Turn on or off reference current note.
- `/append` - Append current chat history to current active note.
- `/save` - Save current chat history to a note.
- `/clear` or `/c` - Clear chat history.
- `/stop` or `/s` - Stop fetching response.

## Supported Models
- Any self-hosted models using [Ollama](https://ollama.ai).
- See [instructions](https://github.com/longy2k/obsidian-bmo-chatbot/wiki) to setup Ollama with Obsidian.
- Any self-hosted models using OpenAI's REST API URL endpoints.
- [LM Studio](https://lmstudio.ai/)
- [LocalAI](https://github.com/mudler/LocalAI)
- OpenAI
- gpt-3.5-turbo
- gpt-3.5-turbo-1106
- gpt-4 (Context window: 8,192 tokens)
- gpt-4-turbo-preview (Context window: 128,000 tokens)
- Mistral AI's models
- Google Gemini Pro
- Anthropic (Low Support: I no longer have access to the API.)
- claude-instant-1.2
- claude-2.0
- claude-2.1

- Any self-hosted models using [Ollama](https://ollama.ai).
- See [instructions](https://github.com/longy2k/obsidian-bmo-chatbot/wiki) to setup Ollama with Obsidian.
- Any self-hosted models using OpenAI's REST API URL endpoints.
- [LM Studio](https://lmstudio.ai/)
- [LocalAI](https://github.com/mudler/LocalAI)
- Anthropic
- claude-instant-1.2
- claude-2.0
- claude-2.1
- claude-3-sonnet-20240229
- claude-3-opus-20240229
- Mistral AI's models
- Google Gemini Pro
- OpenAI
- gpt-3.5-turbo
- gpt-3.5-turbo-1106
- gpt-4 (Context window: 8,192 tokens)
- gpt-4-turbo-preview (Context window: 128,000 tokens)

## Other Notes

"BMO" is a tag name for this project, inspired by the character BMO from the animated TV show "Adventure Time."

## Contributing

Any ideas or support is highly appreciated :)

If you have any bugs, improvements, or questions please create an issue or discussion!
Expand Down
2 changes: 1 addition & 1 deletion manifest.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"id": "bmo-chatbot",
"name": "BMO Chatbot",
"version": "1.8.8",
"version": "1.8.9",
"minAppVersion": "1.0.0",
"description": "Generate and brainstorm ideas while creating your notes using Large Language Models (LLMs) such as OpenAI's \"gpt-3.5-turbo\" and \"gpt-4.\"",
"author": "Longy2k",
Expand Down
2 changes: 1 addition & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "bmo-chatbot",
"version": "1.8.8",
"version": "1.8.9",
"description": "Generate and brainstorm ideas while creating your notes using Large Language Models (LLMs) such as OpenAI's \"gpt-3.5-turbo\" and \"gpt-4.\"",
"main": "main.js",
"scripts": {
Expand Down

0 comments on commit 4a617b0

Please sign in to comment.