Qwen2.5 Route Fine Tuning

 AI Fine Tuning Qwen2.5

Для fine-tuning моделей размера 7B (как Qwen2.5) критически важно использовать структурированный формат и Chain-of-Thought (цепочку рассуждений). Модель должна не просто угадывать ответ, а учиться логически выводить его из предоставленных данных.


Ниже представлены 3 примера в формате messages (стандарт ChatML/Alpaca, который идеально подходит для Qwen). Ответ ассистента оформлен в виде валидного JSON, чтобы модель научилась выдавать строго структурированные данные, удобные для парсинга вашей системой мониторинга.


1. Этот пример учит модель замечать суммарные маршруты, под которыми нет конкретных подсетей.


JSON


{

  "messages": [

    {

      "role": "system",

      "content": "Ты — эксперт по сетевой инженерии Cisco. Твоя задача — проанализировать вывод команд 'show ip interface brief' и 'show ip route', найти конфигурационные ошибки или аномалии и вернуть результат в строгом формате JSON."

    },

    {

      "role": "user",

      "content": "Проанализируй следующие данные с маршрутизатора Core-R1:\n\n### show ip interface brief\nInterface              IP-Address      OK? Method Status                Protocol\nGigabitEthernet0/0     10.1.1.1        YES manual up                    up      \nGigabitEthernet0/1     192.168.100.1   YES manual up                    up      \n\n### show ip route\nCodes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP\n       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area \n       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2\n       O E2 - OSPF external type 2\n\nO        10.0.0.0/8 is a summary, 00:15:23, Null0\nC        10.1.1.0/24 is directly connected, GigabitEthernet0/0\nL        10.1.1.1/32 is directly connected, GigabitEthernet0/0\nC        192.168.100.0/24 is directly connected, GigabitEthernet0/1\nL        192.168.100.1/32 is directly connected, GigabitEthernet0/1"

    },

    {

      "role": "assistant",

      "content": "{\n  \"analysis\": \"В таблице маршрутизации присутствует суммарный маршрут OSPF '10.0.0.0/8' с интерфейсом вывода Null0. Однако в таблице отсутствуют какие-либо более специфичные маршруты (например, /16 или /24), входящие в этот диапазон (кроме напрямую подключенной 10.1.1.0/24, которая имеет более длинную маску и не покрывается суммаризацией для других подсетей). Это означает, что любой трафик, предназначенный для других подсетей диапазона 10.x.x.x, будет немедленно отброшен интерфейсом Null0.\",\n  \"error_type\": \"Null0 Blackhole / Missing Specific Routes\",\n  \"severity\": \"High\",\n  \"affected_prefixes\": [\"10.0.0.0/8\"],\n  \"recommendation\": \"Проверьте конфигурацию агрегации маршрутов (area X range или summary-address). Убедитесь, что на этом или нижестоящих маршрутизаторах существуют и анонсируются конкретные подсети, входящие в диапазон 10.0.0.0/8. Если суммаризация не нужна, удалите команду агрегации.\"\n}"

    }

  ]

}


Пример 2: Отсутствие маршрута по умолчанию (Missing Default Route).

Этот пример учит модель сопоставлять наличие внешних интерфейсов (WAN) с необходимостью наличия маршрута 0.0.0.0/0.


JSON


