🎲 A chatbot for asking about D&D tips powered by Dropout's Adventuring Academy knowledge and LLMs.
- AWS Account
- Docker
- Poetry
- Clone
dropout-dl
repo:git clone https://github.com/mosswg/dropout-dl.git
- Build Docker image:
cd dropout-dl && docker build -t dropout-dl:latest .
- Remove the
dropout-dl
repo, it's no longer needed:cd .. && rm -rf dropout-dl
- Clone
aguefort
repo:git clone https://github.com/rey-allan/aguefort.git
- Install all dependencies and create virtual environment:
poetry install && poetry shell
- Create
login
file at the root of the repo with your Dropout email and password, one per lineemail@example.com 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/captions
in 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
AmazonBedrockFullAccess
policy attached to it, and note down your access and secret keys - Create an
.env
file 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
$HISTORY
is 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.