Skip to content
DocsTry Aspire
DocsTry

AzureOpenAIExtensions Methods

ClassMethods5 members
Provides extension methods for adding the Azure OpenAI resources to the application model.
AddAzureOpenAI(IDistributedApplicationBuilder, string)Section titled AddAzureOpenAI(IDistributedApplicationBuilder, string)extensionIResourceBuilder<AzureOpenAIResource>
Adds an Azure OpenAI resource to the application model.
public static class AzureOpenAIExtensions
{
public static IResourceBuilder<AzureOpenAIResource> AddAzureOpenAI(
this IDistributedApplicationBuilder builder,
string name)
{
// ...
}
}
builderIDistributedApplicationBuilderThe Hosting.IDistributedApplicationBuilder.
namestringThe name of the resource. This name will be used as the connection string name when referenced in a dependency.
IResourceBuilder<AzureOpenAIResource>A reference to the ApplicationModel.IResourceBuilder`1.
By default references to the Azure OpenAI resource will be assigned the following roles: - CognitiveServicesBuiltInRole.CognitiveServicesOpenAIContributor These can be replaced by calling AzureOpenAIExtensions.WithRoleAssignments.
AddDeployment(IResourceBuilder<AzureOpenAIResource>, AzureOpenAIDeployment)Section titled AddDeployment(IResourceBuilder<AzureOpenAIResource>, AzureOpenAIDeployment)extensionIResourceBuilder<AzureOpenAIResource>
Adds an Azure OpenAI Deployment to the AzureOpenAIResource resource. This resource requires an AzureOpenAIResource to be added to the application model.
public static class AzureOpenAIExtensions
{
public static IResourceBuilder<AzureOpenAIResource> AddDeployment(
this IResourceBuilder<AzureOpenAIResource> builder,
AzureOpenAIDeployment deployment)
{
// ...
}
}
builderIResourceBuilder<AzureOpenAIResource>The Azure OpenAI resource builder.
deploymentAzureOpenAIDeploymentThe deployment to add.
IResourceBuilder<AzureOpenAIResource>A reference to the ApplicationModel.IResourceBuilder`1.
This method is not available in polyglot app hosts. Use AzureOpenAIExtensions.AddDeployment instead.
AddDeployment(IResourceBuilder<AzureOpenAIResource>, string, string, string)Section titled AddDeployment(IResourceBuilder<AzureOpenAIResource>, string, string, string)extensionIResourceBuilder<AzureOpenAIDeploymentResource>
Adds and returns an Azure OpenAI Deployment resource to the AzureOpenAIResource resource.
public static class AzureOpenAIExtensions
{
public static IResourceBuilder<AzureOpenAIDeploymentResource> AddDeployment(
this IResourceBuilder<AzureOpenAIResource> builder,
string name,
string modelName,
string modelVersion)
{
// ...
}
}
builderIResourceBuilder<AzureOpenAIResource>The Azure OpenAI resource builder.
namestringThe name of the Azure OpenAI Deployment resource.
modelNamestringThe name of the model to deploy.
modelVersionstringThe version of the model to deploy.
IResourceBuilder<AzureOpenAIDeploymentResource>A reference to the ApplicationModel.IResourceBuilder`1.
WithProperties(IResourceBuilder<AzureOpenAIDeploymentResource>, Action<AzureOpenAIDeploymentResource>)Section titled WithProperties(IResourceBuilder<AzureOpenAIDeploymentResource>, Action<AzureOpenAIDeploymentResource>)extensionIResourceBuilder<AzureOpenAIDeploymentResource>
Allows setting the properties of an Azure OpenAI Deployment resource.
public static class AzureOpenAIExtensions
{
public static IResourceBuilder<AzureOpenAIDeploymentResource> WithProperties(
this IResourceBuilder<AzureOpenAIDeploymentResource> builder,
Action<AzureOpenAIDeploymentResource> configure)
{
// ...
}
}
builderIResourceBuilder<AzureOpenAIDeploymentResource>The Azure OpenAI Deployment resource builder.
configureAction<AzureOpenAIDeploymentResource>A method that can be used for customizing the AzureOpenAIDeploymentResource.
IResourceBuilder<AzureOpenAIDeploymentResource>A reference to the ApplicationModel.IResourceBuilder`1.
WithRoleAssignments(IResourceBuilder<T>, IResourceBuilder<AzureOpenAIResource>, CognitiveServicesBuiltInRole[])Section titled WithRoleAssignments(IResourceBuilder<T>, IResourceBuilder<AzureOpenAIResource>, CognitiveServicesBuiltInRole[])extensionIResourceBuilder<T>
Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure OpenAI resource. This replaces the default role assignments for the resource.
public static class AzureOpenAIExtensions
{
public static IResourceBuilder<T> WithRoleAssignments<T>(
this IResourceBuilder<T> builder,
IResourceBuilder<AzureOpenAIResource> target,
params CognitiveServicesBuiltInRole[] roles)
{
// ...
}
}
builderIResourceBuilder<T>The resource to which the specified roles will be assigned.
targetIResourceBuilder<AzureOpenAIResource>The target Azure OpenAI resource.
rolesCognitiveServicesBuiltInRole[]The built-in Cognitive Services roles to be assigned.
IResourceBuilder<T>The updated ApplicationModel.IResourceBuilder`1 with the applied role assignments.
This overload is not available in polyglot app hosts. Use the enum-based overload instead. Assigns the CognitiveServicesOpenAIUser role to the 'Projects.Api' project.
var builder = DistributedApplication.CreateBuilder(args);
var openai = builder.AddAzureOpenAI("openai");
var api = builder.AddProject<Projects.Api>("api")
.WithRoleAssignments(
openai,
CognitiveServicesBuiltInRole.CognitiveServicesOpenAIUser)
.WithReference(openai);