Discord bot to interact with Ollama and AUTOMATIC1111 Stable Diffusion as a chatbot
The project started thanks to mekb.
- Implement multiple servers support (copying commands?)
- Review installation and usage instructions
- Create docs with examples for the bot
- Add slow mode option to prevent spam and GPU overload
- Write unit tests
- Create a RAG to extract information from PDFs and/or docs
- Implement OpenWebUI interactions (web search, youtube loader)
- ? Implement fabric integration (patterns, youtube video extraction if needed)
- Check (and fix if necessary)
Dockerfile
anddocker-compose
setup - Fix streaming issues
/chat ... stream: True
(handle race -async-mutex
)
- Install Node.js (if you have a package manager, use that instead to install this)
- Make sure to install at least v18 of Node.js (v20+ recommended)
- Install Ollama
- Pull (download) a model,
ollama pull MODEL
e.gollama pull llama3.1
- Model list - Start Ollama by running
ollama serve
if not already running - Create a Discord bot
- Under Application » Bot
- Enable Message Content Intent
- Enable Server Members Intent (for replacing user mentions with the username)
- Under Application » Bot
- Invite the bot to a server
- Go to Application » OAuth2 » URL Generator
- Enable
bot
- Enable Send Messages, Read Messages/View Channels, and Read Message History
- Under Generated URL, click Copy and paste the URL in your browser
- Rename
.env.example
to.env
and edit the.env
file- You can get the token from Application » Bot » Token, never share this with anyone
- Make sure to change the model if you aren't using
orca
- Ollama URL can be kept the same unless you have changed the port
- You can use multiple Ollama servers at the same time by separating the URLs with commas
- Set the channels to the channel ID, comma separated
- In Discord, go to User Settings » Advanced, and enable Developer Mode
- Right click on a channel you want to use, and click Copy Channel ID
- You can edit the system message the bot uses, or disable it entirely
- Install the required dependencies with
npm i
- Start the bot with
npm start
- You can interact with the bot by @mentioning it with your message
- Install Stable Diffusion
- Run the script
./webui.sh --api --listen
- Install Docker
- Should be atleast compatible with version 3 of compose (docker engine 1.13.0+)
- Repeat steps 2—7 from the other setup instructions
- Start the bot with
make compose-up
if you have Make installed- Otherwise, try
docker compose -p discord-ai up
instead
- Otherwise, try
- You can interact with the bot by @mentioning it with your message