SignalMod / docs /API.es.md
Mirae Kang
docs: documentation, #15
52b0ede
|
raw
history blame
1.89 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": "LR + TF-IDF (local)",
  "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
}

Variables de entorno

Variable Descripción
MODEL_NAME Modelo al arrancar la API
YOUTUBE_API_KEY API de YouTube para /predict-video

Ver .env.example.