Для решения поставленной задачи, Вам требуется из текстового поля responsibilities(Должностные обязанности) выделять необходимую информацию и заносить в поля:
- requirements(Требования к соискателю)
- terms(Условия)
- notes(Примечания)
В поле responsibilities(Должностные обязанности) зелёным выделены части текста, которые потом попадают в отдельные поля. Если текст не выделяется зеленым цветом, то он не нужен при заполнении полей.
Наш проект представляет собой сервис для обработки данных вакансий. Мы используем модель, основанную на LM IlyaGusev/saiga_13b_lora, которая позволяет выделять бОльший спектр полей, чем 3 основных поля. Также мы подготовили две версии пользовательского интерфейса - для интерактивной и пакетной обработки данных.
Модель хостилась на 3090 TI 24GB. Чтобы 13B параметров уместить в 24GB, мы использовали
8 bit
квантизацию иfp16
в качестве промежуточных тензоров.
Модель была задеплоена на фреймворке TorchServe, который обеспечивает простоту и гибкость в использовании и управлении моделями в продакшн среде. Фронтенд разработан на Streamlit - открытом фреймворке для быстрой разработки интерактивных приложений для данных.
- Установите зависимости из файла
backend/saiga/pyproject.toml
. - Установите
torchserve
, следовав инструкциям по ссылке: https://github.com/pytorch/serve/blob/master/README.md. - Установите библиотеку
bitsandbytes
, следуя инструкциям по ссылке: https://github.com/TimDettmers/bitsandbytes. - Выполните команду
make start
, чтобы запустить бекенд и фронтенд. - Для остановки сервиса выполните команду
make stop
.