Giter Site home page Giter Site logo

projectse2sem's Introduction

projectSE2sem

ИИ-проект, ориентированный на реферирование текстов, по дисциплине "Программная инженерия".

Состав команды:

Описание приложения

Цель данного приложения - реферирование (суммаризация) текстов.

Данный ИИ-проект предназначен только для реферирования текстов на английском языке.

Алгоритм работы:

  1. Ввод исходного текста;
  2. Суммаризация текста с помощью модели API Pipeline Hugging Face - этот API позволяет пользоваться моделями для автоматического реферирования текстов;
  3. Вывод полученных результатов.

Ссылка на модель на Hugging Face:

https://huggingface.co/facebook/bart-large-cnn

Пример работы приложения:

Пример работы приложения

Пример развертывания приложения в ранее созданной и активной виртуальной машине в Яндекс.Облаке

Рекомендуемые ресурсы виртуальной машины:

Рекомендуемые ресурсы виртуальной машины

Порядок команд в терминале:

  1. Подключение к виртуальной машине - ssh [email protected], где для примера: dashleb - имя пользователя в виртуальной машине в Яндекс.Облаке, 84.252.140.107 - IP виртуальной машины
  2. sudo apt install python-is-python3 - установили Python
  3. pwd - можно вывести для информации рабочий каталог (результат в примере: /home/dashleb/)
  4. mkdir projects - создали каталог для проектов
  5. cd projects/ - перешли в каталог для проектов
  6. git проверить наличие Git, если нет - установить его
  7. sudo apt-get upgrade - не обязательно, но можно
  8. sudo apt-get update - обязательно, иначе ошибку выдаёт на следующем шаге
  9. sudo apt install python3.10-venv - обязательно, иначе не будет работать установка виртуального окружения
  10. mkdir /home/dashleb/python-venvs/ - создаем каталог под виртуальное окружение
  11. python -m venv /home/dashleb/python-venvs/- устанавливаем виртуальное окружение
  12. source /home/dashleb/python-venvs/bin/activate - активируем виртуальное окружение !!! если все хорошо, должно появиться его название в круглых скобочках - (python-venvs) - перед именем пользователя и названием виртуальной машины
  13. cd /home/dashleb/projects/ - переходим в каталог с проектами
  14. git clone [email protected]:ctakan4ik/projectSE2sem.git - клонируем репозиторий с приложением, которое нужно развернуть, если репозиторий собственный либо git clone https://github.com/ctakan4ik/projectSE2sem - можно по ссылке https, если не планируем репозиторий потом менять и нет прав на него, т.к. он не собственный
  15. pip install -r /home/dashleb/projects/projectSE2sem/requirements.txt - устанавливаем библиотеки из файла requirements.txt
  16. cd /home/dashleb/projects/projectSE2sem - перешли к нашему проекту
  17. sudo apt install uvicorn - иногда требуется
  18. uvicorn main:app --host=0.0.0.0 - запускаем приложение из каталога, где лежит проект (параметр --host=0.0.0.0 означает, что приложение запущено на всех портах виртуальной машины) http://84.252.140.107:8000/summarization - по этому адресу открывается наше приложение, где 84.252.140.107 - IP виртуальной машины

Затем для того, чтобы деплой на Яндекс.Облаке работал при закрытом терминале, необходимо использовать специальные инструменты, такие как nohup или screen (https://russianblogs.com/article/35331498181/)

Nohup - это команда Unix, которая позволяет запускать процессы в фоновом режиме и сохранять их вывод в отдельном файле, который можно просмотреть позже. Для использования nohup необходимо выполнить команду в следующем формате:

nohup command > logfile 2>&1 &

где command - команда, которую нужно выполнить, logfile - файл, в который будет записываться вывод команды, 2>&1 - перенаправление стандартного вывода и вывода ошибок в файл logfile, & - запуск процесса в фоновом режиме.

Screen - это программа Unix, которая позволяет запускать процессы в отдельных виртуальных терминалах, которые можно открывать и закрывать по мере необходимости. Для использования screen необходимо выполнить команду в следующем формате:

screen -S sessionname

где sessionname - имя новой сессии. После этого можно запустить процесс внутри сессии и отключиться от нее, нажав клавиши Ctrl+A и затем D. Для повторного подключения к сессии нужно выполнить команду:

screen -r sessionname

где sessionname - имя сессии. Таким образом, для того чтобы деплой на Яндекс.Облаке работал при закрытом терминале, можно использовать либо nohup, либо screen. В зависимости от конкретной ситуации и требований проекта, один из этих инструментов может оказаться более удобным и эффективным.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.