중요합니다
Phi Silica API는 제한된 액세스 기능의 일부입니다( LimitedAccessFeatures 클래스 참조). 자세한 내용을 보거나 잠금 해제 토큰을 요청하려면 LAF 액세스 토큰 요청 양식을 사용하세요.
이 짧은 자습서에서는 .NET MAUI용 Windows AI API 샘플을 안내합니다.
비고
Phi Silica 기능은 중국에서 사용할 수 없습니다.
필수 조건
Windows AI API를 사용하여 앱 빌드 시작에 설명된 .NET MAUI에 대한 단계를 완료합니다.
소개
이 샘플에서는 텍스트 생성을 위한 LanguageModel 및 이미지 크기 조정 및 선명도를 위해 ImageScaler 를 비롯한 다양한 Windows AI API를 사용하는 방법을 보여 줍니다.
샘플에는 다음 네 개의 파일이 포함됩니다.
- MauiWindowsAISample.csproj: Windows AI API에 필요한 Windows 앱 SDK 패키지 참조를 추가하고 Windows에 필요한 TargetFramework 를 설정합니다.
- 플랫폼/Windows/MainPage.cs: 텍스트 생성 및 이미지 크기 조정 기능을 표시하고 처리하는 공유 MainPage 클래스의 부분 메서드를 구현합니다.
- MainPage.xaml: 텍스트 생성 및 이미지 크기 조정을 표시하기 위한 컨트롤을 정의합니다.
- MainPage.xaml.cs: MainPage.cs 구현하는 부분 메서드를 정의합니다.
위에 나열된 두 번째 파일에서는 텍스트 요약 기능을 보여 주는 다음 함수를 찾을 수 있습니다.
-
LanguageModel 인스턴스(
languageModel)를 만듭니다. - TextSummarizer 생성자에 해당 LanguageModel을 전달합니다.
- SummarizeAsync 메서드에 일부 텍스트를 전달하고 결과를 출력합니다.
using Microsoft.Windows.AI;
using LanguageModel languageModel = await LanguageModel.CreateAsync();
string prompt = "This is a large amount of text I want to have summarized.";
LanguageModelOptions options = new LanguageModelOptions {
Skill = LanguageModelSkill.Summarize
};
var result = await languageModel.GenerateResponseAsync(options, prompt);
Console.WriteLine(result.Text);
using namespace winrt::Microsoft::Windows::AI::Generative;
auto languageModel = LanguageModel::CreateAsync().get();
std::string prompt = "This is a large amount of text I want to have summarized.";
LanguageModelOptions options = LanguageModelOptions();
options.Skill = LanguageModelSkill.Summarize;
auto result = languageModel.GenerateResponseAsync(options, prompt).get();
std::cout << result.Text() << std::endl;
샘플 빌드 및 실행
- WindowsAppSDK 샘플 리포지토리를 복제합니다.
- "릴리스/실험적" 분기로 전환합니다.
- Samples/WindowsAIFoundry/cs-maui 폴더로 이동합니다.
- Visual Studio 2022에서 MauiWindowsAISample.sln 엽니다.
- 디버그 도구 모음에 "Windows Machine"이 대상 디바이스로 설정되어 있는지 확인합니다.
- F5 키를 누르거나 디버그 메뉴에서 "디버깅 시작"을 선택하여 샘플을 실행합니다(디버그 메뉴 또는 Ctrl+F5에서 "디버깅하지 않고 시작"을 선택하여 샘플을 디버깅하지 않고 실행할 수도 있습니다).
- "크기 조정" 단추 중 하나를 클릭하여 이미지 크기를 조정하거나 텍스트 프롬프트를 입력하고 "생성" 단추를 클릭하여 텍스트 응답을 생성합니다.