netops-intent2cli-qwen0.5b-lora
из фразы оператора в команду вендора
LoRA-адаптер (r=16) на базе Qwen/Qwen2.5-0.5B-Instruct от автора gesh75: превращает английское описание задачи сетевого оператора в CLI-команду для оборудования разных вендоров. Адаптер экспериментальный: автор прямо пишет, что это помощник по синтаксису, а не оракул команд.
✨ Ключевые особенности
- 🎯 LoRA r=16, alpha=32, dropout=0.05 на q/k/v/o_proj, обучение только по токенам ответа
- 🗂 565 train / 102 val пар: интенты синтетические (xAI Grok), команды настоящие — из датасета multivendor-cli-commands
- 📊 На held-out тесте (108 пар) exact match вырос с 0.0% у базовой модели до 9.3% (10/108)
- 💻 Обучение на CPU: 8 vCPU, fp32, всего 591 с (~10 минут)
- ⚠️ Часто путает точный путь и ключевые слова, выдумывает опции; без привязки к версии ПО
💻 Пример
from transformers import AutoTokenizer, AutoModelForCausalLM
from peft import PeftModel
base = "Qwen/Qwen2.5-0.5B-Instruct"
tok = AutoTokenizer.from_pretrained(base)
model = PeftModel.from_pretrained(AutoModelForCausalLM.from_pretrained(base), "gesh75/netops-intent2cli-qwen0.5b-lora")
msgs = [{"role": "system", "content": "You are a network CLI assistant. Reply with only the exact CLI command(s) for the given vendor, no explanation."},
{"role": "user", "content": "Vendor: Juniper (junos)\nIntent: show BGP neighbors summary"}]
Подробнее
Бенчмарк: 10/108 exact match у LoRA против 0/108 у базы; лучше всего на Wireshark (3/11) и Linux (2/8).Слабо: FortiOS почти отсутствует в данных, PAN-OS, VyOS и SONiC представлены мало.
Ограничения: синтетические интенты, всего 565 обучающих пар, 0.5B параметров — нужна ручная проверка каждой команды.
Лицензия Apache-2.0, совпадает с базовой моделью.








Комментарии