Поделиться через


Подключение и запрос модели ИИ

Из этого краткого руководства вы узнаете, как создать консольное приложение чата .NET для подключения и взаимодействия с моделью OpenAI или Azure OpenAI. Приложение использует библиотеку Microsoft.Extensions.AI, чтобы можно было писать код с помощью абстракций ИИ, а не конкретного пакета SDK. Абстракции искусственного интеллекта позволяют изменять базовую модель ИИ с минимальными изменениями кода.

Предпосылки

Предпосылки

Примечание.

Вы также можете использовать Семантическое ядро для выполнения задач, описанных в этой статье. Семантический ядро — это упрощенный пакет SDK с открытым исходным кодом, который позволяет создавать агенты ИИ и интегрировать последние модели ИИ в приложения .NET.

Создание приложения

Выполните следующие действия, чтобы создать консольное приложение .NET для подключения к модели ИИ.

  1. В пустом каталоге на компьютере используйте команду dotnet new для создания нового консольного приложения:

    dotnet new console -o ExtensionsAI
    
  2. Измените каталог в папку приложения:

    cd ExtensionsAI
    
  3. Установите необходимые пакеты:

    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.UserSecrets
    
    dotnet add package OpenAI
    dotnet add package Microsoft.Extensions.AI.OpenAI --prerelease
    dotnet add package Microsoft.Extensions.Configuration
    dotnet add package Microsoft.Extensions.Configuration.UserSecrets
    
  4. Откройте приложение в Visual Studio Code или редакторе.

Создание службы ИИ

  1. Чтобы подготовить службу и модель Azure OpenAI, выполните действия, описанные в статье "Создание и развертывание ресурса Службы OpenAI Azure ".

  2. В терминале или командной строке перейдите в корневой каталог проекта.

  3. Выполните следующие команды, чтобы настроить конечную точку и имя модели 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>
    

Настройка приложения

  1. Перейдите в корневой каталог проекта .NET из терминала или командной строки.

  2. Выполните следующие команды, чтобы настроить ключ 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 для отправки и получения запросов в модель ИИ.

  1. Скопируйте файл benefits.md в каталог проекта. Настройте проект для копирования этого файла в выходной каталог. Если вы используете Visual Studio, щелкните правой кнопкой мыши файл в обозревателе решений, выберите "Свойства", а затем установите "Копировать в выходной каталог" в значение "Копировать, если новее".

  2. 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();
    
  3. Добавьте код для чтения содержимого benefits.md файла и создайте запрос для модели. Запрос указывает модели суммировать текстовое содержимое файла в 20 словах или меньше.

    string text = File.ReadAllText("benefits.md");
    string prompt = $"""
        Summarize the the following text in 20 words or less:
        {text}
        """;
    
  4. GetResponseAsync Вызовите метод, чтобы отправить запрос модели для создания ответа.

    // Submit the prompt and print out the response.
    ChatResponse response = await client.GetResponseAsync(
        prompt,
        new ChatOptions { MaxOutputTokens = 400 });
    Console.WriteLine(response);
    
  5. Запустите приложение:

    dotnet run
    

    Приложение выводит ответ завершения из модели ИИ. Настройте текстовое содержимое benefits.md файла или длину сводки, чтобы увидеть различия в ответах.

Очистка ресурсов

Если они больше не нужны, удалите ресурс Azure OpenAI и развертывание модели GPT-4.

  1. На портале Azureперейдите к ресурсу Azure OpenAI.
  2. Выберите ресурс Azure OpenAI и выберите Удалить.

Дальнейшие действия