October 6

Gaia | Установка ноды 

Поздно почему-то у меня руки дошли до этого гайда. Но за ~22 часа вполне можно успеть накидать пару десятков серверов, получить роли и ждать свой ревард.

Почему за 24 часа? Потому что роль Early Node Verified можно получить до завтрашнего дня (21:00 по МСК). Это не означает, что после этого не надо ставить ноды, но по логике, эта роль что-то да значить будет.

Ладно, к делу. Про Gaianet читаем в этом посте. Там я подробно расписал концепцию проекта. Ребята не стоят на месте и по их гитхабу можно увидеть активную разработку. На данный момент есть 2 активности: общаться просто с другими ИИ и поднять своего. Что ценнее со стороны проекта? Ответ очевиден.


Необходимые инструменты

Чтобы поднять ноду, нам нужен удалённый сервер. Не думаю, что вы хотите на своей машине 24/7 его содержать.

И тут есть 2 варианта. Либо вы ищете дорогой сервер с GPU и установленным CUDA, либо довольствуетесь простеньким сервером с play2go.

В документации рекомендуется сервер с GPU (видеокартой), но и не запрещается ставить без него. Просто пропускная способность будет меньше.

Я в гайде покажу как ставить обычный сервер. Разницы в действиях нет, можете повторить хоть где. Ну и придётся запастись дискорд аккаунтом, для получения ролей.


Покупка и настройка сервера

Брать я их буду на play2go, но вы можете найти любой другой хост.

Переходим в раздел покупки и выбираем сервер за 850 р/мес. Он должен работать в штатном режиме, но если готовы выделить чуть больше, смело берите за 1340 р/мес.

ОС сервера обязательно выбираем Ubuntu 22, даём название (слитно или через дефис), придумываем пароль и оплачиваем.

Переходим на https://vm.play2go.cloud/, логинимся и видим активный сервер. Нажимаем на него --> Выбираем справа сверху Spice.

В открывшемся окне логинимся на сервер.

Логин: root
Пароль: который вы ставили при покупке.

Если вы видите перед собой это, значит всё сделали правильно. Переходим к установке ноды.


Установка Tmux

Работать через VNC или Spice интерфейсы очень неудобно в связи с отсутствием функции копировать/вставить и многих других. Поэтому открываем командную строку или терминал и пишем команду:

ssh root@ip -L 8080:localhost:8080 

Вместо "ip" вписываете ip, из списка ваших серверов.

Такое сообщение означает, что вы всё сделали правильно.

Теперь надо установить Tmux. Это очень удобный менеджер для терминала, внутри которого можно делать настоящие фокусы, не останавливая процесс работы.

Обновляем все пакеты:

sudo apt update && sudo apt upgrade -y

Если будет такое сообщение при установке, указываете цифрами все варианты, кроме последнего и нажимаете Enter.

Устанавливаем tmux:

sudo apt install tmux
при выборе пишем "Y"

Запускаем tmux:

tmux

Вкратце объясню. Когда мы запускаем tmux через эту команду, внутри нашего терминала создаётся оболочка, где мы можем выполнять всё те же самые функции, но которые не прекратятся при закрытии терминала. Это допустит не оставлять терминал включённым 24/7.

Советую пройтись быстренько по шпаргалке для понимания работы плагина.


Установка ноды

Теперь нам нужно установить nodejs. Для этого прописываем эти команды по очереди:

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo bash -
sudo apt-get install -y nodejs


Устанавливаем nvm:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
source ~/.bashrc


Устанавливаем nano:

sudo apt install nano
source ~/.bashrc


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

curl -sSfL 'https://github.com/GaiaNet-AI/gaianet-node/releases/latest/download/install.sh' | bash
source ~/.bashrc


Прописываем команду Gaianet info и записываем в безопасное место Node ID и Device ID. Это нужно, чтобы подключить свою ноду к сайту.

Теперь нужно подтянуть языковую модель, на базе которой будет работать наш ИИ. Я рекомендую Qwen2-0.5B-Instruct-Q5_K_M, так как она себя хорошо показывает с точки зрения пропускной способности. Если вы хотите выбрать другую модель, сделать это можете тут: https://www.gaianet.ai/llm

Загружаем модель:

gaianet init --config https://raw.gaianet.ai/qwen2-0.5b-instruct/config.json

Запускаем ноду:

gaianet start

Если вы видите такое сообщение, это равно УСПЕХ

По ссылке из этого сообщения будет доступна ваш ИИ чат. Сохраните её для дальнейшего взаимодействия.


Бомбардировка ноды

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

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

Прописываем по очереди команды:

sudo apt install git
при выборе пишем "Y"
source ~/.bashrc

Клонируем скрипт на сервер: (все команды писать по очереди)

mkdir bot
cd bot
git clone https://github.com/0xdmimaz/gaianet/
cd gaianet
npm i

Меняем конфиг:

nano config.json

В строке url меняем адрес на адрес нашей ноды. Сохраняем (write out) и выходим (горячие клавиша указаны снизу)

Меняем кол-во запросов:

Делаем мы это из-за того, что сервер без GPU и сильно нагрузив его будет фатальной ошибкой.

nano bot_gaia.js

Меняем цифру 5 в строке Chunk Size на 1 или 2. Сохраняем.

Запускаем скрипт:

node bot_gaia.js

Если вы видите такую картину, значит всё сделали правильно.

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

tmux a -t 0

0 - означает имя вашего процесса. По умолчания первый процесс так называется. Чтобы узнать названия всех процессов, прописывайте tmux ls.


Подключение к сайту

Осталось подключить ноду к сайту и мониторить его хотя бы один раз в день.

Помните, мы сохраняли данные Node ID и Device ID. Вот они нам и понадобятся.

Заходим на https://www.gaianet.ai/setting/nodes --> подключаем кошелёк --> нажимаем Connect New Node и вводим свои данные.

Должно быть вот так:

И самое важное. Идём на https://app.galxe.com/quest/Gaia/GCfUwtx2qU и забираем роль за установку ноды, подключив необходимые соц. сети.


Команды для управления нодой:

Запуск:

gaianet start 

Остановка:

gaianet stop

Обновление:

curl -sSfL 'https://github.com/GaiaNet-AI/gaianet-node/releases/latest/download/install.sh' | bash -s -- --upgrade

Удаление:

curl -sSfL 'https://github.com/GaiaNet-AI/gaianet-node/releases/latest/download/uninstall.sh' | bash

Остановка скрипта в окне процесса:

ctrl+c

Выход из сессии tmux:

ctrl+b -> с 

И ещё! Если вы захотите ставить более одной ноды, мало ли))) Делайте по схеме 1 нода = 1 аккаунт. Не стакайте их. Всем удачи! Всем пока"