Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważny
Interfejsy API Silica Phi są częścią funkcji ograniczonego dostępu (zobacz klasa LimitedAccessFeatures). Aby uzyskać więcej informacji lub zażądać tokenu odblokowania, użyj formularza żądania tokenu dostępu LAF.
Phi Silica jest zaawansowanym lokalnym modelem językowym dostrojonym do NPU, który oferuje wiele funkcji dostępnych w dużych modelach językowych (LLMs). Model wykorzystuje technikę nazywaną dekodowaniem spekulatywne w celu przyspieszenia generowania tekstu przy użyciu mniejszego modelu roboczego, który może zaproponować wiele sekwencji tokenów i zostać zweryfikowany równolegle przez główny model.
Uwaga / Notatka
Funkcje krzemionki Phi nie są dostępne w Chinach.
Silica Phi jest zoptymalizowana pod kątem efektywności i wydajności na komputerach Windows Copilot+ i może być zintegrowana z aplikacjami Windows za pośrednictwem interfejsów API sztucznej inteligencji w zestawie SDK aplikacji Windows.
Ten poziom optymalizacji nie jest dostępny w innych wersjach narzędzia Phi.
Aby uzyskać szczegółowe informacje o interfejsie API, zobacz:
Zintegrować krzemionkę Phi
Korzystając z lokalnego modelu językowego Phi Silica, można generować odpowiedzi tekstowe na wezwania użytkownika. Najpierw upewnij się, że masz niezbędne elementy i modele dostępne na urządzeniu zgodnie z opisem w sekcji Wprowadzenie do interfejsów API Windows AI.
Określanie wymaganych przestrzeni nazw
Aby użyć Phi Silica, upewnij się, że używasz wymaganych przestrzeni nazw:
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;
Generowanie odpowiedzi
W tym przykładzie pokazano, jak wygenerować odpowiedź na monit dotyczący pytań i odpowiedzi (Q&A) z niestandardową moderacją zawartości (zobacz
Upewnij się, że model językowy jest dostępny, wywołując metodę GetReadyState i czekając na pomyślne zwrócenie metody EnsureReadyAsync .
Po udostępnieniu modelu językowego utwórz obiekt LanguageModel w celu odwołania się do niego.
Prześlij ciąg znaków do modelu przy użyciu metody GenerateResponseAsync, która zwraca pełny wynik.
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;
Odpowiedź wygenerowana w tym przykładzie to:
C6H12O6
Umiejętności analizy tekstu
Silica Phi obejmuje wbudowane funkcje przekształcania tekstu (znane jako umiejętności analizy tekstu), które mogą dostarczać ustrukturyzowane, zwięzłe i przyjazne dla użytkownika odpowiedzi za pomocą wstępnie zdefiniowanego formatowania przy użyciu lokalnego modelu językowego.
Obsługiwane umiejętności obejmują:
- Tekst do tabeli: formatuje odpowiedź monitu w formacie tabeli ustrukturyzowanej, jeśli jest to konieczne.
- Podsumowanie: zwraca zwięzłe podsumowanie tekstu monitu.
- Przepisanie: Reformułuje treść komunikatu, aby zoptymalizować jasność, czytelność oraz, jeśli określono, ton lub styl.
W poniższych krokach opisano sposób używania umiejętności analizy tekstu.
Tworzenie obiektu LanguageModel
Ten obiekt odnosi się do lokalnego modelu języka Phi Silica (pamiętaj, aby potwierdzić, że model Phi Silica jest dostępny na urządzeniu).Zainicjuj obiekt specyficzny dla umiejętności
Wybierz odpowiednią klasę na podstawie umiejętności, które chcesz zastosować, i przekaż wystąpienie LanguageModel jako parametr.Wywołaj metodę, aby wykonać umiejętność
Każda umiejętność uwidacznia metodę asynchroniczną, która przetwarza dane wejściowe i zwraca sformatowany wynik.Obsługa odpowiedzi
Wynik jest zwracany jako obiekt wpisany, który można wydrukować lub zarejestrować zgodnie z potrzebami.
W tym przykładzie przedstawiono umiejętności podsumowania tekstu.
- Utwórz instancję LanguageModel (
languageModel). - Przekaż ten LanguageModel do konstruktora TextSummarizer.
- Przekaż tekst do metody SummarizeAsync i wyświetl wynik.
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;
Odpowiedzialne używanie sztucznej inteligencji
Użyliśmy kombinacji poniższych kroków, aby upewnić się, że te interfejsy API obrazowania są wiarygodne, bezpieczne i tworzone odpowiedzialnie. Zalecamy zapoznanie się z najlepszymi rozwiązaniami opisanymi w temacie Odpowiedzialne tworzenie sztucznej inteligencji w systemie Windows podczas implementowania funkcji sztucznej inteligencji w aplikacji.