ollamarama-matrix-chatbot/README.md

85 lines
2.4 KiB
Markdown
Raw Normal View History

2023-12-15 05:55:33 +00:00
# ollamarama-matrix
Ollamarama is an AI chatbot for the [Matrix](https://matrix.org/) chat protocol using Ollama. It can roleplay as almost anything you can think of. You can set any default personality you would like. It can be changed at any time, and each user has their own separate chat history with their chosen personality setting. Users can interact with each others chat histories for collaboration if they would like, but otherwise, conversations are separated, per channel, per user.
2023-12-15 06:32:52 +00:00
2024-03-15 03:01:14 +00:00
This is based on my earlier project, [infinigpt-matrix](https://github.com/h1ddenpr0cess20/infinigpt-matrix), which uses OpenAI and costs money to use. (Now updated with OpenAI/Ollama model switching)
2023-12-15 05:58:10 +00:00
2023-12-23 05:10:03 +00:00
IRC version available at [ollamarama-irc](https://github.com/h1ddenpr0cess20/ollamarama-irc)
Terminal-based version at [ollamarama](https://github.com/h1ddenpr0cess20/ollamarama)
2023-12-15 05:58:10 +00:00
2023-12-15 06:15:11 +00:00
## Setup
Install and familiarize yourself with [Ollama](https://ollama.ai/), make sure you can run local LLMs, etc.
2023-12-15 06:15:11 +00:00
2024-03-15 03:01:14 +00:00
You can install and update it with this command:
2023-12-15 06:15:11 +00:00
```
curl https://ollama.ai/install.sh | sh
```
2023-12-21 02:48:51 +00:00
Once it's all set up, you'll need to [download the models](https://ollama.ai/library) you want to use. You can play with the available ones and see what works best for you. Add those to the config.json file. If you want to use the ones I've included, just run ollama pull _modelname_ for each.
2023-12-21 02:48:51 +00:00
2023-12-15 06:15:11 +00:00
You'll also need to install matrix-nio
2023-12-15 06:15:11 +00:00
```
pip3 install matrix-nio
2023-12-15 06:15:11 +00:00
```
Set up a [Matrix account](https://app.element.io/) for your bot. You'll need the server, username and password.
2024-08-22 05:57:41 +00:00
Add those to the config.json file.
2023-12-15 06:15:11 +00:00
```
python3 ollamarama.py
2023-12-15 06:15:11 +00:00
```
## Use
2024-08-22 05:57:41 +00:00
**.ai _message_** or **botname: _message_**
2024-08-24 23:33:35 +00:00
2024-08-22 05:57:41 +00:00
 Basic usage.
2024-08-24 23:33:35 +00:00
2024-08-22 05:57:41 +00:00
**.x _user_ _message_**
2024-08-24 23:33:35 +00:00
2024-08-22 05:57:41 +00:00
 This allows you to talk to another user's chat history.
2024-08-24 23:33:35 +00:00
2024-08-22 05:57:41 +00:00
 _user_ is the display name of the user whose history you want to use
2024-08-24 23:33:35 +00:00
2024-08-22 05:57:41 +00:00
2023-12-15 06:15:11 +00:00
**.persona _personality_**
2024-08-24 23:33:35 +00:00
2024-08-22 05:57:41 +00:00
 Changes the personality. It can be a character, personality type, object, idea, whatever. Use your imagination.
2023-12-15 06:15:11 +00:00
2024-08-24 23:33:35 +00:00
2023-12-15 06:15:11 +00:00
**.custom _prompt_**
2024-08-24 23:33:35 +00:00
2024-08-22 05:57:41 +00:00
 Allows use of a custom system prompt instead of the roleplaying prompt
2023-12-15 06:15:11 +00:00
**.reset**
2024-08-24 23:33:35 +00:00
2024-08-22 05:57:41 +00:00
 Clear history and reset to preset personality
2024-08-24 23:33:35 +00:00
2023-12-15 06:15:11 +00:00
**.stock**
2024-08-24 23:33:35 +00:00
2024-08-22 05:57:41 +00:00
 Clear history and use without a system prompt
2023-12-21 02:48:51 +00:00
2024-08-24 23:33:35 +00:00
2024-08-22 05:57:41 +00:00
**Admin only commands**
2024-08-24 23:33:35 +00:00
2024-08-22 05:57:41 +00:00
**.model _model_**
2024-08-24 23:33:35 +00:00
2024-08-22 05:57:41 +00:00
 Omit model name to show current model and available models
2024-08-24 23:33:35 +00:00
2024-08-22 05:57:41 +00:00
 Include model name to change model
2024-08-24 23:33:35 +00:00
2023-12-21 02:48:51 +00:00
**.clear**
2024-08-24 23:33:35 +00:00
2024-08-22 05:57:41 +00:00
 Reset bot for everyone
2024-08-24 23:33:35 +00:00
2024-07-31 01:09:41 +00:00