Compartir a través de


Introducción a PhiLice

Importante

Las API de PhiLice forman parte de una característica de acceso limitado (consulte La clase LimitedAccessFeatures). Para obtener más información o solicitar un token de desbloqueo, use el formulario de solicitud de token de acceso LAF.

PhiLice es un potente modelo de lenguaje local optimizado por NPU que proporciona muchas funcionalidades que se encuentran en modelos de lenguaje grande (LLM). El modelo emplea una técnica denominada descodificación especulativa para acelerar la generación de texto mediante un modelo de borrador más pequeño que puede proponer varias secuencias de token y validarse en paralelo por el modelo principal.

Nota:

Las características de PhiLice no están disponibles en China.

Phi Silica está optimizado para mejorar la eficiencia y el rendimiento en equipos Windows Copilot+ y se puede integrar en tus aplicaciones de Windows a través de las API de IA de Windows en el SDK de Windows App.

Este nivel de optimización no está disponible en otras versiones de Phi.

Para obtener más información sobre la API, consulte:

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.

Especifique 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;

Genere 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 las API de ia de Windows).

  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.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 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: da formato a la respuesta del mensaje en un formato de tabla estructurado, cuando corresponda.
  • Resumen: devuelve un resumen conciso del texto del mensaje.
  • Reescritura: vuelve a escribir el texto del mensaje para optimizar la claridad, legibilidad y, cuando se especifica, tono (o estilo).

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. Cree una instancia del objeto específico de la aptitud
    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 aptitud
    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 con tipo, que puede imprimir o registrar como 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