A simple matrix bot that supports chatting with ChatGPT, Bing AI, Google Bard
Go to file
2023-09-13 14:36:35 +08:00
.github Introduce pre-commit-hooks 2023-09-13 14:36:35 +08:00
src Introduce pre-commit-hooks 2023-09-13 14:36:35 +08:00
.dockerignore Update .dockerignore 2023-05-05 07:31:21 +08:00
.env.example Introduce pre-commit-hooks 2023-09-13 14:36:35 +08:00
.gitignore Support markdown message for better display code 2023-04-11 13:41:26 +08:00
.pre-commit-config.yaml Introduce pre-commit-hooks 2023-09-13 14:36:35 +08:00
CHANGELOG.md v1.2.0 2023-06-05 12:33:42 +08:00
compose.yaml v1.2.0 2023-06-05 12:33:42 +08:00
config.json.sample v1.2.0 2023-06-05 12:33:42 +08:00
Dockerfile v1.2.0 2023-06-05 12:33:42 +08:00
LICENSE Create LICENSE 2023-04-11 08:48:02 +08:00
README.md Introduce pre-commit-hooks 2023-09-13 14:36:35 +08:00
requirements.txt Introduce pre-commit-hooks 2023-09-13 14:36:35 +08:00
settings.js.example Introduce pre-commit-hooks 2023-09-13 14:36:35 +08:00

Introduction

This is a simple Matrix bot that support using OpenAI API, Langchain to generate responses from user inputs. The bot responds to these commands: !gpt, !chat and !pic and !talk, !goon, !new and !lc and !help depending on the first word of the prompt. ChatGPT

Feature

  1. Support official openai api and self host models(LocalAI)
  2. Support E2E Encrypted Room
  3. Colorful code blocks
  4. Langchain(Flowise)

Installation and Setup

Docker method(Recommended):
Edit config.json or .env with proper values
For explainations and complete parameter list see: https://github.com/hibobmaster/matrix_chatgpt_bot/wiki
Create two empty file, for persist database only

touch sync_db manage_db
sudo docker compose up -d

Normal Method:
system dependece: libolm-dev
  1. Clone the repository and create virtual environment:
git clone https://github.com/hibobmaster/matrix_chatgpt_bot.git

python -m venv venv
source venv/bin/activate
  1. Install the required dependencies:
pip install -U pip setuptools wheel
pip install -r requirements.txt
  1. Create a new config.json file and complete it with the necessary information:
    Use password to login(recommended) or provide access_token
    If not set:
    room_id: bot will work in the room where it is in
    openai_api_key: !gpt !chat command will not work
    api_endpoint: !bing !chat command will not work
    bing_auth_cookie: !pic command will not work
{
  "homeserver": "YOUR_HOMESERVER",
  "user_id": "YOUR_USER_ID",
  "password": "YOUR_PASSWORD",
  "device_id": "YOUR_DEVICE_ID",
  "room_id": "YOUR_ROOM_ID",
  "openai_api_key": "YOUR_API_KEY",
  "api_endpoint": "xxxxxxxxx"
}
  1. Launch the bot:
python src/main.py

Usage

To interact with the bot, simply send a message to the bot in the Matrix room with one of the two prompts:

  • !help help message

  • !gpt To generate a one time response:

!gpt What is the meaning of life?
  • !chat To chat using official api with context conversation
!chat Can you tell me a joke?
  • !lc To chat using langchain api endpoint
!lc All the world is a stage
  • !pic To generate an image using openai DALL·E or LocalAI
!pic A bridal bouquet made of succulents
  • !new + {chat} Start a new converstaion

Image Generation

https://github.com/hibobmaster/matrix_chatgpt_bot/wiki/

Thanks

  1. matrix-nio
  2. acheong08
  3. node-chatgpt-api
  4. 8go
JetBrains Logo (Main) logo.