Поделиться через


Начало работы с Phi Silica в пакете SDK для приложений Windows

Совет

Предоставьте отзыв об этих API и их функциональных возможностях, создав новую проблему в репозитории GitHub пакета SDK для приложений Windows. (Убедитесь, что вы включаете Phi Silica в название!)

Phi Silica — это локальная языковая модель, которую вы сможете интегрировать в приложения Windows с помощью пакета SDK для приложений Windows.

Так как самая мощная модель локального языка, настроенная на локальном процессоре Майкрософт, Phi Silica оптимизирована для повышения эффективности и производительности на устройствах Windows Copilot+ pCs, предлагая множество возможностей, найденных в крупных языковых моделях (LLMs).

Этот уровень оптимизации является эксклюзивным для модели в пакете SDK для приложений Windows и недоступен в других версиях Phi.

Дополнительные сведения об API см. в справочнике по API для Phi Silica в пакете SDK для приложений Windows.

Внимание

Эта функция пока недоступна. Ожидается, что он будет отправлен в предстоящем экспериментальном выпуске пакета SDK для приложений Windows.

Экспериментальный канал пакета SDK для приложений Windows включает API и функции на ранних этапах разработки. Все API-интерфейсы в экспериментальном канале подвергаются обширным исправлениям и критическим изменениям и могут быть удалены из последующих выпусков в любое время. Они не поддерживаются для использования в рабочих средах, а приложения, использующие экспериментальные функции, не могут быть опубликованы в Microsoft Store.

Необходимые компоненты

  • CoPilot+ ПК с процессором Qualcomm Snapdl® X Elite.

Использование пакета SDK для приложений Windows для интеграции Phi Silica в приложение Для Windows

С помощью локальной языковой модели Phi Silica и пакета SDK для приложений Windows можно создавать текстовые ответы на запросы пользователей.

Создание полного ответа

В этом примере показано, как создать ответ на запрос Q&A, в котором создается полный ответ до возврата результата.

  1. Во-первых, мы убедитесь, что языковая модель доступна, вызвав метод IsAvailable и ожидая успешного возврата метода MakeAvailableAsync.
  2. После того как языковая модель будет доступна, мы создадим объект LanguageModel для его ссылки.
  3. Наконец, мы отправим строку запроса в модель с помощью метода GenerateResponseAsync , который возвращает полный результат.
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;

Ответ, созданный этим примером:

The molecular formula for glucose is C6H12O6.

Создание потока частичных ответов

В этом примере показано, как создать ответ на запрос Q&A, где ответ возвращается в виде потока частичных результатов.

  1. Сначала мы создадим объект LanguageModel для ссылки на локальную языковую модель (мы уже проверили наличие языковой модели в предыдущем фрагменте кода).
  2. Затем мы асинхронно извлекаем languageModelResponse в вызове GenerateResponseWithProgressAsync и запишите его в консоль при создании ответа.
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;

Ответственное применение ИИ

Phi Silica предоставляет разработчикам мощную, надежную модель для создания приложений с безопасными, безопасными интерфейсами искусственного интеллекта. Ниже приведены шаги по обеспечению надежности, безопасности и сборки Phi Silica (мы также рекомендуем ознакомиться с рекомендациями, описанными в статье "Разработка ответственного искусственного интеллекта в Windows").

  • Тщательное тестирование и оценка качества модели для выявления и устранения потенциальных рисков.
  • Создание карточки модели Phi Silica, которая описывает сильные и ограничения модели и обеспечивает ясность о предполагаемом использовании.
  • Добавочное развертывание экспериментальных выпусков Phi Silica. После окончательного экспериментального выпуска Phi Silica развертывание будет расширено для подписанных приложений, чтобы обеспечить применение сканирования вредоносных программ к приложениям с возможностями локальной модели.
  • Предоставьте элементы управления клиентами с помощью диспетчера доступа к возможностям в параметрах, чтобы пользователи могли отключить модель на устройстве для системы, пользователя или приложения.
  • Предоставьте локальную модель искусственного интеллекта для con режим палатки ration, которая определяет и фильтрует вредное содержимое как входных данных, так и выходных данных, созданных ИИ, в результате чего phi Silica. Эта локальная модель con режим палатки ration основана на модели безопасности содержимого ИИ Azure для модерации текста и обеспечивает аналогичную производительность.

Внимание

Система безопасности содержимого не является неразрешимой и иногда возникает ошибка, поэтому мы рекомендуем интегрировать дополнительные инструменты и методики ответственного ИИ. Дополнительные сведения см. в статье "Разработка ответственного искусственного интеллекта" в Windows.

Дополнительные ресурсы

Доступ к файлам и папкам с помощью пакета SDK для приложений Windows и API WinRT