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:
- Embedding Model → Converts text into vectors for indexing.
- 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.
4. Create an Index in Azure AI Search
- 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
- Python:
- Install dependencies:
- Python:
pip install -r requirements.txt openai
- C#:
dotnet add package Azure.AI.OpenAI
- Python:
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 portal → Resource Group.