/business-process-automation

Business process automation solution accelerator using Azure services

Primary LanguageTypeScriptMIT LicenseMIT

Business Process Automation Accelerator

Overview

This accelerator provides a no code Studio for users to quickly build complex, multi-stage AI pipelines across multiple Azure AI and ML Services. Users can select, and stack, AI/ML Services from across Azure Cognitive Services (OpenAI, Speech, Language, Form Recognizer, ReadAPI), Azure Machine Learning into a single, fully integrated pipeline. Integration between services is automated by BPA, and once deployed, a web app is created. This customizable UI* provides and drag-n-drop interface for end users to build multi service pipelines. Finally, the user-created pipeline is triggered as soon as the first input file(s) are uploaded, storing the results in a Azure Blob Storage.

Instructional Videos

Deploy to Azure Instructions

Prerequisities

  1. Github account (Admin)

  2. Azure Resource Group (Owner)

  3. Ensure your subscription has Microsoft.DocumentDB enabled
    To confirm/enable:

    • Navigate to your subscription within portal.azure.com
    • Select Resource Providers at bottom of left navigation pane
    • Within the Filter by name menu, search for Microsoft.DocumentDB
    • Once Microsoft.DocumentDB is found, check if the status is marked as "Registered". If marked as "NotRegistered", Select "Register"
      Note: This process may take several seconds/minutes, be sure to refresh the entire browser periodically
  4. Ensure that you have accepted terms and conditions for Responsible AI:
    You must initiate the creation of a "Cognitive services multi-service account" from the Azure portal to review and acknowledge the terms and conditions. You can do so here: Quickstart: Create a Cognitive Services resource using the Azure portal.
    Once accepted, you can create subsequent resources using any deployment tool (SDK, CLI, or ARM template, etc) under the same Azure subscription.

  5. Get a Workflow Level Token (Classic)

  6. Fork the repository to a git account of which you are the Admin.

  7. Click on the "Deploy to Azure" Button that corresponds to your environment and which patterns you wish to create. Redis pattern is only required for Vector Search.

  8. Only the Resource Group, Repo Token (from #2), and Forked Git Repo Url are needed. The remaining parameters are filled in for you.

  9. For a demonstration, please view the first Instructional Video at the top of this Readme.

Without OpenAI

Deploy to Azure

With OpenAI

Deploy to Azure

With OpenAI On A Private Network

Deploy to Azure

With OpenAI and Redis Enterprise (check pricing) for Vector Search

(Deprecated. Replaced by Cognitive Search with Vector Search Features)

Document Ingestion Architecture

Once you've created a high-level Resource Group, you'll fork this repository and importing helper libraries, taking advantage of Github Actions to deploy the set of Azure Cognitive Services and manage all of the new Azure module credentials, in the background, within your newly created pipeline. After pipeline deployment, a static webapp will be created with your newly customizable POC UI for building and triggering pipelines.


Document Ingestion High-level Technical Architecture


Several Sample Pipelines/Patterns Easily Created via the UI's drag-n-drop Interface

  1. Pipeline #1: Two examples for creating a quick pipeline for ingesting text data, and then adding any of the Azure Language Services to process your text (See all Azure Language Services Offerings here!), before visualizing in provided WebApp. The second pattern starts from ingestion of video data, and then adding any of our Video Analyzing Services to process your video! (See all Azure Video Analyzer Services Offerings here!)

  2. Pipeline #2: Quickly create a pipeline leveraging multiple Cognitive Services. In this sample pipeline, you can ingest audio, transcriber or transliterate with the Azure Speech Service See all available Azure Speech Services here!, the resulting text output will be further extracted / transformed with Azure Language Service, and add another analysis layer with Azure OpenAI models.

  3. Our third sample pipeline is inspired from the popular Enterprise ChatGPT demo, providing the backend and popular UI for creating a ChatGPT-like experience over your own data.

  4. Pipeline #4: Popular approach for information retrieval with your own documents using a vector store and ChatGPT! Document chunking and vector store implementation is handled by the backend after you create your own pipeline.