|
Download README.md from parthraninga/contextClassifier: direct link, hf CLI and curl.
- Browser
- Download file 2.62 kB
-
https://huggingface.co/parthraninga/contextClassifier/resolve/main/README.md
- Command line
-
hf download hf://parthraninga/contextClassifier/README.md
-
curl -L -o README.md https://huggingface.co/parthraninga/contextClassifier/resolve/main/README.md
2.62 kB
| title: Content Classifier | |
| emoji: 🔍 | |
| colorFrom: blue | |
| colorTo: purple | |
| sdk: docker | |
| pinned: false | |
| license: mit | |
| app_port: 7860 | |
| # Content Classifier API | |
| A FastAPI-based content classification service using an ONNX model for threat detection and sentiment analysis. | |
| ## Features | |
| - Content threat classification | |
| - Sentiment analysis | |
| - RESTful API with automatic documentation | |
| - Health check endpoints | |
| - Model information endpoints | |
| - Docker support for easy deployment | |
| ## API Endpoints | |
| - `POST /predict` - Classify text content | |
| - `GET /` - API status | |
| - `GET /health` - Health check | |
| - `GET /model-info` - Model information | |
| - `GET /docs` - Interactive API documentation (Swagger) | |
| ## Installation | |
| 1. Install dependencies: | |
| ```bash | |
| pip install -r requirements.txt | |
| ``` | |
| 2. Run the application: | |
| ```bash | |
| python app.py | |
| ``` | |
| The API will be available at `http://localhost:8000` | |
| ## Usage | |
| ### Example Request | |
| ```bash | |
| curl -X POST "http://localhost:8000/predict" \ | |
| -H "Content-Type: application/json" \ | |
| -d '{"text": "This is a sample text to classify"}' | |
| ``` | |
| ### Example Response | |
| ```json | |
| { | |
| "is_threat": false, | |
| "final_confidence": 0.75, | |
| "threat_prediction": 0.25, | |
| "sentiment_analysis": { | |
| "label": "POSITIVE", | |
| "score": 0.5 | |
| }, | |
| "onnx_prediction": { | |
| "threat_probability": 0.25, | |
| "raw_output": [[0.75, 0.25]] | |
| }, | |
| "models_used": ["contextClassifier.onnx"], | |
| "raw_predictions": { | |
| "onnx": { | |
| "threat_probability": 0.25, | |
| "raw_output": [[0.75, 0.25]] | |
| }, | |
| "sentiment": { | |
| "label": "POSITIVE", | |
| "score": 0.5 | |
| } | |
| } | |
| } | |
| ``` | |
| ## Docker Deployment | |
| 1. Build the Docker image: | |
| ```bash | |
| docker build -t content-classifier . | |
| ``` | |
| 2. Run the container: | |
| ```bash | |
| docker run -p 8000:8000 content-classifier | |
| ``` | |
| ## Hugging Face Spaces Deployment | |
| To deploy on Hugging Face Spaces: | |
| 1. Create a new Space on Hugging Face | |
| 2. Upload all files to your Space repository | |
| 3. The Space will automatically build and deploy | |
| ## Model Requirements | |
| The ONNX model should accept text inputs and return classification predictions. You may need to adjust the preprocessing and postprocessing functions in `app.py` based on your specific model requirements. | |
| ## Configuration | |
| You can modify the following in `app.py`: | |
| - `MODEL_PATH`: Path to your ONNX model file | |
| - `max_length`: Maximum text length for processing | |
| - Preprocessing and postprocessing logic based on your model's requirements | |