Skip to content

AI-powered customer support chatbot using Azure OpenAI, RAG, Cognitive Search, Cosmos DB, ASP.NET Core, React, and Tailwind CSS. Production-ready, scalable, and secure.

Notifications You must be signed in to change notification settings

SiddarthaBoreddy/Intelligent-Customer-Support-Chatbot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

🤖 Intelligent Customer Support Chatbot

📖 Overview

An Intelligent Customer Support chatbot that integrates Azure OpenAI with Retrieval-Augmented Generation (RAG) to deliver accurate, context-aware responses to customer queries using a knowledge base. Designed with a modern React frontend, scalable ASP.NET Core backend, and Azure cloud services, this project demonstrates advanced NLP, secure session management, and easy deployment for real-world customer support applications.


🛠 Technologies Used

  • Backend: ASP.NET Core, C#, Azure OpenAI, Azure Cognitive Search, Azure Cosmos DB
  • Frontend: React, Tailwind CSS
  • Storage: Azure Blob Storage for storing and indexing knowledge base documents
  • Testing: xUnit for backend unit tests
  • Deployment: Docker Compose for local development; Azure App Service and Static Web Apps for production

📌 Features

Natural Language Processing: Uses Azure OpenAI to understand and generate human-like responses.
RAG Integration: Retrieves relevant information from a knowledge base with Azure Cognitive Search.
Session Management: Stores user sessions securely in Azure Cosmos DB.
Responsive UI: Built with React and Tailwind CSS for a sleek, user-friendly interface.
Scalable Backend: ASP.NET Core API with dependency injection and unit tests for maintainability.
Containerized Deployment: Ready for Docker Compose and Azure deployments.


📂 Project Structure

📁 IntelligentCustomerSupportChatbot/
├── 📁 src/
│   ├── 📁 Backend/
│   │   ├── 📁 IntelligentChatbot/    # ASP.NET Core API
│   │   ├── 📁 Tests/                 # xUnit tests
│   ├── 📁 Frontend/
│   │   ├── 📁 intelligent-chatbot/   # React frontend
│   ├── 📁 KnowledgeBase/             # Sample knowledge base documents
├── 📁 docs/
│   ├── 📁 screenshots/               # Screenshots for README
├── docker-compose.yml                # Docker configuration
├── .gitignore                        # Git ignore rules
├── README.md                         # Project documentation (this file)

🚀 Setup Instructions

1️⃣ Prerequisites

  • .NET 6.0 SDK
  • Node.js 14+
  • Azure account with subscriptions for OpenAI, Cognitive Search, Cosmos DB, and Blob Storage
  • Docker (optional, for containerized deployment)

2️⃣ Clone the Repository

git clone https://github.com/your-repo/intelligent-customer-support-chatbot.git
cd IntelligentCustomerSupportChatbot

3️⃣ Configure Azure Services

Update appsettings.json in src/Backend/IntelligentChatbot with your Azure credentials:

  • Azure OpenAI: Endpoint, API Key, Deployment Name
  • Azure Cognitive Search: Endpoint, Index Name, API Key
  • Azure Cosmos DB: Endpoint, Key, Database Name, Container Name

Upload knowledge base documents (e.g., faq.pdf, product_manual.pdf) to Azure Blob Storage and index them in Azure Cognitive Search.

4️⃣ Running Locally

Backend:

cd src/Backend/IntelligentChatbot
dotnet restore
dotnet run

The API will run on http://localhost:5000.

Frontend:

cd src/Frontend/intelligent-chatbot
npm install
npm start

The React app will run on http://localhost:3000.

Docker (optional):

docker-compose up --build

✅ Testing

Run backend unit tests:

cd src/Backend/Tests
dotnet test

💬 Usage

  1. Open the frontend in your browser (http://localhost:3000).
  2. Type a question in the chat interface (e.g., “What is the return policy?”).
  3. The chatbot retrieves relevant information from the knowledge base using Azure Cognitive Search and generates a response with Azure OpenAI.

☁️ Deployment to Azure

  • Backend: Deploy to Azure App Service.
  • Frontend: Host on Azure Static Web Apps.
  • Ensure all Azure services (OpenAI, Cognitive Search, Cosmos DB, Blob Storage) are configured and accessible.

🔮 Future Enhancements

🔹 Multi-Language Support: Expand NLP capabilities for global audiences.
🔹 Voice Input: Integrate speech-to-text for voice-based queries.
🔹 Advanced Analytics: Track query trends and user satisfaction.
🔹 Custom ML Models: Fine-tune domain-specific knowledge for improved accuracy.


📜 License

This project is licensed under the MIT License.


🤝 Contributing

Contributions are welcome! Please submit a pull request or open an issue for suggestions and improvements.


📧 Contact

Author: Siddartha Reddy Boreddy
📍 SUNY Binghamton
✉️ Email: [email protected]


⭐ If you find this project helpful, feel free to star the repository! 🚀

About

AI-powered customer support chatbot using Azure OpenAI, RAG, Cognitive Search, Cosmos DB, ASP.NET Core, React, and Tailwind CSS. Production-ready, scalable, and secure.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published