Deploy custom language projects to multiple regions

Note

This article applies to the following custom features in Azure AI Language:

Custom language service features enable you to deploy your project to more than one region. This capability makes it much easier to access your project globally while you manage only one instance of your project in one place. As of November 2024, custom language service features also enable you to deploy your project to multiple resources within a single region via the API, so that you can use your custom model wherever you need.

Before you deploy a project, you can assign deployment resources in other regions. Each deployment resource is a different Language resource from the one that you use to author your project. You deploy to those resources and then target your prediction requests to that resource in their respective regions and your queries are served directly from that region.

When you create a deployment, you can select which of your assigned deployment resources and their corresponding regions you want to deploy to. The model you deploy is then replicated to each region and accessible with its own endpoint dependent on the deployment resource's custom subdomain.

Example

Suppose you want to make sure your project, which is used as part of a customer support chatbot, is accessible by customers across the United States and India. You author a project with the name ContosoSupport by using a West US 2 Language resource named MyWestUS2. Before deployment, you assign two deployment resources to your project: MyEastUS and MyCentralIndia in East US and Central India, respectively.

When you deploy your project, you select all three regions for deployment: the original West US 2 region and the assigned ones through East US and Central India.

You now have three different endpoint URLs to access your project in all three regions:

  • West US 2: https://mywestus2.cognitiveservices.azure.com/language/:analyze-conversations
  • East US: https://myeastus.cognitiveservices.azure.com/language/:analyze-conversations
  • Central India: https://mycentralindia.cognitiveservices.azure.com/language/:analyze-conversations

The same request body to each of those different URLs serves the exact same response directly from that region.

Validations and requirements

Assigning deployment resources requires Microsoft Entra authentication. Microsoft Entra ID is used to confirm that you have access to the resources that you want to assign to your project for multiregion deployment. In Language Studio, you can automatically enable Microsoft Entra authentication by assigning yourself the Azure Cognitive Services Language Owner role to your original resource. To programmatically use Microsoft Entra authentication, learn more from the Azure AI services documentation.

Your project name and resource are used as its main identifiers. A Language resource can only have a specific project name in each resource. Any other projects with the same name can't be deployed to that resource.

For example, if a project ContosoSupport was created by the resource MyWestUS2 in West US 2 and deployed to the resource MyEastUS in East US, the resource MyEastUS can't create a different project called ContosoSupport and deploy a project to that region. Similarly, your collaborators can't then create a project ContosoSupport with the resource MyCentralIndia in Central India and deploy it to either MyWestUS2 or MyEastUS.

You can only swap deployments that are available in the exact same regions. Otherwise, swapping fails.

If you remove an assigned resource from your project, all of the project deployments to that resource are deleted.

Some regions are only available for deployment and not for authoring projects.

Learn how to deploy models for: