103 lines
3.1 KiB
Markdown
103 lines
3.1 KiB
Markdown
# csv2ankicards
|
|
|
|
A comprehensive toolkit that offers:
|
|
- Conversion of CSV files into Anki deck packages (.apkg files).
|
|
- Conversion of image files in a directory to a text file using Optical Character Recognition (OCR).
|
|
- Generation of CSV format question-answer pairs from textual content using OpenAI's GPT-3 model.
|
|
|
|
## Features
|
|
|
|
- Converts a CSV file with questions and answers into an Anki deck package.
|
|
- Converts image files from a specified directory to a single text file using OCR.
|
|
- Generates CSV formatted question-answer pairs based on a given text content, ideal for studying or summarization.
|
|
- For CSV: there are only two columns in the CSV file, separated by the first comma encountered.
|
|
- CSV files should have a "Front" column for questions and a "Back" column for answers.
|
|
|
|
## Installation
|
|
|
|
1. Clone this repository:
|
|
```bash
|
|
git clone https://git.rudefox.io/bj/anki-csv2ankicards.git
|
|
cd csv2ankicards
|
|
```
|
|
|
|
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
|
|
```
|
|
## Configuration
|
|
|
|
Before using the `text2csvdeck.py` script, ensure that you have set the `OPENAI_API_KEY` environment variable:
|
|
|
|
```bash
|
|
export OPENAI_API_KEY=your_openai_api_key_here
|
|
```
|
|
|
|
Remember to replace `your_openai_api_key_here` with your actual OpenAI API key.
|
|
|
|
## Usage
|
|
|
|
### Pipeline Usage
|
|
|
|
To convert a directory of images directly to an Anki deck package:
|
|
|
|
```bash
|
|
python pipeline.py /path/to/your/image_directory/
|
|
```
|
|
|
|
This will process the images, extract text, convert text to a set of questions and answers in CSV format, and then produce an `output.apkg` file ready for import into Anki.
|
|
|
|
### Image to Text Conversion
|
|
|
|
To convert images from a directory to a single text file using OCR:
|
|
|
|
```bash
|
|
python images2text.py /path/to/your/image_directory/
|
|
```
|
|
|
|
This will produce a `final.txt` file which contains the text extracted from the images.
|
|
|
|
#### Supported Image Formats
|
|
|
|
Currently supported formats for the images are: `.png`, `.jpg`, and `.jpeg`.
|
|
|
|
### Text to CSV Deck Generation
|
|
|
|
To generate a CSV deck of question-answer pairs from a given text file:
|
|
|
|
```bash
|
|
python text2csvdeck.py /path/to/your/textfile.txt
|
|
```
|
|
|
|
This will analyze the content of the given text file and generate a corresponding `_deck.csv` file with questions and answers that capture the main points and themes of the text.
|
|
|
|
**Note:** This script uses the OpenAI GPT-3 model. Ensure you have the necessary API key and OpenAI Python client installed.
|
|
|
|
### CSV to Anki Conversion
|
|
|
|
To convert a CSV file into an Anki deck package:
|
|
|
|
```bash
|
|
python csv2ankicards.py /path/to/your/csvfile.csv output.apkg
|
|
```
|
|
|
|
This will produce an `output.apkg` file which can then be imported into Anki.
|
|
|
|
#### CSV Format
|
|
|
|
The CSV file should follow this format:
|
|
|
|
```
|
|
Front,Back
|
|
Your question here,Your answer here
|
|
Another question,list of: answer1, answer2, answer3
|
|
...
|
|
```
|
|
|
|
**Note:** If your answers contain commas, they will be considered as part of the answer. Only the first comma is used to separate the question from the answer. |