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
- počítačích CoPilot+ obsahujících procesor Qualcomm Snapdragon® X Elite.
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.
- Nejprve zajistíme dostupnost jazykového modelu voláním metody IsAvailable a čekáním na úspěšné vrácení metody MakeAvailableAsync.
- Jakmile je jazykový model k dispozici, vytvoříme objekt LanguageModel, který ho bude odkazovat.
- 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ů.
- 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).
- 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
Související obsah
- Vývoj zodpovědných aplikací a funkcí generativní AI pro Windows
- referenční informace k rozhraní API pro rozhraní API phi Silica v sady Windows App SDK
- Windows App SDK
- poznámky k nejnovější verzi sady Windows App SDK