Как это было. Взяли для участия на хакатоне сервер от Selectel с GPU CUDA Tesla T4, начали ставить на него Mistral 7b, словили кучу ошибок, что видеоресурсы не найдены.
В результате работы на хакатоне изобрели целый мануал, как настраивать сервак на Ubuntu 22 под Mistral 7b. Нейросетевой разработчик в это же время на локалке все очень быстро сделал, поставили на сервак Jupyter Notebook. Туда подгрузили ipynb-файл. Ну подробнее – это уже коммерческая тайна, что мы там химичили.
Файл с моделью, в итоге, не ругался сначала на импорты, а потом на все остальные строчки кода в нем. Fast API, Get-запрос, импорт модели. Вот такое простое решение, в итоге, получилось.
Содержание такого сервера сегодня стоит 39000 рублей, поэтому мы быстренькое записали мануал, а проект приостановили до лучших времен. Но что же делает, в итоге, проект? Все довольно круто.
Решение с накатана мы оформили на отдельной страничке http://rustore.genervis.ru/chat.php, доступ с использованием сервера-бека, разумеется, по запросу.
Для чего же нужна эта связка Mistral 7b + RAG? Дело в том, что RAG позволяет использовать данные компании, собранные в файлик, для вопросной-ответной системы. Проще говоря, мы сделали чат-бота, который может говорить не просто ответами вида "Нормально, а сам как" на вопросы "привет, как дела", а может найти в .doc-файле с помощью RAG информацию в векторной форме, точнее модель уже векторизировала данные с doc-файла, просто можно модель постоянно из этого же файла и обновлять. Либо из других файлов такого же рода.
Вы задаете вопрос, а RAG ищет наиболее похожие на Ваш вопрос данные. И выдает то, что нашла. Может выдать наиболее подходящие, если поставить порог на степень соответствия.
Ответ будет прямо из файла, и, возможно, не очень красивым. Ответы, будем считать, у нас не выверены, а с обрывистым характером следования предложений, с пробелами... Это все компенсировал бы чат GPT, который можно попросить: "Оформи, пожалуйста, из этого набора фраз красивый ответ для чат-бота". В целом, мы так и делаем. Только для красоты импортозамещения мы просим об этом не модель GPT от OpenAI, GigaChat или Ya, а держим свой GPT на своем сервере, а им и является Mistral.
На пальцах все круто и просто, но пришлось изрядно попотеть, чтобы у нас в арсенале были эти возможности. Ура, товарищи! Заодно мы Ларису переделали в синюю красивую девушку, которая теперь для нового проекта отвечает на вопросы с мимикой и красивым голосом, сгенерированным искусственным интеллектом.