PDF to Anki program using GPT3.5-turbo from OpenAI. Streamlit is the web-GUI. Shout-out to OpenAI and Streamlit for saving me a ton of work!
- An OpenAI API key
- Anki running with AnkiConnect installed (Addon #: 2055492159)
If compiling to run locally:
- An OpenAI key
- Needs to be added as OPENAI_API_KEY="[Key here]" in .streamlit\secrets.toml
- Add an OpenAI API key.
- Choose a PDF file.
- Select a page range and a deck for the flashcards to be added to.
- Flash cards are generated for each page and can then be modified before being added to Anki.
Note: App adds a custom note type so that there is no issue with note's name and fields being in another language.
- Add option to log in to save preferences
- Check if dependencies are all really needed
- Allow user to change prompt options
- Error handling of api errors
0.8 beta
- Add option to use GPT4
- Errors returned by openai are displayed
- Added button to hide page
0.7 beta
- Can now add one image per flashcard
- Can view text extracted from flashcard
- Added option to add new flashcard
- Modified handling of bad cards returned by GPT
- Flashcards now support Markdown and retain formatting provided by GPT
- Cards can now be readded
0.6 alpha
- Modified workflow to make more sense
- Unneeded elements now disappear
- App now adds new note type to Anki
- Language auto-detected
- Updated GPT prompt to use tool_call
- Added preview of file
0.51 alpha
- Decks can now be chosen
0.5 alpha
- Lowered chance that GPT returns non-parseable result by moving to functions
- Skip pages without relevant info
0.46 alpha
- Added JPEG compression to reduce image size
- Fixed key error causing Streamlit crash
- Stopped unnecessary regenerations of flashcards
- Automatically check for AnkiConnect connection
- Show decks
0.45 alpha
- Improved memory usage
- Can now add flashcards to Anki without running locally
- Added filename and page as tag
- Max. uploaded file size reduced to 50MB
0.4 alpha
- Can now add without running locally
- Can now add page range and change on-the-fly
- Option to select returned language
0.3 alpha
- User is updated on status and errors
- Improved GPT prompt
0.2 alpha
- Changed to Streamlit Web-GUI
- Removed image detection
- Shifted flashcards view to show alongside page preview
- Using pymupdf instead of pdf2image to reduce reliance on external libraries
0.1 alpha
- First release