in src/common/details/azcli/AzCliConsoleGui_CognitiveServicesResourceDeploymentPicker.cs [106:164]
public static async Task<AzCli.CognitiveServicesDeploymentInfo?> TryCreateCognitiveServicesResourceDeployment(bool interactive, string deploymentExtra, string subscriptionId, string groupName, string resourceRegionLocation, string resourceName, string deploymentName, string modelFilter)
{
ConsoleHelpers.WriteLineWithHighlight($"\n`CREATE DEPLOYMENT ({deploymentExtra.ToUpper()})`");
var deployableModel = await FindDeployableModel(interactive, deploymentExtra, subscriptionId, resourceRegionLocation, modelFilter);
if (deployableModel == null) return null;
var modelName = deployableModel?.Name;
var skuName = deployableModel?.SkuName;
Console.WriteLine($"\rModel: {modelName}");
Console.WriteLine($"Sku: {skuName}");
var modelFormat = "OpenAI";
var modelVersion = deployableModel?.Version;
var scaleCapacity = deployableModel?.DefaultCapacity;
Console.Write("\rName: ");
if (!string.IsNullOrEmpty(deploymentName))
{
Console.WriteLine(deploymentName);
}
else if (interactive)
{
var choices = new string[] {
$"{modelName}-{modelVersion}",
"(Enter custom name)"
};
var pick = ListBoxPicker.PickIndexOf(choices);
deploymentName = pick switch
{
0 => $"{modelName}-{modelVersion}",
1 => AskPromptHelper.AskPrompt("\rName: "),
_ => null
};
if (pick != choices.Length - 1)
{
Console.WriteLine($"\rName: {deploymentName}");
}
}
else
{
deploymentName = $"{modelName}-{modelVersion}";
Console.WriteLine(deploymentName);
}
if (string.IsNullOrEmpty(deploymentName)) return null;
Console.Write("*** CREATING ***");
var response = await AzCli.CreateCognitiveServicesDeployment(subscriptionId, groupName, resourceName, deploymentName, modelName, modelVersion, modelFormat, scaleCapacity, skuName);
Console.Write("\r");
if (string.IsNullOrEmpty(response.Output.StdOutput) && !string.IsNullOrEmpty(response.Output.StdError))
{
throw new ApplicationException($"ERROR: Creating deployment: {response.Output.StdError}");
}
Console.WriteLine("\r*** CREATED *** ");
return response.Payload;
}