Skip to content

feat: implement Azure OpenAI deployment routing to map logical model#163

Open
Danni2901 wants to merge 1 commit intolaravel:0.xfrom
Danni2901:feature/azure-multi-deployment-support
Open

feat: implement Azure OpenAI deployment routing to map logical model#163
Danni2901 wants to merge 1 commit intolaravel:0.xfrom
Danni2901:feature/azure-multi-deployment-support

Conversation

@Danni2901
Copy link
Contributor

Azure OpenAI Deployment-Based Router

In Azure OpenAI Service, each model is deployed as a separate "Deployment" with its own unique name (e.g., my-gpt-4o-deployment). This structure differs from standard OpenAI, where model names are universal.

The Deployment-Based Router allows you to map logical, unified model names to specific Azure deployment names dynamically. This is essential for large-scale projects where you want to switch models without changing code or hardcoded deployment names.

@Danni2901 Danni2901 changed the title feat: implement Azure OpenAI deployment routing to map logical model … feat: implement Azure OpenAI deployment routing to map logical model Feb 14, 2026
@taylorotwell
Copy link
Member

Can you link me to how other AI SDKs implement this?

@Danni2901
Copy link
Contributor Author

Can you link me to how other AI SDKs implement this?

Hi @taylorotwell, here is how major AI SDKs handle the mapping between standard model names and Azure's custom deployment names:

  1. Microsoft Semantic Kernel (.NET/Python)
    Explicitly separates the logical modelId (e.g., "gpt-4") and deploymentName during configuration.
    👉 Semantic Kernel Azure Docs

  2. LangChain
    Provides a dedicated azure_deployment parameter in the AzureChatOpenAI class to map the deployment.
    👉 LangChain Azure Docs

This PR follows a similar approach, ensuring Laravel AI can cleanly separate logical model names from Azure deployment identifiers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants