# REST API for Custom GPT ## Endpoint ``` POST https://chenhaoq87-milkspoilageclassifier-demo.hf.space/api/predict ``` ## OpenAPI Schema for Custom GPT Actions Copy this into your Custom GPT's Action configuration: ```yaml openapi: 3.1.0 info: title: Milk Spoilage Classification API version: 1.0.0 description: Predict milk spoilage type based on microbial count data servers: - url: https://chenhaoq87-milkspoilageclassifier-demo.hf.space paths: /api/predict: post: operationId: classifyMilkSpoilage summary: Predict milk spoilage type description: | Classifies milk spoilage into three categories based on Standard Plate Count (SPC) and Total Gram-Negative (TGN) bacterial measurements at days 7, 14, and 21. All values should be in log CFU/mL format. requestBody: required: true content: application/json: schema: type: object required: - spc_d7 - spc_d14 - spc_d21 - tgn_d7 - tgn_d14 - tgn_d21 properties: spc_d7: type: number description: Standard Plate Count at Day 7 (log CFU/mL) minimum: 0 maximum: 10 example: 4.0 spc_d14: type: number description: Standard Plate Count at Day 14 (log CFU/mL) minimum: 0 maximum: 10 example: 5.0 spc_d21: type: number description: Standard Plate Count at Day 21 (log CFU/mL) minimum: 0 maximum: 10 example: 6.0 tgn_d7: type: number description: Total Gram-Negative at Day 7 (log CFU/mL) minimum: 0 maximum: 10 example: 3.0 tgn_d14: type: number description: Total Gram-Negative at Day 14 (log CFU/mL) minimum: 0 maximum: 10 example: 4.0 tgn_d21: type: number description: Total Gram-Negative at Day 21 (log CFU/mL) minimum: 0 maximum: 10 example: 5.0 responses: '200': description: Successful prediction content: application/json: schema: type: object properties: prediction: type: string description: "Predicted class: PPC, no spoilage, or spore spoilage" example: "PPC" probabilities: type: object description: Probability for each class additionalProperties: type: number example: PPC: 0.85 no spoilage: 0.10 spore spoilage: 0.05 confidence: type: number description: Confidence score (highest probability) example: 0.85 '422': description: Validation error - invalid input values ``` ## Authentication No authentication required for this endpoint. ## Example Usage ### cURL ```bash curl -X POST https://chenhaoq87-milkspoilageclassifier-demo.hf.space/api/predict \ -H "Content-Type: application/json" \ -d '{ "spc_d7": 4.0, "spc_d14": 5.0, "spc_d21": 6.0, "tgn_d7": 3.0, "tgn_d14": 4.0, "tgn_d21": 5.0 }' ``` ### Python ```python import requests url = "https://chenhaoq87-milkspoilageclassifier-demo.hf.space/api/predict" data = { "spc_d7": 4.0, "spc_d14": 5.0, "spc_d21": 6.0, "tgn_d7": 3.0, "tgn_d14": 4.0, "tgn_d21": 5.0 } response = requests.post(url, json=data) print(response.json()) ``` ## Response Format ```json { "prediction": "PPC", "probabilities": { "PPC": 0.8523, "no spoilage": 0.1021, "spore spoilage": 0.0456 }, "confidence": 0.8523 } ``` ## Class Descriptions - **PPC**: Post-Pasteurization Contamination - bacteria introduced after pasteurization - **no spoilage**: No significant spoilage detected - **spore spoilage**: Spoilage from spore-forming bacteria that survived pasteurization ## Additional Endpoints - **API Documentation**: https://chenhaoq87-milkspoilageclassifier-demo.hf.space/docs - **Health Check**: https://chenhaoq87-milkspoilageclassifier-demo.hf.space/api/health - **Interactive UI**: https://chenhaoq87-milkspoilageclassifier-demo.hf.space/