Как запустить GPT4ALL в частном облаке
TLDR; проверьте https://github.com/drbh/gmessage для получения последней версии кода
Фон
Большие языковые модели, такие как ChatGPT и LlaMA, — это потрясающие технологии, которые чем-то напоминают калькуляторы для простых задач, требующих знания, таких как написание текста или кода.
Я не буду вдаваться в подробности, но в основе этих технологий лежит точный статистический анализ для генерации текста, который с наибольшей вероятностью появится в следующий раз.
Модели могут это сделать, потому что они видели большое количество текста (намного больше текста, чем любой человек может прочитать), и они оптимизируют свои статистические догадки, используя текст как источник истины.
LLM уже оказались очень полезными для ряда задач, но из-за их технической сложности поставщиков этих моделей очень мало.
К счастью, некоторые действительно умные люди расшифровали модели с открытым исходным кодом, используемые крупными организациями, и значительно уменьшили их размер и требования к оборудованию. В результате появилась возможность запускать эти модели на повседневных машинах.
Особо хочу отметить работу, проделанную ggerganov; llama.cpp, который позволяет выполнять большинство математических операций в нижнем левом углу, и GPT4ALL Nomic AI, который обеспечивает комплексный уровень для взаимодействия со многими моделями LLM. Я призываю читателей проверить эти удивительные проекты!
В дополнение к локальному запуску моделей я искал способ запустить свой собственный LLM в личной частной сети и взаимодействовать с ним в своем браузере, подобно ChatGPT.
Поскольку GPT4ALL только что выпустила свои привязки к Golang, я подумал, что это может быть забавным проектом по созданию небольшого сервера и веб-приложения для этого варианта использования.
Позже в тот же день родился gmessage: https://github.com/drbh/gmessage.
gmessage — еще один веб-интерфейс для gpt4all с парой полезных функций, таких как история поиска, менеджер моделей, темы и приложение на верхней панели.
Хотя приложение все еще находится на ранней стадии, оно достигает точки, когда оно может быть интересным и полезным для других и, возможно, вдохновит некоторых разработчиков Golang или Svelte на разработку технологии искусственного интеллекта с открытым исходным кодом!
Каков конечный результат
Прежде чем прокрутить вниз и посвятить 5 минут настройке, каков конечный результат? Что я понял?
🔍 Поиск
🎨 Темы
⚙️ Менеджер загрузки моделей
В настоящее время реализованы и другие функции, такие как преобразование текста в речь, а также настольная и веб-версия. А также многие другие функции, над которыми сейчас ведется работа.
Как бежать прямо сейчас
docker run -p 10999:10999 drbh/gmessage:v0.0.0
или если вы просто хотите увидеть пользовательский интерфейс и протестировать его, вы можете протестировать его здесь
Как развернуть в собственном облаке
Сначала клонируйте репо
git clone https://github.com/drbh/gmessages.git
Далее, поскольку мы хотим развернуть это удаленно, нам нужно будет использовать облачного провайдера.
Для простоты и низкой стоимости мы будем использовать Fly.io для развертывания нашего Dockerfile с помощью всего нескольких команд.
fly launch
Большой! Это было легко, теперь мы просто ждем завершения процесса, и fly поделится с вами пользовательским URL-адресом.
Примечание; ваш сервер не защищен какой-либо авторизацией или аутентификацией, поэтому любой, у кого есть эта ссылка, может использовать ваш LLM.
Кроме того, если вы хотите запустить его через докер, вы можете использовать следующие команды.
docker build -t gmessage . docker run -p 10999:10999 gmessage
В производственной среде важно защитить ваши ресурсы за службой аутентификации, или в настоящее время я просто запускаю свой LLM в личной VPN, чтобы только мои устройства могли получить к нему доступ.
Если вы заинтересованы или в настоящее время создаете большие распределенные сети с LLM с открытым исходным кодом, свяжитесь с нами!
Заключение
Это первые дни для LLM с открытым исходным кодом и ИИ, сохраняющих конфиденциальность. Хотя сейчас модели несовершенны, прогресс идет быстро, и каждый день появляются новые достижения!
Это также первые дни для gmessage, и мы можем использовать всю помощь, которую мы можем получить, чтобы создать забавный и полезный интерфейс чата, пожалуйста, подумайте о том, чтобы внести свой вклад или попробовать проект!