/Anfice-chatbot

Диалоговая система на базе FRED-T5

Primary LanguagePythonMIT LicenseMIT

Чат-бот на базе FRED-T5

Краткое описание

Система позволяет вести беседы подобного типа:

Архитектура системы

В составе диалогового пайплайна есть следующие модели:

  1. Интерпретатор на базе ruT5-small
  2. Chitchat, QA, Instruct устаревшая модель на базе FRED-T5-XL
  3. Chitchat, QA, Instruct обновленная модель на базе FRED-T5-XL
  4. Ранжировщик ответов на базе ruBert-base
  5. Классификатор вопросов на точные и неточные на базе ruBert-tiny2
  6. Классификатор реплик пользователя на базе ruBert-tiny2

Поисковый пайплайн:

  1. Эмбеддинг-модель distiluse-multilingual-v1

Системные требования

  • Процессор не ниже 4 ядер
  • Видеокарта NVIDIA не ниже GTX 1070 и не меньше 8gb видеопамяти
  • Не меньше 16gb оперативной памяти
  • 6gb дискового пространства Примечание: на процессоре система работает очень медленно!

Запуск

  • Python <= 3.10 >= 3.7
  • Git

Скачайте проект на компьютер:

git clone https://github.com/Den4ikAI/Anfice-chatbot.git
cd Anfice-chatbot

Установите все необходимые модули:

pip install -r requirements.txt

Запустите консольный режим:

python3 -m frontend.console_chat

Или telegram-бота:

python3 -m frontend.telegram_bot

FastAPI:

python3 -m frontend.fastapi_api

FastAPI Chat client:

python3 -m frontend.webchat.chat

Токен бота нужно вставить в файл config.py в папке config Первый запуск будет долгим, т.к скачиваются тяжелые языковые модели

Датасеты

  1. Чит-чат и QA с разметкой по релевантности (старая версия) карточка hf
  2. Чит-чат (новый) карточка hf
  3. Новый датасет чит-чата, QA, инструкций уменьшенная версия и расширеная версия
  4. Ответы на вопросы по тексту карточка на hf
  5. Датасет hh-rlhf на русском карточка hf
  6. Датасет инструкций от GPT-4 (не мой) карточка hf

Как поддержать?

  1. Деньгами: можно задонатить сюда -> 5336 6901 8807 9984 (сбер)
  2. GPU: буду рад доступу к GPU с >24gb VRAM
  3. Предложениями: вы можете написать мне в telegram со своими предложениями развития проекта