Introducing the “Chat with your data” solution accelerator – now available on GitHub

With gratitude for the GitHub repository developers:

Fabrizio Ruocco, Principal Tech Lead, AI Global Black Belt, Microsoft

Clemens Siebler, Senior Tech Lead, AI Global Black Belt, Microsoft

Cognitive Search to create an engaging, conversational search experience

Advancements in Large Language Models (LLMs), such as OpenAI's ChatGPT, have revolutionized the way companies handle information retrieval and customer engagement. As businesses increasingly require chat-like experiences, they recognize the importance of incorporating the Retrieval-Augmented Generation (RAG) pattern to enable seamless and meaningful user interactions.

Large language models accessed through Azure OpenAI Service empower organizations to leverage generative applications, transforming their business by enhancing efficiency and user experience. Azure Cognitive Search, an essential component in RAG implementations, serves as an efficient retriever. This powerful search engine offers a comprehensive suite of enterprise features, including security integration, scalability, availability, and various data integration and enrichment options. Moreover, it goes beyond traditional search capabilities, providing a rich query language, relevance tuning, vector and hybrid search, and semantic ranking for accurate and relevant results.

To help businesses adopt these cutting-edge technologies, we are pleased to introduce the “Chat with your data” solution accelerator GitHub repo.

What is the “Chat with your data” Solution Accelerator?

The “Chat with your data” solution accelerator is a GitHub repository offering a template for end-to-end RAG pattern implementation using the “Retrieve-then-read” interaction pattern.

The repository includes instructions on customization and usage to suit specific needs. This solution accelerator combines the GPT model in Azure OpenAI Service with an Azure Cognitive Search index generated from your data, integrating them into a web application to deliver a natural language interface for search queries.

gia_mondragon_0-1697686253355.png

Key features of the “Chat with your data” solution accelerator
The features of the “Chat with your data” solution accelerator include:

  1. Easy integration between ChatGPT and Azure Cognitive Search, allowing developers to quickly connect existing search infrastructure to ChatGPT-powered chat interfaces.
  2. Context-aware conversations that leverage ChatGPT's capabilities to better understand user intent and queries, ensuring relevant search results in line with the user's conversational context.
  3. Customizable experiences to cater to specific business needs, with easy prompt configuration. 
  4. Admin and end-user interfaces for administrative configurations and user interaction.
  5. Multiple built-in orchestration patterns and frameworks extension support.
  6. Support for various document formats and URL data ingestion. (e.g., pdf, docx, markdown, txt, etc.) 
  7. Vector search support for data embeddings at ingestion and query-time.
  8. Semantic search support with instructions on enabling the feature.
  9. , limitations, and alternative options for various implementation needs.

Differences among and samples for RAG pattern implementation
The “Chat with your data” solution accelerator differs from Azure features for RAG implementation and the Azure Search OpenAI Service demo. To understand these differences and when to use each feature, refer to the provided table.

Name Feature or Sample? What is it? When to use?
Azure OpenAI Service  on your data Azure feature Azure OpenAI Service offers out-of-the-box, end-to-end RAG implementation that uses a REST API or the web-based interface in the Azure AI Studio to create a solution that connects to your data to enable an enhanced chat experience with ChatGPT model in Azure OpenAI Service and Azure Cognitive Search. This should be the first option considered for developers that need an end-to-end solution for Azure OpenAI Service with an Azure Cognitive Search retriever. Simply select supported data sources, that ChatGPT model in Azure OpenAI Service , and any other Azure resources needed to configure your enterprise application needs.
Azure feature RAG in Azure is enabled by integration with Azure OpenAI Service for large language models and vectorization. It includes support for Faiss and Azure Cognitive Search as vector stores, as well as support for open-source offerings, tools, and frameworks such as LangChain for data chunking. Azure prompt flow offers the ability to test data generation, automate prompt creation, visualize prompt evaluation metrics, and integrate RAG workflows into MLOps using pipelines. When Developers need more control overprocesses involved in the development cycle of LLM-based AI applications, they should use Azure prompt flow to create executable flows and evaluate performance through large-scale testing.
“Chat with your data” Solution Accelerator – (This blog post repo) Azure sample The repository highlighted in this announcement provides an end-to-end baseline RAG pattern sample that uses Azure Cognitive Search as a retriever. This sample should be used by Developers when the RAG pattern implementation provided by Azure are not able to satisfy business requirements. This sample provides a means to customize the solution with a robust codebase. Developers must add their own code to meet requirements and adapt with according to individual company policies.
ChatGPT + Enterprise data with Azure OpenAI Azure sample This RAG pattern demo uses Azure Cognitive Search as a retriever. Developers who would like an exploratory demonstration of the RAG pattern for learning purposes should use this sample. This includes the ability to try out different configurations, including retrieval modes and prompts to support business use cases.

Get started with the “Chat with your data” solution accelerator

Here are the steps to get started with the deployment from the Azure Portal:

  1. Click the following deployment button to create the required resources for this accelerator directly in your Azure Subscription.
  2. Add the following fields:
Field Description
Resource group The resource group that contains the resources for this accelerator. Select Create new to create a new group.
Resource prefix A text string will be appended to each created resource and used as the website name for the web app. This name cannot contain spaces or special characters.
Azure OpenAI Service resource The name of your Azure OpenAI Service resource must have been created previously.
Azure OpenAI Service key The access key associated with your Azure OpenAI Service resource.
  1. Navigate to the admin site, where you can upload documents. It will be located at:       

    https://{MY_RESOURCE_PREFIX}-website-admin.azurewebsites.net/

    Where {MY_RESOURCE_PREFIX} is replaced with the resource prefix you used during deployment.

         Then select Ingest Data and add your data. You can find sample data in the /data directory.

gia_mondragon_1-1697686253356.png

  1. Navigate to the web app to start chatting on top of your data. The web app can be found at:

        https://{MY_RESOURCE_PREFIX}-website.azurewebsites.net/

        Where {MY_RESOURCE_PREFIX} is replaced with the resource prefix you used during deployment.

         gia_mondragon_2-1697686253367.png

For full repo and detailed instructions, visit “Chat with your data” solution accelerator.

 

This article was originally published by Microsoft's Azure AI Services Blog. You can find the original article here.