Generazione Automatica di Codice per Attività di Information Technology in YAML tramite Modelli Linguistici di Grande Dimensione
Automated Code generation for Information Technology Tasks in YAML through Large Language Models
May 2, 2023
Autori: Saurabh Pujar, Luca Buratti, Xiaojie Guo, Nicolas Dupuis, Burn Lewis, Sahil Suneja, Atin Sood, Ganesh Nalawade, Matt Jones, Alessandro Morari, Ruchir Puri
cs.AI
Abstract
I recenti miglioramenti nelle capacità di generazione di codice, dovuti all'uso di modelli linguistici di grandi dimensioni, hanno principalmente beneficiato i linguaggi di programmazione generici. I linguaggi specifici per dominio, come quelli utilizzati per l'automazione IT, hanno ricevuto molta meno attenzione, nonostante coinvolgano molti sviluppatori attivi e siano una componente essenziale delle moderne piattaforme cloud. Questo lavoro si concentra sulla generazione di Ansible-YAML, un linguaggio di markup ampiamente utilizzato per l'automazione IT. Presentiamo Ansible Wisdom, uno strumento di generazione di codice da linguaggio naturale a Ansible-YAML, progettato per migliorare la produttività nell'automazione IT. Ansible Wisdom è un modello basato su transformer, esteso attraverso l'addestramento con un nuovo dataset contenente Ansible-YAML. Abbiamo anche sviluppato due nuove metriche di prestazione per YAML e Ansible per catturare le caratteristiche specifiche di questo dominio. I risultati mostrano che Ansible Wisdom può generare accuratamente script Ansible da prompt in linguaggio naturale con prestazioni paragonabili o migliori rispetto ai modelli di generazione di codice all'avanguardia esistenti.
English
The recent improvement in code generation capabilities due to the use of
large language models has mainly benefited general purpose programming
languages. Domain specific languages, such as the ones used for IT Automation,
have received far less attention, despite involving many active developers and
being an essential component of modern cloud platforms. This work focuses on
the generation of Ansible-YAML, a widely used markup language for IT
Automation. We present Ansible Wisdom, a natural-language to Ansible-YAML code
generation tool, aimed at improving IT automation productivity. Ansible Wisdom
is a transformer-based model, extended by training with a new dataset
containing Ansible-YAML. We also develop two novel performance metrics for YAML
and Ansible to capture the specific characteristics of this domain. Results
show that Ansible Wisdom can accurately generate Ansible script from natural
language prompts with performance comparable or better than existing state of
the art code generation models.