Prise en main de Phi Silicon dans le Kit de développement logiciel (SDK) d’application Windows
Conseil
Fournissez des commentaires sur ces API et leurs fonctionnalités en créant un nouveau problème dans le dépôt GitHub du SDK d’application Windows. (Assurez-vous d’inclure Phi Silicon dans le titre !)
Phi Silicon est un modèle de langage local que vous pourrez intégrer à vos applications Windows à l’aide du Kit de développement logiciel (SDK) d’application Windows.
Comme le modèle de langage local le plus puissant de Microsoft, Phi Silicon est optimisé pour optimiser l’efficacité et les performances sur les pc Windows Copilot+ tout en offrant une grande partie des fonctionnalités trouvées dans les modèles de langage volumineux (LLMs).
Ce niveau d’optimisation est exclusif au modèle dans le Kit de développement logiciel (SDK) de l’application Windows et n’est pas disponible dans d’autres versions de Phi.
Pour plus d’informations sur l’API, consultez la référence de l’API pour Phi Silicon dans le Kit de développement logiciel (SDK) d’application Windows.
Important
Cette fonctionnalité n’est pas encore disponible. Il devrait être fourni dans une prochaine version de canal expérimental du Kit de développement logiciel (SDK) d’application Windows.
Le canal expérimental du SDK d’application Windows comprend des API et des fonctionnalités qui en sont aux premières phases de développement. Toutes les API du canal expérimental font l’objet de révisions approfondies et de changements cassants et peuvent être supprimées des versions ultérieures à tout moment. Elles ne sont pas prises en charge dans les environnements de production et les applications qui utilisent des fonctionnalités expérimentales ne peuvent pas être publiées dans Microsoft Store.
- Pc CoPilot+ contenant un processeur Snap xeon X Elite d’Instance de Snapend®.
Utiliser le Kit de développement logiciel (SDK) d’application Windows pour intégrer Phi Silicon à votre application Windows
Avec un modèle de langage Phi Silica local et le SDK d’application Windows, vous pouvez générer des réponses textuelles aux invites utilisateur.
Cet exemple montre comment générer une réponse à une invite Q&R dans laquelle la réponse complète est générée avant le retour du résultat.
- Tout d’abord, nous nous assurons que le modèle de langage est disponible en appelant la méthode IsAvailable et en attendant que la méthode MakeAvailableAsync renvoie avec succès.
- Une fois le modèle de langage disponible, nous créons un objet LanguageModel pour le référencer.
- Enfin, nous envoyons une invite de chaînes au modèle à l’aide de la méthode GenerateResponseAsync, qui retourne le résultat complet.
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;
La réponse générée par cet exemple est la suivante :
The molecular formula for glucose is C6H12O6.
Cet exemple montre comment générer une réponse à une invite Q&R où la réponse est retournée en tant que flux de résultats partiels.
- Tout d’abord, nous créons un objet LanguageModel pour référencer le modèle de langage local (nous avons déjà vérifiez la présence du modèle de langue dans l’extrait de code précédent).
- Ensuite, nous récupérons de façon asynchrone le LanguageModelResponse en communication avec GenerateResponseWithProgressAsync et l’écrivons dans la console à mesure que la réponse est générée.
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 fournit aux développeurs un modèle puissant et fiable pour créer des applications avec des expériences d'IA sûres et sécurisées. Les étapes suivantes ont été prises pour s’assurer que Phi Silicon est fiable, sécurisée et construite de manière responsable (nous vous recommandons également d’examiner les meilleures pratiques décrites dans Le développement de l’INTELLIGENCE artificielle responsable sur Windows).
- Test et évaluation approfondis de la qualité du modèle afin d'identifier et d'atténuer les risques potentiels.
- Création d’une carte de modèle Phi Silicon qui décrit les forces et limitations du modèle et fournit une clarté sur les utilisations prévues.
- Déploiement incrémentiel des versions expérimentales de Phi Silica. Après la version expérimentale finale de Phi Silica, le déploiement s'étendra aux applications signées afin de garantir que les analyses de logiciels malveillants ont été appliquées aux applications dotées de capacités de modélisation locales.
- Fournir des contrôles clients via le gestionnaire d'accès aux capacités dans les paramètres afin que les utilisateurs puissent désactiver le modèle sur l'appareil pour le système, l'utilisateur ou l'application.
- Fournissez un modèle IA local pour la con mode tente ration qui identifie et filtre le contenu dangereux dans la sortie générée par l’entrée et l’IA de Phi Silicon. Ce modèle de con mode tente ration local est basé sur le modèle Azure AI Content Safety pour la modération de texte et fournit des performances similaires.
Important
Aucun système de sécurité du contenu n’est infaillible et des erreurs occasionnelles peuvent se produire. Nous vous recommandons donc d’intégrer des outils et pratiques supplémentaires d’IA responsable (RAI). Pour plus d’informations, consultez Développement d’INTELLIGENCE artificielle responsable sur Windows.
Accéder aux fichiers et dossiers avec le SDK d’application Windows et les API WinRT