in src/common/details/azcli/AzCliConsoleGui_PickOrCreateAndConfig_CognitiveServicesResource_OpenAiKind.cs [23:84]
public static async Task<AzCli.CognitiveServicesResourceInfoEx> PickOrCreateAndConfigCognitiveServicesOpenAiKindResource(
INamedValues values,
bool interactive,
string subscriptionId,
string regionFilter = null,
string groupFilter = null,
string resourceFilter = null,
string kinds = null,
string sku = null,
bool yes = false,
bool skipChat = false,
bool allowSkipChat = true,
bool skipEmbeddings = false,
bool allowSkipEmbeddings = true,
bool skipRealTime = false,
bool allowSkipRealTime = true,
string chatDeploymentFilter = null,
string embeddingsDeploymentFilter = null,
string realtimeDeploymentFilter = null,
string chatModelFilter = null,
string embeddingsModelFilter = null,
string realtimeModelFilter = null)
{
kinds ??= "OpenAI;AIServices";
var sectionHeader = "AZURE OPENAI RESOURCE";
var regionLocation = !string.IsNullOrEmpty(regionFilter) ? await AzCliConsoleGui.PickRegionLocationAsync(interactive, regionFilter) : new AzCli.AccountRegionLocationInfo();
var resource = await AzCliConsoleGui.PickOrCreateCognitiveResource(sectionHeader, interactive, subscriptionId, regionLocation.Name, groupFilter, resourceFilter, kinds, sku, yes);
var (chatDeployment, embeddingsDeployment, realtimeDeployment, keys) = await PickOrCreateAndConfigCognitiveServicesOpenAiKindResourceDeployments(
values,
sectionHeader,
interactive,
subscriptionId,
resource,
skipChat,
allowSkipChat,
chatDeploymentFilter,
chatModelFilter,
skipEmbeddings,
allowSkipEmbeddings,
embeddingsDeploymentFilter,
embeddingsModelFilter,
skipRealTime,
allowSkipRealTime,
realtimeDeploymentFilter,
realtimeModelFilter);
return new AzCli.CognitiveServicesResourceInfoEx
{
Id = resource.Id,
Group = resource.Group,
Name = resource.Name,
Kind = resource.Kind,
RegionLocation = resource.RegionLocation,
Endpoint = resource.Endpoint,
Key = keys.Key1,
ChatDeployment = chatDeployment.HasValue ? chatDeployment.Value.Name : null,
EmbeddingsDeployment = embeddingsDeployment.HasValue ? embeddingsDeployment.Value.Name : null,
RealTimeDeployment = realtimeDeployment.HasValue ? realtimeDeployment.Value.Name : null
};
}