Spaces:
Runtime error
Runtime error
| title: ИИ-ассистент по истории | |
| emoji: 🤖 | |
| colorFrom: purple | |
| colorTo: blue | |
| sdk: docker | |
| pinned: false | |
| license: mit | |
| # 🤖 ИИ-ассистент по истории | |
| Это интерактивное веб-приложение, разработанное с использованием [Streamlit](https://streamlit.io/), которое отвечает на вопросы по истории на русском языке. Приложение использует предобученную модель вопрос-ответа, а также методы поиска похожих вопросов/контекста для генерации ответов. | |
| ## 📌 Функциональность | |
| - **Вопрос-ответ по истории**: Пользователь вводит вопрос по истории, и приложение пытается найти на него ответ, используя знания из датасета `Romyx/ru_QA_school_history`. | |
| - **Предобработка текста**: Вопросы проходят очистку, токенизацию, лемматизацию (с использованием `spaCy`) и удаление стоп-слов (`NLTK`). | |
| - **Поиск по схожести**: Используется TF-IDF векторайзер и косинусное сходство для поиска наиболее релевантного контекста в датасете. | |
| - **Генерация ответа**: Найденный контекст и вопрос пользователя подаются в предобученную модель вопрос-ответа (["AlexKay/xlm-roberta-large-qa-multilingual-finedtuned-ru"](https://huggingface.co/AlexKay/xlm-roberta-large-qa-multilingual-finedtuned-ru)) для извлечения ответа. | |
| ## 🛠️ Технологии и инструменты | |
| - **Python** | |
| - **Streamlit**: для создания веб-интерфейса. | |
| - **Transformers (Hugging Face)**: для загрузки и использования предобученной модели. | |
| - **Datasets (Hugging Face)**: для загрузки датасета вопросов-ответов. | |
| - **spaCy**: для лемматизации русского текста (`ru_core_news_lg`). | |
| - **NLTK**: для токенизации и стоп-слов. | |
| - **Scikit-learn**: для вычисления TF-IDF и косинусного сходства. | |
| - **PyTorch**: бэкенд для моделей `transformers`. | |
| - **BeautifulSoup**: для очистки HTML-тегов. | |
| - **Docker**: для контейнеризации приложения. | |
| - **Hugging Face Spaces**: для хостинга приложения. | |
| ## 🚀 Как использовать | |
| 1. Введите ваш вопрос по истории в поле ввода. | |
| 2. Нажмите кнопку **"Получить ответ"**. | |
| 3. Приложение обработает вопрос и покажет найденный ответ или сообщение о том, что ответ не найден. | |
| ## 📁 Структура репозитория | |
| - `app.py`: Основной скрипт Streamlit-приложения. | |
| - `Dockerfile`: Инструкции для сборки Docker-образа. | |
| - `requirements.txt`: Список зависимостей Python. | |
| -- | |