qwen-classifier-demo / SUMMARY.md
KeivanR's picture
separate summary and hf readme
b4296bf

Qwen Multi-label Text Classifier

Overview

A multi-label text classifier based on Qwen-1.5B, fine-tuned for coding exercise classification. Supports:

  • Local CPU/GPU inference
  • Hugging Face API deployment
  • Batch evaluation
  • REST API via FastAPI
  • Docker deployment

Features

  • 9 Label Classification: Predicts multiple tags per text
  • CLI Interface: Run predictions/evaluations from terminal
  • Dual Backend: Choose between local or HF inference
  • GPU Optimized: CUDA support via Docker

Installation

git clone https://github.com/your-username/qwen-classifier
cd qwen-classifier
python3 -m venv .venv
source .venv/bin/activate
pip install -e .

Usage

CLI Prediction

# Local inference
qwen-clf predict "Your coding exercise text" --backend local

# HF Space inference 
qwen-clf predict "Your text" --backend hf --hf-token YOUR_TOKEN

Batch Evaluation

qwen-clf evaluate dataset.zip --backend local

API Server

uvicorn app:app --host 0.0.0.0 --port 7860

API Endpoints

Endpoint Method Description
/ GET Documentation
/predict POST Single text prediction
/evaluate POST Batch evaluation (ZIP)
/health GET Service status

Docker Deployment

# Build with GPU support
docker build -t qwen-classifier .

# Run container
docker run -p 7860:7860 --gpus all qwen-classifier

Project Structure

.
β”œβ”€β”€ app.py               # FastAPI entry point
β”œβ”€β”€ Dockerfile           # GPU-optimized container setup
β”œβ”€β”€ qwen_classifier/     # Core package
β”‚   β”œβ”€β”€ cli.py          # Command line interface
β”‚   β”œβ”€β”€ model.py        # Qwen classifier implementation  
β”‚   β”œβ”€β”€ predict.py      # Inference logic
β”‚   └── evaluate.py     # Batch evaluation
└── requirements.txt    # Python dependencies

Configuration

Edit qwen_classifier/config.py to set:

  • TAG_NAMES: List of 9 classification tags
  • HF_REPO: Default Hugging Face model repo
  • DEVICE: Auto-detected CUDA/CPU

Hugging Face Space

Live demo:
HF Space

License

Apache 2.0 Β© Keivan Razban