vishwajeetk1160 / arm-template-generator

Use RAG to generate (IaC) ARM templates for resources deployment in Azure

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Generate ARM templates using RAG

Introduction

The aim of this project is to understand if RAG can be used to generate meaningful IaC templates. I am using Azure and trying to generate ARM templates. Ollama is used as run LLMs locally on my machine. LlamaIndex is the python framework used to build the RAG system. For data source I have used sample arm templates from official Azure repository.

Features

  • LLM Integration: Seamlessly integrates with Ollama for accessing and managing state-of-the-art language models.
  • Framework Support: Built on the llamaIndex framework, providing a robust set of tools for LLM application development.

Getting Started

Installation

  1. Clone the Repository
git clone https://github.com/vishwajeetk1160/arm-template-generator.git
cd repository
  1. Prerequisites
  • Python 3.10 or higher
  • Jupyter Notebook
  • Ollama(mistral:7b, llama2:7b, gemma:2b)
  • pip install requirements.txt
  1. Repository structure
.
├── data
│   ├── armTemplate1.json
│   ├── armTemplate2.json
├── indexes
└── arm-template-helper.ipynb
  • indexes folder will be populated when you create index for the data.
  • arm-template-helper.ipynb is the python notebook which reads the data and creates index for it in indexes folder. It then queries the LLM to get answers. You can select from a set of LLMs depending on what is installed in your local machine using Ollama.
  • RAG basics

About

Use RAG to generate (IaC) ARM templates for resources deployment in Azure

License:MIT License


Languages

Language:Jupyter Notebook 96.4%Language:Python 3.6%