Skip to content

Azure Conversational AI chatbot using CLU, Python Bot Framework, and Terraform IaC. Includes full architecture, documentation, secure configuration patterns, and local testing workflow.

Notifications You must be signed in to change notification settings

rmdeane/aura-azure-clu-chatbot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Aura Banner

🔮 Aura CLU Chatbot

Conversational AI • Azure Cognitive Services • Python Bot Framework • Terraform IaC


🧭 Problem Statement

Many organizations beginning their conversational AI journey struggle with fragmented deployments, inconsistent environments, and unclear security boundaries.
Aura solves this by providing a repeatable, infrastructure-as-code deployment model for Azure CLU-based chatbots with:

  • clear system architecture
  • secure configuration patterns
  • simple local testing
  • production readiness
  • fast onboarding for developers

This project demonstrates how to deliver an enterprise-ready AI chatbot using modern cloud practices.


🌟 Overview

Aura is a Python-based Azure chatbot powered by Microsoft's Conversational Language Understanding (CLU) service and fully provisioned using Terraform.

The goal is to showcase end-to-end cloud engineering skills:

  • Conversational AI integration
  • Automated infrastructure provisioning
  • Secure runtime configuration
  • Cloud-native testing
  • Reproducible deployment workflows

📂 Repository Structure

📁 aura-azure-clu-chatbot/
│
├── 📁 bot/                      # Python Bot Framework application
│   ├── app.py
│   ├── bot.py
│   ├── manage_clu.py
│   └── requirements.txt
│
├── 📁 infra/                    # Terraform infrastructure-as-code
│   ├── main.tf
│   ├── providers.tf
│   ├── variables.tf
│   └── outputs.tf
│
├── 📁 docs/                     # Architecture, banner, PDFs (optional)
│   ├── aura-banner.png
│   ├── architecture.png
│   └── case-study.pdf
│
└── README.md

🛠️ Architecture Diagram

Sequence Diagram

🧭 System Context Diagram

Sequence Diagram

🧱 Component Diagram

Sequence Diagram

🔁 Conversation Flow (Sequence Diagram)

Sequence Diagram

📘 Case Study (PDF)

For a recruiter-friendly and high-level explanation of this project, see the full case study:

➡️ Aura CLU Chatbot – Case Study (PDF)


🚀 Key Features

  • 🧠 Azure CLU for natural language intent recognition
  • 🤖 Python Bot Framework endpoint (/api/messages)
  • ☁️ Terraform IaC for automated Azure provisioning
  • 🔐 Secrets kept out of source control (env vars only)
  • 🌐 Cloud-native execution (no local runtime required)
  • 🔁 CI/CD-ready for production environments

🧱 Technology Stack

Category Tools
Language Python 3.12
Cloud Microsoft Azure
AI Azure CLU (Cognitive Services)
IaC Terraform + AzureRM + AzureAD providers
Runtime Azure App Service
Dev Tools VS Code • GitHub • Bot Framework

🏗️ Infrastructure Provisioning (Terraform)

Terraform automates creation of all required Azure resources:

  • Resource Group
  • Cognitive Services Account (CLU)
  • App Service Plan
  • Linux Web App
  • Managed Identity
  • Bot Registration (Single-Tenant)

Deployment Commands

terraform init
terraform validate
terraform plan
terraform apply

Terraform outputs:

  • Microsoft App ID
  • Web App URL
  • Bot Messaging Endpoint
  • CLU Endpoint

Use these values as environment variables when running the bot locally.

▶️ Running the Bot in Azure (High-Level Overview)

Aura is designed to run fully in the cloud, using Azure-native services for hosting, authentication, and conversational intelligence.

🔧 Deployment Model

Terraform provisions:

  • Azure App Service – hosts the Python Bot Framework application
  • Azure Cognitive Services (CLU) – provides intent recognition
  • Managed Identity – supports secure authentication
  • Bot Registration (Single-Tenant) – integrates with Azure Bot Framework channels

🧭 Deployment Flow

  1. Terraform provisions the infrastructure

  2. Bot code is deployed to Azure App Service

  3. App Settings are configured using Terraform outputs

  4. Bot endpoint becomes active at:
    https://.azurewebsites.net/api/messages

  5. Testing is performed in Azure using Web Chat or Bot Emulator
    This cloud-first design supports secure configuration, CI/CD automation, scalability, and enterprise-ready operation.

This model supports secure configuration, CI/CD integration, and production-ready scalability without requiring local execution.

🔐 Security & Governance

  • No secrets stored in the repository
  • Environment-based configuration
  • Managed Identity support
  • Ready for Key Vault integration
  • Cloud-native authentication patterns

🛤️ Roadmap / Future Enhancements

  • CI/CD pipeline (GitHub Actions)
  • Azure Key Vault integration
  • Azure Web Chat embedding
  • Teams channel enablement
  • Azure OpenAI response augmentation
  • High-level documentation bundle (PDF)

👤 Author

Created by: Rich Matlock
Role: AI Solution Designer • Cloud Engineering • Technical Ownership
Las Vegas, NV

📄 License

MIT License — free for educational and demonstration purposes.

🙌 Acknowledgments

Built with Azure, Python, and Terraform — powered by curiosity (and coffee). ☕

About

Azure Conversational AI chatbot using CLU, Python Bot Framework, and Terraform IaC. Includes full architecture, documentation, secure configuration patterns, and local testing workflow.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published