Company Reduced Support Dependency Through Quick Access to Corporate Knowledge

Learn how the company leveraged Azure services and Retrieval-Augmented Generation (RAG) to streamline information retrieval from a large document collection, significantly reducing dependency on support specialists and enhancing their efficiency in addressing requests.
Organization (NDA):
The company delivers software solutions that simplify cloud operations for organizations of all sizes.
The company manages an extensive collection of documents in various file formats, spread across multiple internal and external systems. The aim is to make it faster for users to get information on their own, reducing their need for help from support staff, and at the same time, helping those staff handle requests better.
The company operates within a technologically advanced environment, characterized by a comprehensive integration of their data and information systems on the Azure platform.
Environment description:
  1. Data Storage. All the client's data, along with user queries, are securely housed within their Azure tenant. This setup ensures not only the safety and confidentiality of the data but also allows for seamless integration and management within the Azure ecosystem.
  2. Data Synchronization and Format Support. The client's environment supports real-time synchronization with a variety of data sources such as SharePoint and Zendesk with Azure Storage. It is capable of handling an array of document formats including PDF, Microsoft Office formats, HTML, and Markdown, thereby accommodating a wide spectrum of documentation needs.
  3. Document Processing Capabilities. A sophisticated document processing logic is integral to the client's setup. It adeptly manages tables and images in documents, preserving the format and data structure, which is essential for maintaining information accuracy and usability.
  4. Analytics and Request Tracking. The system includes a feature to track user queries, which can be employed for detailed analytics and review. This function provides critical insights into user interaction and information requirements.
  5. Potential Integration with Copilot for Microsoft 365. The client's environment is primed for potential integration with Copilot for Microsoft 365, using Microsoft Graph Data Connect and Microsoft Teams message extension. This integration would further enhance the system’s capabilities within the Microsoft ecosystem.
  6. Utilization of Azure OpenAI Models. The Azure OpenAI GPT 3.5 and GPT-4o models are a cornerstone of the client’s environment, providing sophisticated language processing and response generation capabilities.
  7. Role-Based Access Control. A robust access control system is in place to govern document retrieval based on user roles and document permissions. This ensures a secure and compliant information access framework.
  8. API for Integration. The environment includes an API for seamless integration with the client's existing services, facilitating a unified and efficient technology ecosystem.
  9. Customizable Profiles. The system features chatbot profiles that can be tailored for different departmental roles, such as IT support and Marketing, ensuring relevant and role-specific information retrieval.
  10. Flexibility for Custom Integrations. Designed for versatility, the client’s setup allows for the integration with custom APIs and structured data sources like databases, accommodating unique data management and retrieval needs.
Our solution is a comprehensive system designed to revolutionize how company knowledge is accessed and utilized. At its heart are Microsoft Teams and a chatbot, enabling users to pose questions and receive instant answers derived from the company's extensive knowledge base. Utilizing the Retrieval-Augmented Generation (RAG), our bots efficiently handle large datasets.
graph TD User((User)) Admin((Admin)) MicrosoftEntraID[Microsoft Entra ID] AIOrchestration[AI Orchestration] Searcher[Searcher] MetadataKnowledgeDB[Metadata & Knowledge DB] Indexer[Indexer] Loader[Loader] AzureOpenAI[Azure OpenAI] ExternalDatasources[External datasources] subgraph TeamsApp[Microsoft Teams App] Chatbot[Chatbot] Dashboard[Dashboard] end User --> TeamsApp Admin --> TeamsApp TeamsApp --> MicrosoftEntraID TeamsApp --> AIOrchestration TeamsApp --> MetadataKnowledgeDB AIOrchestration --> Searcher Searcher --> MetadataKnowledgeDB Searcher --> AzureOpenAI MetadataKnowledgeDB --> Indexer Indexer --> AzureOpenAI Loader --> Indexer Loader --> ExternalDatasources
The solution schema that shows the key components and relations.
Delving into the actual architecture, our solution leverages multiple components within the Microsoft Teams application:
  • Microsoft Teams chatbot. Facilitates quick and direct communication for immediate query resolution.
  • Dashboard. A centralized hub for administrators, providing detailed statistics and configuration options.
  • AI Orchestration. AI layer, that processes data, stores it to knowledge base and searches it, based on user's query.
In addition, we implemented a Microsoft Teams dashboard which offers administrators a comprehensive overview of chatbot usage, highlighting key metrics such as frequent inquiries, areas requiring additional attention, and recent updates to the knowledge base. A crucial component of our solution is the automatic processing of both existing and new documents, seamlessly integrating them into the knowledge base. This ongoing process ensures that the most current and relevant information is always available at the fingertips of users and administrators.
At the core of our technology stack is Azure OpenAI Service, providing language processing capabilities, complemented by Azure AI Document Intelligence for document processing. Azure AI Search plays a critical role in swiftly navigating through extensive data, ensuring that information retrieval is both accurate and rapid. The incorporation of Semantic Kernel and LangChain enhances the system's ability to understand and generate human-like responses, making interactions intuitive and effective.
The back-end infrastructure is built on ASP.NET Core, while the Microsoft Bot Framework is used for implementing conversational logic. For front-end development, we employ ASP.NET Blazor to create a dynamic and user-friendly Dashboard.

Technologies

Azure OpenAI Service
Azure OpenAI Service
Build your own copilot and generative AI applications.
Blazor
Blazor
A modern front-end web framework based on HTML, CSS, and C#.
LangChain
LangChain
A framework to build with LLMs by chaining interoperable components.
Microsoft Azure
Microsoft Azure
A cloud computing service created by Microsoft for building, testing, deploying, and managing applications and services.
Microsoft Bot Framework
Microsoft Bot Framework
A comprehensive framework for building enterprise-grade conversational AI experiences.
Microsoft Graph SDKs
Microsoft Graph SDKs
Designed to simplify building high-quality, efficient, resilient applications that access Microsoft Graph.
Microsoft Power Automate
Microsoft Power Automate
A comprehensive, end-to-end cloud automation platform powered by low code and AI.
Microsoft Semantic Kernel
Microsoft Semantic Kernel
Integrate OpenAI, Azure OpenAI, and Hugging Face with conventional programming languages.