--- 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. --