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:
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
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
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
{
"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/