Данный проект представляет собой API и Веб-приложение для распознавания текста, сгенерированного ИИ и его переписывания. Для этих целей используются русско и англо-язычные модели, наследованные от архитектуры BERT, DistilBERT и T5.
- Инициализация приложения: Используется FastAPI для создания веб-приложения.
- Загрузка модели и токенизатора: При запуске приложения загружаются предобученные модели и токенизаторы.
- Маршруты:
GET /inference_prob
: Принимает текст на вход и возвращает score (0-100), означающий вероятность того, что текст был сгенерирован ИИ.GET /inference_change
: Принимает текст на вход и возвращает score а также 2 примера переписывания текста.GET /analyze_url
: Принимает URL сайта на вход и возвращает score для текста на этом сайте и пример переписывания этого текста.
- FastAPI: Веб-фреймворк для создания API.
- transformers: Библиотека от Hugging Face для работы с предобученными моделями.
- torch: Библиотека для работы с моделями глубокого обучения.
- nltk: Библиотека дл работы с текстом.
git clone https://github.com/rmakarovv/atd-rewriting.git
cd ner-inference-api
Отдельно скачайте файл atd_rubert.pt
из релиза Weights
.
wget https://github.com/rmakarovv/atd-rewriting/releases/download/weights/atd_rubert.pt
Установите все необходимые зависимости:
pip install -r requirements.txt
Запустите решение:
python3 app.py
Откройте веб-браузер и перейдите по адресу http://localhost:8000/static/index.html. Взаимодействие возможно через веб-приложение или через POST
запросы.
Для выполнения инференса через POST запросы используйте маршрут POST /inference_prob
или POST /inference_change
и передайте текст для анализа. Для анализа текста с Веб-сайта используйте POST /analyze_url
и передайте URL (формат json {text: URL}).
Название текста поделено на 2 цвета - красный (написан ИИ) и зеленый (написан человеком). Красно-зеленый цвет означает, что текст написан человеком + ИИ.