September 22, 2023

Harnessing real-time data insights with a versatile bot application


The need for rapid, accurate, and comprehensive insights

Our client, an influential American manufacturing giant, faced the challenge of effectively using their massive volume of data from multiple sources. To achieve consistent decision-making and streamlined operations, the client needed a versatile bot application.

The solution required would seamlessly link to a range of data sources, enable quick and pinpoint insights, and provide references from their rich knowledge base. Providing real-time insights was another key feature the solution had to provide.

The ask

•  Effortless integration: Connect seamlessly to various data sources.
Rapid insight extraction: Provide users with real-time, accurate data insights.
Knowledge base citations: Validate insights with trusted knowledge-base references.

Addressing the challenges

In the pursuit of an efficient system, we created a comprehensive Knowledge Bot to meet the client's requirements. The highlights of our approach included:

      •   User authentication
Seamlessly verifies user identities through Managed Identity or Custom Login, ensuring secure access control based on roles. This feature ensures that only authorized individuals interact with the system, improving data security.
      •   Azure-powered backend
Using the Azure platform with Flask framework, we developed a bot   that easily integrates with diverse data sources. This integration means that the Bot has a cohesive system capable of handling data from multiple origins efficiently.
      •   Interactive chat experience
With a focus on user engagement, our solution provides an interactive chat interface. This feature simplifies the process of extracting real-time insights from complex data sources and increases user interaction. This integration means that the Bot has a cohesive system capable of handling data from multiple origins efficiently.
      •   Customized responses
Using Azure OpenAI, the Bot offers personalized prompts. This customization ensures that the Bot can respond to queries effectively for more precise insights and better decision-making.
      •   Citations for validation
For every insight provided, our Bot integrates citations referencing sources from their knowledge base. This feature adds a layer of credibility and aligns with the client's need for validated insights.

More solution benefits

Beyond the core features, the Bot had additional benefits and features:

      •   Integration with existing systems
Adding the power of our Bot plugin elevates the data processing and insight generation of existing technology investments.
      •   Lightweight and cross-environment support
Our system is designed to be lightweight and versatile, making it easy to deploy across various environments. This feature means that the bot can be seamlessly integrated into existing infrastructures without causing unnecessary disruptions.
      •   Customizable scopes
This ensures that data from different scopes remains separate, eliminating the risk of data contamination and ensuring data integrity.
      •   Instant response generation
The Bot's ability to quickly retrieve answers helps users obtain the information as they need it.
      •   Simple and easy to use
The simple and easy-to-use Bot enables users to quickly adapt to and benefit from the system. This ease reduces the learning curve and improves overall usability. 
      •   Multimedia support
The Bot can process various dynamic file types, including videos.

A look into the solution flow

Our solution harnesses the combined capabilities of Azure Blob Storage, Azure SQL Database, and Azure OpenAI. Not only does it fulfill the client's need for instantaneous, precise insights, but it also addresses issues concerning data sourcing, extraction, and validation.

      •   Data Source stage
Azure Blob Storage and Azure SQL Database serves as our primary data repositories.
      •   Data Processing stage
Documents and images undergo processing using Azure Form Recognizer and Azure Computer Vision within a Function App. This data, once converted into JSON format, is stored in Azure Blob Storage.
      •   User interaction
Users can direct questions or keywords to the Bot. This then taps into Azure Cognitive Search which is indexed to retrieve data from Azure Blob Storage.
      •   Answer generation
External users receive responses via an Azure App Service running a Flask application. This app, communicating with Azure OpenAI, ensures the delivery of precise and contextually relevant answers.
      •   Security
Security remains paramount, with access to the OpenAI model governed by the Azure Key Vault, ensuring a high standard of data protection and governance.

Figure 3: Solution flow