Condividi tramite


Phi Silica in Windows App SDK

Usa il SDK per app di Windows per connettere l'app Windows ai modelli linguistici on-device, tra cui Phi Silica, il nostro modello linguistico locale ottimizzato per la NPU più potente.

Il SDK per app di Windows verrà fornito con diverse API di intelligenza artificiale per accedere a questi modelli e fornire l'elaborazione locale e la generazione di chat, risoluzione matematica, generazione di codice, ragionamento sul testo e altro ancora.

Importante

Il canale sperimentale SDK per app di Windows include API e funzionalità nelle fasi iniziali dello sviluppo. Tutte le API nel canale sperimentale sono soggette a revisioni estese e modifiche di rilievo e possono essere rimosse dalle versioni successive in qualsiasi momento. Non sono supportate per l'uso in ambienti di produzione e le app che usano funzionalità sperimentali non possono essere pubblicate in Microsoft Store.

Prerequisiti

Intelligenza artificiale responsabile

Phi Silica offre agli sviluppatori un modello potente e affidabile per la creazione di app con esperienze di intelligenza artificiale sicure e sicure. Sono stati eseguiti i passaggi seguenti per garantire che Phi Silica sia affidabile, sicuro e costruito in modo responsabile.

  • Test approfonditi e valutazione della qualità del modello per identificare e mitigare i potenziali rischi.
  • Creazione di una scheda modello Phi Silica che descrive i punti di forza e le limitazioni del modello e fornisce chiarezza sugli usi previsti.
  • Implementazione incrementale delle versioni sperimentali di Phi Silica. Dopo la versione sperimentale finale di Phi Silica, l'implementazione si espanderà fino alle app firmate per assicurarsi che le analisi malware siano state applicate alle applicazioni con funzionalità del modello locale.
  • Fornire ai clienti controlli tramite Capability Access Manager in Impostazioni in modo che gli utenti possano disattivare il modello nel dispositivo per il sistema, l'utente o l'app.

Nota

La con modalità tenda razione è attualmente in fase di sviluppo.

In aggiunta a quanto sopra, è consigliabile esaminare le procedure consigliate descritte in Sviluppo di intelligenza artificiale responsabile in Windows.

Cosa posso fare con Phi Silica e il SDK per app di Windows?

Con un modello linguistico Phi Silica locale e il SDK per app di Windows è possibile generare risposte di testo alle richieste degli utenti.

Ottenere una singola risposta completa in base a una richiesta di stringa

In questo esempio viene illustrato come generare una risposta a una richiesta di domande e risposte in cui viene generata la risposta completa prima che venga restituito il risultato.

  1. Prima di tutto, assicurarsi che il modello linguistico sia disponibile chiamando il metodo IsAvailable e attendendo che il metodo MakeAvailableAsync restituisca correttamente.
  2. Quando il modello linguistico è disponibile, viene creato un oggetto LanguageModel per farvi riferimento.
  3. Infine, viene inviato un prompt di stringa al modello usando il metodo GenerateResponseAsync , che restituisce il risultato completo.
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); 

La risposta generata da questo esempio è:

The molecular formula for glucose is C6H12O6.

Ottenere un flusso di risultati parziali in base a una richiesta di stringa

In questo esempio viene illustrato come generare una risposta a una richiesta di domande e risposte in cui la risposta viene restituita come flusso di risultati parziali.

  1. Prima di tutto viene creato un oggetto LanguageModel per fare riferimento al modello linguistico locale (è già stata verificata la presenza del modello linguistico nel frammento precedente).
  2. Viene quindi recuperato in modo asincrono LanguageModelResponse in una chiamata a GenerateResponseWithProgressAsync e lo si scrive nella console quando viene generata la risposta.
using Microsoft.Windows.AI.Generative.LanguageModel languageModel = 
     await Microsoft.Windows.AI.Generative.LanguageModel.CreateAsync(); 
 
 string prompt = "Provide the molecular formula for glucose."; 
 
  AsyncOperationProgressHandler<Microsoft.Windows.AI.Generative.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);

Risorse aggiuntive

Accedere a file e cartelle con Windows App SDK e API WinRT