Сообщения

Сообщения за июнь, 2026

Python Script

  AI Fine Tuning Qwen2.5 Python скрипт для генерирования JSON примеров для fine tuning локальной модели Qwen2.5 (7B) для анализа динамической маршрутизации - анализа результатов выполнения команды Cisco "show ip route" Ниже представлен полноценный Python-скрипт, который генерирует синтетический датасет в формате .jsonl (JSON Lines), готовый для fine-tuning моделей семейства Qwen (через LLaMA-Factory, Axolotl или Unsloth). Скрипт создает как здоровые сценарии (чтобы модель не искала ошибки там, где их нет), так и сценарии с инжектированными ошибками (Null0 Blackhole, Missing Default Route, Unreachable Next-hop). Python-скрипт для генерации датасета (generate_dataset.py) Python import json import random import ipaddress from typing import List, Dict, Tuple # ========================================== # 1. Базовые шаблоны и пулы данных # ========================================== INTERNAL_SUBNETS = ["10.10.0.0/16", "10.20.0.0/16", "172.16.1.0/24", ...

Flupping маршрутов

  AI Fine Tuning Qwen2.5 Ниже представлены структурированные JSON-примеры, оптимизированные для дообучения (fine-tuning) или few-shot prompting локальной языковой модели. Структура специально разделена на input_text (сырой вывод команды), parsed_input (извлеченные числовые и текстовые признаки, что критически важно для ИИ) и expected_analysis (ожидаемый вывод модели с обоснованием и рекомендациями). Совет для тренинга: Обратите внимание на поле uptime_seconds. При подготовке данных для ИИ всегда конвертируйте строковое время (например, 1w2d, 00:03:15) в секунды. Это позволит модели численно оценивать пороговые значения (например, < 300 секунд = аномалия), а не полагаться только на текстовые паттерны. JSON {   "training_dataset": "cisco_show_ip_route_anomalies",   "version": "1.0",   "description": "Примеры для обучения ИИ анализу нестабильности (flapping) и асимметрии возраста маршрутов",   "examples": [     {    ...

Подготовка Дата Сета

  AI Fine Tuning Qwen2.5 Рекомендации по подготовке датасета (JSONL) Формат файла: Сохраняйте эти примеры в файл с расширением .jsonl (каждый JSON-объект на новой строке). Это стандартный формат для скриптов fine-tuning (например, через llama-factory или axolotl, которые отлично работают с Qwen). Масштабирование: Для эффективного fine-tuning 7B модели вам понадобится минимум 300–500 таких качественных примеров. Напишите Python-скрипт, который генерирует шаблоны show ip route. Случайным образом подменяйте IP-адреса, добавляйте или удаляйте строки, создавая как "здоровые" (Negative samples), так и "больные" (Positive samples) состояния. Соотношение в датасете: ~70% примеров с ошибками (разных типов) и ~30% примеров, где модель должна ответить {"error_type": "None", "severity": "Normal", "analysis": "Ошибок не обнаружено..."}. Это предотвратит галлюцинации, когда модель начнет искать ошибки там, где их нет. Эк...

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."     }, ...

Qwen Fine Tuning

  AI Fine Tuning Qwen2.5 Fine-tuning Qwen2.5 (7B) для анализа сетевой телеметрии — это очень перспективное направление. Вывод команды show ip route (и show ip route summary) содержит массу структурированных данных, по которым можно диагностировать множество проблем. Поскольку Qwen2.5 7B — это относительно компактная модель, ей нужно четко задать паттерны того, что именно она должна искать. Вот подробный разбор типов ошибок и аномалий, которые можно обнаруживать, анализируя таблицу маршрутизации Cisco: 1. Проблемы связности и "Черные дыры" (Blackholes) Маршрутизация в Null0 без конкретных маршрутов: Если в таблице есть суммарный маршрут в интерфейс Null0 (например, O E2 10.0.0.0/8 is a summary, Null0), но при этом отсутствуют более конкретные маршруты внутри этой подсети (например, 10.1.1.0/24), то весь трафик в эту сеть будет отбрасываться. Отсутствие маршрута по умолчанию (Default Route): Если в таблице нет записи S* 0.0.0.0/0 или O*E2 0.0.0.0/0, а маршрутизатор позиционируе...

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

  AI Fine Tuning Qwen2.5 Рекомендуемый размер датасета Для fine-tuning Qwen2.5 (7B) на задаче анализа маршрутизации: Тип данных         Количество примеров Корректные таблицы 300-500 Таблицы с ошибками 300-500 Петли маршрутизации 150-250 Пограничные случаи 50-100 ИТОГО 800-1350 При этом разнообразие адресов можно обеспечить всего 50-100 уникальными IP/networks, комбинируя их в разных примерах. AI Fine Tuning Qwen2.5

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

  AI Fine Tuning Qwen2.5 Prompt В этих примерах использованы конкретные адреса сетей. Надо ли создавать примеры для fine tuning, в которых будет использован какой-то "шаблон" адресов сетей? Или эти примеры должны быть составлены для всех используемых адресов сетей? Ответ ИИ Отличный вопрос! Он касается генерализации модели. Вот подробный ответ: Не нужно создавать примеры для всех возможных адресов сетей . Но и не нужно использовать абстрактные "шаблоны" вроде {network1}. Лучший подход — разнообразие реальных адресов из разных диапазонов, чтобы модель выучила структуру, а не конкретные числа. Почему не нужны все адреса Модель Qwen2.5 (7B) достаточно умна, чтобы обобщать: Она поймёт, что 192.168.x.x, 10.x.x.x, 172.16-31.x.x — это частные сети Она выучит паттерны: " если next-hop via X, то должен существовать connected-маршрут, покрывающий X " Абсолютные значения адресов не важны, важна связность между записями Почему не нужны шаблоны Использовать плейсхолдер...

О JSON примерах

  AI Fine Tuning Qwen2.5 Ключевые характеристики этих примеров Все 20 примеров демонстрируют корректную маршрутизацию: Признак корректности                        Пример Next-hop в той же /24 сети, что и connected S 10.0.0.0/8 via 192.168.1.2 при C 192.168.1.0/24 Шлюз по умолчанию достижим через connected S* 0.0.0.0/0 via 192.168.1.1 Динамические протоколы (OSPF, EIGRP, RIP, BGP)  с корректными next-hop                         O 192.168.1.0/24 via 10.0.0.2 Множественные маршруты через разные  next-hop — ECMP допустим                 R 172.16.0.0/16 via 10.10.10.2 и via 10.10.10.3 Разные типы маршрутов сосуществуют         static + connected + OSPF + BGP Для баланса в training set Рекомендую соотношение в финальном датасете: 40% — корректные таблицы (как выше) 40% — таблицы с проблема...

Примеры для Fine Tuning 2

  AI Fine Tuning Qwen2.5 AI fine Tuning Продолжаем обучать AI Qwen на локальном сервере. Учим анализировать таблицу маршрутизации Cisco (команда show ip route ) Prompt Давайте напишем тренировочный JSON из 20 примеров без петель с маршрутами via <IP>, где next-hop достижим через connected-сеть корректно Ответ ИИ Вот тренировочный JSON из 20 примеров без петель, где все маршруты via <IP> имеют корректный next-hop, достижимый через directly connected network. JSON [   {     "instruction": "Найди проблемы маршрутизации в выводе show ip route.",     "input": "Gateway of last resort is 192.168.1.1\n\nS*   0.0.0.0/0 [1/0] via 192.168.1.1\nC    192.168.1.0/24 is directly connected, GigabitEthernet0/0\nS    10.10.10.0/24 [1/0] via 192.168.1.2\nS    172.16.0.0/16 [1/0] via 192.168.1.3",     "output": "no problem"   },   {     "instruction": "Найди проблемы маршрутизации в выводе show i...