Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Importante
Les API Phi Silicon font partie d’une fonctionnalité d’accès limité (voir la classe LimitedAccessFeatures). Pour plus d’informations ou pour demander un jeton de déverrouillage, utilisez le formulaire de demande de jeton d’accès LAF.
Phi Silicon est un puissant modèle de langage local optimisé par NPU qui fournit de nombreuses fonctionnalités trouvées dans les modèles de langage volumineux (LLMs). Le modèle utilise une technique appelée décodage spéculatif pour accélérer la génération de texte à l’aide d’un modèle brouillon plus petit qui peut proposer plusieurs séquences de jetons et être validé en parallèle par le modèle principal.
Note
Les caractéristiques de Phi Silicon ne sont pas disponibles en Chine.
Phi Silicon est optimisé pour optimiser l’efficacité et les performances sur les PC Windows Copilot+ et peut être intégré à vos applications Windows via les API Windows AI dans le Kit de développement logiciel (SDK) d’application Windows.
Ce niveau d’optimisation n’est pas disponible dans d’autres versions de Phi.
Pour plus d’informations sur l’API, consultez :
Intégrer Phi Silica
Avec un modèle de langue local Phi Silica, vous pouvez générer des réponses textuelles aux requêtes de l’utilisateur. Tout d’abord, vérifiez que vous disposez des conditions préalables et des modèles disponibles sur votre appareil, comme indiqué dans Prise en main des API Windows AI.
Spécifier les espaces de noms requis
Pour utiliser Phi Silicon, assurez-vous d’utiliser les espaces de noms requis :
using Microsoft.Windows.AI;
using Microsoft.Windows.AI.Text;
#include "winrt/Microsoft.Windows.AI.Text.h"
using namespace Microsoft::Windows::AI;
using namespace Microsoft::Windows::AI::Text;
Générer une réponse
Cet exemple montre comment générer une réponse à une invite Q&A avec modération de contenu personnalisée (voir Modération du contenu avec les API Windows AI).
Vérifiez que le modèle de langage est disponible en appelant la méthode GetReadyState et en attendant que la méthode EnsureReadyAsync retourne correctement.
Une fois le modèle de langage disponible, créez un objet LanguageModel pour le référencer.
Envoyez une invite de chaîne de caractères au modèle à l’aide de la méthode GenerateResponseAsync, qui retourne le résultat complet.
if (LanguageModel.GetReadyState() == AIFeatureReadyState.NotReady)
{
var op = await LanguageModel.EnsureReadyAsync();
}
using LanguageModel languageModel = await LanguageModel.CreateAsync();
string prompt = "Provide the molecular formula for glucose.";
LanguageModelOptions options = new LanguageModelOptions();
ContentFilterOptions filterOptions = new ContentFilterOptions();
filterOptions.PromptMaxAllowedSeverityLevel.Violent = SeverityLevel.Minimum;
options.ContentFilterOptions = filterOptions;
var result = await languageModel.GenerateResponseAsync(prompt, options);
Console.WriteLine(result.Text);
if (LanguageModel::GetReadyState() == AIFeatureReadyState::NotReady)
{
auto op = LanguageModel::EnsureReadyAsync().get();
}
auto languageModel = LanguageModel::CreateAsync().get();
const winrt::hstring prompt = L"Provide the molecular formula for glucose.";
LanguageModelResponseResult result = languageModel.GenerateResponseAsync(prompt).get();
std::cout << result.Text().c_str() << std::endl;
La réponse générée par cet exemple est la suivante :
C6H12O6
Compétences d’intelligence de texte
Phi Silicon inclut des fonctionnalités de transformation de texte intégrées (appelées compétences d’intelligence de texte) qui peuvent fournir des réponses structurées, concises et conviviales grâce à une mise en forme prédéfinie à l’aide d’un modèle de langage local.
Les compétences prises en charge sont les suivantes :
- Texte en tableau : met en forme la réponse de l'invite dans un format structuré de tableau, le cas échéant.
- Résumé : fournit un résumé concis du texte du prompt.
- Réécriture : reformule le texte d’invite pour optimiser la clarté, la lisibilité et, lorsqu'il est spécifié, le ton (ou le style).
Les étapes suivantes décrivent comment utiliser les compétences d’intelligence de texte.
Créer un objet LanguageModel
Cet objet fait référence au modèle local de langage Phi Silicon (n’oubliez pas de confirmer que le modèle Phi Silicon est disponible sur l’appareil).Instancier l’objet spécifique à la compétence
Choisissez la classe appropriée en fonction de la compétence que vous souhaitez appliquer et passez l’instance LanguageModel en tant que paramètre.Invocer la méthode pour exécuter la fonctionnalité
Chaque compétence expose une méthode asynchrone qui traite l’entrée et retourne un résultat mis en forme.Gérer la réponse
Le résultat est retourné sous la forme d’un objet typé, que vous pouvez imprimer ou journaliser en fonction des besoins.
Cet exemple illustre la compétence de synthèse du texte.
- Créez une instance LanguageModel (
languageModel). - Passez ce LanguageModel au constructeur TextSummarizer .
- Passez du texte à la méthode SummarizeAsync et imprimez le résultat.
using namespace Microsoft.Windows.AI.Text;
using LanguageModel languageModel = await LanguageModel.CreateAsync();
var textSummarizer = new TextSummarizer(languageModel);
string text = @"This is a large amount of text I want to have summarized.";
var result = await textSummarizer.SummarizeAsync(text);
Console.WriteLine(result.Text);
using namespace Microsoft::Windows::AI::Text;
auto languageModel = LanguageModel::CreateAsync().get();
auto textSummarizer = TextSummarizer(languageModel);
std::string prompt = "This is a large amount of text I want to have summarized.";
auto result = textSummarizer.SummarizeAsync(prompt);
std::wcout << result.get().Text() << std::endl;
IA responsable
Nous avons utilisé une combinaison des étapes suivantes pour garantir que ces API d’imagerie sont fiables, sécurisées et générées de manière responsable. Nous vous recommandons de consulter les meilleures pratiques décrites dans développement d’IA responsable sur Windows lors de l’implémentation de fonctionnalités IA dans votre application.