Instructions to use Awakate/Cisco-Configuration-agent with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use Awakate/Cisco-Configuration-agent with PEFT:
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("./models/llama32-3b") model = PeftModel.from_pretrained(base_model, "Awakate/Cisco-Configuration-agent") - Transformers
How to use Awakate/Cisco-Configuration-agent with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="Awakate/Cisco-Configuration-agent")# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("Awakate/Cisco-Configuration-agent", device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use Awakate/Cisco-Configuration-agent with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "Awakate/Cisco-Configuration-agent" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Awakate/Cisco-Configuration-agent", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/Awakate/Cisco-Configuration-agent
- SGLang
How to use Awakate/Cisco-Configuration-agent with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "Awakate/Cisco-Configuration-agent" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Awakate/Cisco-Configuration-agent", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "Awakate/Cisco-Configuration-agent" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Awakate/Cisco-Configuration-agent", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use Awakate/Cisco-Configuration-agent with Docker Model Runner:
docker model run hf.co/Awakate/Cisco-Configuration-agent
| base_model: llama32-3b | |
| library_name: peft | |
| pipeline_tag: text-generation | |
| tags: | |
| - base_model:adapter:llama32-3b | |
| - lora | |
| - transformers | |
| - network-automation | |
| - cisco | |
| license: llama3.2 | |
| language: | |
| - es | |
| # Model Card for Model ID | |
| All translatios were done in DeepL.com (free version) | |
| EN: | |
| This model is an LLM specialized in Cisco network configuration, fine-tuned with 4-bit LoRA on a LLaMA 3.2 3B base, focused on: | |
| - Interface configuration | |
| - VLAN configuration | |
| - DHCP configuration | |
| - Technical responses for OSPF, NAT, ACL, DNS, BGP (text mode) | |
| In addition, it was designed to integrate with agents that use network automation tools. Developed as a project for the Recent Topics in Networking course at the University of Cauca, it was trained with an artificially generated dataset. | |
| ES: | |
| Este modelo es un LLM especializado en configuración de redes Cisco, ajustado mediante fine-tuning con LoRA a 4 bits sobre una base LLaMA 3.2 3B, enfocado en: | |
| - Configuración de interfaces | |
| - Configuración de VLAN | |
| - Configuración de DHCP | |
| - Respuestas técnicas para OSPF, NAT, ACL, DNS, BGP (modo textual) | |
| Además, fue diseñado para integrarse con agentes que usen herramientas para automatización de red. Desarrollado como proyecto para la materia Recent Topics in netwroking | |
| de la universidad del cauca, fue entrando con un dataset generado de manera artificial. | |
| ## Model Details | |
| ### Model Description | |
| EN: | |
| This model was adjusted with a specialized dataset of real Cisco commands, with an instruction-input-output structure. | |
| It is optimized to run on low-power GPUs thanks to: | |
| - 4-bit quantization | |
| - LoRA adapters | |
| **Key features:** | |
| - Natural language understanding in Spanish | |
| - Generation of real Cisco commands | |
| - Compatible with multi-agent systems | |
| - Able to detect when to use external tools | |
| ES: | |
| Este modelo fue ajustado con un dataset especializado en comandos reales de CiscO, con estructura instrucción–entrada–salida. | |
| Está optimizado para ejecutarse en GPUs de bajo consumo gracias a: | |
| - Cuantización 4-bit | |
| - Adaptadores LoRA | |
| - Comprensión de lenguaje natural en español | |
| - Generación de comandos Cisco reales | |
| - Compatible con sistemas multi-agente | |
| - Capaz de detectar cuándo usar herramientas externas | |
| **Key features:** | |
| - Comprensión de lenguaje natural en español | |
| - Generación de comandos Cisco reales | |
| - Compatible con sistemas multi-agente | |
| - Capaz de detectar cuándo usar herramientas externas | |
| **Creditos / Credits** | |
| - **Developed by:** Juan Jose Angel Duran Calvache, Alison Daniela Ruiz Muñoz. -Universidad del Cauca | |
| - **Funded by [optional]:** Juan Jose Angel Duran Calvache, Alison Daniela Ruiz Muñoz. | |
| - **Shared by [optional]:** Juan Jose Angel Duran Calvache, Alison Daniela Ruiz Muñoz. | |
| - **Model type:** Causal Language Model (Text Generation) | |
| - **Language(s) (NLP):** Español | |
| - **License:** LLaMA 3.2 | |
| - **Finetuned from model [optional]:** llama32-3b | |
| ### Model Sources [optional] | |
| <!-- Provide the basic links for the model. --> | |
| - **Repository:** https://github.com/3NombresJJA/Cisco-llm-agent | |
| - **Paper [optional]:** [More Information Needed] | |
| - **Demo [optional]:** [More Information Needed] | |
| ## Uses | |
| <!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. --> | |
| ### Direct Use | |
| EN: | |
| - Direct generation of Cisco IOS configurations | |
| - Support for networking students | |
| - Simulation of router and switch configurations | |
| - Technical conversational assistants | |
| ES: | |
| - Generación directa de configuraciones Cisco IOS | |
| - Soporte a estudiantes de redes | |
| - Simulación de configuraciones de routers y switches | |
| - Asistentes conversacionales técnicos | |
| ### Downstream Use [optional] | |
| EN: | |
| - Integration with LangGraph + LangChain | |
| - Automation of real configurations | |
| - Virtual laboratory systems | |
| - Educational platforms | |
| ES: | |
| - Integración con LangGraph + LangChain | |
| - Automatización de configuraciones reales | |
| - Sistemas de laboratorio virtual | |
| - Plataformas educativas | |
| ### Out-of-Scope Use | |
| <!-- This section addresses misuse, malicious use, and uses that the model will not work well for. --> | |
| EN: | |
| - Not designed for offensive pentesting | |
| - Not designed for production in real critical infrastructures | |
| - Does not guarantee security validation | |
| ES: | |
| - No diseñado para pentesting ofensivo | |
| - No diseñado para producción en infraestructuras críticas reales | |
| - No garantiza validación de seguridad | |
| ## Bias, Risks, and Limitations | |
| <!-- This section is meant to convey both technical and sociotechnical limitations. --> | |
| EN: | |
| - The model may invent IP addresses if they are not specified | |
| - Does not validate real topologies | |
| - May produce incomplete configurations if the prompt is ambiguous | |
| - Was only trained on basic to intermediate configurations | |
| ES: | |
| - El modelo puede inventar direcciones IP si no se especifican | |
| - No valida topologías reales | |
| - Puede producir configuraciones incompletas si el prompt es ambiguo | |
| - Solo fue entrenado en configuraciones básicas – intermedias | |
| ### Recommendations | |
| <!-- This section is meant to convey recommendations with respect to the bias, risk, and technical limitations. --> | |
| EN: | |
| Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. | |
| - Use in educational or simulated environments | |
| - Combine with verification agents | |
| ES: | |
| Los usuarios (tanto directos como secundarios) deben ser conscientes de los riesgos, sesgos y limitaciones del modelo. | |
| - Siempre validar las configuraciones antes de aplicarlas a producción | |
| - Usar en entornos educativos o simulados | |
| - Combinar con agentes de verificación | |
| ## How to Get Started with the Model | |
| Use the code below to get started with the model. | |
| ```bash | |
| pip install transformers peft accelerate bitsandbytes torch | |
| from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline | |
| from peft import PeftModel | |
| import torch | |
| base_model = "llama32-3b" | |
| lora_repo = "Awakate/llama32-router-lora" | |
| tokenizer = AutoTokenizer.from_pretrained(lora_repo) | |
| model = AutoModelForCausalLM.from_pretrained( | |
| base_model, | |
| load_in_4bit=True, | |
| device_map="auto" | |
| ) | |
| model = PeftModel.from_pretrained(model, lora_repo) | |
| pipe = pipeline( | |
| "text-generation", | |
| model=model, | |
| tokenizer=tokenizer, | |
| max_new_tokens=200, | |
| temperature=0.1 | |
| ) | |
| prompt = "Configura la interfaz Gi0/0 con ip 192.168.1.1 máscara 255.255.255.0 y vlan 10" | |
| print(pipe(prompt)[0]["generated_text"]) | |
| ``` | |
| ## Training Details | |
| ### Training Data | |
| <!-- This should link to a Dataset Card, perhaps with a short stub of information on what the training data is all about as well as documentation related to data pre-processing or additional filtering. --> | |
| The dataset used is posted in the github link, it was a personalized dastaset in format JSON with the following structure: | |
| El dataset utilizado se encuentra publicado en el enlace de GitHub. Se trata de un dataset personalizado en formato JSON con la siguiente estructura: | |
| { | |
| "instruction": "Configurar interfaz", | |
| "input": "Gi0/0 con IP 192.168.1.1", | |
| "output": "interface Gi0/0..." | |
| } | |
| Contain examples of: Interfaces, VLAN, DHCP, OSPF, NAT, ACL and DNS | |
| Contiene ejemplos de: Interfaces, VLAN, DHCP, OSPF, NAT, ACL y DNS | |
| ### Training Procedure | |
| <!-- This relates heavily to the Technical Specifications. Content here should link to that section when it is relevant to the training procedure. --> | |
| - Fine-tuning con LoRA (Low Rank Adaptation) | |
| - Cuantización 4-bit | |
| - Framework: transformers + peft | |
| #### Preprocessing [optional] | |
| There is no pre proccesing of the data. | |
| No se hizo procesamiento de los datos. | |
| #### Training Hyperparameters | |
| - **Training regime:** | |
| Epochs: 5 | |
| Batch size: 2 | |
| Gradient accumulation: 8 | |
| Learning rate: 8e-5 | |
| LoRA r: 16 | |
| LoRA alpha: 32 | |
| Precision: FP16 | |
| LoRA: Dropout: 0.05 | |
| Max length: 200 | |
| <!--fp32, fp16 mixed precision, bf16 mixed precision, bf16 non-mixed precision, fp16 non-mixed precision, fp8 mixed precision --> | |
| #### Speeds, Sizes, Times [optional] | |
| <!-- This section provides information about throughput, start/end time, checkpoint size if relevant, etc. --> | |
| EN: | |
| The finetune weights with Lora have a size of 18MB and were processed in an hour and a half of compilation in 115 checkpoints. | |
| ES: | |
| Los pesos del finetune con lora tienen un peso de 18MB, fue procesado en hora y media de compilación en 115 checkpoints. | |
| ## Evaluation | |
| <!-- This section describes the evaluation protocols and provides the results. --> | |
| ### Testing Data, Factors & Metrics | |
| #### Testing Data | |
| <!-- This should link to a Dataset Card if possible. --> | |
| EN: | |
| -Human testing with real prompts | |
| -Integration with LangGraph agents | |
| -Manual validation of Cisco commands | |
| ES: | |
| -Pruebas humanas con prompts reales | |
| -Integración con agentes LangGraph | |
| -Validación manual de comandos Cisco | |
| #### Factors | |
| <!-- These are the things the evaluation is disaggregating by, e.g., subpopulations or domains. --> | |
| [More Information Needed] | |
| #### Metrics | |
| <!-- These are the evaluation metrics being used, ideally with a description of why. --> | |
| [More Information Needed] | |
| ### Results | |
|  | |
|  | |
|  | |
| #### Summary | |
| EN: | |
| The agent works in a curious way. An example of agent integration can be found in the GitHub repository, where it was possible to verify through prompt engineering | |
| the understanding of the knowledge model added by the fine-tune. However, it does not respond effectively 100% of the time, so the results must be taken with a grain of salt. | |
| The agent works in a curious way. An example of agent integration can be found in the GitHub repository, where it was possible to verify through prompt engineering | |
| ES: | |
| El agente funciona de forma curiosa, se encuentra un ejemplo de integracion a agente en el repositorio de github, donde se pudo comprobar atravez de prompt engineering | |
| el entendimiento del modelo del conocimiento agregado por el finetune, sin embargo no responde de forma efectiva el 100% de las veces por lo que se debe de tomar con detalle | |
| los resultados. | |
| ## Model Examination [optional] | |
| <!-- Relevant interpretability work for the model goes here --> | |
| [More Information Needed] | |
| ## Environmental Impact | |
| <!-- Total emissions (in grams of CO2eq) and additional considerations, such as electricity usage, go here. Edit the suggested text below accordingly --> | |
| Carbon emissions can be estimated using the [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute) presented in [Lacoste et al. (2019)](https://arxiv.org/abs/1910.09700). | |
| - **Hardware Type:** GPU RTX 4050 6GB laptop version | |
| - **Hours used:** 4 | |
| - **Cloud Provider:** Local | |
| - **Compute Region:** [More Information Needed] | |
| - **Carbon Emitted:** Menos de 0.5 | |
| ## Technical Specifications [optional] | |
| ### Model Architecture and Objective | |
| -Base: LLaMA 3.2 – 3B parameters | |
| -Adaptation: LoRA | |
| -Precision: 4-bit | |
| -Objective: Causal Language Modeling | |
| ### Compute Infrastructure | |
| [More Information Needed] | |
| #### Hardware | |
| Linux in WSL | |
| Intel i5 12500H | |
| 8GB RAM DDR4 | |
| RTX 4050 6GB laptop | |
| SSD M.2 | |
| #### Software | |
| [More Information Needed] | |
| ## Citation [optional] | |
| <!-- If there is a paper or blog post introducing the model, the APA and Bibtex information for that should go in this section. --> | |
| **BibTeX:** | |
| [More Information Needed] | |
| **APA:** | |
| [More Information Needed] | |
| ## Glossary [optional] | |
| <!-- If relevant, include terms and calculations in this section that can help readers understand the model or model card. --> | |
| [More Information Needed] | |
| ## More Information [optional] | |
| Proyecto Academico para RTN 2025-2 | |
| ## Model Card Authors [optional] | |
| Juan Jose Angel Duran Calvache | |
| Alison Daniela Ruiz Muñoz | |
| ## Model Card Contact | |
| joseduran@unicauca.edu.co | |
| alisonruiz@unicauca.edu.co | |
| ### Framework versions | |
| - PEFT 0.18.0 |