Sylliba is a revolutionary translation module designed to bridge the gap in communication across diverse languages. With the capability to translate many languages, Sylliba supports both audio and text for inputs and outputs, making it a versatile tool for global interactions.
As our first step into the Bittensor ecosystem, Sylliba connects to the network we are building, providing AI tooling and linking various blockchain networks together. Our mission is to create a seamless and intuitive translation experience that leverages advanced AI to foster better understanding and collaboration across different languages and cultures.
Explore Sylliba and experience the future of translation here
Multi-Language Support: Translate many languages. Versatile Input and Output: Handles both audio and text formats.
Bittensor Integration: Connects to our AI-driven network for enhanced capabilities.
User-Friendly Interface: Designed to be easy to use for everyone.
We welcome contributions from the community to help us improve Sylliba. Please fork this repo and create a PR with your changes for us to review.
There are multiple ways to launch our miner or validator. Choose what works best for you!
MINIMUM HARDWARE REQUIREMENTS:
Miner: 4 CPU Cores, 16GB RAM, 10GB Disk Space and at least an 8GB GPU Validator: 4 CPU Cores, 16GB RAM, 20GB Disk Space and at least a 24GB GPU (better to have multiple GPUs and the requirement will grow)
This approach installs directly on your linux server.
SOFTWARE REQUIREMENTS: Python3, venv, git, nvidia driver
You can run the following commands in your console to install the Sylliba Subnet:
-
Clone the repository:
git clone https://github.com/Agent-Artificial/Sylliba-Subnet.git
-
Navigate to the project directory:
cd Sylliba-Subnet -
Create a Python virtual environment: (if you prefer to use Anaconda or Poetry use that)
python3 -m venv .venv
-
Activate the virtual environment:
source .venv/bin/activate -
Add the Python Path to Env Vars:
export PYTHONPATH=. -
Install the required dependencies:
pip3 install -r requirements.txt
Finally you can serve the miner or validator with the following command.
-
Running a validator:
NOTE: The default port is 8091, however you can override this with
--axon.port [port number]python3 neurons/validator.py --netuid 49 --wallet.name VALIDATOR_COLDKEY_HERE --wallet.hotkey VALIDATOR_HOTKEY_HERE
-
Running a miner:
NOTE: The default port is 8091, however you can override this with
--axon.port [port number]python3 neurons/miner.py --netuid 49 --wallet.name MINER_COLDKEY_HERE --wallet.hotkey MINER_HOTKEY_HERE
Finally you can serve the miner or validator with pm2 using following command.
NOTE: The default port is 8091, however you can override this with --axon.port [port number]
-
Running a validator:
pm2 start neurons/validator.py --name sylliba-validator --interpreter python3 -- --wallet.name VALIDATOR_COLDKEY_HERE --wallet.hotkey VALIDATOR_HOTKEY_HERE
-
Running a miner:
pm2 start neurons/miner.py --name sylliba-miner --interpreter python3 -- --netuid 49 --wallet.name MINER_COLDKEY_HERE --wallet.hotkey MINER_HOTKEY_HERE
Continue on to the Registering section down below
This approach runs a miner or validator in a container built on your server (Windows (WSL), Linux or Mac).
SOFTWARE REQUIREMENTS: Docker, Docker Compose, git, nvidia driver and nvidia docker runtime
You can run the following commands in your console to install the Sylliba Subnet:
-
Clone the repository:
git clone https://github.com/Agent-Artificial/Sylliba-Subnet.git
-
Navigate to the project directory:
cd Sylliba-Subnet -
Copy the environment variables template:
cp .env.example .env
-
Set up the environment variables
Edit the.envfile and configure the necessary values. (You do not need to fill in the validator parts if you are only running a miner.)
5a. Miner - Docker Compose Build:
docker compose -f docker-compose-miner.yml build5b. Validator - Docker Compose Build:
docker compose -f docker-compose-validator.yml build6a. Miner - Docker Compose Up:
docker compose -f docker-compose-miner.yml up -d 6b. Validator - Docker Compose Up:
docker compose -f docker-compose-validator.yml up -d To view your container's log:
docker container logs -f sylliba-subnet-miner-1or
docker container logs -f sylliba-subnet-validator-1Type ctrl+c to exit
You can register a key for use with a miner or validator by executing following commands. Registering lets the block chain and the validator know that you are are going to be available to provide the service on the chain.
-
Registering a validator: Use
--subtensor.network test and --netuid 197for testnet if you wish to deploy therebtcli subnet register --subtensor.network finney --netuid 49 --wallet.name VALIDATOR_COLDKEY_HERE --wallet.hotkey VALIDATOR_HOTKEY_HERE
-
Registering a miner: Use
--subtensor.network test and --netuid 197for testnet if you wish to deploy therebtcli subnet register --subtensor.network finney --netuid 49 --wallet.name MINER_COLDKEY_HERE --wallet.hotkey MINER_HOTKEY_HERE
To run multiple miners without docker you can run this command multiple times, once for each miner.
pm2 start neurons/miner.py --name sylliba-miner --interpreter python3 -- --netuid 49 --axon.port [port for new miner] --wallet.name [coldkey for new miner] --wallet.hotkey [hotkey for new miner]Run multiple miners via Docker Compose.
-
Navigate to the ./docker-multi-miner folder
-
Copy .env.example to .env. This file is ONLY used for the variables in the docker-compose.yml. Add lines for the amount of miners you are going to start
-
Edit the docker-compose.yml file. The one that is there has three miners. To add more just copy one of them and paste below editing all of the name references (i.e. miner3 to miner4) and the .env file (i.e. .env3 to .env4)
-
Run this command to launch all of the miners in containers:
docker compose up -d This repository is licensed under the MIT License.
# The MIT License (MIT)
# Copyright © 2024 Opentensor Foundation
# Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
# documentation files (the “Software”), to deal in the Software without restriction, including without limitation
# the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
# and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
# The above copyright notice and this permission notice shall be included in all copies or substantial portions of
# the Software.
# THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
# THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
# DEALINGS IN THE SOFTWARE.