my-history-qa / README.md
Bjg6742635's picture
Add README.md file
ba0e18e
metadata
title: ИИ-ассистент по истории
emoji: 🤖
colorFrom: purple
colorTo: blue
sdk: docker
pinned: false
license: mit

🤖 ИИ-ассистент по истории

Это интерактивное веб-приложение, разработанное с использованием Streamlit, которое отвечает на вопросы по истории на русском языке. Приложение использует предобученную модель вопрос-ответа, а также методы поиска похожих вопросов/контекста для генерации ответов.

📌 Функциональность

  • Вопрос-ответ по истории: Пользователь вводит вопрос по истории, и приложение пытается найти на него ответ, используя знания из датасета Romyx/ru_QA_school_history.
  • Предобработка текста: Вопросы проходят очистку, токенизацию, лемматизацию (с использованием spaCy) и удаление стоп-слов (NLTK).
  • Поиск по схожести: Используется TF-IDF векторайзер и косинусное сходство для поиска наиболее релевантного контекста в датасете.
  • Генерация ответа: Найденный контекст и вопрос пользователя подаются в предобученную модель вопрос-ответа ("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.