SignalMod / docs /API.es.md
Mirae Kang
feat: implement new models and improve UI, #23
46cc63a
|
raw
history blame
2.55 kB

Referencia API (FastAPI)

URL base (local): http://localhost:8000
Documentación interactiva: /docs, /redoc

Implementación: src/api/main.py


Endpoints

Método Ruta Descripción
GET / Estado del servicio y modelo activo
GET /model-info Metadatos del modelo cargado
GET /models Modelos disponibles y activo
PUT /model/{model_name} Cambiar modelo activo
POST /predict Clasificar un comentario
POST /predict-batch Hasta 100 comentarios
POST /predict-video Comentarios de un vídeo de YouTube

POST /predict

Cuerpo

{
  "text": "Texto del comentario",
  "threshold": 0.5
}

Respuesta

{
  "text": "Texto del comentario",
  "is_toxic": false,
  "probability": 0.08,
  "labels": [],
  "model_used": "Meta-Feature Stacking (Production)",
  "latency_ms": 15.2
}
  • is_toxic: true = Tóxico, false = Seguro
  • probability: probabilidad de clase tóxica (0–1)

curl

curl -s -X POST http://localhost:8000/predict \
  -H "Content-Type: application/json" \
  -d '{"text": "¡Gran vídeo, gracias!", "threshold": 0.5}'

POST /predict-batch

curl -s -X POST http://localhost:8000/predict-batch \
  -H "Content-Type: application/json" \
  -d '{"texts": ["Comentario seguro", "Eres un idiota"], "threshold": 0.5}'

POST /predict-video

Requiere YOUTUBE_API_KEY en .env para comentarios reales.

{
  "url": "https://www.youtube.com/watch?v=VIDEO_ID",
  "max_comments": 50,
  "threshold": 0.5
}

Modelos del demo

configs/model_catalog.yaml · métricas baselines: models/baseline/manifest.json

Nombre Artefacto / pesos
Meta-Feature Stacking (Production) models/production_final/meta_stack_final.joblib
LR + TF-IDF (Baseline) models/baseline/lr_tfidf.joblib
Frozen Toxic-BERT (Baseline) Hugging Face unitary/toxic-bert
curl -s -X POST http://localhost:8000/models/select \
  -H "Content-Type: application/json" \
  -d '{"model_name": "LR + TF-IDF (Baseline)"}'

Variables de entorno

Variable Descripción
MODEL_NAME Por defecto: Meta-Feature Stacking (Production)
YOUTUBE_API_KEY API de YouTube para /predict-video

Ver .env.example.