This is a simple Matrix bot that uses OpenAI's GPT API and Bing AI and Google Bard to generate responses to user inputs. The bot responds to these commands: !gpt
, !chat
and !bing
and !pic
and !bard
and !talk
, !goon
, !new
and !lc
and !help
depending on the first word of the prompt.
- Support Openai ChatGPT and Bing AI and Google Bard
- Support Bing Image Creator
- Support E2E Encrypted Room
- Colorful code blocks
- Langchain(Flowise)
- ChatGPT Web (pandora)
- Session isolation support(
!chat
,!bing
,!bard
,!talk
)
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 an empty file, for persist database only
touch db
sudo docker compose up -d
Normal Method:
system dependece:
libolm-dev
- 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
- Install the required dependencies:
pip install -U pip setuptools wheel
pip install -r requirements.txt
- Create a new config.json file and fill it with the necessary information:
Use password to login(recommended) or provideaccess_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",
"access_token": "xxxxxxxxxxxxxx",
"api_endpoint": "xxxxxxxxx",
"bing_auth_cookie": "xxxxxxxxxx"
}
- Start the bot:
python src/main.py
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?
!bing
To chat with Bing AI with context conversation
!bing Do you know Victor Marie Hugo?
!bard
To chat with Google's Bard
!bard Building a website can be done in 10 simple steps
!lc
To chat using langchain api endpoint
!lc 人生如音乐,欢乐且自由
!pic
To generate an image from Microsoft Bing
!pic A bridal bouquet made of succulents
!new + {chat,bing,bard,talk}
Start a new converstaion
The following commands need pandora http api: https://github.com/pengzhile/pandora/blob/master/doc/wiki_en.md#http-restful-api
!talk + [prompt]
Chat using chatGPT web with context conversation!goon
Ask chatGPT to complete the missing part from previous conversation
https://github.com/hibobmaster/matrix_chatgpt_bot/wiki/