Skip to content

nocsland/urfu_hackathon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Виртуальный помощник ПЭК

Виртуальный помощник ПЭК — это телеграм-бот, использующий подход Retrieval-Augmented Generation (RAG) и Large Language Model (LLM), обученные на корпоративной документации.

Служит для упрощения процесса поиска информации в обширной базе знаний компании. Способен обрабатывать запросы на естественном языке и предоставлять краткие выдержки с ссылками на источники, что значительно повышает эффективность работы сотрудников.

Преимущества

  • Точность и контекстуальность: RAG обеспечивает извлечение релевантных данных, а LLM генерирует точные ответы.
  • Быстрый доступ к информации: Мгновенное предоставление нужной информации из корпоративных документов.
  • Удобное взаимодействие: Телеграм-бот обеспечивает простой интерфейс для пользователей.

Требования к оборудованию

Минимальные требования

  • Процессор: 8 ядер CPU
  • Графический процессор (GPU): NVIDIA GeForce GTX 3090 или выше
  • Видео память: 24 ГБ RAM или больше
  • Оперативная память: 16 ГБ RAM или больше
  • Жесткий диск: HDD с 120 ГБ свободного места

Использование GPU позволяет увеличить скорость работы модели примерно в 5 раз по сравнению с выполнением на CPU.

Технологии и зависимости

Проект использует следующие технологии и библиотеки:

  • Python - основной язык программирования.
  • Telegram Bot API - для создания и управления чат-ботом в Telegram.
  • LangChain - для обработки и анализа текста.
  • Hugging Face Transformers - для работы с моделями трансформеров.
  • FAISS - для быстрого поиска ближайших соседей в векторном пространстве.
  • BeautifulSoup - для парсинга HTML-документов.
  • Text generation web UI - для запуска и работы с LLM и работы с ним через api openai

Все зависимости перечислены в файле requirements.txt.

Начало работы

Установка

Сборка и установка описана в разделе Как собрать и запустить проект

Запуск

Запустите webui:

./text-generation-webui/start_linux.sh --listen --model models/openchat_3.5.Q8_0.gguf --listen-port 7860

Затем запустите чат-бота, используя следующую команду:

./urfu_hackathon/run_app.sh

Использование

Чтобы воспользоваться чат-ботом, выполните следующие шаги:

  1. Добавьте бота в свой список контактов в Telegram через поиск по имени бота.
  2. Начните диалог с ботом, отправив ему сообщение с вашим запросом на естественном языке.
  3. Бот обработает ваш запрос и предоставит наиболее релевантные результаты с ссылками на источники.

Примеры запросов к боту:

  • Как быть если заказчик требует водителя с мед книжкой?
  • Что входит в доставку в гипермаркеты?
  • Доступна ли перевозка грузов к Киргизию?

Команда

  • Антон Власов - Руководитель проекта: Отвечает за общее управление проектом, планирование задач, координацию работы команды и общение с заказчиком.

  • Надежда Сопилова - Разработчик: Реализует сервер для обработки запросов от бота, а также бота для взаимодействия с пользователем в Telegram.

  • Аркадий Дубовик - Исследователь данных: Отвечает за сбор и подготовку корпоративной документации, очистку и предобработку текста, а также создание базы данных для модели.

  • Максим Фролов - Тестировщик: Отвечает за тестирование функциональности всех компонентов проекта, выявление ошибок и отладку.

  • Юрий Запатоцкий - Инженер по машинному обучению: Занимается созданием и настройкой модели, разделением текста на чанки, созданием эмбеддингов и построением базы данных для поиска.

  • Евгений Тимофеев - Технический писатель: Создает документацию проекта, включая README с инструкциями по установке и запуску, описание структуры проекта и лицензии.

Документация

Для детальной информации о процессе сборки и запуска проекта, а также других аспектах работы с проектом, пожалуйста, обратитесь к следующим документам:

Лицензия

Проект распространяется под MIT License. Подробнее можно узнать в файле LICENSE.

About

urfu-hackathon

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •