A simple matrix bot that supports chatting with ChatGPT, Bing AI, Google Bard
Go to file
2023-04-11 10:54:59 +08:00
.github/workflows fix action 2023-04-11 10:03:56 +08:00
.vscode refactor code 2023-04-10 10:52:18 +08:00
.dockerignore refactor code 2023-04-10 10:52:18 +08:00
.env.example improve config sample 2023-04-11 10:54:59 +08:00
.gitignore Chore: better error handle 2023-04-10 21:00:22 +08:00
askgpt.py Support E2E encrypted room 2023-04-10 19:37:43 +08:00
bing.py Support E2E encrypted room 2023-04-10 19:37:43 +08:00
BingImageGen.py Chore: fix interactive verification not work in container environment 2023-04-11 01:13:20 +08:00
bot.py remove reply quote to provide raw message 2023-04-11 01:30:24 +08:00
compose.yaml refactor code 2023-04-10 10:52:18 +08:00
config.json.sample improve config sample 2023-04-11 10:54:59 +08:00
Dockerfile fix action 2023-04-11 10:03:56 +08:00
LICENSE Create LICENSE 2023-04-11 08:48:02 +08:00
log.py Support E2E encrypted room 2023-04-10 19:37:43 +08:00
main.py improve config sample 2023-04-11 10:54:59 +08:00
README.md feat: support reading config from environment variables 2023-04-10 21:40:39 +08:00
requirements.txt Support E2E encrypted room 2023-04-10 19:37:43 +08:00
send_image.py Add Image Generation by Microsoft Bing 2023-03-22 22:28:22 +08:00
send_message.py Support E2E encrypted room 2023-04-10 19:37:43 +08:00
v3.py refactor code 2023-04-10 10:52:18 +08:00

Introduction

This is a simple Matrix bot that uses OpenAI's GPT API and Bing AI to generate responses to user inputs. The bot responds to four types of prompts: !gpt, !chat and !bing and !pic depending on the first word of the prompt. demo

Feature

  1. Support openai and Bing AI
  2. Support Bing Image Creator
  3. Support E2E Encrypted Room

Installation and Setup

Docker method(Recommended):
Edit config.json or .env with proper values
Create an empty file, for persist database only

touch db
sudo docker compose up -d

To run this application, follow the steps below:

  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 -r requirements.txt
  1. Create a new config.json file and fill 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
    api_key: !chat command will not work
    bing_api_endpoint: !bing 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",
    "api_key": "YOUR_API_KEY",
    "access_token": "xxxxxxxxxxxxxx",
    "bing_api_endpoint": "xxxxxxxxx",
    "bing_auth_cookie": "xxxxxxxxxx"
}
  1. Start the bot:
python 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:

  • !gpt To generate a response using free_endpoint API:
!gpt What is the meaning of life?
  • !chat To chat using official api with context conversation
!chat Can you tell me a joke?
  • !bing To chat with Bing AI with context conversation
!bing Do you know Victor Marie Hugo?
  • !pic To generate an image from Microsoft Bing
!pic A bridal bouquet made of succulents

Bing AI and Image Generation

https://github.com/waylaidwanderer/node-chatgpt-api
https://github.com/hibobmaster/matrix_chatgpt_bot/wiki/Bing-AI
https://github.com/acheong08/EdgeGPT/blob/master/src/ImageGen.py