🎲 A chatbot for asking about D&D tips powered by Dropout's Adventuring Academy knowledge and LLMs.
- AWS Account
- Docker
- Poetry
- Clone
dropout-dlrepo:git clone https://github.com/mosswg/dropout-dl.git - Build Docker image:
cd dropout-dl && docker build -t dropout-dl:latest . - Remove the
dropout-dlrepo, it's no longer needed:cd .. && rm -rf dropout-dl - Clone
aguefortrepo:git clone https://github.com/rey-allan/aguefort.git - Install all dependencies and create virtual environment:
poetry install && poetry shell - Create
loginfile at the root of the repo with your Dropout email and password, one per line[email protected] 123456789 - Run the script:
python3 scripts/download_captions.py - Go grab a coffee while the script runs, it will take some time
- Captions will be saved to
data/captionsin the formatseason-episode_number.vtt
Note: Make sure to download the Adventuring Academy data before (see above)!
- Run the script:
python3 scripts/generate_kb.py - Go to sleep while the script runs, it will take a long time
- Knowledge base will be saved to
data/adventuring_academy_kb
Note: Make sure to generate the knowledge base before (see above)!
- Request access to Claude family of models via Bedrock in your AWS Account
- Make sure to specify your use of these models will be for personal projects only
- Access should be granted in a few minutes
- Create an IAM user in your AWS Account with the
AmazonBedrockFullAccesspolicy attached to it, and note down your access and secret keys - Create an
.envfile insideapp/folder with the following keys:AWS_ACCESS_KEY_ID=<YOUR_ACCESS_KEY> AWS_SECRET_ACCESS_KEY=<YOUR_SECRET_KEY> AWS_REGION=<REGION_WITH_BEDROCK_ACCESS> - Run the app:
python3 app/app.py --history $HISTORY- Where
$HISTORYis the max number of previous messages from the chat history to use as context. It defaults to 5 messages.
- Where
- Open the app in your favorite browser, the default URL should look like this:
http://127.0.0.1:7860 - Enjoy!
This is a screenshot of the kind of questions you can ask. And how you can also ask follow-up questions and continue chatting about the topics.
