다음을 통해 공유


Windows AI를 사용하여 앱 빌드 시작 APIs

Windows AI 하드웨어 요구 사항 및 Windows AI APIAPIs를 사용하여 앱을 성공적으로 빌드하도록 디바이스를 구성하는 방법에 대해 알아봅니다.

종속성

PC에서 Windows AI APIs 를 지원하고 모든 종속성이 설치되어 있는지 확인합니다. 자동으로(권장) 또는 수동으로 이 작업을 수행하도록 선택할 수 있습니다.

  1. 디바이스가 Copilot+ PC인지 확인합니다( Copilot+ PC 개발자 가이드에 나열된 디바이스를 권장합니다).

  2. Windows 터미널에서 다음 명령을 실행합니다.

    winget configure https://raw.githubusercontent.com/microsoft/winget-dsc/refs/heads/main/samples/Configuration%20files/Learn%20tutorials/Windows%20AI/learn_wcr.winget
    

    다음 작업을 수행하는 WinGet 구성 파일을 실행합니다.

    • 최소 OS 버전을 확인합니다.
    • 개발자 모드를 사용하도록 설정합니다.
    • WinUI 및 기타 필수 워크로드를 사용하여 Visual Studio Community Edition을 설치합니다.
    • Windows 앱 SDK를 설치합니다.

새 앱 빌드

다음 단계에서는 Windows AI APIs 를 사용하는 앱을 빌드하는 방법을 설명합니다(선호하는 UI 프레임워크에 대한 탭 선택).

  1. Visual Studio에서 빈 앱, 패키지 (WinUI 3 - 데스크톱용) 템플릿을 선택하여 새 WinUI 프로젝트를 만듭니다.

    WinUI 템플릿이 선택된 Visual Studio 새 프로젝트 UI의 스크린샷

  2. 솔루션 탐색기에서 프로젝트 노드를 마우스 오른쪽 단추로 클릭하고 속성>애플리케이션>일반을 선택하고 대상 프레임워크가 .NET 8.0으로 설정되어 있고 대상 OS가 10.0.22621 이상으로 설정되어 있는지 확인합니다.

    Visual Studio 프로젝트 속성 창의 스크린샷

  3. Package.appxmanifest 파일을 편집하고(마우스 오른쪽 단추를 클릭하고 코드 보기 선택) 다음 코드 조각을 추가합니다.

    • systemAIModels 노드에 대한 <Capabilities> 기능:

      <Capabilities>
         <systemai:Capability Name="systemAIModels"/>
      </Capabilities>
      
    • 노드에서 systemai 네임스페이스 지정자는 <Package>의 "IgnorableNamespaces"입니다.

      xmlns:systemai="http://schemas.microsoft.com/appx/manifest/systemai/windows10"
      IgnorableNamespaces="uap rescap systemai"
      
    • 노드 요소 TargetDeviceFamily 에서 <Dependencies> 테스트된 최대 버전은 10.0.26226.0 이상이어야 합니다.

      <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.17763.0" MaxVersionTested="10.0.26226.0" />
      
  4. .waproj, .csproj 또는 .vcxproj 파일에 다음을 추가합니다. 이 단계는 Visual Studio가 테스트된 최대 버전을 재정의하지 않도록 하는 데 필요합니다.

    <AppxOSMinVersionReplaceManifestVersion>false</AppxOSMinVersionReplaceManifestVersion>
    <AppxOSMaxVersionTestedReplaceManifestVersion>false</AppxOSMaxVersionTestedReplaceManifestVersion>
    
  5. 프로젝트 노드를 마우스 오른쪽 단추로 클릭하고 NuGet 패키지 관리를 선택합니다.

  6. NuGet 패키지 관리자에서 시험판 포함 확인란을 선택하고 Windows 앱 SDK 버전 1.8.250410001-experimental1을 선택합니다. 설치 또는 업데이트를 클릭합니다.

    Microsoft.WindowsAppSDK 1.8.250410001-experimental1이 선택된 Visual Studio nuget 패키지 관리자의 스크린샷

  7. 빌드 구성이 ARM64로 설정되어 있는지 확인합니다.

    ARM64로 설정된 Visual Studio 빌드 구성의 스크린샷.

  8. 앱을 빌드하고 실행합니다.

  9. 앱이 성공적으로 시작되면 첫 번째 AIAPI를 계속 추가합니다. 그렇지 않으면 문제 해결을 참조하세요.

첫 번째 AI 추가 API

Windows AI APIs를 사용하여 기능을 구현할 때 앱은 먼저 해당 기능을 지원하는 AI 모델의 가용성을 확인해야 합니다.

다음 코드 조각은 모델 가용성을 확인하고 응답을 생성하는 방법을 보여줍니다.

  1. MainWindow.xaml에서 TextBlock 을 추가하여 LanguageModel 응답을 표시합니다.

    <TextBlock x:Name="OutputText" HorizontalAlignment="Center" VerticalAlignment="Center" />
    
  2. MainWindow.xaml.cs 맨 위에 다음 using Microsoft.Windows.AI 지시문을 추가합니다.

    using Microsoft.Windows.AI; 
    
  3. 에서 MainWindow.xaml.csMainWindow 클래스를 다음 코드로 바꿉니다. 이 코드는 LanguageModel을 사용할 수 있는지 확인한 다음 모델이 포도당의 분자 공식으로 응답하도록 요청하는 프롬프트를 제출합니다.

    public sealed partial class MainWindow : Window
    {
        public MainWindow()
        {
            this.InitializeComponent();
            InitAI();
        }
    
        private async void InitAI()
        {
            OutputText.Text = "Loading..";
    
            if (LanguageModel.GetReadyState() == AIFeatureReadyState.EnsureNeeded)
            {
                var result = await LanguageModel.EnsureReadyAsync();
                if (result.Status != PackageDeploymentStatus.CompletedSuccess)
                {
                    throw new Exception(result.ExtendedError().Message);
                }
            }            
    
            using LanguageModel languageModel = 
               await LanguageModel.CreateAsync();
    
            string prompt = "Provide the molecular formula of glucose.";
            var result = await languageModel.GenerateResponseAsync(prompt);
            OutputText.Text = result.Response;
        }
    }
    
  4. 앱을 빌드하고 실행합니다.

  5. 포도당에 대한 수식은 텍스트 블록에 나타납니다.

고급 자습서 및 APIs

모델 가용성을 성공적으로 확인했으니, 이제 다양한 Windows AI APIs 자습서를 통해 API을/를 더욱 탐색해 보세요.

문제 해결

오류가 발생하는 경우 일반적으로 하드웨어 또는 필수 모델이 없기 때문입니다.

  • GetReadyState 메서드는 AI 기능에 필요한 모델을 사용자의 디바이스에서 사용할 수 있는지 여부를 확인합니다. 모델을 호출하기 전에 이 메서드를 호출해야 합니다.
  • 사용자의 디바이스에서 모델을 사용할 수 없는 경우 EnsureReadyAsync 메서드를 호출하여 필요한 모델을 설치할 수 있습니다. 모델 설치는 백그라운드에서 실행되며 사용자는 Windows 설정>Windows 업데이트 설정 페이지에서 설치 진행률을 확인할 수 있습니다.
  • EnsureReadyAsync 메서드에는 로드 UI를 표시할 수 있는 상태 옵션이 있습니다. 사용자에게 지원되지 않는 하드웨어가 있는 경우 EnsureReadyAsync 가 오류와 함께 실패합니다.

자세한 내용은 Windows AI API 문제 해결 및 FAQ 를 참조하세요.

참고하십시오