Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Из этого краткого руководства вы узнаете, как создать консольное приложение чата .NET для подключения и взаимодействия с моделью OpenAI или Azure OpenAI. Приложение использует библиотеку Microsoft.Extensions.AI, чтобы можно было писать код с помощью абстракций ИИ, а не конкретного пакета SDK. Абстракции искусственного интеллекта позволяют изменять базовую модель ИИ с минимальными изменениями кода.
Предпосылки
- 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 ExtensionsAIИзмените каталог в папку приложения:
cd ExtensionsAIУстановите необходимые пакеты:
dotnet add package Azure.AI.OpenAI dotnet add package Azure.Identity dotnet add package Microsoft.Extensions.AI.OpenAI --prerelease dotnet add package Microsoft.Extensions.Configuration dotnet add package Microsoft.Extensions.Configuration.UserSecretsdotnet add package OpenAI dotnet add package Microsoft.Extensions.AI.OpenAI --prerelease dotnet add package Microsoft.Extensions.Configuration dotnet add package Microsoft.Extensions.Configuration.UserSecretsОткройте приложение в Visual Studio 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>
Добавление кода приложения
Приложение использует пакет Microsoft.Extensions.AI для отправки и получения запросов в модель ИИ.
Скопируйте файл benefits.md в каталог проекта. Настройте проект для копирования этого файла в выходной каталог. Если вы используете Visual Studio, щелкните правой кнопкой мыши файл в обозревателе решений, выберите "Свойства", а затем установите "Копировать в выходной каталог" в значение "Копировать, если новее".
Program.csВ файле добавьте следующий код для подключения и проверки подлинности к модели ИИ.using Microsoft.Extensions.Configuration; using Microsoft.Extensions.AI; using Azure.AI.OpenAI; using Azure.Identity; var config = new ConfigurationBuilder() .AddUserSecrets<Program>() .Build(); string endpoint = config["AZURE_OPENAI_ENDPOINT"]; string deployment = config["AZURE_OPENAI_GPT_NAME"]; IChatClient client = new AzureOpenAIClient(new Uri(endpoint), new DefaultAzureCredential()) .GetChatClient(deployment) .AsIChatClient();Примечание.
DefaultAzureCredential выполняет поиск аутентификационных данных из локального инструментария. Если вы не используете шаблон
azdдля подготовки ресурса Azure OpenAI, необходимо назначить рольAzure AI Developerучетной записи, которую вы использовали для входа в Visual Studio или Azure CLI. Дополнительные сведения см. в статье Аутентификация в службах ИИ Azure с помощью.NET.using Microsoft.Extensions.AI; using Microsoft.Extensions.Configuration; using OpenAI; IConfigurationRoot config = new ConfigurationBuilder() .AddUserSecrets<Program>() .Build(); string? model = config["ModelName"]; string? key = config["OpenAIKey"]; IChatClient client = new OpenAIClient(key).GetChatClient(model).AsIChatClient();Добавьте код для чтения содержимого
benefits.mdфайла и создайте запрос для модели. Запрос указывает модели суммировать текстовое содержимое файла в 20 словах или меньше.string text = File.ReadAllText("benefits.md"); string prompt = $""" Summarize the the following text in 20 words or less: {text} """;GetResponseAsyncВызовите метод, чтобы отправить запрос модели для создания ответа.// Submit the prompt and print out the response. ChatResponse response = await client.GetResponseAsync( prompt, new ChatOptions { MaxOutputTokens = 400 }); Console.WriteLine(response);Запустите приложение:
dotnet runПриложение выводит ответ завершения из модели ИИ. Настройте текстовое содержимое
benefits.mdфайла или длину сводки, чтобы увидеть различия в ответах.
Очистка ресурсов
Если они больше не нужны, удалите ресурс Azure OpenAI и развертывание модели GPT-4.
- На портале Azureперейдите к ресурсу Azure OpenAI.
- Выберите ресурс Azure OpenAI и выберите Удалить.