Kurz: Vytvoření chatovací aplikace s Phi Silica a .NET MAUI

Důležité

Rozhraní API Phi Silica jsou součástí funkce omezeného přístupu (viz třída LimitedAccessFeatures). Další informace nebo žádost o odemknutí tokenu použijte formulář žádosti o přístupový token LAF.

Tento krátký kurz vás provede ukázkou rozhraní API pro Windows AI pro .NET MAUI.

Poznámka:

Funkce Phi Silica nejsou k dispozici v Číně.

Požadavky

  • Copilot+ PC s NPU – vyžadováno pro Phi Silica. Podívejte se na příručku pro vývojáře počítačů Copilot+ .
  • Windows 11 build 26100 nebo novější (25H2) – zkontrolujte winver.
  • Povolený vývojářský režim – Windows Settings → System → For developers → Developer Mode.
  • Visual Studio 2022 s pracovním zatížením pro vývoj aplikací pro Windows
  • Windows App SDK 2.0.0-preview1 – instalace přes NuGet (Microsoft.WindowsAppSDK verze 2.0.0-preview1).

Dokončete kroky specifické pro platformu pro .NET MAUI popsané v tématu Začínáme se sestavováním aplikace s rozhraními API pro Windows AI.

Úvod

Tato ukázka ukazuje, jak používat různá rozhraní API windows AI, včetně LanguageModel pro generování textu a ImageScaler pro škálování a zostření obrázků.

Ukázka obsahuje následující čtyři soubory:

  1. MauiWindowsAISample.csproj: Přidá požadovaný odkaz na balíček Windows App SDK pro API pro Windows AI a nastaví nezbytné TargetFramework pro Windows.
  2. Platformy/ Windows/MainPage.cs: Implementuje částečné metody ze sdílené třídy MainPage , které zobrazují a zpracovávají funkce generování textu a škálování obrázků.
  3. MainPage.xaml: Definuje ovládací prvky pro zobrazení generování textu a škálování obrázků.
  4. MainPage.xaml.cs: Definuje částečné metody, které MainPage.cs implementují.

Ve druhém výše uvedeném souboru najdete následující funkci, která ukazuje funkci sumarizace textu.

  1. Vytvoření instance LanguageModel (languageModel).
  2. Vytvořte výzvu k shrnutí tak, že předestavíte instrukci vstupního textu.
  3. Předejte výzvu metodě GenerateResponseAsync a vytiskněte výsledek.
using Microsoft.Windows.AI; 
using Microsoft.Windows.AI.Text;
 
using LanguageModel languageModel = await LanguageModel.CreateAsync(); 
 
string inputText = "This is a large amount of text I want to have summarized.";
string prompt = $"Summarize the following text concisely:\n\n{inputText}";
 
var result = await languageModel.GenerateResponseAsync(prompt); 
 
Console.WriteLine(result.Text); 
using namespace winrt::Microsoft::Windows::AI::Text;

auto languageModel = LanguageModel::CreateAsync().get();

std::wstring inputText = L"This is a large amount of text I want to have summarized.";
std::wstring prompt = L"Summarize the following text concisely:\n\n" + inputText;

auto result = languageModel.GenerateResponseAsync(prompt).get();

std::wcout << result.Text() << std::endl;

Poznámka:

Výčet LanguageModelSkill (Summarize, Rewrite) není k dispozici ve Windows App SDK 2.0 Preview. Výše uvedené příklady používají prompt engineering — připojení instrukce na začátek vstupního textu — k dosažení stejného výsledku. Po vydání rozhraní Skill API můžete nahradit vytváření výzvy pomocí new LanguageModelOptions { Skill = LanguageModelSkill.Summarize }.

Sestavení a spuštění ukázky

  1. Naklonujte úložiště WindowsAppSDK-Samples a podívejte se na release/experimental větev.
  2. Přejděte do složky Samples/WindowsAIFoundry/cs-maui .
  3. Otevřete MauiWindowsAISample.sln v sadě Visual Studio 2022.
  4. Ujistěte se, že panel nástrojů ladění má jako cílové zařízení nastavený počítač s Windows.
  5. Stisknutím klávesy F5 nebo výběrem možnosti Spustit ladění v nabídce Ladění spusťte ukázku (ukázku můžete spustit i bez ladění výběrem možnosti Spustit bez ladění v nabídce Ladění nebo Ctrl+F5).
  6. Kliknutím na jedno z tlačítek Měřítko můžete změnit měřítko obrázku, nebo zadejte textový podnět a kliknutím na tlačítko Generovat vytvořte textovou odpověď.

Viz také