Compartir a través de


Introducción a PhiLice

Importante

Phi Silica no está disponible en China.

PhiLice es un modelo de lenguaje local que puede integrar en las aplicaciones de Windows mediante Windows AI Foundry.

Como modelo de lenguaje local con ajuste de NPU más potente de Microsoft, PhiLice está optimizado para mejorar la eficiencia y el rendimiento en los dispositivos con Windows Copilot+, a la vez que ofrece muchas de las funcionalidades que se encuentran en modelos de lenguaje grande (LLM).

Este nivel de optimización es exclusivo del modelo dentro del SDK de aplicaciones de Windows y no está disponible en otras versiones de Phi. Para obtener más información sobre la API, consulte:

Importante

A continuación se muestra una lista de las características de windows AI y la versión de Windows App SDK en la que se admiten actualmente.

Versión 1.8 Experimental (1.8.0-experimental1) - Borrado de objeto, Phi Silica, ajuste fino de LoRA para Phi Silica, Resumen de conversación (Inteligencia de Texto)

Versión preliminar privada : búsqueda semántica

Versión 1.7.1 (1.7.250401001): todas las demás API

Estas API solo serán funcionales en dispositivos windows Insider Preview (WIP) que han recibido la actualización del 7 de mayo. El 28 y 29 de mayo, se publicará una actualización opcional en dispositivos que no sean WIP, seguida por la actualización del 10 de junio. Esta actualización le proporcionará los modelos de IA necesarios para que funcionen las API de IA de Windows. Estas actualizaciones también requerirán que cualquier aplicación que use las API de Ia de Windows no podrá hacerlo hasta que la aplicación se haya concedido la identidad del paquete en tiempo de ejecución.

Integrar Phi Silica

Con un modelo de lenguaje local de Phi Silica, puede generar respuestas de texto a las solicitudes del usuario. En primer lugar, asegúrese de que tiene los requisitos previos y los modelos disponibles en el dispositivo, tal y como se describe en Introducción a las API de IA de Windows.

Especificar los espacios de nombres necesarios

Para usar PhiLice, asegúrese de que usa los espacios de nombres necesarios:

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;

Generar una respuesta

En este ejemplo se muestra cómo generar una respuesta a un mensaje de preguntas y respuestas con moderación de contenido personalizada (consulte Moderación de contenido con Windows AI Foundry).

  1. Asegúrese de que el modelo de lenguaje está disponible llamando al método GetReadyState y esperando a que el método EnsureReadyAsync se devuelva correctamente.

  2. Una vez disponible el modelo de lenguaje, cree un objeto LanguageModel para hacer referencia a él.

  3. Envíe un mensaje de cadena al modelo mediante el método GenerateResponseAsync , que devuelve el resultado completo.

if (LanguageModel.GetReadyState() == AIFeatureReadyState.EnsureNeeded) 
{ 
   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 respuesta que se genera en este ejemplo es:

C6H12O6

Aptitudes de inteligencia de texto

PhiLice incluye funcionalidades de transformación de texto integradas (conocidas como aptitudes de inteligencia de texto) que pueden ofrecer respuestas estructuradas, concisas y fáciles de usar mediante un formato predefinido mediante un modelo de lenguaje local.

Entre las aptitudes compatibles se incluyen:

  • Texto a tabla: convierte la respuesta del mensaje en un formato de tabla estructurado, si procede.
  • Resumen: devuelve un resumen conciso del texto del mensaje.
  • Reescritura: vuelve a redactar la respuesta rápida para mejorar la claridad y la legibilidad.

En los siguientes pasos se detallará cómo utilizar las habilidades de Inteligencia del Texto.

  1. Creación de un objeto LanguageModel
    Este objeto hace referencia al modelo local del lenguaje PhiLice (recuerde confirmar que el modelo phiLice está disponible en el dispositivo).

  2. Instanciar el objeto específico de la habilidad
    Elija la clase adecuada en función de la aptitud que quiera aplicar y pase la instancia de LanguageModel como parámetro.

  3. Llame al método para realizar la habilidad
    Cada aptitud expone un método asincrónico que procesa la entrada y devuelve un resultado con formato.

  4. Control de la respuesta
    El resultado se devuelve como un objeto tipado, que se puede imprimir o registrar según sea necesario.

En este ejemplo se muestra la aptitud de resumen de texto.

  1. Cree una instancia de LanguageModel (languageModel).
  2. Pase ese LanguageModel al constructor TextSummarizer .
  3. Pase texto al método SummarizeAsync e imprima el resultado.
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

Hemos usado una combinación de los pasos siguientes para asegurarse de que estas API de creación de imágenes son confiables, seguras y creadas de forma responsable. Se recomienda revisar las mejores prácticas descritas en Desarrollo de IA Generativa Responsable en Windows al implementar características de inteligencia artificial en tu aplicación.

Consulte también