Loading repository data…
Loading repository data…
Jeremy0219 / repository
AI-powered RAG pipeline for querying cloud security frameworks using Azure OpenAI and Azure AI Search
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
An AI‑powered system that uses RAG to search and answer questions about cloud security frameworks using Claude AI and Azure AI Search.
CloudGuard is a command-line RAG assistant that reads cloud security framework documents like the Azure Security Benchmark, CIS Critical Security Controls, and NIST SP 800-53, and answers questions using information from those documents.
Instead of just giving generic security advice, the program first finds the most relevant sections from the documents and then uses Claude to generate an answer based on that information. This helps make the responses more accurate and tied to the actual frameworks.
💡 Architecture note: This project uses Claude as the language model and local sentence-transformer models to create embeddings. The embeddings are stored in Azure AI Search, which acts as the vector database. The setup was designed so it can work with different providers. If needed, the system could also be switched to Azure OpenAI Service later, which would make it easier to run in an Azure-focused production environment.
Example queries:
┌─────────────────────────────────────────────────────┐
│ User CLI Query │
└──────────────────────────┬──────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────┐
│ sentence-transformers (local embeddings) │
│ Embed the user's question │
└──────────────────────────┬──────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────┐
│ Azure AI Search │
│ Vector search over indexed doc chunks │
└──────────────────────────┬──────────────────────────┘
│
Top-K relevant chunks
│
▼
┌─────────────────────────────────────────────────────┐
│ Anthropic Claude (claude-sonnet-4-6) │
│ Generate an answer using the retrieved context │
└──────────────────────────┬──────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────┐
│ Rich CLI Output with source citations │
└─────────────────────────────────────────────────────┘
git clone https://github.com/Jeremy0219/cloudguard-rag.git
cd cloudguard-rag
python -m venv venv
source venv/bin/activate # Linux/macOS
venv\Scripts\activate # Windows
pip install -r requirements.txt
Copy the example env file and fill in your credentials:
cp .env.example .env
# Anthropic
ANTHROPIC_API_KEY=your_key_here
# Azure AI Search
AZURE_SEARCH_ENDPOINT=https://YOUR_SEARCH.search.windows.net
AZURE_SEARCH_API_KEY=your_key_here
AZURE_SEARCH_INDEX_NAME=cloudguard-index
Place PDF security framework documents in the docs/ folder. Recommended:
python ingest.py --docs ./docs/
python main.py
cloudguard-rag/
├── docs/ # Security framework documents (PDF)
├── screenshots/ # Demo screenshots
├── src/
│ ├── __init__.py
│ ├── ingestor.py # Handles splitting documents, creating embeddings, and indexing
│ ├── retriever.py # Retrieves relevant document chunks using Azure AI Search
│ └── generator.py # Uses Claude to generate answers from the retrieved context
├── .env.example # Example environment variable configuration
├── .gitignore
├── ingest.py # Script used to ingest and index documents
├── main.py # Main script for running queries
├── requirements.txt
└── README.md
| Component | Technology |
|---|---|
| Language | Python 3.10+ |
| LLM | Anthropic Claude (claude-sonnet-4-6) |
| Embeddings | Sentence-transformers (local) |
| Vector Store | Azure AI Search |
| PDF Parsing | pypdf |
| CLI UI | rich |
| Config | python-dotenv |
MIT License: see LICENSE for details.
Jeremy Sanchez — CS Student @ UTSA | Cybersecurity Concentration | CompTIA Security+ | AZ-900
Internship: IT @ Caterpillar Inc.
LinkedIn · GitHub