Megosztás a következőn keresztül:


Szöveg összegzése AI-csevegőalkalmazással a .NET-tel

Ismerkedés az AI-vel egy egyszerű .NET 8.0-s konzolos csevegőalkalmazás létrehozásával, amely összegzi a szöveget. Az alkalmazás helyileg fut, és az OpenAI-modellt gpt-3.5-turbo használja. Az alábbi lépéseket követve hozzáférhet az OpenAI-hoz, és megtudhatja, hogyan használhatja a Szemantic Kernelt.

Előfeltételek

  • .NET 8.0 SDK – Telepítse a .NET 8.0 SDK-t.
  • Egy API-kulcs az OpenAI-ból , hogy futtathassa ezt a mintát.
  • Windows rendszeren a PowerShellre v7+ van szükség. A verzió ellenőrzéséhez futtassa pwsh a terminálban. Az aktuális verziót kell visszaadnia. Ha hibát ad vissza, hajtsa végre a következő parancsot: dotnet tool update --global PowerShell.

Ismerkedés az AI-vel egy egyszerű .NET 8.0-s konzolos csevegőalkalmazás létrehozásával, amely összegzi a szöveget. Az alkalmazás helyileg fut, és csatlakozik az Azure OpenAI-ban üzembe helyezett OpenAI-modellhez gpt-35-turbo . Kövesse ezeket a lépéseket az Azure OpenAI szolgáltatás kiépítéséhez, és ismerje meg, hogyan használhatja a Szemantic Kernelt.

Előfeltételek

  • .NET 8 SDK – Telepítse a .NET 8 SDK-t.
  • Azure-előfizetés – Hozzon létre egyet ingyenesen.
  • Azure Developer CLI – Az Azure Developer CLI telepítése vagy frissítése.
  • Hozzáférés az Azure OpenAI szolgáltatáshoz.
  • Windows rendszeren a PowerShellre v7+ van szükség. A verzió ellenőrzéséhez futtassa pwsh a terminálban. Az aktuális verziót kell visszaadnia. Ha hibát ad vissza, hajtsa végre a következő parancsot: dotnet tool update --global PowerShell.

A mintaprojekt lekérése

Klónozza a GitHub-adattárat, amely az összes rövid útmutatóhoz tartalmazza a mintaalkalmazásokat:

git clone https://github.com/dotnet/ai-samples.git

Az Azure OpenAI szolgáltatás létrehozása

A GitHub-mintaadattár Azure Developer CLI-sablonként vanazd felépítve, amely azd az Azure OpenAI szolgáltatás és modell kiépítésére használható.

  1. Egy terminálból vagy parancssorból keresse meg a mintaadattár src\quickstarts\azure-openai könyvtárát.

  2. Futtassa a azd up parancsot az Azure OpenAI-erőforrások kiépítéséhez. Az Azure OpenAI szolgáltatás létrehozása és a modell üzembe helyezése több percet is igénybe vehet.

    azd up
    

    azd Emellett konfigurálja a mintaalkalmazáshoz szükséges felhasználói titkos kulcsokat, például az OpenAI hozzáférési kulcsot.

    Feljegyzés

    Ha az azd up üzembe helyezés során hibát tapasztal, keresse fel a hibaelhárítási szakaszt .

Próbálja ki a túra előnyeinek mintáját

  1. Nyissa meg a openai\01-HikeBenefitsSummary könyvtárat egy terminálból vagy parancssorból.

  2. Futtassa a következő parancsokat az OpenAI API-kulcs titkos kódként való konfigurálásához a mintaalkalmazáshoz:

    dotnet user-secrets init
    dotnet user-secrets set OpenAIKey <your-openai-key>
    
  3. Az alkalmazás futtatásához használja a dotnet run parancsot:

    dotnet run
    
  1. Nyissa meg a azure-openai\01-HikeBenefitsSummary könyvtárat egy terminálból vagy parancssorból.

  2. Az alkalmazás futtatásához használja a dotnet run parancsot:

    dotnet run
    

    Tipp.

    Ha hibaüzenet jelenik meg, előfordulhat, hogy az Azure OpenAI-erőforrások nem fejezték be az üzembe helyezést. Várjon néhány percet, és próbálkozzon újra.

A kód megismerése

Az alkalmazás a Microsoft.SemanticKernel csomag használatával küld és fogad kéréseket az OpenAI szolgáltatásnak.

