Skip to content

A demo Azure OpenAI application to analyze Roman Imperial Coins

License

Notifications You must be signed in to change notification settings

briandenicola/openai-coin-analyzer

Repository files navigation

Overview

This project is a demonstration on how to use Azure OpenAI. It takes an uploaded image of a Roman Imperial Coin and analyzes it Azure OpenAI using the Azure OpenAI Service and the 'gpt-4-turbo' model. The application is built using a microservices architecture and deployed to Azure Kubernetes Service (AKS) with Azure Static Web Apps (SWA) for the front end.

Example

o1 Analysis GTP-4 Analysis
UI UI

(Back to Top)

Components

Component Usage
Azure Kubernetes Service Container Orchestration Runtime Platform
Azure Blob Storage Image Storage
Azure OpenAI Service Service that analyze the coin
Azure Static Web Apps Hosting platform for React Native UI
Azure Key Vault Secret store
Azure Container Registry Container Registry for Docker Images
Azure Grafana Monitoring and Observability
Azure Application Insights Monitoring and Observability
Azure Managed Prometheus Monitoring and Observability
Azure APIM Managment API Gateway

(Back to Top)

Architecture

UI

(Back to Top)

Design Questions and Challenges

  • ❓ What are some ways to improve the performance of the application?
  • ❓ How can we ensure the security of the application?
  • ❓ Azure WAF for AI applications recommends placing an Azure API Management (APIM) in front of the Azure OpenAI Service. How can we implement this - should this differ than the current APIM deployed?
  • ❓ Calls to Azure OpenAI can take a long time to process. How can we leverage other services such as Azure WebPub improve responsiveness of the application?

Setup

  • The environment can setup following the steps in the Setup and Deployment document.
  • The setup process will create all the required resources and deploy the application code to Azure.

(Back to Top)

Roadmap

  • DevContainers
  • Helm Chart Updates
  • APIM Configuration and API Policies
  • Simple React Front End
  • ACR Container Build Task
  • Deployment to SWA
  • Deployment to AKS
  • End to End Testing
  • Architecture Diagram
  • Updated Documentation
  • Update API to save image to blob storage and return URL in response
  • Update Front End to display image
  • Update Front End to display details of the OpenAI calls

(Back to Top)

Navigation

Return to Main Index 🏠Next Section ⏩

(Back to Top)