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
Комментарии
Отправить комментарий