Go to file
Erik Winter 8ff6dfe9f2 domain update 2024-09-17 07:16:20 +02:00
bot domain update 2024-09-17 07:16:20 +02:00
.gitignore move bot config to file 2023-06-09 14:28:32 +02:00
Dockerfile decouple second step 2023-05-17 19:51:45 +02:00
Makefile some refactors 2023-06-08 19:10:46 +02:00
README.md add readme 2023-06-14 15:21:17 +02:00
go.mod domain update 2024-09-17 07:16:20 +02:00
go.sum move bot config to file 2023-06-09 14:28:32 +02:00
gptzoo-screenshot.png add readme 2023-06-14 15:21:17 +02:00
main.go domain update 2024-09-17 07:16:20 +02:00

README.md

Matrix-GPTZoo

A Matrix bot version of ChatGPT, with multiple configurable prompts.

The bot will log in with a different user for each prompt, making it possible to create a chat room full of AI assistants you can ask questions.

Bots will only answer questions specifically addressed to them, but it is also possible to configure one to answer questions that are not addressed to a specific bot. Continuing a conversation can be done by replying to an answer.

screenshot

Configuration

Configuration consists of two parts: a toml file that defines the prompt and environment variables for the passwords and keys. Matching environment variables to the bots in the toml is done on the Matrix user ID.

This probably best explained with an example:

[[Bot]]
DBPath = "gpt4-bot.db"
Pickle = "hi-there"
Homeserver = "https://ewintr.nl"
UserID = "@chatgpt4:ewintr.nl"
UserDisplayName = "ChatGPT4"
SystemPrompt = "You are an encouraging chatbot that likes to help people by providing answers in a creative and fun way."
AnswerUnaddressed = true

[[Bot]]
DBPath = "go-bot.db"
Pickle = "hi-there"
Homeserver = "https://ewintr.nl"
UserID = "@gogpt:ewintr.nl"
UserDisplayName = "GoGPT"
SystemPrompt = "You are an export on the programming language Go, you assume that any programming question is about Go and your answers are aimed at senior level developers."
AnswerUnaddressed = false

Together with:

OPENAI_API_KEY=secret

CONFIG_PATH=/config.toml

MATRIX_BOT0_ID=@chatgpt4:ewintr.nl
MATRIX_BOT0_PASSWORD=secret
MATRIX_BOT0_ACCESS_KEY=secret

MATRIX_BOT1_ID=@gogpt:ewintr.nl
MATRIX_BOT1_PASSWORD=secret
MATRIX_BOT1_ACCESS_KEY=secret

MATRIX_ACCEPT_INVITES=false