I'm sharing HLD of a small POC, I recently worked on: A development architecture for a Simple Azure OpenAI Retrieval And Generation (RAG) model using microservices! This Proof of Concept (POC) demonstrates the potential of this approach for building document-centric applications.
Here's a breakdown of the key components used in the POC:
API Gateway:
I leveraged Azure API Management to create a centralized API gateway for managing incoming requests.
Microservices:
Container Apps were used to deploy individual microservices, including:
- AI Service
- Configuration Service
- File Upload Service
- Document Processing Service
Container Image Storage:
Azure Container Registry (ACR) was used to store and manage container images for each microservice.
Event-Driven Processing:
Azure Event Grid triggers the document processing service to handle chunked data and load it into a PostgreSQL database as a vector database.
Secret Management:
Azure Key Vault securely stores connection strings for the database, blob storage, and other sensitive information.
AI Model Deployment:
Using Azure AI Studio, I deployed one Large Language Model (LLM) and one embedding model from Azure OpenAI to enable interaction with documents through chat.
This microservices architecture provides a flexible and scalable foundation for further development and exploration of a Simple Azure OpenAI RAG model.
I'm interested in hearing from others who have built similar POCs! What challenges did you face? What tools and techniques did you find most useful?