Sdílet prostřednictvím


Začněte s Phi Silica ve Windows App SDK

Důležitý

Tato funkce ještě není k dispozici. Očekává se, že bude vydán v nadcházejícím vydání experimentálního kanálu sady Windows App SDK.

Sada Windows App SDK experimentální kanál zahrnuje rozhraní API a funkce v počátečních fázích vývoje. Všechna rozhraní API v experimentálním kanálu podléhají rozsáhlým revizem a zásadním změnám a je možné je kdykoli odebrat z následujících verzí. Nejsou podporovány pro použití v produkčních prostředích a aplikace, které používají experimentální funkce, nelze publikovat do Microsoft Storu.

Phi Silica je místní jazykový model, který budete moct integrovat do svých aplikací pro Windows pomocí sady Windows App SDK.

Vzhledem k tomu, že Phi Silica je nejvýkonnější místní jazykový model NPU od Microsoftu, je optimalizován pro efektivitu a výkon na zařízeních s Windows Copilot+ a zároveň nabízí mnoho schopností podobných těm, které jsou k dispozici v rozsáhlých jazykových modelech (LLM).

Tato úroveň optimalizace je exkluzivní pro model v sadě Windows App SDK a není dostupná v jiných verzích Phi.

Podrobnosti o rozhraní API najdete v tématu referenční informace k rozhraní API pro Phi Silica v sadě Windows App SDK.

Spropitné

Poskytněte zpětnou vazbu k těmto rozhraním API a jejich funkcím vytvořením nového problému v úložišti GitHub sady Windows App SDK. (Nezapomeňte do nadpisu zahrnout Phi Silica!)

Požadavky

Použití sady Windows App SDK k integraci Phi Silica do aplikace pro Windows

S místním jazykovým modelem Phi Silica a sadou Windows App SDK můžete generovat textové odpovědi na výzvy uživatelů.

Vygenerování úplné odpovědi

Tento příklad ukazuje, jak vygenerovat odpověď na výzvu „Q&A“, kde se úplná odpověď vygeneruje před tím, než je výsledek vrácen.

  1. Nejprve zajistíme dostupnost jazykového modelu voláním metody IsAvailable a čekáním na úspěšné vrácení metody MakeAvailableAsync.
  2. Jakmile je jazykový model k dispozici, vytvoříme objekt LanguageModel, který ho bude odkazovat.
  3. Nakonec odešleme do modelu řetězcovou výzvu pomocí metody GenerateResponseAsync, která vrátí úplný výsledek.
using Microsoft.Windows.AI.Generative; 
 
 
if (!LanguageModel.IsAvailable()) 
{ 
   var op = await LanguageModel.MakeAvailableAsync(); 
} 
 
using LanguageModel languageModel = await LanguageModel.CreateAsync(); 
 
string prompt = "Provide the molecular formula for glucose."; 
 
var result = await languageModel.GenerateResponseAsync(prompt); 
 
Console.WriteLine(result.Response); 
using namespace winrt::Microsoft::Windows::AI::Generative;

if (!LanguageModel::IsAvailable()) 
{
    auto op = LanguageModel::MakeAvailableAsync().get();
}

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

std::string prompt = "Provide the molecular formula for glucose.";

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

std::cout << result.Response << std::endl;

Odpověď vygenerovaná v tomto příkladu je:

The molecular formula for glucose is C6H12O6.

Generování proudu částečných odpovědí

Tento příklad ukazuje, jak vygenerovat odpověď na podnět Q&A, kdy je odpověď vrácena jako proud částečných výsledků.

  1. Nejprve vytvoříme objekt LanguageModel odkaz na místní jazykový model (už jsme zkontrolovali přítomnost jazykového modelu v předchozím fragmentu kódu).
  2. Potom asynchronně načteme LanguageModelResponse ve volání GenerateResponseWithProgressAsync a zapíšeme ji do konzoly při generování odpovědi.
using Microsoft.Windows.AI.Generative; 

using LanguageModel languageModel = await LanguageModel.CreateAsync(); 
 
 string prompt = "Provide the molecular formula for glucose."; 
 
  AsyncOperationProgressHandler<LanguageModelResponse, string> 
 progressHandler = (asyncInfo, delta) => 
 { 
     Console.WriteLine($"Progress: {delta}"); 
     Console.WriteLine($"Response so far: {asyncInfo.GetResults().Response()}"); 
 }; 
 
var asyncOp = languageModel.GenerateResponseWithProgressAsync(prompt); 
 
 asyncOp.Progress = progressHandler; 
 
 var result = await asyncOp;  
 
 Console.WriteLine(result.Response);
using namespace winrt::Microsoft::Windows::AI::Generative;

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

std::string prompt = "Provide the molecular formula for glucose.";

AsyncOperationProgressHandler<LanguageModelResponse, std::string> progressHandler = 
    [](const IAsyncOperationWithProgress<LanguageModelResponse, std::string>& asyncInfo, const std::string& delta) 
    { 
        std::cout << "Progress: " << delta << std::endl; 
        std::cout << "Response so far: " << asyncInfo.GetResults().Response() << std::endl; 
    };

auto asyncOp = languageModel.GenerateResponseWithProgressAsync(prompt);

asyncOp.Progress(progressHandler); 

auto result = asyncOp.get();

std::cout << result.Response() << std::endl;

Zodpovědná AI

Phi Silica poskytuje vývojářům výkonný a důvěryhodný model pro vytváření aplikací se bezpečnými a zabezpečenými prostředími AI. Následující kroky byly provedeny k zajištění důvěryhodnosti, zabezpečení a zodpovědného vytváření phi Silica (doporučujeme také zkontrolovat osvědčené postupy popsané v zodpovědném vývoji umělé inteligence pro Windows).

  • Důkladné testování a vyhodnocení kvality modelu za účelem identifikace a zmírnění potenciálních rizik.
  • Vytvoření karty modelu Phi Silica , která popisuje silné a omezené možnosti modelu a poskytuje přehled o zamýšlených použitích.
  • Postupné uvolňování experimentálních verzí Phi Silica. Po finální experimentální verzi Phi Silica se zavedení rozšíří na podepsané aplikace, aby se zajistilo, že se na aplikace s možnostmi místního modelu použijí kontroly malwaru.
  • Poskytněte zákazníkům ovládací prvky prostřednictvím Správce přístupu schopností v Nastavení, aby uživatelé mohli model v zařízení vypnout pro systém, uživatele nebo aplikaci.
  • Poskytnout místní model AI pro moderování obsahu, který identifikuje a filtruje škodlivý obsah ve vstupním i AI generovaném výstupu Phi Silica. Tento místní model moderování obsahu je založený na modelu Azure AI Content Safety pro moderování textu a poskytuje podobný výkon.

Důležitý

Žádný systém bezpečnosti obsahu není neomylný a může docházet k občasným chybám, proto doporučujeme integrovat doplňkové nástroje a postupy z oblasti zodpovědné umělé inteligence (RAI). Další podrobnosti najdete v tématu Zodpovědný vývoj generativní umělé inteligence ve Windows.

Další zdroje informací

Přístup k souborům a složkám pomocí sady Windows App SDK a rozhraní API WinRT