Skip to main content

API para la detección de spam usando machine learning

Project description

##Nuevo! pueden instalar la API como una libreria directamente con "pip install spam-api" desde la terminal

Spam Detection API

Esta es una API simple creada con FastAPI que permite detectar si un mensaje es spam o no spam usando un modelo de machine learning entrenado con Naive Bayes. La API permite cargar nuevos datos de entrenamiento, así como realizar predicciones sobre mensajes.

Requisitos

  • Python 3.7+
  • Las siguientes dependencias:
fastapi
uvicorn
pydantic
joblib
scikit-learn
python-multipart
pandas

Instalacion Clona este repositorio o descarga el código fuente.

Crea un entorno virtual (opcional pero recomendado):

python -m venv venv
source venv/bin/activate  # En Linux/MacOS
venv\Scripts\activate     # En Windows

Instala las dependecias

pip install -r requirements.txt

Ejecutar la API Para correr la API, usa Uvicorn:

uvicorn anti_spam:app --reload

Esto iniciará la API en http://127.0.0.1:8000.

Endpoints

/detect_spam/ (POST) Este endpoint recibe un mensaje de texto y devuelve si es spam o no.

Ejemplo de request:

{
    "text": "Congratulations! You have won a free gift card."
}

Ejemplo de respuesta:

{
  "is_spam": true
}

/train_model/ (POST) Este endpoint permite agregar nuevos datos de entrenamiento (texto y etiqueta) al modelo.

Ejemplo de request: (hay que asegurarse de que cada dato de entrenamiento tenga el texto y la etiqueta correspondiendte. 1 = SPAM, 0 = NO SPAM)

[{
    "text": "spam message!",
    "label": 1
  },
  {
    "text": "normal message.",
    "label": 0
}]

Ejemplo de respuesta:

{
  "message": "Datos cargados correctamente, el modelo se ha entrenado."
}

Cargar un archivo CSV Puedes cargar un archivo CSV con datos de entrenamiento usando el siguiente endpoint: /upload_data/ (POST)

Nota Este proyecto utiliza un modelo de Naive Bayes para clasificación de texto, que ha sido entrenado previamente con algunos datos de ejemplo. Puedes agregar más datos de entrenamiento y reentrenar el modelo en cualquier momento.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

spam_api-0.3.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

spam_api-0.3-py3-none-any.whl (5.4 kB view details)

Uploaded Python 3

File details

Details for the file spam_api-0.3.tar.gz.

File metadata

  • Download URL: spam_api-0.3.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.0

File hashes

Hashes for spam_api-0.3.tar.gz
Algorithm Hash digest
SHA256 92a568bb6f078bc4813b3a1d2f6547de9e45cd4c62a44f7ddcda18418df5f134
MD5 e53fccdfc597806eb202859dd9dceaf5
BLAKE2b-256 ef86de47e8aa8d0bacf43ed018eaee8161aa84b63eaad04f2e02671c0ca3201e

See more details on using hashes here.

File details

Details for the file spam_api-0.3-py3-none-any.whl.

File metadata

  • Download URL: spam_api-0.3-py3-none-any.whl
  • Upload date:
  • Size: 5.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.0

File hashes

Hashes for spam_api-0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 82ab5681a2d242a91c9d1c2a363d59f89df48c4e45e524749cd46729b1c1bfc4
MD5 fa67300941b631e38dc8b36e714b12b8
BLAKE2b-256 29eff41cd0d503ac16258047af0dd3404d5ab2e0935eebaf29e064fbc5b43d4f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page