toxic-detector/app/tasks.py

33 lines
770 B
Python

from celery import Celery
from app.core.config import settings
from app.handlers.toxicity_handler import ToxicityHandler
celery_app = Celery(
'tasks',
broker=settings.CELERY_BROKER_URL,
backend=settings.CELERY_RESULT_BACKEND
)
celery_app.conf.update(
task_serializer='json',
result_serializer='json',
accept_content=['json'],
timezone='UTC',
enable_utc=True,
)
toxicity_handler = ToxicityHandler()
@celery_app.task
def assess_toxicity_task(text: str) -> float:
"""
Задача для оценки токсичности текста.
Args:
text (str): Входной текст.
Returns:
float: Оценка токсичности.
"""
return toxicity_handler.text_to_toxicity(text)