urfu-pe / README.md
mulyavinaa's picture
Добавление информации об API в README.md
d22a98d
|
raw
history blame
5.5 kB
metadata
title: URFU PE
emoji: 💻
colorFrom: yellow
colorTo: blue
sdk: streamlit
sdk_version: 1.28.2
app_file: run.py
pinned: false

Программная инженерия. Практическое задание №2 и №3

Приложение разработано с использованием фреймворка Streamlit. Состоит из двух страниц и Главной страницы:

  1. Главная страница - содержит описание из README
  2. Генератор аудио - позволяет сгенерировать аудио по введенному тексту на английском языке. Дополнительно осуществляет перевод с русского языка на английский (при вводе текста на русском языке). Используется 3 модели:
    • Определение языка текста
    • Перевод текста с языка Ru на En
    • Озвучивание текста на английском языке
  3. Описание изображения - позволяет получить описание изображения на русском языке. Использует 1 модель:
    • Классификация и описание изображений

API разработано с использованием фреймворка FastAPI. API доступные для использования:

  1. /langdetector/detect - Определение языка текста
  2. /translator/translate - Перевод текста с языка Ru на En

Используемые модели

Как запустить Web-приложение

Запуск осуществляется через модуль streamlit:

streamlit run run.py

Как запустить API-сервер

uvicorn api:app либо python api.py

Как использовать Web-приложение

После запуска приложение открывается на Главной странице. Выбор режима работы приложения доступен слева в меню

Генератор аудио

Необходимо ввести текст в текстовое поле и нажать кнопку "Генерировать!!!". В результате появится аудио запись на английском языке с описанием введенного текста.

Результат работы моделей "Генератор аудио / Текст" Результат работы моделей "Генератор аудио / Аудио"

Описание изображения

Необходимо выбрать изображение и нажать кнопку "Получить описание изображения". В результате появится текстовое описание изображения на русском языке.

Результат работы моделей "Классификации и описания изображений"

Как использовать API

Описание методов API генерируется Swagger и доступно по адресу

<hots>/docs

Пример вызова сервиса Определение языка текста

Вызвать url сервиса <host>/langdetector/detect методом POST

img.png

Передаваемые параметры:

{
    "text": "Приветик от Мити кота"
}

Результат выполнения:

{
    "langs": [
        {
            "label": "bg",
            "score": 0.9945043921470642
        }
    ]
}

Пример вызова сервиса Перевод текста с языка Ru на En

Вызвать url сервиса <host>/translator/translate методом POST

img.png

Передаваемые параметры:

{
    "text": "Приветик от Мити кота"
}

Результат выполнения:

{
    "text": "Hello from Michi Cat."
}