Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
В этом кратком руководстве вы создадите консольное приложение .NET, которое использует OpenAI.Images.ImageClient для генерации изображений с помощью модели OpenAI или Azure OpenAI DALL-E ИИ. Эти модели создают изображения из текстовых запросов.
Предпосылки
- SDK для .NET 8.0 или более поздней версии — Установите SDK для .NET 8.0.
- Ключ API из OpenAI, чтобы можно было запустить этот пример.
Предпосылки
- Пакет SDK для .NET 8.0 или более поздней версии — Установите пакет SDK для .NET 8.
- Подписка Azure — создайте бесплатную учетную запись.
- Интерфейс командной строки разработчика Azure (опционально) — установить или обновить интерфейс командной строки разработчика Azure.
Примечание.
Вы также можете использовать Семантическое ядро для выполнения задач, описанных в этой статье. Семантический ядро — это упрощенный пакет SDK с открытым исходным кодом, который позволяет создавать агенты ИИ и интегрировать последние модели ИИ в приложения .NET.
Создание приложения
Выполните следующие действия, чтобы создать консольное приложение .NET для подключения к модели ИИ.
В пустом каталоге на компьютере используйте команду
dotnet newдля создания нового консольного приложения:dotnet new console -o ImagesAIИзмените каталог в папку приложения:
cd ImagesAIУстановите необходимые пакеты:
dotnet add package Azure.AI.OpenAI dotnet add package Azure.Identity dotnet add package Microsoft.Extensions.Configuration dotnet add package Microsoft.Extensions.Configuration.UserSecretsdotnet add package OpenAI dotnet add package Microsoft.Extensions.Configuration dotnet add package Microsoft.Extensions.Configuration.UserSecretsОткройте приложение в Visual Studio Code или редакторе.
code .
Создание службы ИИ
Чтобы подготовить службу и модель Azure OpenAI, выполните действия, описанные в статье "Создание и развертывание ресурса Службы OpenAI Azure ".
В терминале или командной строке перейдите в корневой каталог проекта.
Выполните следующие команды, чтобы настроить конечную точку и имя модели Azure OpenAI для примера приложения:
dotnet user-secrets init dotnet user-secrets set AZURE_OPENAI_ENDPOINT <your-Azure-OpenAI-endpoint> dotnet user-secrets set AZURE_OPENAI_GPT_NAME <your-Azure-OpenAI-model-name> dotnet user-secrets set AZURE_OPENAI_API_KEY <your-Azure-OpenAI-key>
Настройка приложения
Перейдите в корневой каталог проекта .NET из терминала или командной строки.
Выполните следующие команды, чтобы настроить ключ API OpenAI в качестве секрета для примера приложения:
dotnet user-secrets init dotnet user-secrets set OpenAIKey <your-OpenAI-key> dotnet user-secrets set ModelName <your-OpenAI-model-name>
Добавление кода приложения
Program.csВ файле добавьте следующий код для подключения и проверки подлинности к модели ИИ.using Microsoft.Extensions.Configuration; using OpenAI.Images; using System.ClientModel; using Azure.AI.OpenAI; using Azure.Identity; // Retrieve the local secrets saved during the Azure deployment. If you skipped the deployment // because you already have an Azure OpenAI available, edit the following lines to use your information, // e.g. string openAIEndpoint = "https://cog-demo123.openai.azure.com/"; var config = new ConfigurationBuilder().AddUserSecrets<Program>().Build(); string endpoint = config["AZURE_OPENAI_ENDPOINT"]; string deployment = config["AZURE_OPENAI_DALLE_NAME"]; // Create the Azure OpenAI ImageClient ImageClient client = new AzureOpenAIClient(new Uri(endpoint), new DefaultAzureCredential()) .GetImageClient(deployment); // Generate the image GeneratedImage generatedImage = await client.GenerateImageAsync(""" A postal card with an happy hiker waving and a beautiful mountain in the background. There is a trail visible in the foreground. The postal card has text in red saying: 'You are invited for a hike!' """, new ImageGenerationOptions { Size = GeneratedImageSize.W1024xH1024 }); Console.WriteLine($"The generated image is ready at:\n{generatedImage.ImageUri}");Примечание.
DefaultAzureCredential выполняет поиск аутентификационных данных из локального инструментария. Если вы не используете
azdшаблон для подготовки ресурса Azure OpenAI, необходимо назначитьAzure AI Developerроль учетной записи, которую вы использовали для входа в Visual Studio или Azure CLI. Дополнительные сведения см. в статье Аутентификация в службах ИИ Azure с помощью.NET.// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. using Microsoft.Extensions.Configuration; using OpenAI.Images; // Retrieve the local secrets that were set from the command line, using: // dotnet user-secrets init // dotnet user-secrets set OpenAIKey <your-openai-key> var config = new ConfigurationBuilder().AddUserSecrets<Program>().Build(); string key = config["OpenAIKey"]; string modelName = config["ModelName"]; // Create the OpenAI ImageClient ImageClient client = new(modelName, key); // Generate the image GeneratedImage generatedImage = await client.GenerateImageAsync(""" A postal card with a happy hiker waving and a beautiful mountain in the background. There is a trail visible in the foreground. The postal card has text in red saying: 'You are invited for a hike!' """, new ImageGenerationOptions { Size = GeneratedImageSize.W1024xH1024 }); Console.WriteLine($"The generated image is ready at:\n{generatedImage.ImageUri}");Предыдущий код:
- Считывает важные значения конфигурации из секретов пользователя проекта для подключения к модели ИИ.
- Создает
OpenAI.Images.ImageClientдля подключения к модели ИИ. - Отправляет запрос в модель, описывающую требуемое изображение.
- Выводит URL-адрес созданного изображения в выходные данные консоли.
Запустите приложение:
dotnet runПерейдите по URL-адресу изображения в выходных данных консоли, чтобы просмотреть созданный образ. Настройте текстовое содержимое запроса для создания новых изображений или изменения исходного.
Очистка ресурсов
Если они больше не нужны, удалите ресурс Azure OpenAI и развертывание модели GPT-4.
- На портале Azureперейдите к ресурсу Azure OpenAI.
- Выберите ресурс Azure OpenAI и выберите Удалить.