Initial commit: AI-Trainer Unsloth MoE & GRPO Control Center with Web Dashboard and Pipeline Scripts
This commit is contained in:
43
scripts/harvester.py
Normal file
43
scripts/harvester.py
Normal file
@@ -0,0 +1,43 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
harvester.py - Infrastructure Configuration & Telemetry Harvester
|
||||
Scrapes Proxmox bridge configs, dnsmasq leases, ADB devices, and nftables rules.
|
||||
"""
|
||||
|
||||
import json
|
||||
import os
|
||||
import sys
|
||||
from typing import Dict, List, Any
|
||||
|
||||
OUTPUT_DATASET = "infra_dataset.jsonl"
|
||||
|
||||
def collect_infrastructure_configs() -> List[Dict[str, Any]]:
|
||||
"""Generates synthetic operational dataset mapping infrastructure prompts to execution steps."""
|
||||
return [
|
||||
{
|
||||
"prompt": "VM clone at 10.30.20.104 on vmbr1 dropped ADB port 5555 connection. Diagnose and restore connectivity from 10.30.20.1.",
|
||||
"completion": "```bash\nping -c 2 -W 1 10.30.20.104 > /dev/null\nif [ $? -eq 0 ]; then\n adb connect 10.30.20.104:5555\nelse\n systemctl restart dnsmasq\n sleep 2\n adb connect 10.30.20.104:5555\nfi\n```"
|
||||
},
|
||||
{
|
||||
"prompt": "Route outbound TCP traffic for VM MAC 52:54:00:12:34:56 (IP 10.30.20.115) through proxy endpoint 185.220.101.5:1080 via nftables on gateway 10.30.20.1.",
|
||||
"completion": "```bash\nnft add table inet proxy_filter\nnft add chain inet proxy_filter dispatch '{ type filter hook prerouting priority 0; policy accept; }'\nnft add rule inet proxy_filter dispatch ip saddr 10.30.20.115 tcp dport != 5555 redirect to :1080\n```"
|
||||
},
|
||||
{
|
||||
"prompt": "Query Proxmox qemu list, find active VM IDs on bridge vmbr1, and verify battery stats for device at 10.30.20.101:5555.",
|
||||
"completion": "```bash\nqm list | grep running\nadb -s 10.30.20.101:5555 shell dumpsys battery | grep level\n```"
|
||||
},
|
||||
{
|
||||
"prompt": "Inspect /var/lib/misc/dnsmasq.leases for IP 10.30.20.150. If lease exists, extract assigned MAC address.",
|
||||
"completion": "```bash\ngrep '10.30.20.150' /var/lib/misc/dnsmasq.leases | awk '{print $2, $3}'\n```"
|
||||
}
|
||||
]
|
||||
|
||||
def main():
|
||||
configs = collect_infrastructure_configs()
|
||||
with open(OUTPUT_DATASET, "w", encoding="utf-8") as f:
|
||||
for item in configs * 25:
|
||||
f.write(json.dumps(item) + "\n")
|
||||
print(f"[+] Generated {OUTPUT_DATASET} with {len(configs)*25} items.")
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user