Framework for LLM-based automated network management configuration agent.
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)
The Request.py script uses ollama library to access the LLM model and request library to access the Verificator Module.
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.
The Verifier.py script is run in the batfish docker container and uses pybatfish library to initialize and manage the snapshot (topology).
The translator.txt and configurator.txt contains each role for the LLM.
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>.