68 lines
2.0 KiB
Markdown
68 lines
2.0 KiB
Markdown
# AnkiAI
|
|
|
|
AnkiAI is a robust system that converts images containing text into structured Anki cards using Optical Character Recognition (OCR) and OpenAI's GPT-4 language model. Users can quickly generate decks of flashcards from their images for effective study.
|
|
|
|
## Features
|
|
- Converts image content to textual content using OCR.
|
|
- Uses OpenAI's GPT-4 model to structure the content into Anki decks and cards.
|
|
- Outputs the structured content as an Anki package.
|
|
|
|
## Dependencies
|
|
- genanki: Used for creating Anki decks and cards.
|
|
- Pillow: Image processing library.
|
|
- openai: API library for OpenAI's GPT-4 model.
|
|
- flask: Web server to host the service.
|
|
|
|
## Setup and Installation
|
|
|
|
1. Clone this repository:
|
|
```bash
|
|
git clone https://git.rudefox.io/bj/anki-json2ankicards.git
|
|
cd json2ankicards
|
|
```
|
|
|
|
2. Set up a virtual environment and activate it:
|
|
```bash
|
|
python3 -m venv venv
|
|
source venv/bin/activate
|
|
```
|
|
|
|
3. Install the required packages:
|
|
```bash
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
4. Set up the OpenAI API key:
|
|
```bash
|
|
export OPENAI_API_KEY=your_openai_api_key
|
|
```
|
|
|
|
5. Run the server:
|
|
```bash
|
|
python server.py
|
|
```
|
|
|
|
## Usage
|
|
|
|
1. Start the server as mentioned above.
|
|
|
|
2. Use a tool like [Postman](https://www.postman.com/) or `curl` to send images to `http://localhost:5000/deck-from-images` as a multi-part POST request.
|
|
|
|
3. The server will respond with a downloadable Anki package. Import this into your Anki app and start studying!
|
|
|
|
## Modules
|
|
|
|
1. **ankiai.py**: The main module that orchestrates the flow.
|
|
2. **images2text.py**: Converts image content into text using OCR.
|
|
3. **json2deck.py**: Converts structured JSON data into an Anki package.
|
|
4. **prompt4cards.py**: Uses OpenAI to structure the content into Anki decks and cards.
|
|
5. **server.py**: Flask server to host the service.
|
|
|
|
## Contributing
|
|
|
|
Contributions are welcome! Please submit a pull request or open an issue to discuss changes or fixes.
|
|
|
|
## License
|
|
|
|
[MIT License](LICENSE)
|