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