Freigeben über


Erste Schritte mit Phi Silika

Wichtig

Die Phi-Silika-APIs sind Teil eines Eingeschränkten Zugriffsfeatures (siehe LimitedAccessFeatures-Klasse). Für weitere Informationen oder zum Anfordern eines Entsperrtokens verwenden Sie bitte das Anforderungsformular für LAF-Zugriffstoken.

Phi Silika ist ein leistungsfähiges NPU-abgestimmtes lokales Sprachmodell, das viele Funktionen in großen Sprachmodellen (LLMs) bietet. Das Modell verwendet eine Technik namens spekulative Decodierung, um die Textgenerierung mithilfe eines kleineren Entwurfsmodells zu beschleunigen, das mehrere Tokensequenzen vorschlagen und parallel durch das Hauptmodell validiert werden kann.

Hinweis

Phi-Silika-Features sind in China nicht verfügbar.

Phi Silika ist für Effizienz und Leistung auf Windows Copilot+ PCs optimiert und kann über die Windows-AI-APIs im Windows App SDK in Ihre Windows-Apps integriert werden.

Diese Optimierungsstufe ist in anderen Versionen von Phi nicht verfügbar.

Api-Details finden Sie unter:

Integrieren von Phi-Silika

Mit einem lokalen Phi-Silika-Sprachmodell können Sie Textantworten für Benutzeraufforderungen generieren. Stellen Sie zunächst sicher, dass Sie die Voraussetzungen und Modelle auf Ihrem Gerät zur Verfügung haben, wie in den ersten Schritten mit Windows AI-APIs beschrieben.

Angeben der erforderlichen Namespaces

Um Phi Silika zu verwenden, stellen Sie sicher, dass Sie die erforderlichen Namespaces verwenden:

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;

Erzeugen einer Antwort

In diesem Beispiel wird gezeigt, wie Sie eine Antwort auf eine F&A-Eingabeaufforderung mit benutzerdefinierter Inhaltsmoderation generieren (siehe Inhaltsmoderation mit den Windows AI-APIs).

  1. Stellen Sie sicher, dass das Sprachmodell verfügbar ist, indem Sie die GetReadyState-Methode aufrufen und darauf warten, dass die EnsureReadyAsync-Methode erfolgreich zurückgegeben wird.

  2. Nachdem das Sprachmodell verfügbar ist, erstellen Sie ein LanguageModel-Objekt , um darauf zu verweisen.

  3. Senden Sie eine Zeichenfolgenaufforderung an das Modell mithilfe der GenerateResponseAsync-Methode , die das vollständige Ergebnis zurückgibt.

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;

Die von diesem Beispiel generierte Antwort lautet:

C6H12O6

Fähigkeiten der Textintelligenz

Phi Silika umfasst integrierte Texttransformationsfunktionen (als Textintelligenzkenntnisse bezeichnet), die strukturierte, präzise und benutzerfreundliche Antworten über vordefinierte Formatierungen mithilfe eines lokalen Sprachmodells bereitstellen können.

Zu den unterstützten Fähigkeiten gehören:

  • Text-zu-Tabelle: Formatiert die Eingabeaufforderungsantwort bei Bedarf in ein strukturiertes Tabellenformat.
  • Zusammenfassen: Gibt eine knappe Zusammenfassung des Prompt-Textes zurück.
  • Neu formulieren: Umformuliert den Aufforderungstext, um Klarheit, Lesbarkeit und, wenn angegeben, Ton (oder Stil) zu optimieren.

In den folgenden Schritten wird beschrieben, wie Textintelligenzkenntnisse verwendet werden.

  1. Erstellen eines LanguageModel-Objekts
    Dieses Objekt verweist auf das lokale Phi-Silika-Sprachmodell (denken Sie daran, dass das Phi-Silikatmodell auf dem Gerät verfügbar ist).

  2. Instanziieren des qualifikationsspezifischen Objekts
    Wählen Sie die entsprechende Klasse basierend auf der Fähigkeit aus, die Sie anwenden möchten, und übergeben Sie die LanguageModel-Instanz als Parameter.

  3. Aufrufen der Methode zum Ausführen der Fähigkeit
    Jede Fähigkeit macht eine asynchrone Methode verfügbar, die die Eingabe verarbeitet und ein formatiertes Ergebnis zurückgibt.

  4. Die Antwort bearbeiten
    Das Ergebnis wird als typiertes Objekt zurückgegeben, das Sie bei Bedarf drucken oder protokollieren können.

In diesem Beispiel wird die Fähigkeit zum Zusammenfassen von Text veranschaulicht.

  1. Erstellen einer LanguageModel-Instanz (languageModel).
  2. Übergeben Sie dieses LanguageModel an den TextSummarizer-Konstruktor .
  3. Übergeben Sie Text an die SummarizeAsync-Methode , und drucken Sie das Ergebnis.
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;

Verantwortungsvolle KI

Wir haben eine Kombination der folgenden Schritte verwendet, um sicherzustellen, dass diese Imageerstellungs-APIs vertrauenswürdig, sicher und verantwortungsbewusst erstellt sind. Es wird empfohlen, die bewährten Methoden zu überprüfen, die bei der Implementierung von KI-Features in Ihrer App in der verantwortungsvollen generativen KI-Entwicklung unter Windows beschrieben sind.

Siehe auch