Hermes V0.2 – Wczesny dostęp
Komunikator danych P2P dla obciążeń AI
Bezpośredni streaming P2P przez QUIC i Arion Sync-Engine – bezpieczne przesyłanie ładunków tensorów o rozmiarze ponad 100 GB między podsieciami.
$ pip install hippius-hermesHIPPIUS HERMES
Pięknie proste. Ogromnie skalowalne.
Płynny protokół maszyna–maszyna zbudowany dla infrastruktury AI – łączy minerów podsieci w Bittensor bez żadnych barier.
Przesyłaj pliki bezpośrednio między peerami przez dwukierunkowe strumienie QUIC. Bez pośrednika HTTP i bez serwera przechowywania. Idealne do wymiany gradientów w czasie rzeczywistym.
NaCl SealedBox (X25519 + XSalsa20-Poly1305) w Rust, zanim dane trafią do sieci. Klucze publiczne zapisane on-chain są odnajdywane automatycznie.
Kieruj ładunki tensorów o rozmiarze ponad 100 GB przez rozproszony magazyn danych. Przechowuj wagi modeli, zbiory danych i punkty kontrolne – bez scentralizowanych serwerów.
Tożsamość węzła jest wczytywana z twojego klucza tajnego Ed25519 i przypisywana do twojego adresu SS58 przez pallet AccountProfile w łańcuchu.
Dwie ścieżki danych. Maksymalna elastyczność.
Przesyłaj pliki bezpośrednio między peerami przez QUIC, aby wymieniać gradienty w czasie rzeczywistym, albo kieruj ładunki o rozmiarze ponad 100 GB przez Arion do trwałego przechowywania.
Bezpośredni P2P QUIC
Wymiana gradientów w czasie rzeczywistym. Bez pośrednika, bez narzutu opóźnień. Idealne dla danych tensorowych na żywo.
Arion Sync-Engine
Ładunki tensorów o rozmiarze ponad 100 GB kierowane przez rozproszone, trwałe przechowywanie danych. Obsługiwane są wstępnie podpisane adresy URL S3.
DLA DEWELOPERÓW
Zacznij budować w kilka minut
Natywne SDK dla Pythona z backendem PyO3, który zwalnia GIL podczas ciężkich operacji kryptograficznych. Konfiguracja JSON offline dla sprawnych wdrożeń masowych.
Integracja z podsieciami
Skonfiguruj węzły Hermes do transferów QUIC uwzględniających podsieci i bezpośredniego dostarczania modeli peer-to-peer.
quickstart.py
01import asyncio02from hermes import Config, HermesClient0304async def main():05# This node is on subnet 42 but needs to talk to subnet 6906config = Config(07node_secret_key_path="/etc/hermes/iroh.key",08ss58_address="5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY",09api_token="sk-your-token",10storage_directory=".hermes_data",11subnet_ids=[42]12)1314client = await HermesClient.create(config)1516# send_file_unencrypted uses hippius-hermes/data/1 (direct P2P QUIC).17# The receiver accepts hippius-hermes/1 regardless of their subnet_ids config.18dest_ss58 = "5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty"19filename = await client.send_file_unencrypted(20dest_ss58,21"./gradients.safetensors"22)23print(f"Sent cross-subnet! File: {filename}")2425if __name__ == "__main__":26asyncio.run(main())