Skip to content

ames0k0/TT--FastAPI--NSFW-Moderation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Сервис модерации изображений

Сервер, который принимает изображение и отправляет его в бесплатный сервис модерации,
чтобы понять — есть ли на нём нежелательный контент - ТЗ

Скачивание проекта

git clone \
  --single-branch \
  --depth=1 \
  https://github.com/ames0k0/TT--FastAPI--NSFW-Moderation

Запуск проекта локально

Среда разработки
uname -sori   # Linux 6.8.0-62-generic x86_64 GNU/Linux
python -V     # Python 3.12.8
Использованные технологии
Название Ссылки
FastAPI https://fastapi.tiangolo.com
Pydantic https://docs.pydantic.dev/latest
HTTPX https://www.python-httpx.org/
Uvicorn https://www.uvicorn.org/
cd TT--FastAPI--NSFW-Moderation

# Создание виртуальной среды
python3 -m venv env
# Активация виртуальной среды
source env/bin/activate

# Скачивание зависимостей
pip install -r requirements.txt
# Запуск проекта
fastapi run src/main.py
Сервис Документация / SwaggerUI
http://127.0.0.1:8000/ http://127.0.0.1:8000/docs

REST API Эндпоинты

  • POST /moderate - Проверка файла на нежелательный контент
    Тело запроса Тип Описание
    file Файл Файл для проверки
    curl -X 'POST' \
      'http://127.0.0.1:8000/moderate' \
      -H 'accept: application/json' \
      -H 'Content-Type: multipart/form-data' \
      -F 'file=@./data/ok.jpg;type=image/jpeg'
    {
      "status": "OK"
    }
    curl -X 'POST' \
      'http://127.0.0.1:8000/moderate' \
      -H 'accept: application/json' \
      -H 'Content-Type: multipart/form-data' \
      -F 'file=@./data/nsfw.jpg;type=image/jpeg'
    {
      "status": "REJECTED",
      "reason": "NSFW Content"
    }

About

NSFW moderation service

Resources

Stars

Watchers

Forks

Languages