Gaianet. Нода
GaiaNet — это децентрализованная платформа, предоставляющая сеть ИИ-агентов («цифровых двойников»), которые выполняют задачи для пользователей. Вместо централизованных серверов GaiaNet использует узлы на периферии сети, что обеспечивает большую приватность и контроль со стороны пользователей. Платформа помогает внедрять ИИ в различные сферы, например, в образование, и предлагает возможности для разработки децентрализованных ИИ-приложений. Экосистема поддерживается токеном GaiaNet для управления, стейкинга и оплаты услуг внутри сети.
Инвесторы: Mirana Ventures, Mantle и другие
Характеристики: 4CPU/8RAM/200SSD — минимальные
Арендовать сервер: Hetzner, Contabo
Операционная сеть: Ubuntu 22.04
Одна из тех нод, которую можно поставить и забыть и лишь изредка проверять.
Подготовка к установке:
- Скачиваем и устанавливаем Termius
Для Windows - тут
Для macOS - тут
- Арендуем север (рекомендую всем начинать свой путь с Hetzner - на нем лучшее соотношение цены и качества, а также зарегистрируясь по рефке вы получите 20€ на свой аккаунт, которые сможете использовать для оплаты серверов. Гайд по аренде сервера на Hetzner.
- Открываем Termius и жмём New Host
- Откроется панель для ввода данных, где нам понадобится ввести IP который предоставит нам провайдер после аренды сервера в строке "IP or Hostname"; Любое название, которое вам нравится в "Label"; в строке "Username" вводим root, в строке "Password" вводим выданный пароль:
Приступим к установке:
1. Обновление системы и установка необходимых инструментов разработки
sudo apt-get update -y && sudo apt upgrade -y
sudo apt install python3-pip -y
sudo apt install nano -y
sudo apt install tmux -y
2. Загрузка и выполнение последней версии скрипта на установку ноды
curl -sSfL 'https://github.com/GaiaNet-AI/gaianet-node/releases/latest/download/install.sh' | bash
3. Выбор конфигурации Bash
source ~/.bashrc
4. Инициализация GaiaNet с конфигурацией
gaianet init --config https://raw.githubusercontent.com/GaiaNet-AI/node-configs/main/qwen2-0.5b-instruct/config.json
5. Запускаем ноду
gaianet start
The Gaianet node is started at: https://.....
6. Вытаскиваем Node id и Device id
gaianet info
7. Ставим скрипт на перезапуск ноды при падении
sudo nano /etc/systemd/system/gaianet.service
[Unit] Description=Gaianet Node Service After=network.target [Service] Type=forking RemainAfterExit=true ExecStart=/root/gaianet/bin/gaianet start ExecStop=/root/gaianet/bin/gaianet stop ExecStopPost=/bin/sleep 20 Restart=always RestartSec=5 User=root [Install] WantedBy=multi-user.target
8. Перезапускаем
sudo systemctl daemon-reload sudo systemctl restart gaianet.service
9. Привязываем нашу ноду к дашборду
- Отправляемся на сайт и коннектим EVM
- В профиле привязываем все соц.сети
- Возвращаемся сюда и вводим и справа нажимаем "Connect new node"
- Вписываем заранее сохраненную информацию и нажимаем "Join"
- Далее нужно открыть ту ссылку, которую мы копировали в пункте 5. Нам нужно будет нажать "Chat with this node".
- Откроется диалог в котором мы должны общаться с ботом и за это будут капать поинты. (Но мы конечно же этого делать не станем, можете разве что попробовать и переходить к следующему пункту).
10. Устанавливаем скрипт для автоматизации общения с AI ботом.
pip install requests
pip install faker
nano ~/random_chat_with_faker.py
- Вставляем в редактор следующий код:
- Вставить в строке node_url, Subdomain находится тут.
(Пример node_url = "https://0x3e74255d08d0aaa16c7cd940f53d614413ef15c8.us.gaianet.network/v1/chat/completions")
import requests import random import logging import time from faker import Faker from datetime import datetime node_url = "https://ВАШ_Subdomain/v1/chat/completions" faker = Faker() headers = { "accept": "application/json", "Content-Type": "application/json" } logging.basicConfig(filename='chat_log.txt', level=logging.INFO, format='%(asctime)s - %(message)s') def log_message(node, message): logging.info(f"{node}: {message}") def send_message(node_url, message): try: response = requests.post(node_url, json=message, headers=headers) response.raise_for_status() return response.json() except requests.exceptions.RequestException as e: print(f"Failed to get response from API: {e}") return None def extract_reply(response): if response and 'choices' in response: return response['choices'][0]['message']['content'] return "" while True: random_question = faker.sentence(nb_words=10) message = { "messages": [ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": random_question} ] } question_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S") response = send_message(node_url, message) reply = extract_reply(response) reply_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S") log_message("Node replied", f"Q ({question_time}): {random_question} A ({reply_time}): {reply}") print(f"Q ({question_time}): {random_question}\nA ({reply_time}): {reply}") delay = random.randint(60, 180) time.sleep(delay)
tmux new-session -s gaianet
python3 ~/random_chat_with_faker.py
- Теперь нажимаем на кнопки CTRL B D или просто закрываем терминал, и нода будет работать при закрытом терминале.
Дополнительные команды:
tmux attach -t gaianet
sudo systemctl stop gaianet.service
sudo systemctl disable gaianet.service
sudo rm /etc/systemd/system/gaianet.service
sudo systemctl daemon-reload
- Удалите основную папку, в которой были установлены файлы ноды GaiaNet. Согласно гайду, она находится в
/root/gaianet
:
sudo rm -rf /root/gaianet
- Если вы создавали скрипт для автоматизации общения с AI ботом (например,
random_chat_with_faker.py
), удалите его:
rm ~/random_chat_with_faker.py
tmux kill-session -t gaianet
Дополнительные задания
Наши любимые задания на Galxe.