{"id":13706111,"url":"https://github.com/RogueTensor/bitagent_subnet","last_synced_at":"2025-05-05T19:34:29.000Z","repository":{"id":214716077,"uuid":"737041576","full_name":"RogueTensor/bitagent_subnet","owner":"RogueTensor","description":null,"archived":false,"fork":false,"pushed_at":"2025-04-15T15:33:43.000Z","size":1352,"stargazers_count":20,"open_issues_count":0,"forks_count":26,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-04-15T16:44:50.239Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RogueTensor.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-12-29T16:21:02.000Z","updated_at":"2025-04-15T15:33:47.000Z","dependencies_parsed_at":"2023-12-30T07:51:44.274Z","dependency_job_id":"a49ec171-d3dc-469d-9bbc-84eeb1776b12","html_url":"https://github.com/RogueTensor/bitagent_subnet","commit_stats":null,"previous_names":["roguetensor/bitqna_subnet","roguetensor/bitagent_subnet"],"tags_count":0,"template":false,"template_full_name":"opentensor/bittensor-subnet-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RogueTensor%2Fbitagent_subnet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RogueTensor%2Fbitagent_subnet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RogueTensor%2Fbitagent_subnet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RogueTensor%2Fbitagent_subnet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RogueTensor","download_url":"https://codeload.github.com/RogueTensor/bitagent_subnet/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252563155,"owners_count":21768413,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-02T22:00:52.270Z","updated_at":"2025-05-05T19:34:28.989Z","avatar_url":"https://github.com/RogueTensor.png","language":"Python","funding_links":[],"categories":["Registered Subnets"],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# **BitAgent Subnet (#20) on Bittensor** \u003c!-- omit in toc --\u003e\n[![Discord Chat](https://img.shields.io/discord/308323056592486420.svg)](https://discord.com/channels/799672011265015819/1175085112703078400)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) \n\n---\n\n## Agency for Your World Through Natural Language \u003c!-- omit in toc --\u003e\n\n**Communications:** [BitAgent Discord](https://discord.com/channels/799672011265015819/1194736998250975332)\\\n**Downstream Applications:** [GoGoAgent](https://gogoagent.ai/) • [MSP Tech](https://msptech.ai)\n\u003c/div\u003e\n\n---\n- [Introduction](#introduction)\n- [Get Running](#get-running)\n  - [BitAgent](#bitagent)\n  - [Validator](#validator)\n    - [Dependencies](#dependencies)\n    - [PM2 Installation](#pm2-installation)\n    - [sglang Setup for Validators](#sglang-setup-for-validators)\n    - [Recommended Startup](#recommended-startup)\n    - [Alternative Startup](#alternative-startup)\n    - [Verify Validator is Working](#verify-validator-is-working)\n    - [Hardware Requirements](#validator-hardware-requirements)\n  - [Miner](#miner)\n    - [Hardware Requirements](#miner-hardware-requirements)\n    - [Default Miner](#default-miner)\n    - [Miner Emissions](#miner-emissions)\n    - [Miner Considerations](#miner-considerations)\n    - [Example Task](#example-task)\n    - [Miner Feedback](#miner-feedback)\n  - [Advanced](#advanced)\n- [FAQ](#faq)\n- [License](#license)\n\n## Introduction\n\n**Quick Pitch**: BitAgent revolutionizes how you manage tasks and workflows across platforms, merging the capabilities of large language models (LLMs) with the convenience of your favorite apps such as web browsers, Discord, and custom integrations, including other Bittensor subnets. BitAgent empowers users to seamlessly integrate intelligent agents, providing personalized assistance and integrated task automation.\n\n**Key Objective** - provide intelligent agency to simplify and automate tasks in your day-to-day\n\n**GoGoAgent - Our Application** - [https://gogoagent.ai](https://gogoagent.ai) \\\n**MSPTech - Real world business case** - [https://MSPTech.ai](https://msptech.ai)\n\n**Key Features**\n- Working our way up the [Berkeley Function Calling Leaderboard](https://gorilla.cs.berkeley.edu/leaderboard.html#leaderboard) (BFCL)\n- No API / subscription requirements\n- Run light models (8B parameter) for huge impact\n- FINETUNED MODEL evaluation of tool calling language model fine tunes\n- And a BONUS for getting this far - are you tired of waiting for registration slots?  Check out [register.sh](./scripts/register.sh)\n\n---\n\n## Get Running\n\n- BitAgent is a competitive subnet, meaning miners succeed and fail based on how well they perform on tasks.\n- **Make sure to test your miner locally before ever considering registering for Subnet 20.**\n- Newly registered miners will have their model evaluated by every validator first before any incentive is received - this can take many hours.\n- Before getting too far, please make sure you've looked over the [Bittensor documentation](https://docs.bittensor.com/) for your needs.\n- The min compute requirements are [noted below for Validators](#validator-hardware-requirements).\n- See [FAQ](#faq) for a few more details related to computing requirements for validators and miners.\n- The minimum requirements for a miner are determined by the resources needed to train/fine-tune a competitive and performant tool calling LLM.\n\n### BitAgent\nThis repository requires python 3.10 or higher. \nTo install and get running, simply clone this repository and install the requirements.\n```bash\ngit clone https://github.com/RogueTensor/bitagent_subnet\ncd bitagent_subnet\n# at this point, it's recommended that you use a venv, but not required; the next two lines are venv specific\npython -m venv .venv #replace .venv with the name you'd like to use for your primary venv\nsource ./.venv/bin/activate\npython -m pip install -e .\n```\n\nThen make sure to register your intended wallet (coldkey, hotkey) to Subnet 20:\n```bash\nbtcli subnet register --wallet.path \u003cYOUR PATH: e.g., ~/.bittensor/wallets\u003e --wallet.name $coldkey --wallet.hotkey $hotkey --subtensor.network finney --netuid 20\n```\n\n### Validator\n\n#### Dependencies\n\nYou must have the following things:\n\n- System with at least 48GB of VRAM\n- Python \u003e=3.10\n- PM2\n\n#### PM2 Installation\n\nInstall [PM2](https://pm2.io/docs/runtime/guide/installation/) and the [`jq` package](https://jqlang.github.io/jq/) on your system.\\\n   **On Linux**:\n   ```bash\n   sudo apt update \u0026\u0026 sudo apt install jq \u0026\u0026 sudo apt install npm \u0026\u0026 sudo npm install pm2 -g \u0026\u0026 pm2 update\n   ``` \n   **On Mac OS**\n   ```bash\n   brew update \u0026\u0026 brew install jq \u0026\u0026 brew install npm \u0026\u0026 sudo npm install pm2 -g \u0026\u0026 pm2 update\n   ```\n\n#### sglang Setup for Validators\n\nYou'll need to create a virtual env and install the requirements for sglang:\n```bash\npython3 -m venv .venvsglang\n# note to change cu121 in this path according to this page: https://docs.flashinfer.ai/installation.html\n./.venvsglang/bin/pip install flashinfer -i https://flashinfer.ai/whl/cu121/torch2.4/ \n./.venvsglang/bin/pip install -r requirements.sglang.txt\n```\n\n**Test that it's working with:**\n```\n.venvsglang/bin/python -m sglang.launch_server --model-path Salesforce/xLAM-7b-r --port 8028 --host 0.0.0.0 --mem-fraction-static 0.40\n```\n\nYou should not run out of memory and it should eventually show that the Salesforce model loaded correclty.\n\n#### Recommended Startup\n\nFirst, make sure you do the [sglang setup](#sglang-setup-for-validators) above.\n\n```bash\n# for mainnet with AUTO UPDATES (recommended)\npm2 start run.sh --name bitagent_validators_autoupdate -- --wallet.path \u003cYOUR PATH: e.g., ~/.bittensor/wallets\u003e --wallet.name \u003cyour-wallet-name\u003e --wallet.hotkey \u003cyour-wallet-hot-key\u003e --netuid 20\n```\n\nDouble check everything is working by following [these steps](#verify-validator-is-working).\n\n#### Alternative Startup\n\nFirst, make sure you do the [sglang setup](#sglang-setup-for-validators) above.\n\n```bash\n# for testnet\npython3 neurons/validator.py --netuid 76 --subtensor.network test --wallet.path \u003cYOUR PATH: e.g., ~/.bittensor/wallets\u003e --wallet.name \u003cCOLDKEY\u003e --wallet.hotkey \u003cHOTKEY\u003e\n\n# for mainnet\npm2 start neurons/validator.py --interpreter python3 -- --netuid 20 --subtensor.network \u003cLOCAL/FINNEY/TEST\u003e --wallet.path \u003cYOUR PATH: e.g., ~/.bittensor/wallets\u003e --wallet.name \u003cCOLDKEY\u003e --wallet.hotkey \u003cHOTKEY\u003e --axon.port \u003cPORT\u003e\n```\n\nDouble check everything is working by following [these steps](#verify-validator-is-working).\n\n#### Verify Validator is Working\n\nAfter you've launched and pm2 is running, here's what to expect:\\\n- You'll want to make sure miner's HF models are being evaluated - check your `pm2 log \u003cID\u003e | grep OFFLINE` output for lines like these (from testnet):\\\n  ```bash\n  1|bitagent | 2024-11-17 23:26:07.154 |      DEBUG       | bittensor:loggingmachine.py:437 | OFFLINE: Starting offline mode for competition 1-1\n  1|bitagent | 2024-11-17 23:26:08.831 |      DEBUG       | bittensor:loggingmachine.py:437 | OFFLINE: Starting offline task\n  1|bitagent | 2024-11-17 23:26:12.529 |      DEBUG       | bittensor:loggingmachine.py:437 | OFFLINE: Miner HF model names: [None, 'Salesforce/xLAM-7b-r']\n  1|bitagent | 2024-11-17 23:26:12.529 |      DEBUG       | bittensor:loggingmachine.py:437 | OFFLINE: Unique miner HF model names: ['Salesforce/xLAM-7b-r']\n  1|bitagent | 2024-11-17 23:26:12.529 |      DEBUG       | bittensor:loggingmachine.py:437 | OFFLINE: Generating tasks\n  1|bitagent | 2024-11-17 23:28:21.793 |      DEBUG       | bittensor:loggingmachine.py:437 | OFFLINE: Generated 1000 tasks of 1000 total\n  1|bitagent | 2024-11-17 23:28:21.793 |      DEBUG       | bittensor:loggingmachine.py:437 | OFFLINE: Running tasks for model Salesforce/xLAM-7b-r\n  1|bitagent | 2024-11-17 23:28:21.939 |      DEBUG       | bittensor:loggingmachine.py:437 | OFFLINE: Starting server for model Salesforce/xLAM-7b-r\n  1|bitagent | 2024-11-17 23:28:21.941 |      DEBUG       | bittensor:loggingmachine.py:437 | OFFLINE: Started server for model Salesforce/xLAM-7b-r, waiting for it to start on port 8028 (could take several minutes)\n  1|bitagent | 2024-11-17 23:29:25.469 |      DEBUG       | bittensor:loggingmachine.py:437 | OFFLINE: Server for model Salesforce/xLAM-7b-r started\n  1|bitagent | 2024-11-17 23:29:25.470 |      DEBUG       | bittensor:loggingmachine.py:437 | OFFLINE: Getting LLM responses for model Salesforce/xLAM-7b-r\n  1|bitagent | 2024-11-17 23:38:54.257 |      DEBUG       | bittensor:loggingmachine.py:437 | OFFLINE: Got 1000 LLM responses for model: Salesforce/xLAM-7b-r\n  1|bitagent | 2024-11-17 23:38:54.258 |      DEBUG       | bittensor:loggingmachine.py:437 | OFFLINE: Terminating server for model: Salesforce/xLAM-7b-r\n  1|bitagent | 2024-11-17 23:38:54.965 |      DEBUG       | bittensor:loggingmachine.py:437 | OFFLINE: Terminated server for model: Salesforce/xLAM-7b-r\n  1|bitagent | 2024-11-17 23:38:55.030 |      DEBUG       | bittensor:loggingmachine.py:437 | OFFLINE: Processing rewards for model: Salesforce/xLAM-7b-r, for miners: [160]\n  1|bitagent | 2024-11-17 23:38:58.530 |      DEBUG       | bittensor:loggingmachine.py:437 | OFFLINE Scattered rewards: [np.float64(0.16442660138718893)]\n  1|bitagent | 2024-11-17 23:38:58.531 |      DEBUG       | bittensor:loggingmachine.py:437 | Updated moving avg OFFLINE scores for Competition 1-1: [-0.5       -0.5       -0.5       -0.5       -0.5       -0.5\n  1|bitagent | 2024-11-17 23:38:58.533 |      DEBUG       | bittensor:loggingmachine.py:437 | OFFLINE: Deleting model from HF cache: Salesforce/xLAM-7b-r\n  1|bitagent | 2024-11-17 23:39:01.198 |      DEBUG       | bittensor:loggingmachine.py:437 | OFFLINE: Model 'Salesforce/xLAM-7b-r' has been removed from the cache.\n  1|bitagent | 2024-11-17 23:39:01.199 |      DEBUG       | bittensor:loggingmachine.py:437 | OFFLINE: Finished processing offline tasks\n  1|bitagent | 2024-11-17 23:39:02.765 |      DEBUG       | bittensor:loggingmachine.py:437 | OFFLINE: Starting offline mode for competition 1-1\n  1|bitagent | 2024-11-17 23:39:03.147 |      DEBUG       | bittensor:loggingmachine.py:437 | OFFLINE: Starting offline task\n  1|bitagent | 2024-11-17 23:39:03.638 |      DEBUG       | bittensor:loggingmachine.py:437 | OFFLINE: Miner HF model names: [None]\n  1|bitagent | 2024-11-17 23:39:03.638 |      DEBUG       | bittensor:loggingmachine.py:437 | OFFLINE: No unique miner HF model names to evaluate in OFFLINE mode\n  ```\n- If you're seeing all of this output, your validator is working!\n\n#### Validator Hardware Requirements\n\nValidators have hardware requirements. A series of LLMs must be loaded via sglang for evaluation:\n  - Each LLM is a miner's tool calling model fetched from Hugging Face, one at a time to be evaluated OFFLINE for FINETUNED SUBMISSION and takes up 25GB to 32GB of VRAM.\n  - See [min_compute.yml](./min_compute.yml).\n\n### Miner\nIf you just want to run the miner without the [script](./scripts/setup_and_run.sh) or are connecting to mainnet:\n```bash\n# for testing, run a local validator\npython3 neurons/miner.py --netuid \u003clocal netuid\u003e --wallet.path \u003cYOUR PATH: e.g., ~/.bittensor/wallets\u003e --wallet.name \u003cCOLDKEY\u003e --wallet.hotkey \u003cHOTKEY\u003e\n# or run your model against [BFCL's evaluations](https://github.com/ShishirPatil/gorilla/tree/main/berkeley-function-call-leaderboard#running-evaluations) - \n# for mainnet\npm2 start neurons/miner.py --interpreter python3 --\n    --netuid 20\n    --subtensor.network \u003cfinney/local/test\u003e\n    --wallet.path \u003cYOUR PATH: e.g., ~/.bittensor/wallets\u003e # 8.2.0 has a bug that requires wallet path to be provided\n    --wallet.name \u003cyour wallet\u003e # Must be created using the bittensor-cli\n    --wallet.hotkey \u003cyour hotkey\u003e # Must be created using the bittensor-cli\n    --miner-hf-model-name-to-submit Salesforce/xLAM-7b-r # submit your own fine tune with this param\n    --logging.debug # Run in debug mode, alternatively --logging.trace for trace mode\n    --log_level trace # for trace logs\n    --axon.port # VERY IMPORTANT: set the port to be one of the open TCP ports on your machine\n\n```\n#### Miner Hardware Requirements\nMiners will only need to submit a top tool calling LLM or a fine-tune of their own, needing GPU with adequqate VRAM (GBs) to build their model.\nThere is no longer inference on SN20, so no model needs to run 24/7.\n\n#### Default Miner\nThe default miner is all you need with this modification:\n1) `--miner-hf-model-name-to-submit` - set this to the HF model path and repo name from Hugging Face (HF).  \\\n   Example: `--miner-hf-model-name-to-submit Salesforce/xLAM-7b-r`\n\nSee [Miner Configuration Considerations](#miner-configuration-considerations) for common areas miners should look to improve.\n\n#### Miner Emissions\n\nMiner emissions are based soley on FINETUNED SUBMISSION evaluation:\n- 100% of the miner's score is determined by the persistent abilty of their FINETUNED SUBMISSION to be evaluated by the validators on the validators' machines.\n- Miners' submissions are locked in and cannot be changed after submission.  Miners may, of course, register their new model as a new miner.\n- New datasets are pushed out to ensure miners are not overfitting and will be used by the validators to reevaluate the miners' models.\n  \nThe miners must finetune an 8B model (or less) to perform well on tasks similar to [BFCL Leaderboard](https://gorilla.cs.berkeley.edu/leaderboard.html). Miners must publish their model to HuggingFace and update their `--miner-hf-model-name-to-submit` parameter when starting their miner - see [Default Miner](#default-miner)\n\n#### Miner Configuration Considerations\nThe default miner is all you need, just make sure you update the parameters described in [Default Miner](#default-miner).  \nFor your consideration:\n1) Use pm2 to launch your miner for easy management and reconfiguration as needed.\n2) We use [SGLang](https://sgl-project.github.io/start/install.html) to run your hugging face models, please make sure your model loads with SGLang.\n3) See how [we are running sglang](https://github.com/RogueTensor/bitagent_subnet/blob/e0e09470bb10b27779c0c00f9ebaabe016505832/bitagent/validator/offline_task.py#L309) to make sure you run it the same way in your testing.\n4) Don't make it obvious to other miners where your HuggingFace submission is, manage this discretely.\n\n#### Example Task\nHere's an example task you can expect your model to see in FINETUNED SUBMISSION mode:\n\nYour submitted model will receive messages like this:\n```bash\n[{\"content\":\"What is the discounted price of the jacket, given it was originally $200 and there is a 20% reduction?\",\"role\":\"user\"}]\n```\nand Tools like this:\n```bash\n[{\"arguments\":{\"discount_percentage\":{\"required\":true,\"type\":\"number\",\"description\":\"The percentage discount to be applied\"},\n\"original_price\":{\"description\":\"The original price of the item\",\"required\":true,\"type\":\"number\"}},\n\"description\":\"Calculate the discounted price of an item based on the original price and discount percentage\",\"name\":\"calculate_discount\"},\n{\"arguments\":{\"pod_name\":{\"description\":\"The name of the pod to be restarted\",\"required\":true,\"type\":\"str\"}},\n\"description\":\"A function to restart a given pod, useful for deployment and testing.\",\"name\":\"restart_pod\"},...]\n```\n\nIn response, your model should return the function call like this (with the parameter values pushed in):\\\n`calculate_discount(discount_percentation=..., original_price=...)`\n\nThe model is responsible for returning a function call like above with the right function name, the correct function argument names and values, being sure to set any required arguments appropriately.\n\n#### Miner Feedback\nAll task evaluations are pushed up to mainnet's wandb:\n- WandB Mainnet - https://wandb.ai/bitagentsn20/mainnet\n\n### Advanced\nIf you have a need to create and fund wallets for your own testing ...\n\nAfter getting the [subtensor package started and a subnet up and running](./docs/running_on_staging.md) (for staging/local) - you can use this [script](./scripts/setup_and_run.sh) to:\n- create wallets (for owner, validators, miners),\n- fund those wallets with the right amount of tao,\n- register wallets on the local subnet,\n- start miners and validators\n\n```bash\n./scripts/setup_and_run.sh\n```\nYou can use several flags to configure:\n- the number of miners or validators it sets up,\n- whether it funds wallets,\n- or if it registers wallets,\n- or just launches a miner\n```bash\nbitagent_subnet$ ./scripts/setup_and_run.sh --help\n\nCreates wallets for the subnet (owner, validators, miners), funds them, registers them, then starts them.\n\nusage: ./scripts/setup_and_run.sh --num_validators num --num_miners num --subnet_prefix string\n\n  --num_validators num     number of validators to launch\n                           (default: 1)\n  --num_miners     num     number of miners to launch\n                           (default: 2)\n  --subnet_prefix  string  the prefix of the subnet wallets\n                           (default: local_subnet_testing_bitagent)\n  --skip-wallet            skip wallet creation\n                           (default: run wallet creation)\n  --skip-faucet            skip wallet funding\n                           (default: fund wallets)\n  --skip-subnet            skip subnet creation\n                           (default: create subnet)\n  --skip-reg               skip all registration to the subnet\n                           (default: register wallets)\n  --skip-val-reg           skip validator registration to the subnet\n                           (default: register validator)\n  --skip-miner-reg         skip miner registration to the subnet\n                           (default: register miner)\n  --skip-launch            skip validator and miner launching on the subnet\n                           (default: launch validators and miners)\n  --skip-launch_v          skip validator launching on the subnet\n                           (default: launch validators)\n  --only-launch            skip everything but launching\n                           (default: do everything)\n  --test-net               do the same things, but for testnet\n                           (default: false, local)\n  --main-net               do the same things, but for mainnet\n                           (default: false, local)\n  --netuid                 the netuid to work with\n                           (default: 1 for local, change if main or test)\n\nExample: ./scripts/setup_and_run.sh --only-launch\nThis will skip everything and just launch the already registered and funded validators and miners\n```\n\n---\n\n## FAQ\n**Q: How much GPU (VRAM) and RAM do I need to run a validator and/or miner?** \\\nA: Validators need a GPU and require a minimum of 48 GBs of VRAM with performant CPU.  \\\nMiners are left to their own setup, but should be aware that the more capable tool calling LLMs require a decent amount of VRAM to fine-tune the model to be submitted.  Reminder that miners are not required to host a model for real-time inference.\n\n**Q: Why is my miner suddenly performing poorly?** \\\nA: New datasets are periodically pushed to combat overfitting to any particular dataset.  \\\nMiners' models are locked in upon submission, therefore miners should find and finetune on larger function calling datasets to have the best chance of surviving multiple dataset pushes.\\\nThe most ideal dataset to target is BFCL's.\n\n**Q: Are there any required subscriptions or paid APIs?** \\\nA: No - no subs, no external companies, in fact we'd prefer the community build amazing AI capabilities rather than relying on corporations.\n\n**Q: What LLM should I use?** \\\nA: This is where the miner needs to experiment some and test and fine-tune different LLM models to find what accomplishes the tasks most successfully.  Have a look at models in the Salesforce xLAM family as good starting points.  By this time, we may have a top performing model released on BFCL that you can start from.\n\n**Q: Validators are running miner-submitted HF models, will validators require `trust_remote_code`?** \\\nA: No, we require that no setup scripts or any code be necessary for running the models.\n\n**Q: I started my miner and I am not receiving any tasks.** \\\nA: There are a few things to check:\n- Is your axon port, as reported on the metagraph, correct (you can check taostats or metagraph)?\n- Is your axon port open and reachable from a system in the real world (like where the validators are)?\n- Do you have TRACE logging on to see the dendrite requests and DEBUG logging on to see the task results?\n- Make sure there isn't a stale process that is preventing your new miner process from starting up on the intended port.\n\n**Q: What about model copying?** \\\nA: https://discord.com/channels/799672011265015819/1194736998250975332/1302870011362279514\n\n**Q: My model is not being evaluated OFFLINE for FINETUNED SUBMISSION and is receiving a score of 0.** \\\nA: There are a few things to check:\n- Is your model licensed under the apache-2.0 license?\n- Is your model size less than 10B parameters? We are looking for 8B params or less models.\n- Is your model name properly set in Hugging Face?\n\n**Q: I'm getting a wallet path error, like: `KeyFileError: Keyfile at: ${HOME}/~/.bittensor/wallets/...`** \\\nA: There is a bug in 8.2.0 that is setting the wallet path incorrectly, so you may need to fix this by adding this parameter to your start command: \\\n  `--wallet.path ~/.bittensor/wallets`\n\n**Q: I have a complicated CUDA Device setup and need to use a specific GPU device as a validator running the FINETUNED models:** \\\nA: We provide two parameters for this: \\\n  `--neuron.visible_devices`\\\n  `--neuron.device`\\\nExample usage: To use the 2nd CUDA Device, you would add these to your parameters: \\\n  `--neuron.visible_devices 1 --neuron.device cuda:0`\n\n**Q: My validator is running out of GPU memory when loading OFFLINE models via sglang.** \\\nA: You can use this parameter: `--validator-hf-server-mem-fraction-static` to increase or decrease the amount of the GPU VRAM to use.\\\nIt defaults to 0.85 of the VRAM.\n\n**Q: My vTrust is low and it looks like I'm not setting OFFLINE weights.**\\\nA: Please test your sglang setup - check [here](#sglang-setup-for-validators).\n\n**Q: I'm validating and seeing errors like:**\n- TimeoutError\n- ClientConnectorError \n\nA: These are responses likely during the GetHFModelName() query, they are just letting you know that the miner is not responding or connecting in time. If these are one-offs, then nothing the validator needs to do.\n\n**Q: My validator is hanging, just printing out \"Validator running ...\"**\\\nA: There are a few things to check:\n- You may not see much unless you turn on some logging, you can add this to your params to see more details:\\\n  `--log_level trace --logging.trace --logging.debug`\n- Check your storage, make sure you didn't run out:\\\n  `df -h`\n- If all else fails, [reach out](https://discord.com/channels/799672011265015819/1194736998250975332)\n\n\n---\n\n## License\nThis repository is licensed under the MIT License.\n```text\n# The MIT License (MIT)\n# Copyright © 2023 Yuma Rao\n# Copyright © 2023 RogueTensor\n\n# Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated\n# documentation files (the “Software”), to deal in the Software without restriction, including without limitation\n# the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,\n# and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\n# The above copyright notice and this permission notice shall be included in all copies or substantial portions of\n# the Software.\n\n# THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO\n# THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL\n# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\n# DEALINGS IN THE SOFTWARE.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRogueTensor%2Fbitagent_subnet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FRogueTensor%2Fbitagent_subnet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRogueTensor%2Fbitagent_subnet/lists"}