A tool to easily generate Anki flash cards for any topics using a large language model.
For a long time traditional school learning has severely lacked innovation in how classes are taught, students are test, and how students are taught to learn.
Being able to learn and retain information is a skill itself and there are lots of tools to help with this. One of the most popular tools is Anki, a flash card application that uses spaced repetition to help you learn and retain information.
Anki helped me a ton during my Computer Science undergrad and I am confident that flash card studying is one of the best ways to learn and retain information.
However, creating flash cards is a time consuming process and I wanted to create a tool that would make it easier to create flash cards for any topic.
This project aims to bridge that gap by using a large language model to generate flash cards for any topic.
Anki's philosophy follows the practice of spaced repitition learning and active recall testing, read more about at the Anki Background Page.
Previous academic papers on the topics of Anki, Spaced Repitition, & Recall Testing
The effectiveness of computer-based spaced repetition in foreign language vocabulary instruction
Enhanced Learning and Retention of Medical Knowledge Using the Mobile Flash card Application Anki
- Create a simple CLI tool that takes in a topic and generates a flash card for that topic
- Allow the user to specify a path for a document that is to be read to generate the flash card
- Allow the user to specify the pages of a document to be used to generate the flash card
- Allow the user to specify a URL to be used to generate the flash card
- Allow the user to specify specific topics from text to be used to generate the flash card
- Allow the user to select which generated flash cards are added to a deck
- Allow the user to specify a deck to add the generated flash cards to
- Create a web UI for the tool
- Allow flash cards to generated from different modalities (images, videos, audio, etc.)
- Student who does not have time to make flash cards can easily do so from any document that contains text
- Teacher/Professor can easily create flash cards for their students
- Language learning can greatly be accelerated and thereby used by any language teaching processes including the United States Military accelerated language learning programs
- In medical situations where a patient needs to relearn things or train their brain in certain ways for memory. Anki cards have been found to be helpful in helping patients with Aphasia
I think for a lot of college courses if flash cards were readily available for each course it could be a huge help for students. I think this tool could be a huge help for students who are struggling in a course and need a way to quickly learn and retain information.
If you would like to contribute then first off thanks for the help and then go to the issues tab and find an issue that you would like to work on or create a new one if you have an idea for a new feature.
- Fork the repo
- Create Virtual Environment
python3 -m venv menv
- Activate Virtual Environment
source menv/bin/activate
- Install dependencies
pip install -r requirements.txt
Install Cuda here