/LLM-based-Intelligent-Configuration-Validation-Framework

Framwork for the work "Large Language Models for Zero Touch Network Configuration Management"

Primary LanguagePython

LLM-Network Device Configurator

Framework for LLM-based automated network management configuration agent.

Prototype Environment

Project Pre-requisites

LLM

Verificator

Orchestrator

Files

LLM Model

The file zephyr_configurator have the setup to download the zephyr-7b-beta model with the proper configurations used in the experiment. Run ollama create modelfile on the directory where modelfile is contained (model size 4.1GB)

Orchestrator Script

The Request.py script uses ollama library to access the LLM model and request library to access the Verificator Module.

Batfish Application

This directory contains the files required in batfish to load the snapshot (topology). The snapshot/ directory contains a topology.json file describing how each device is connected with the others, the Verifier.py script, a subdirectory Configs/ with the routers configuration files and a subdirectory Hosts/ with the hosts files.

Verificator Script

The Verifier.py script is run in the batfish docker container and uses pybatfish library to initialize and manage the snapshot (topology).

Prompts

The translator.txt and configurator.txt contains each role for the LLM.

Results

The Graphs directory contain the llmdata.csv file which contain the results of the LLM model for each requirement, some manual tagging was used to facilitate the graphic design. Script TypesPercentages.py is used to graph <Req_Type.png>, TimevsComplexity.py is used to grpah <Total_time.png>, and complexityVStimes.py is used to graph <Total_Times.png>.

Requirements Types GraphTotal Time by Complexity

Total Times Graph