Сервер, который принимает изображение и отправляет его в бесплатный сервис модерации,
чтобы понять — есть ли на нём нежелательный контент - ТЗ
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 |
-
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" }

