matrix_chatgpt_bot/README.md

72 lines
2.2 KiB
Markdown
Raw Normal View History

2023-03-05 14:07:25 +00:00
## Introduction
2023-03-22 14:41:01 +00:00
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-03-05 14:07:25 +00:00
![demo](https://i.imgur.com/kK4rnPf.jpeg "demo")
## Installation and Setup
2023-04-10 02:52:18 +00:00
Docker method(Recommended):<br>
Edit `config.json` or `.env` with proper values <br>
2023-03-10 16:47:04 +00:00
Create an empty file, for persist database only<br>
2023-03-09 15:45:25 +00:00
```bash
2023-04-10 02:52:18 +00:00
touch db
2023-03-09 15:45:25 +00:00
sudo docker compose up -d
```
<hr>
2023-03-05 14:07:25 +00:00
To run this application, follow the steps below:<br>
1. Clone the repository:
```
git clone https://github.com/hibobmaster/matrix_chatgpt_bot.git
```
2. Install the required dependencies:<br>
```
pip install -r requirements.txt
```
3. Create a new config.json file and fill it with the necessary information:<br>
2023-04-06 00:53:05 +00:00
Use password to login(recommended) or provide `access_token` <br>
2023-03-10 05:34:36 +00:00
If not set:<br>
`room_id`: bot will work in the room where it is in <br>
2023-03-22 14:41:01 +00:00
`api_key`: `!chat` command will not work <br>
`bing_api_endpoint`: `!bing` command will not work <br>
`bing_auth_cookie`: `!pic` command will not work
2023-03-05 14:07:25 +00:00
```json
{
"homeserver": "YOUR_HOMESERVER",
"user_id": "YOUR_USER_ID",
"password": "YOUR_PASSWORD",
"device_id": "YOUR_DEVICE_ID",
"room_id": "YOUR_ROOM_ID",
2023-03-14 01:49:21 +00:00
"api_key": "YOUR_API_KEY",
2023-03-22 14:41:01 +00:00
"access_token": "xxxxxxxxxxxxxx",
"bing_api_endpoint": "xxxxxxxxx",
"bing_auth_cookie": "xxxxxxxxxx"
2023-03-05 14:07:25 +00:00
}
```
4. 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:<br>
- `!gpt` To generate a response using free_endpoint API:
```
!gpt What is the meaning of life?
```
2023-03-10 17:01:25 +00:00
- `!chat` To chat using official api with context conversation
2023-03-05 14:07:25 +00:00
```
!chat Can you tell me a joke?
2023-03-10 15:45:38 +00:00
```
2023-03-10 17:01:25 +00:00
- `!bing` To chat with Bing AI with context conversation
```
!bing Do you know Victor Marie Hugo?
```
2023-03-22 14:41:01 +00:00
- `!pic` To generate an image from Microsoft Bing
```
!pic A bridal bouquet made of succulents
```
## Bing AI and Image Generation
2023-03-10 17:01:25 +00:00
https://github.com/waylaidwanderer/node-chatgpt-api <br>
2023-03-22 14:41:01 +00:00
https://github.com/hibobmaster/matrix_chatgpt_bot/wiki/Bing-AI <br>
https://github.com/acheong08/EdgeGPT/blob/master/src/ImageGen.py
2023-03-10 17:01:25 +00:00
![](https://i.imgur.com/KuYddd5.jpg)
2023-03-22 14:41:01 +00:00
![](https://i.imgur.com/3SRQdN0.jpg)