Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wichtig
Phi Silica ist in China nicht verfügbar.
Phi Silika ist ein lokales Sprachmodell, das Sie mithilfe von Windows AI Foundry in Ihre Windows-Apps integrieren können.
Als das leistungsstärkste, auf NPU abgestimmte lokale Sprachmodell von Microsoft ist Phi Silica für Effizienz und Leistung auf Windows Copilot+ PCs optimiert und bietet dennoch viele der Funktionen, die in großen Sprachmodellen (LLMs) zu finden sind.
Diese Optimierungsstufe ist exklusiv für das Modell im Windows App SDK und steht in anderen Versionen von Phi nicht zur Verfügung. Api-Details finden Sie unter:
Wichtig
Nachfolgend finden Sie eine Liste der Windows AI-Features und der Windows App SDK-Version, in der sie derzeit unterstützt werden.
Version 1.8 Experimental (1.8.0-experimental1) - Object Erase, Phi Silica, LoRA Feinabstimmung für Phi Silica,Unterhaltungszusammenfassung (Textintelligenz)
Private Vorschau – Semantiksuche
Version 1.7.1 (1.7.250401001) – Alle anderen APIs
Diese APIs sind nur auf Windows Insider Preview (WIP)-Geräten funktionsfähig, die das 7. Mai-Update erhalten haben. Am 28.-29. Mai wird ein optionales Update auf Nicht-WIP-Geräten veröffentlicht, gefolgt vom Update vom 10. Juni. Mit diesem Update werden die KI-Modelle bereitgestellt, die für die Funktion der Windows AI-APIs erforderlich sind. Diese Updates erfordern außerdem, dass jede App, die Windows AI-APIs verwendet, dies erst tun kann, wenn der App zur Laufzeit die Paketidentität bereitgestellt wurde.
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;
Generieren einer Antwort
In diesem Beispiel wird gezeigt, wie Sie eine Antwort auf eine F&A-Eingabeaufforderung mit benutzerdefinierter Inhaltsmoderation generieren (siehe Inhaltsmoderation mit Windows AI Foundry).
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.
Nachdem das Sprachmodell verfügbar ist, erstellen Sie ein LanguageModel-Objekt , um darauf zu verweisen.
Senden Sie eine Zeichenfolgenaufforderung an das Modell mithilfe der GenerateResponseAsync-Methode , die das vollständige Ergebnis zurückgibt.
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;
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: Wandelt die Eingabeaufforderungsantwort gegebenenfalls in ein strukturiertes Tabellenformat um.
- Zusammenfassung: Gibt eine kurze Zusammenfassung des Eingabeaufforderungstexts zurück.
- Neuformulieren: Formuliert die Reaktion auf die Eingabeaufforderung um, um Klarheit und Lesbarkeit zu verbessern.
In den folgenden Schritten wird beschrieben, wie Textintelligenzkenntnisse verwendet werden.
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).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.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.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.
- Erstellen einer LanguageModel-Instanz (
languageModel
). - Übergeben Sie dieses LanguageModel an den TextSummarizer-Konstruktor .
- Ü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.