{

  "messages": [

    {

      "role": "system",

      "content": "Ты — эксперт по сетевой инженерии Cisco. Твоя задача — проанализировать вывод команд 'show ip interface brief' и 'show ip route', найти конфигурационные ошибки или аномалии и вернуть результат в строгом формате JSON."

    },

    {

      "role": "user",

      "content": "Проанализируй следующие данные с пограничного маршрутизатора Edge-R1:\n\n### show ip interface brief\nInterface              IP-Address      OK? Method Status                Protocol\nGigabitEthernet0/0     10.50.1.1       YES manual up                    up      \nGigabitEthernet0/1     203.0.113.2     YES manual up                    up      \n\n### show ip route\nCodes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP\n       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area \n\nC        10.50.1.0/24 is directly connected, GigabitEthernet0/0\nL        10.50.1.1/32 is directly connected, GigabitEthernet0/0\nC        203.0.113.0/30 is directly connected, GigabitEthernet0/1\nL        203.0.113.2/32 is directly connected, GigabitEthernet0/1\nO IA     10.0.0.0/8 [110/50] via 10.50.1.2, 01:20:00, GigabitEthernet0/0"

    },

    {

      "role": "assistant",

      "content": "{\n  \"analysis\": \"Маршрутизатор имеет активный внешний интерфейс GigabitEthernet0/1 с публичным IP-адресом (203.0.113.2), что указывает на его роль пограничного (edge) устройства. Однако в таблице маршрутизации полностью отсутствует маршрут по умолчанию (0.0.0.0/0 с кодом S*, O*E2 или B*). Без этого маршрута маршрутизатор не знает, куда отправлять трафик, предназначенный для сетей, не указанных в таблице (например, в Интернет), что приведет к полной потере внешней связности.\",\n  \"error_type\": \"Missing Default Route\",\n  \"severity\": \"Critical\",\n  \"affected_prefixes\": [\"0.0.0.0/0\"],\n  \"recommendation\": \"Добавьте статический маршрут по умолчанию, указывающий на провайдера (например, 'ip route 0.0.0.0 0.0.0.0 203.0.113.1'), или проверьте, почему маршрут по умолчанию не изучается через динамический протокол (BGP/OSPF).\"\n}"

    }

  ]

}


3. Неверный / Недостижимый Next-hop

Этот пример учит модель проверять, существует ли маршрут до самого IP-адреса следующего хопа (частая ошибка при ручном вводе статических маршрутов).



JSON


{

  "messages": [

    {

      "role": "system",

      "content": "Ты — эксперт по сетевой инженерии Cisco. Твоя задача — проанализировать вывод команд 'show ip interface brief' и 'show ip route', найти конфигурационные ошибки или аномалии и вернуть результат в строгом формате JSON."

    },

    {

      "role": "user",

      "content": "Проанализируй следующие данные с маршрутизатора Branch-R1:\n\n### show ip interface brief\nInterface              IP-Address      OK? Method Status                Protocol\nGigabitEthernet0/0     172.16.1.1      YES manual up                    up      \nGigabitEthernet0/1     192.168.5.1     YES manual up                    up      \n\n### show ip route\nCodes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP\n       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area \n\nC        172.16.1.0/24 is directly connected, GigabitEthernet0/0\nL        172.16.1.1/32 is directly connected, GigabitEthernet0/0\nC        192.168.5.0/24 is directly connected, GigabitEthernet0/1\nL        192.168.5.1/32 is directly connected, GigabitEthernet0/1\nS        10.10.0.0/16 [1/0] via 172.16.2.254"

    },

    {

      "role": "assistant",

      "content": "{\n  \"analysis\": \"В таблице маршрутизации присутствует статический маршрут к сети 10.10.0.0/16 с Next-hop адресом 172.16.2.254. Однако, судя по выводам 'show ip interface brief' и 'show ip route', на данном маршрутизаторе нет ни одного интерфейса или маршрута, который обеспечивал бы связность с сетью 172.16.2.0/24. Маршрутизатор не может отправить пакет на Next-hop, если он не знает, как достичь этого Next-hop (проблема рекурсивного поиска или просто опечатка в IP-адресе).\",\n  \"error_type\": \"Unreachable Next-hop / Invalid Static Route\",\n  \"severity\": \"High\",\n  \"affected_prefixes\": [\"10.10.0.0/16\"],\n  \"recommendation\": \"Проверьте правильность указания IP-адреса Next-hop в статическом маршруте. Вероятно, допущена опечатка (например, должно быть 172.16.1.254 вместо 172.16.2.254). Если адрес верен, убедитесь, что существует маршрут до сети 172.16.2.0/24.\"\n}"

    }

  ]

}


Модели для fine tuning https://huggingface.co/models?sort=trending&search=qwen


AI Fine Tuning Qwen2.5





Комментарии

Популярные сообщения из этого блога

Рекомендуемый размер датасета

Fine Tuning Data Set

Адреса сетей в JSON