Skip to content

Latest commit

 

History

History
79 lines (49 loc) · 4.31 KB

README.md

File metadata and controls

79 lines (49 loc) · 4.31 KB

Artificial Text Detection

Общее описание решения

Данный проект представляет собой API и Веб-приложение для распознавания текста, сгенерированного ИИ и его переписывания. Для этих целей используются русско и англо-язычные модели, наследованные от архитектуры BERT, DistilBERT и T5.

Описание технической реализации

Логика бэкенда

  1. Инициализация приложения: Используется FastAPI для создания веб-приложения.
  2. Загрузка модели и токенизатора: При запуске приложения загружаются предобученные модели и токенизаторы.
  3. Маршруты:
    • GET /inference_prob: Принимает текст на вход и возвращает score (0-100), означающий вероятность того, что текст был сгенерирован ИИ.
    • GET /inference_change: Принимает текст на вход и возвращает score а также 2 примера переписывания текста.
    • GET /analyze_url: Принимает URL сайта на вход и возвращает score для текста на этом сайте и пример переписывания этого текста.

Стек технологий

  • FastAPI: Веб-фреймворк для создания API.
  • transformers: Библиотека от Hugging Face для работы с предобученными моделями.
  • torch: Библиотека для работы с моделями глубокого обучения.
  • nltk: Библиотека дл работы с текстом.

Инструкция по установке и развертыванию

Шаг 1: Клонирование репозитория

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

Шаг 2: Установка зависимостей

Установите все необходимые зависимости:

pip install -r requirements.txt

Шаг 3: Запуск приложения

Запустите решение:

python3 app.py

Шаг 4: Использование API

Откройте веб-браузер и перейдите по адресу http://localhost:8000/static/index.html. Взаимодействие возможно через веб-приложение или через POST запросы.

Для выполнения инференса через POST запросы используйте маршрут POST /inference_prob или POST /inference_change и передайте текст для анализа. Для анализа текста с Веб-сайта используйте POST /analyze_url и передайте URL (формат json {text: URL}).

Пример работы модели:

Screenshot from 2024-06-22 17-21-41

Качество работы модели (с текстами на английском языке)

Название текста поделено на 2 цвета - красный (написан ИИ) и зеленый (написан человеком). Красно-зеленый цвет означает, что текст написан человеком + ИИ.

Screenshot from 2024-06-23 09-55-34

Screenshot from 2024-06-23 09-55-38

Связаться с нами: