Начало работы с Phi Silica в пакете SDK для приложений Windows
Важно!
Эта функция пока недоступна. Ожидается, что он будет отправлен в предстоящем экспериментальном выпуске пакета SDK для приложений Windows.
Экспериментальный канал пакета SDK для приложений Windows включает API и функции на ранних этапах разработки. Все API-интерфейсы в экспериментальном канале подвергаются обширным исправлениям и критическим изменениям и могут быть удалены из последующих выпусков в любое время. Они не поддерживаются для использования в рабочих средах, а приложения, использующие экспериментальные функции, не могут быть опубликованы в Microsoft Store.
Phi Silica — это локальная языковая модель, которую вы сможете интегрировать в приложения Windows с помощью пакета SDK для приложений Windows.
Так как самая мощная модель локального языка, настроенная на локальном процессоре Майкрософт, Phi Silica оптимизирована для повышения эффективности и производительности на устройствах Windows Copilot+ pCs, предлагая множество возможностей, найденных в крупных языковых моделях (LLMs).
Этот уровень оптимизации является эксклюзивным для модели в пакете SDK для приложений Windows и недоступен в других версиях Phi.
Дополнительные сведения об API см. в справочнике по API для Phi Silica в пакете SDK для приложений Windows.
Совет
Предоставьте отзыв об этих API и их функциональных возможностях, создав новую проблему в репозитории GitHub пакета SDK для приложений Windows. (Убедитесь, что вы включаете Phi Silica в название!)
- CoPilot+ ПК с процессором Qualcomm Snapdl® X Elite.
С помощью локальной языковой модели Phi Silica и пакета SDK для приложений Windows можно создавать текстовые ответы на запросы пользователей.
В этом примере показано, как создать ответ на запрос Q&A, в котором создается полный ответ до возврата результата.
- Во-первых, мы убедитесь, что языковая модель доступна, вызвав метод IsAvailable и ожидая успешного возврата метода MakeAvailableAsync.
- После того как языковая модель будет доступна, мы создадим объект LanguageModel для его ссылки.
- Наконец, мы отправим строку запроса в модель с помощью метода 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, где ответ возвращается в виде потока частичных результатов.
- Сначала мы создадим объект LanguageModel для ссылки на локальную языковую модель (мы уже проверили наличие языковой модели в предыдущем фрагменте кода).
- Затем мы асинхронно извлекаем 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