Overview

This exercise demonstrates how to build a Retrieval Augmented Generation (RAG) chat application that integrates custom data sources into prompts for a generative AI model. The app is developed using Azure AI Foundry and deployed with Azure OpenAI and Azure AI Search.


Steps & Configuration Details

1. Create an Azure AI Foundry Hub and Project

  • Open Azure AI Foundry portal (https://ai.azure.com) and create a hub project.
  • Configuration Items:
    • Subscription: Your Azure subscription.
    • Resource Group: Select or create a resource group.
    • Hub Name: A valid name.
    • Location: Example values → East US 2, Sweden Central (quota limits may require a different region).

2. Deploy Models

Two models are required:

  1. Embedding Model → Converts text into vectors for indexing.
  2. Generative AI Model → Answers user questions.

Deployment Settings:

  • Embedding Model: text-embedding-ada-002
  • Generative Model: gpt-4o
  • Deployment Type: Global Standard
  • Tokens Per Minute (TPM) Limit: 50K (or the maximum available in your subscription)
  • Connected AI Resource: Link to Azure AI Foundry project
  • Content Filter: DefaultV2

3. Add Data to Your Project

  • Download the data archive:
    https://github.com/MicrosoftLearning/mslearn-ai-studio/raw/main/data/brochures.zip
    
  • Extract into a folder (brochures) and upload it in Azure AI Foundry → Data + indexes.

  • Source Data: brochures
  • Index Configuration:
    • Azure AI Search Resource: Create a new one.
    • Pricing Tier: Basic
    • Vector Index Name: brochures-index
    • Embedding Model Deployment: text-embedding-ada-002
    • Search Method: Hybrid (vector + keyword)
    • OpenAI Connection: Default Azure OpenAI resource

5. Test the Index

  • Open Chat Playground in Azure AI Foundry.
  • Submit: "Where can I stay in New York?"
  • Enable indexed data (brochures-index) and rerun the query to check results based on RAG integration.

6. Implement a RAG Client App

  • Clone the GitHub repository:
    rm -r mslearn-ai-foundry -f
    git clone https://github.com/microsoftlearning/mslearn-ai-studio mslearn-ai-foundry
    
  • Navigate to the project folder:
    • Python: cd mslearn-ai-foundry/labfiles/rag-app/python
    • C#: cd mslearn-ai-foundry/labfiles/rag-app/c-sharp
  • Install dependencies:
    • Python: pip install -r requirements.txt openai
    • C#: dotnet add package Azure.AI.OpenAI

7. Configure Connection Details

Edit the configuration file:

  • Python: .env
  • C#: appsettings.json Replace placeholders with actual values:
  • your_openai_endpoint
  • your_openai_api_key
  • your_chat_model (e.g., gpt-4o)
  • your_embedding_model (e.g., text-embedding-ada-002)
  • your_search_endpoint
  • your_search_api_key
  • your_index (e.g., brochures-index)

8. Run the Chat Application

  • Python: python rag-app.py
  • C#: dotnet run
  • Example prompt: "Where should I go on vacation to see architecture?"
  • Follow-up questions maintain chat history while utilizing the index for more context-aware responses.

9. Clean Up

To avoid unnecessary costs:

  • Delete resources in Azure portalResource Group.

Related Posts