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.
- 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
✅ 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.
📁 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)
- .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)
git clone https://github.com/your-repo/intelligent-customer-support-chatbot.git
cd IntelligentCustomerSupportChatbot
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.
cd src/Backend/IntelligentChatbot
dotnet restore
dotnet run
The API will run on http://localhost:5000.
cd src/Frontend/intelligent-chatbot
npm install
npm start
The React app will run on http://localhost:3000.
docker-compose up --build
Run backend unit tests:
cd src/Backend/Tests
dotnet test
- Open the frontend in your browser (http://localhost:3000).
- Type a question in the chat interface (e.g., “What is the return policy?”).
- The chatbot retrieves relevant information from the knowledge base using Azure Cognitive Search and generates a response with Azure OpenAI.
- 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.
🔹 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.
This project is licensed under the MIT License.
Contributions are welcome! Please submit a pull request or open an issue for suggestions and improvements.
Author: Siddartha Reddy Boreddy
📍 SUNY Binghamton
✉️ Email: [email protected]