A Program.cs fájl tartalmazza az összes alkalmazáskódot. Az első több sornyi kódkészlet konfigurációs értékei és a parancs használatával korábban beállított OpenAI-kulcs lekérése dotnet user-secrets .

var config = new ConfigurationBuilder().AddUserSecrets<Program>().Build();
string model = "gpt-3.5-turbo";
string key = config["OpenAIKey"];

Az Kernel osztály megkönnyíti a kéréseket és válaszokat, és regisztrál egy OpenAIChatCompletion szolgáltatást.

// Create a Kernel containing the OpenAI Chat Completion Service
Kernel kernel = Kernel.CreateBuilder()
    .AddOpenAIChatCompletion(model, key)
    .Build();

Az alkalmazás a Microsoft.SemanticKernel csomag használatával küld és fogad kéréseket az Azure OpenAI szolgáltatásnak.

A Program.cs fájl tartalmazza az összes alkalmazáskódot. Az első több sornyi kódbetöltési titkos kód és konfigurációs érték, amelyek az dotnet user-secrets alkalmazás kiépítése során lettek beállítva az Ön számára.

// Retrieve the local secrets saved during the Azure deployment
var config = new ConfigurationBuilder().AddUserSecrets<Program>().Build();
string endpoint = config["AZURE_OPENAI_ENDPOINT"];
string deployment = config["AZURE_OPENAI_GPT_NAME"];
string key = config["AZURE_OPENAI_KEY"];

Az Kernel osztály megkönnyíti a kéréseket és válaszokat, és regisztrál egy OpenAIChatCompletion szolgáltatást.

// Create a Kernel containing the Azure OpenAI Chat Completion Service
Kernel kernel = Kernel.CreateBuilder()
    .AddAzureOpenAIChatCompletion(deployment, endpoint, key)
    .Build();

A létrehozás után az Kernel alkalmazáskód felolvassa a benefits.md fájl tartalmát, és egy modell létrehozásához prompt használja. A kérés arra utasítja a modellt, hogy foglalja össze a fájlszöveg tartalmát.

// Create and print out the prompt
string prompt = $"""
    Please summarize the the following text in 20 words or less:
    {File.ReadAllText("benefits.md")}
    """;
Console.WriteLine($"user >>> {prompt}");

A InvokePromptAsync függvény elküldi a prompt modellt válasz létrehozásához.

// Submit the prompt and print out the response
string response = await kernel.InvokePromptAsync<string>(
    prompt,
    new(new OpenAIPromptExecutionSettings() 
        { 
            MaxTokens = 400 
        })
    );
Console.WriteLine($"assistant >>> {response}");

Testre szabhatja a fájl szöveges tartalmát vagy az összegzés hosszát a válaszok közötti különbségek megtekintéséhez.

Az erőforrások eltávolítása

Ha már nincs szüksége a mintaalkalmazásra vagy erőforrásokra, távolítsa el a megfelelő üzembe helyezést és az összes erőforrást.

azd down

Hibaelhárítás

Windows rendszeren a következő hibaüzenetek jelenhetnek meg a futtatás azd upután:

A postprovision.ps1 nincs digitálisan aláírva. A szkript nem lesz végrehajtva a rendszeren

A postprovision.ps1 szkript végrehajtása az alkalmazásban használt .NET-felhasználói titkos kódok beállításához történik. A hiba elkerülése érdekében futtassa a következő PowerShell-parancsot:

Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass

Ezután futtassa újra a azd up parancsot.

Egy másik lehetséges hiba:

A "pwsh" nem ismerhető fel belső vagy külső parancsként, kezelhető programként vagy kötegelt fájlként. FIGYELMEZTETÉS: A "postprovision" horog a következő kilépési kóddal meghiúsult: '1', Elérési út: '.\infra\post-script\postprovision.ps1'. : kilépési kód: 1 A végrehajtás folytatódik, mivel a ContinueOnError értéke igaz.

A postprovision.ps1 szkript végrehajtása az alkalmazásban használt .NET-felhasználói titkos kódok beállításához történik. A hiba elkerülése érdekében futtassa manuálisan a szkriptet a következő PowerShell-paranccsal:

.\infra\post-script\postprovision.ps1

A .NET AI-alkalmazásokban már konfigurálva vannak a felhasználói titkos kódok, és tesztelhetők.

Következő lépések