A simple matrix bot that supports chatting with ChatGPT, Bing AI, Google Bard
Go to file
BobMaster 3342f5107f
Merge pull request #4 from hibobmaster/dev
Add Google's Bard Chat
2023-04-13 23:23:30 +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 Add Google's Bard Chat 2023-04-13 23:22:24 +08:00
.gitignore Support markdown message for better display code 2023-04-11 13:41:26 +08:00
askgpt.py Chore: close session when exit 2023-04-13 21:31:11 +08:00
bard.py Add Google's Bard Chat 2023-04-13 23:22:24 +08:00
bing.py Chore: close session when exit 2023-04-13 21:31:11 +08:00
BingImageGen.py Add Google's Bard Chat 2023-04-13 23:22:24 +08:00
bot.py Add Google's Bard Chat 2023-04-13 23:22:24 +08:00
compose.yaml refactor code 2023-04-10 10:52:18 +08:00
config.json.sample Add Google's Bard Chat 2023-04-13 23:22:24 +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 format code 2023-04-11 13:42:43 +08:00
main.py Add Google's Bard Chat 2023-04-13 23:22:24 +08:00
README.md Update README.md 2023-04-12 11:50:52 +08:00
requirements.txt Support E2E encrypted room 2023-04-10 19:37:43 +08:00
send_image.py improve error handle 2023-04-13 13:41:47 +08:00
send_message.py Support markdown message for better display code 2023-04-11 13:41:26 +08:00
v3.py Add Google's Bard Chat 2023-04-13 23:22:24 +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. 2023-04-11_14-18 demo

Feature

  1. Support openai and Bing AI
  2. Support Bing Image Creator
  3. Support E2E Encrypted Room
  4. Colorful code blocks

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

Normal Method:
  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 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 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?
  • !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/hibobmaster/matrix_chatgpt_bot/wiki/