GitHunt
MA

Magicrafter13/reformed-dave

LLM powered chatbot for discussing the Reformed Christian faith (with a lean towards Presbyterianism).

Reformed Dave

Discord bot to allow users to ask theological questions and get answers through
an LLM. The intended personality of Reformed Dave is a Christian whose beliefs
align with Reformed Presbyterians.

Running

First Time Setup

With included tabbyAPI scripts/setup.

Requirements:

  • git-lfs
  • Python 3.10-3.12
  • tmux

Some basic setup is done by init_all.sh. Before running it, keep reading.

TabbyAPI currently requires Python 3.10, 3.11, or 3.12. This repo will assume
that 3.12 is installed. You can change this in init_all.sh.

Before automating this with systemd or some other such service, please run
start_all.sh in an interactive session. The first time it is run through, it
will setup tabbyAPI.

With existing tabbyAPI setup.

If you do not wish to use the tabbyAPI setup included in this repository (or you
already have one setup you want to use), then the steps above are essentially
the same, except you only need to run init.sh to get the Discord bot ready,
and then start.sh to start the Discord bot. By taking this route you are
responsible for properly connecting the bot to the API (for example if you
changed the port, or run it on a different IP), as well as getting the Pastor
Dave model working in tabby.

Consider this the advanced route - but it is understandable that someone may
wish to use an existing tabbyAPI installation.

Standard Operation

Simply run start_all.sh. It will launch tabbyAPI in a tmux session, wait for a
bit, then start the Discord bot. You can exit the script by typing
quit/stop/exit, or sending an interrupt signal, and it should cleanup by closing
the bot and the API.

Additional Info

For tighter control/safety, create a file blocked_phrases.txt. Each line will
be checked against in both the user prompt, and Dave's output. If either one
contains a blacklisted word/phrase, default responses (defined in
discord_bot.py) will be used instead.

Credits/Notes

  • Based on the work of "D20joy".
  • Original setup/version by "sleepdeprived3".
  • Deployability and touch-ups by Matthew Rease.
In loving memory of "D20joy".

Romans 8:37-39 LSB

But in all these things we overwhelmingly conquer through Him who loved us.
For I am convinced that neither death, nor life, nor angels, nor rulers, nor
things present, nor things to come, nor powers,
nor height, nor depth, nor any other created thing, will be able to separate us
from the love of God, which is in Christ Jesus our Lord.

Languages

Python88.2%Shell9.9%Dockerfile1.9%

Contributors

GNU General Public License v3.0
Created April 23, 2025
Updated June 7, 2025
Magicrafter13/reformed-dave | GitHunt