Compartilhar via


Conectar-se a um modelo de IA e solicitar um

No início rápido, você vai aprender como criar um aplicativo de chat de console do .NET para se conectar e interagir com um modelo OpenAI ou Azure OpenAI. O aplicativo usa a biblioteca de Microsoft.Extensions.AI para que você possa escrever código usando abstrações de IA em vez de um SDK específico. As abstrações de IA permitem que você altere o modelo de IA subjacente com alterações mínimas de código.

Pré-requisitos

Pré-requisitos

Observação

Você também pode usar o Kernel Semântico para realizar as tarefas neste artigo. O Semantic Kernel é um SDK leve e de código aberto que permite criar agentes de IA e integrar os modelos de IA mais recentes em seus aplicativos .NET.

Criar o aplicativo

Para criar um aplicativo de console do .NET para se conectar a um modelo de IA, execute as etapas a seguir.

  1. Em um diretório vazio no computador, use o comando dotnet new para criar um novo aplicativo de console:

    dotnet new console -o ExtensionsAI
    
  2. Altere o diretório para a pasta do aplicativo:

    cd ExtensionsAI
    
  3. Instale os pacotes necessários:

    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. Abra o aplicativo no Visual Studio Code ou no editor de sua preferência.

Criar o serviço de IA

  1. Para provisionar um serviço e um modelo do Azure OpenAI, conclua as etapas no artigo Criar e implantar um recurso do Serviço OpenAI do Azure .

  2. Em um terminal ou prompt de comando, navegue até a raiz do diretório do projeto.

  3. Execute os seguintes comandos para configurar o endpoint do Azure OpenAI e o nome do modelo para o aplicativo de exemplo:

    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>
    

Configurar o aplicativo

  1. Navegue até a raiz do projeto .NET de um terminal ou prompt de comando.

  2. Execute os seguintes comandos para configurar sua chave de API OpenAI como um segredo para o aplicativo de exemplo:

    dotnet user-secrets init
    dotnet user-secrets set OpenAIKey <your-OpenAI-key>
    dotnet user-secrets set ModelName <your-OpenAI-model-name>
    

Adicionar o código do aplicativo

O aplicativo usa o Microsoft.Extensions.AI pacote para enviar e receber solicitações para o modelo de IA.

  1. Copie o arquivo benefits.md para o diretório do projeto. Configure o projeto para copiar esse arquivo para o diretório de saída. Se você estiver usando o Visual Studio, clique com o botão direito do mouse no arquivo no Gerenciador de Soluções, selecione Propriedades e defina Copiar para Diretório de Saída para Copiar se for mais recente.

  2. Program.cs No arquivo, adicione o código a seguir para se conectar e autenticar ao modelo de IA.

    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();
    

    Observação

    DefaultAzureCredential pesquisa credenciais de autenticação de suas ferramentas locais. Se você não estiver usando o modelo de azd para provisionar o recurso do Azure OpenAI, precisará atribuir a função Azure AI Developer à conta usada para entrar no Visual Studio ou na CLI do Azure. Para obter mais informações, consulte Autenticar-se nos serviços de IA do Azure com .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. Adicione código para ler o conteúdo do benefits.md arquivo e, em seguida, crie um prompt para o modelo. O prompt instrui o modelo a resumir o conteúdo do texto do arquivo em 20 palavras ou menos.

    string text = File.ReadAllText("benefits.md");
    string prompt = $"""
        Summarize the the following text in 20 words or less:
        {text}
        """;
    
  4. Chame o GetResponseAsync método para enviar o prompt para o modelo para gerar uma resposta.

    // Submit the prompt and print out the response.
    ChatResponse response = await client.GetResponseAsync(
        prompt,
        new ChatOptions { MaxOutputTokens = 400 });
    Console.WriteLine(response);
    
  5. Execute o aplicativo:

    dotnet run
    

    O aplicativo imprime a resposta de conclusão do modelo de IA. Personalize o conteúdo de texto do benefits.md arquivo ou o comprimento do resumo para ver as diferenças nas respostas.

Limpar os recursos

Se você não precisar mais deles, exclua o recurso do Azure OpenAI e a implantação do modelo GPT-4.

  1. No Portal do Azure, navegue até o recurso OpenAI do Azure.
  2. Selecione o recurso do Azure OpenAI e selecione Excluir.

Próximas etapas