Skip to content

A simple matrix bot that supports chatting with ChatGPT, Bing AI, Google Bard

License

Notifications You must be signed in to change notification settings

jaodei/matrix_bots

 
 

Repository files navigation

Introduction

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. Bing image ChatGPT

Feature

  1. Support Openai ChatGPT and Bing AI and Google Bard
  2. Support Bing Image Creator
  3. Support E2E Encrypted Room
  4. Colorful code blocks
  5. Langchain(Flowise)
  6. ChatGPT Web (pandora)
  7. Session isolation support(!chat,!bing,!bard,!talk)

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 an empty file, for persist database only

touch 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 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
    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"
}
  1. Start 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?
  • !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

Bing AI and 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.

About

A simple matrix bot that supports chatting with ChatGPT, Bing AI, Google Bard

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.3%
  • Dockerfile 0.7%