AI-Checker / docs /structure.md
Pujan-Dev's picture
feat: updated detector using Ela fft and meta
0b8f50d
## πŸ—οΈ Project Structure
```
β”œβ”€β”€ app.py # Main FastAPI app entrypoint
β”œβ”€β”€ config.py # Configuration loader (.env, settings)
β”œβ”€β”€ features/
β”‚ β”œβ”€β”€ text_classifier/ # English (GPT-2) classifier
β”‚ β”‚ β”œβ”€β”€ controller.py
β”‚ β”‚ β”œβ”€β”€ inferencer.py
β”‚ β”‚ β”œβ”€β”€ model_loader.py
β”‚ β”‚ β”œβ”€β”€ preprocess.py
β”‚ β”‚ └── routes.py
β”‚ └── nepali_text_classifier/ # Nepali (sentencepiece) classifier
β”‚ β”œβ”€β”€ controller.py
β”‚ β”œβ”€β”€ inferencer.py
β”‚ β”œβ”€β”€ model_loader.py
β”‚ β”œβ”€β”€ preprocess.py
β”‚ └── routes.py
β”œβ”€β”€ np_text_model/ # Nepali model artifacts (auto-downloaded)
β”‚ β”œβ”€β”€ classifier/
β”‚ β”‚ └── sentencepiece.bpe.model
β”‚ └── model_95_acc.pth
β”œβ”€β”€ models/ # English GPT-2 model/tokenizer (auto-downloaded)
β”‚ β”œβ”€β”€ merges.txt
β”‚ β”œβ”€β”€ tokenizer.json
β”‚ └── model_weights.pth
β”œβ”€β”€ Dockerfile # Container build config
β”œβ”€β”€ Procfile # Deployment entrypoint (for PaaS)
β”œβ”€β”€ requirements.txt # Python dependencies
β”œβ”€β”€ README.md
β”œβ”€β”€ Docs # documents
└── .env # Secret token(s), environment config
```
### 🌟 Key Files and Their Roles
- **`app.py`**: Entry point initializing FastAPI app and routes.
- **`Procfile`**: Tells Railway (or similar platforms) how to run the program.
- **`requirements.txt`**: Tracks all Python dependencies for the project.
- **`__init__.py`**: Package initializer for the root module and submodules.
- **`features/text_classifier/`**
- **`controller.py`**: Handles logic between routes and the model.
- **`inferencer.py`**: Runs inference and returns predictions as well as file system
utilities.
- **`features/NP/`**
- **`controller.py`**: Handles logic between routes and the model.
- **`inferencer.py`**: Runs inference and returns predictions as well as file system
utilities.
- **`model_loader.py`**: Loads the ML model and tokenizer.
- **`preprocess.py`**: Prepares input text for the model.
- **`routes.py`**: Defines API routes for text classification.
-[Main](../README.md)