Freigeben über


Herstellen einer Verbindung mit einem KI-Modell und Aufforderung

In dieser Schnellstartanleitung erfahren Sie, wie Sie eine .NET-Konsolenchat-App erstellen, um eine Verbindung mit einem OpenAI- oder Azure OpenAI-Modell herzustellen und aufzufordern. Die App verwendet die Microsoft.Extensions.AI-Bibliothek, sodass Sie Code mithilfe von KI-Abstraktionen und nicht mit einem bestimmten SDK schreiben können. KI-Abstraktionen ermöglichen es Ihnen, das zugrunde liegende KI-Modell mit minimalen Codeänderungen zu ändern.

Voraussetzungen

Voraussetzungen

Hinweis

Sie können auch Semantic Kernel verwenden, um die Aufgaben in diesem Artikel zu erledigen. Semantic Kernel ist ein schlankes Open-Source SDK, mit dem Sie KI-Agenten erstellen und die neuesten KI-Modelle in Ihre .NET Apps integrieren können.

Erstellen der App

Schließen Sie die folgenden Schritte ab, um eine App für eine .NET-Konsole zu erstellen, die sich mit einem KI-Modell verbindet.

  1. Verwenden Sie in einem leeren Verzeichnis auf Ihrem Computer den Befehl dotnet new, um eine neue Konsolen-App zu erstellen:

    dotnet new console -o ExtensionsAI
    
  2. Wechseln Sie das Verzeichnis in den App-Ordner:

    cd ExtensionsAI
    
  3. Installieren Sie die erforderlichen Pakete:

    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. Öffnen Sie die App in Visual Studio Code oder einem Editor Ihrer Wahl.

Erstellen Sie den KI-Dienst

  1. Führen Sie zum Bereitstellen eines Azure OpenAI-Diensts und -Modells die Schritte im Artikel zum Erstellen und Bereitstellen eines Azure OpenAI Service-Ressourcenartikels aus.

  2. Navigieren Sie über ein Terminal oder eine Eingabeaufforderung zum Stammverzeichnis Des Projekts.

  3. Führen Sie die folgenden Befehle aus, um Ihren Azure OpenAI-Endpunkt und den Modellnamen für die Beispiel-App zu konfigurieren:

    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>
    

Konfigurieren der App

  1. Navigieren Sie über ein Terminal oder eine Eingabeaufforderung zum Stammverzeichnis Ihres .NET-Projekts.

  2. Führen Sie die folgenden Befehle aus, um Ihren OpenAI-API-Schlüssel als Geheimnis für die Beispiel-App zu konfigurieren:

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

Fügen Sie den App-Code hinzu

Die App verwendet das Microsoft.Extensions.AI-Paket zum Senden und Empfangen von Anforderungen an das KI-Modell.

  1. Kopieren Sie die benefits.md Datei in Ihr Projektverzeichnis. Konfigurieren Sie das Projekt, um diese Datei in das Ausgabeverzeichnis zu kopieren. Wenn Sie Visual Studio verwenden, klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Datei, wählen Sie "Eigenschaften" aus, und legen Sie dann " In Ausgabeverzeichnis kopieren " auf "Kopieren" fest, wenn neuer.

  2. Fügen Sie in der Program.cs Datei den folgenden Code hinzu, um eine Verbindung mit dem KI-Modell herzustellen und sich zu authentifizieren.

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

    Hinweis

    DefaultAzureCredential sucht in Ihrem lokalen Tool nach Authentifizierungsdaten. Wenn Sie nicht die azd-Vorlage zur Bereitstellung der Azure OpenAI-Ressource verwenden, müssen Sie die Azure AI Developer-Rolle dem Konto zuweisen, das Sie zur Anmeldung bei Visual Studio oder dem Azure CLI verwendet haben. Weitere Informationen finden Sie unter Authentifizierung von Azure AI-Diensten mit .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. Fügen Sie Code zum Lesen des benefits.md Dateiinhalts hinzu, und erstellen Sie dann eine Eingabeaufforderung für das Modell. Die Eingabeaufforderung weist das Modell an, den Textinhalt der Datei in 20 Wörtern oder weniger zusammenzufassen.

    string text = File.ReadAllText("benefits.md");
    string prompt = $"""
        Summarize the the following text in 20 words or less:
        {text}
        """;
    
  4. Rufen Sie die GetResponseAsync Methode auf, um die Aufforderung an das Modell zu senden, um eine Antwort zu generieren.

    // Submit the prompt and print out the response.
    ChatResponse response = await client.GetResponseAsync(
        prompt,
        new ChatOptions { MaxOutputTokens = 400 });
    Console.WriteLine(response);
    
  5. Führen Sie die App aus:

    dotnet run
    

    Die App druckt die Abschlussantwort aus dem KI-Modell. Passen Sie den Textinhalt der benefits.md Datei oder die Länge der Zusammenfassung an, um die Unterschiede in den Antworten anzuzeigen.

Bereinigen von Ressourcen

Wenn Sie sie nicht mehr benötigen, löschen Sie die Azure OpenAI-Ressource und die GPT-4-Modellbereitstellung.

  1. Navigieren Sie im Azure Portalzur Azure OpenAI-Ressource.
  2. Wählen Sie die Azure OpenAI-Ressource aus und wählen Sie dann Löschen.

Nächste Schritte