Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I den här snabbstarten får du lära dig hur du skapar en .NET-konsolchattapp för att ansluta till och fråga en OpenAI- eller Azure OpenAI-modell. Appen använder Microsoft.Extensions.AI-biblioteket så att du kan skriva kod med AI-abstraktioner i stället för ett specifikt SDK. MED AI-abstraktioner kan du ändra den underliggande AI-modellen med minimala kodändringar.
Förutsättningar
- .NET 8.0 SDK eller senare – Installera .NET 8.0 SDK -.
- En API-nyckel från OpenAI så att du kan köra det här exemplet.
Förutsättningar
- .NET 8.0 SDK eller senare – Installera .NET 8 SDK.
- En Azure-prenumeration – Skapa en kostnadsfritt.
- Azure Developer CLI (valfritt) – Installera eller uppdatera Azure Developer CLI-.
Anmärkning
Du kan också använda semantisk kernel för att utföra uppgifterna i den här artikeln. Semantisk kernel är en enkel SDK med öppen källkod som gör att du kan skapa AI-agenter och integrera de senaste AI-modellerna i dina .NET-appar.
Skapa appen
Slutför följande steg för att skapa en .NET-konsolapp för att ansluta till en AI-modell.
I en tom katalog på datorn använder du kommandot
dotnet new
för att skapa en ny konsolapp:dotnet new console -o ExtensionsAI
Ändra katalog till appmappen:
cd ExtensionsAI
Installera de paket som krävs:
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
Öppna appen i Visual Studio Code eller valfri redigerare.
Skapa AI-tjänsten
Om du vill etablera en Azure OpenAI-tjänst och modell slutför du stegen i artikeln Skapa och distribuera en Azure OpenAI-tjänstresurs .
Från en terminal eller kommandotolk navigerar du till roten av din projektkatalog.
Kör följande kommandon för att konfigurera Azure OpenAI-slutpunkten och modellnamnet för exempelappen:
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>
Konfigurera appen
Navigera till roten av ditt .NET-projekt från en terminal eller kommandotolk.
Kör följande kommandon för att konfigurera din OpenAI API-nyckel som en hemlighet för exempelappen:
dotnet user-secrets init dotnet user-secrets set OpenAIKey <your-OpenAI-key> dotnet user-secrets set ModelName <your-OpenAI-model-name>
Lägg till appkoden
Appen använder Microsoft.Extensions.AI
-paketet för att skicka och ta emot begäranden till AI-modellen.
Kopiera filen benefits.md till projektkatalogen. Konfigurera projektet för att kopiera den här filen till utdatakatalogen. Om du använder Visual Studio högerklickar du på filen i Solution Explorer, väljer Egenskaper och ställer sedan in Kopiera till Utdatakatalog till Kopiera om det är nyare.
Program.cs
I filen lägger du till följande kod för att ansluta och autentisera till AI-modellen.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();
Anmärkning
DefaultAzureCredential söker efter autentiseringsuppgifter från ditt lokala verktyg. Om du inte använder
azd
-mallen för att etablera Azure OpenAI-resursen måste du tilldelaAzure AI Developer
rollen till det konto som du använde för att logga in på Visual Studio eller Azure CLI. Mer information finns i Autentisera till Azure AI-tjänster med .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();
Lägg till kod för att läsa filinnehållet
benefits.md
och skapa sedan en uppmaning till modellen. Uppmaningen instruerar modellen att sammanfatta filens textinnehåll med högst 20 ord.string text = File.ReadAllText("benefits.md"); string prompt = $""" Summarize the the following text in 20 words or less: {text} """;
GetResponseAsync
Anropa metoden för att skicka uppmaningen till modellen för att generera ett svar.// Submit the prompt and print out the response. ChatResponse response = await client.GetResponseAsync( prompt, new ChatOptions { MaxOutputTokens = 400 }); Console.WriteLine(response);
Kör appen:
dotnet run
Appen skriver ut svar om slutförande från AI-modellen. Anpassa textinnehållet i
benefits.md
filen eller längden på sammanfattningen för att se skillnaderna i svaren.
Rensa resurser
Om du inte längre behöver dem tar du bort Azure OpenAI-resursen och GPT-4-modelldistributionen.
- I Azure-portalengår du till Azure OpenAI-resursen.
- Välj Azure OpenAI-resursen och välj sedan Ta bort.