Skip to content

Add Azure OpenAI provider support #869

@moncapitaine

Description

@moncapitaine

Overview

Add support for Azure OpenAI Service as an AI provider, enabling enterprise customers to use OpenAI models on Microsoft Azure with enhanced compliance, regional deployment, and enterprise SLAs.

Why Azure OpenAI?

  • Enterprise adoption: Fortune 500 companies often require Azure for compliance
  • Regional data residency: Deploy models in specific Azure regions (EU, US, etc.)
  • Compliance certifications: HIPAA, SOC 2, ISO 27001, GDPR-compliant
  • Microsoft ecosystem: Integration with Azure services (Active Directory, Key Vault)
  • Enterprise SLAs: 99.9% uptime guarantees
  • Private networking: VNet integration and private endpoints

Capabilities

  • Chat Completion: GPT-4o, GPT-4 Turbo, GPT-3.5 Turbo
  • Embedding: text-embedding-3-small, text-embedding-3-large, ada-002
  • Vision: GPT-4o, GPT-4 Turbo with vision
  • Function Calling: Same as OpenAI
  • ⚠️ Model availability: Region-dependent (not all models in all regions)

Implementation Checklist

Backend

  • Create Azure OpenAI provider client in ai-service-client package
  • Implement Azure-specific authentication (API key or Azure AD)
  • Handle deployment-based model naming (vs direct model names)
  • Implement chat completion with streaming support
  • Implement embedding generation
  • Implement vision/multimodal support
  • Implement function calling
  • Add model capability detection
  • Add to provider cache system
  • Add connection testing endpoint
  • Support regional endpoints

Database

  • Add azure_openai to provider enum (if needed)
  • Update provider configuration schema
  • Support Azure-specific fields:
    • resourceName (Azure resource)
    • deploymentId (deployment name)
    • apiVersion (API version string)

GraphQL API

  • Add Azure OpenAI provider to AiServiceProvider mutations
  • Support deployment-based model configuration
  • Model sync from Azure OpenAI deployments endpoint
  • Handle region-specific availability

Frontend

  • Add Azure OpenAI provider UI in /admin/ai-services
  • Configuration form:
    • Azure resource name
    • Deployment ID (or model name)
    • API key (or Azure AD token)
    • API version
    • Region/endpoint
  • Connection testing
  • Model selection filtered by Azure OpenAI
  • Show deployment names vs model names

Documentation

  • Update /docs/admin/ai-models with Azure OpenAI
  • Update /docs/admin/ai-services with Azure OpenAI configuration
  • Add Azure OpenAI setup guide
  • Document deployment vs model naming
  • Document regional availability
  • Document Azure AD authentication (optional)

Testing

  • Unit tests for Azure OpenAI client
  • Integration tests for chat completion
  • Integration tests for embeddings
  • E2E tests for provider configuration
  • Test vision capabilities
  • Test function calling
  • Test deployment-based routing

API Details

Base URL: https://{resource-name}.openai.azure.com
Authentication: API key via api-key header OR Azure AD token
Deployment Endpoint: /openai/deployments/{deployment-id}/chat/completions?api-version={version}
Embeddings Endpoint: /openai/deployments/{deployment-id}/embeddings?api-version={version}

API Version: 2024-10-21 (latest stable)

Endpoint Pattern:

https://my-resource.openai.azure.com/openai/deployments/gpt-4o/chat/completions?api-version=2024-10-21

Key Differences from OpenAI

  1. Deployment-based: Models are accessed via "deployments" (user-defined names), not direct model IDs
  2. Regional: Endpoint includes Azure region (e.g., eastus, westeurope)
  3. API version: Required query parameter for all requests
  4. Authentication: Can use Azure AD (Entra ID) instead of API keys
  5. Model availability: Not all models available in all regions

Configuration Example

{
  provider: 'azure_openai',
  name: 'Production Azure OpenAI',
  baseUrl: 'https://my-company.openai.azure.com',
  apiKey: 'abc123...', // or Azure AD token
  // Azure-specific:
  apiVersion: '2024-10-21',
  deployments: [
    { name: 'gpt-4o-prod', model: 'gpt-4o' },
    { name: 'embedding-prod', model: 'text-embedding-3-large' }
  ]
}

Resources

Related

  • Part of multi-provider support initiative
  • Critical for enterprise sales and compliance
  • Enables regulated industries (healthcare, finance) to use George AI

Priority

P1-high - Essential for enterprise customers who require Azure for compliance and regional data residency

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions