AzureOpenAIExtensions Methods
Class Methods 5 members
Provides extension methods for adding the Azure OpenAI resources to the application model.
AddAzureOpenAI(IDistributedApplicationBuilder, string) Section titled AddAzureOpenAI(IDistributedApplicationBuilder, string) extension IResourceBuilder<AzureOpenAIResource> Adds an Azure OpenAI resource to the application model.
public static class AzureOpenAIExtensions{ public static IResourceBuilder<AzureOpenAIResource> AddAzureOpenAI( this IDistributedApplicationBuilder builder, string name) { // ... }}Parameters
builder IDistributedApplicationBuilder The Hosting.IDistributedApplicationBuilder. name string The name of the resource. This name will be used as the connection string name when referenced in a dependency. Returns
IResourceBuilder<AzureOpenAIResource> A reference to the ApplicationModel.IResourceBuilder`1. Remarks
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) extension IResourceBuilder<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) { // ... }}Parameters
builder IResourceBuilder<AzureOpenAIResource> The Azure OpenAI resource builder. deployment AzureOpenAIDeployment The deployment to add. Returns
IResourceBuilder<AzureOpenAIResource> A reference to the ApplicationModel.IResourceBuilder`1. AddDeployment(IResourceBuilder<AzureOpenAIResource>, string, string, string) Section titled AddDeployment(IResourceBuilder<AzureOpenAIResource>, string, string, string) extension IResourceBuilder<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) { // ... }}Parameters
builder IResourceBuilder<AzureOpenAIResource> The Azure OpenAI resource builder. name string The name of the Azure OpenAI Deployment resource. modelName string The name of the model to deploy. modelVersion string The version of the model to deploy. Returns
IResourceBuilder<AzureOpenAIDeploymentResource> A reference to the ApplicationModel.IResourceBuilder`1. WithProperties(IResourceBuilder<AzureOpenAIDeploymentResource>, Action<AzureOpenAIDeploymentResource>) Section titled WithProperties(IResourceBuilder<AzureOpenAIDeploymentResource>, Action<AzureOpenAIDeploymentResource>) extension IResourceBuilder<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) { // ... }}Parameters
builder IResourceBuilder<AzureOpenAIDeploymentResource> The Azure OpenAI Deployment resource builder. configure Action<AzureOpenAIDeploymentResource> A method that can be used for customizing the AzureOpenAIDeploymentResource. Returns
IResourceBuilder<AzureOpenAIDeploymentResource> A reference to the ApplicationModel.IResourceBuilder`1. WithRoleAssignments(IResourceBuilder<T>, IResourceBuilder<AzureOpenAIResource>, CognitiveServicesBuiltInRole[]) Section titled WithRoleAssignments(IResourceBuilder<T>, IResourceBuilder<AzureOpenAIResource>, CognitiveServicesBuiltInRole[]) extension IResourceBuilder<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) { // ... }}Parameters
builder IResourceBuilder<T> The resource to which the specified roles will be assigned. target IResourceBuilder<AzureOpenAIResource> The target Azure OpenAI resource. roles CognitiveServicesBuiltInRole[] The built-in Cognitive Services roles to be assigned. Returns
IResourceBuilder<T> The updated ApplicationModel.IResourceBuilder`1 with the applied role assignments. Remarks
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);