Compartir a través de


Phi Silica en el SDK de Aplicaciones para Windows

Use el SDK de Aplicaciones para Windows para conectar la aplicación de Windows a modelos de lenguaje en el dispositivo, incluido Phi Silica, que es nuestro modelo de lenguaje local más eficaz optimizado para NPU.

El SDK de Aplicaciones para Windows experimental 2 (versión 1.6) se incluirá con varias API de inteligencia artificial (IA) para acceder a estos modelos y habilitar el procesamiento local y la generación de chats, resolución matemática, generación de código, razonamiento sobre texto, etc.

Requisitos previos

  • Dispositivo con una unidad de procesamiento neuronal (NPU).
  • SDK de Aplicaciones para Windows experimental 2 (versión 1.6).

¿Qué puedo hacer con Phi Silica y el SDK de Aplicaciones para Windows?

Con un modelo de lenguaje Phi Silica local y el SDK de Aplicaciones para Windows puede generar respuestas de texto a las solicitudes del usuario.

Obtención de una única respuesta completa basada en una consulta de cadena

En este ejemplo se muestra cómo generar una respuesta a una serie de preguntas y respuestas, donde se genera la respuesta completa antes de que se devuelva el resultado.

  1. En primer lugar, asegúrese de que el modelo de lenguaje esté disponible; para ello, llame al método IsAvailable y espere a que el método MakeAvailableAsync se devuelva correctamente.
  2. Una vez disponible el modelo de lenguaje, cree un objeto LanguageModel para que haga referencia al modelo.
  3. Por último, debe enviar una consulta de cadena al modelo mediante el método GenerateResponseAsync, que devuelve el resultado 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 respuesta que se genera en este ejemplo es:

The molecular formula for glucose is C6H12O6.

Obtención de una secuencia de resultados parciales en función de una consulta de cadena

En este ejemplo se muestra cómo generar una respuesta a una serie de preguntas y respuestas, donde se devuelve la respuesta como una secuencia de resultados parciales.

  1. En primer lugar, debe crear un objeto LanguageModel para hacer referencia al modelo de lenguaje local (ya debe haber comprobado la presencia del modelo de lenguaje en el fragmento de código anterior).
  2. A continuación, se recupera de forma asíncrona el elemento LanguageModelResponse en una llamada a GenerateResponseWithProgressAsync y se escribe en la consola a medida que se genera la respuesta.
using Microsoft.Windows.AI.Generative.LanguageModel languageModel = 
     await Microsoft.Windows.AI.Generative.LanguageModel.CreateAsync(); 
 
 string prompt = "Q:Provide the molecular formula for glucose.\nA:"; 
 
 
 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);

Recursos adicionales

Acceso a archivos y carpetas con SDK de Aplicaciones para Windows y API de WinRT

Referencia de API para API de Phi Silica en el SDK de Aplicaciones para Windows