开始使用 Windows AI 构建应用 APIs

了解 Windows AI API 硬件要求以及如何将设备配置为使用 Windows AI APIs成功生成应用。

依赖关系

确保电脑支持 Windows AI APIs ,并安装所有依赖项。 可以选择自动(建议)或手动执行此操作。

  1. 确认你的设备是 Copilot+ 电脑(我们建议使用 Copilot+ 电脑开发人员指南中列出的设备)。

  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 项目。

    Visual Studio 新建项目 UI 的屏幕截图,其中选择了 WinUI 模板。

  2. 解决方案资源管理器中,右键单击项目节点,选择 “属性>应用程序>常规”,并确保目标框架设置为 .NET 8.0,目标 OS 设置为 10.0.22621 或更高版本。

    Visual Studio 项目属性窗格的屏幕截图

  3. 编辑 Package.appxmanifest 文件(右键单击并选择“ 查看代码”),并添加以下代码片段。

    • systemAIModels 功能添加到 <Capabilities> 节点:

      <Capabilities>
         <systemai:Capability Name="systemAIModels"/>
      </Capabilities>
      
    • systemai命名空间说明符应用于<Package>节点:

      xmlns:systemai="http://schemas.microsoft.com/appx/manifest/systemai/windows10"
      
  4. 右键单击项目节点,然后选择“ 管理 NuGet 包...”

  5. NuGet 包管理器中,选中 “包括预发行版 ”复选框,然后选择 Windows 应用 SDK 版本 1.8.250410001-experimental1。 单击“ 安装 ”或 “更新”。

    Visual Studio nuget 包管理器的屏幕截图,其中选择了 Microsoft.WindowsAppSDK 1.8.250410001-experimental1。

  6. 确保生成配置设置为 ARM64

    Visual Studio 生成配置设置为 ARM64 的屏幕截图。

  7. 生成并运行应用。

  8. 如果应用成功启动,则继续添加第一个 AI API。 否则,请参阅 故障排除

添加第一个 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.cs中,将 MainWindow 类替换为以下代码,该代码确认 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 API 教程中进一步探索APIs。

故障排除

如果遇到任何错误,通常是由于硬件或缺少所需的模型。

  • GetReadyState 方法检查用户设备上是否提供了 AI 功能所需的模型。 在对模型的任何调用之前,必须调用此方法。
  • 如果模型在用户的设备上不可用,则可以调用 Method EnsureReadyAsync 来安装所需的模型。 模型安装在后台运行,用户可以在 Windows 设置>Windows 更新 设置页上检查安装进度。
  • EnsureReadyAsync 方法具有可显示加载 UI 的状态选项。 如果用户的硬件不受支持,则 EnsureReadyAsync 将失败并出现错误。

有关更多帮助,请参阅 Windows AI API 故障排除和常见问题解答

另请参阅