WindowsEdgeAI开发指南


文档摘要

Windows Edge AI 开发指南 简介 欢迎来到 Windows Edge AI 开发指南——这是一个全面的指南,帮助您使用微软的 Windows AI Foundry 平台构建智能应用程序,充分利用设备上的 AI 功能。本指南专为希望将前沿 Edge AI 功能集成到应用程序中的 Windows 开发者设计,同时充分利用 Windows 硬件加速的优势。 Windows AI 的优势 Windows AI Foundry 是一个统一、可靠且安全的平台,支持完整的 AI 开发生命周期——从模型选择和微调到优化和部署,覆盖 CPU、GPU、NPU 和混合云架构。

Windows Edge AI 开发指南

简介

欢迎来到 Windows Edge AI 开发指南——这是一个全面的指南,帮助您使用微软的 Windows AI Foundry 平台构建智能应用程序,充分利用设备上的 AI 功能。本指南专为希望将前沿 Edge AI 功能集成到应用程序中的 Windows 开发者设计,同时充分利用 Windows 硬件加速的优势。

Windows AI 的优势

Windows AI Foundry 是一个统一、可靠且安全的平台,支持完整的 AI 开发生命周期——从模型选择和微调到优化和部署,覆盖 CPU、GPU、NPU 和混合云架构。该平台通过以下方式使 AI 开发更加普及:

  • 硬件抽象:在 AMD、Intel、NVIDIA 和 Qualcomm 芯片上实现无缝部署
  • 设备上的智能:完全在本地硬件上运行,保护隐私的 AI
  • 优化性能:针对 Windows 硬件配置预优化的模型
  • 企业级:生产级安全性和合规性功能

Windows ML

Windows Machine Learning (ML) 使 C#、C++ 和 Python 开发者能够通过 ONNX Runtime 在 Windows PC 上本地运行 ONNX AI 模型,并自动管理不同硬件(CPU、GPU、NPU)的执行提供程序。ONNX Runtime 可与 PyTorch、Tensorflow/Keras、TFLite、scikit-learn 和其他框架的模型一起使用。

WindowsML 一个图表展示了 ONNX 模型通过 Windows ML 到达 NPU、GPU 和 CPU 的过程。

Windows ML 提供了一个共享的 Windows 范围内的 ONNX Runtime 副本,以及动态下载执行提供程序 (EPs) 的能力。

为什么选择 Windows 进行 Edge AI 开发?

通用硬件支持
Windows ML 在整个 Windows 生态系统中提供自动硬件优化,确保您的 AI 应用程序无论底层芯片架构如何都能实现最佳性能。

集成 AI 运行时
内置的 Windows ML 推理引擎消除了复杂的设置要求,使开发者能够专注于应用程序逻辑而非基础设施问题。

Copilot+ PC 优化
专为配备专用神经处理单元 (NPU) 的下一代 Windows 设备设计的 API,提供卓越的性能与功耗比。

开发者生态系统
丰富的工具,包括 Visual Studio 集成、全面的文档和示例应用程序,加速开发周期。

学习目标

通过完成本 Windows Edge AI 开发指南,您将掌握在 Windows 平台上构建生产级 AI 应用程序的核心技能。

核心技术能力

Windows AI Foundry 精通

  • 了解 Windows AI Foundry 平台的架构和组件
  • 掌握 Windows 生态系统中的完整 AI 开发生命周期
  • 实施设备上 AI 应用程序的安全最佳实践
  • 针对不同的 Windows 硬件配置优化应用程序

API 集成专业知识

  • 掌握用于文本、视觉和多模态应用的 Windows AI API
  • 实现 Phi Silica 语言模型集成,用于文本生成和推理
  • 使用内置图像处理 API 部署计算机视觉功能
  • 使用 LoRA(低秩适配)技术定制预训练模型

Foundry Local 实现

  • 使用 Foundry Local CLI 浏览、评估和部署开源语言模型
  • 了解模型优化和量化以实现本地部署
  • 实现无需互联网连接的离线 AI 功能
  • 管理生产环境中的模型生命周期和更新

Windows ML 部署

  • 将自定义 ONNX 模型引入 Windows 应用程序
  • 利用 CPU、GPU 和 NPU 架构的自动硬件加速
  • 实现资源利用率最佳的实时推理
  • 为各种 Windows 设备类别设计可扩展的 AI 应用程序

应用开发技能

跨平台 Windows 开发

  • 使用 .NET MAUI 构建 AI 驱动的应用程序,实现通用 Windows 部署
  • 将 AI 功能集成到 Win32、UWP 和渐进式 Web 应用程序中
  • 实现适应 AI 处理状态的响应式 UI 设计
  • 使用适当的用户体验模式处理异步 AI 操作

性能优化

  • 在不同硬件配置中分析和优化 AI 推理性能
  • 为大型语言模型实施高效的内存管理
  • 设计能够根据可用硬件能力优雅降级的应用程序
  • 为频繁使用的 AI 操作应用缓存策略

生产准备

  • 实施全面的错误处理和回退机制
  • 设计 AI 应用程序性能的遥测和监控
  • 应用本地 AI 模型存储和执行的安全最佳实践
  • 为企业和消费者应用程序规划部署策略

商业和战略理解

AI 应用架构

  • 设计优化本地和云 AI 处理之间的混合架构
  • 评估模型大小、准确性和推理速度之间的权衡
  • 规划在保持隐私的同时实现智能的数据流架构
  • 实现随用户需求扩展的成本效益 AI 解决方案

市场定位

  • 了解 Windows 原生 AI 应用程序的竞争优势
  • 确定设备上 AI 提供卓越用户体验的用例
  • 为 AI 增强的 Windows 应用程序制定市场策略
  • 利用 Windows 生态系统优势定位应用程序

Windows App SDK AI 示例

Windows App SDK 提供了全面的示例,展示了跨多个框架和部署场景的 AI 集成。这些示例是理解 Windows AI 开发模式的重要参考。

Windows AI Foundry 示例

示例 框架 重点领域 关键功能
cs-winui C# WinUI 3 Windows AI API 集成 完整的 WinUI 应用程序,展示 Windows AI API、ARM64 优化、打包部署

关键技术:

  • Windows AI API
  • WinUI 3 框架
  • ARM64 平台优化
  • Copilot+ PC 兼容性
  • 打包应用程序部署

前提条件:

  • 推荐使用 Windows 11 和 Copilot+ PC
  • Visual Studio 2022
  • ARM64 构建配置
  • Windows App SDK 1.8.1+

Windows ML 示例

C++ 示例

示例 类型 重点领域 关键功能
CppConsoleDesktop 控制台应用 基础 Windows ML EP 发现、命令行选项、模型编译
CppConsoleDesktop.FrameworkDependent 控制台应用 框架部署 共享运行时、更小的部署占用
CppConsoleDesktop.SelfContained 控制台应用 独立部署 独立部署,无运行时依赖
CppConsoleDll DLL 库使用 在共享库中使用 WindowsML,内存管理
CppResnetBuildDemo 演示 ResNet 教程 模型转换、EP 编译、Build 2025 教程

C# 示例

控制台应用程序

示例 类型 重点领域 关键功能
CSharpConsoleDesktop 控制台应用 基础 C# 集成 使用共享助手、命令行界面
ResnetBuildDemoCS 演示 ResNet 教程 模型转换、EP 编译、Build 2025 教程

GUI 应用程序

示例 框架 重点领域 关键功能
cs-wpf WPF 桌面 GUI 使用 WPF 界面进行图像分类
cs-winforms Windows Forms 传统 GUI 使用 Windows Forms 进行图像分类
cs-winui WinUI 3 现代 GUI 使用 WinUI 3 界面进行图像分类

Python 示例

示例 语言 重点领域 关键功能
SqueezeNetPython Python 图像分类 WinML Python 绑定,批量图像处理

示例前提条件

系统要求:

  • 运行版本 24H2(构建 26100)或更高版本的 Windows 11 PC
  • Visual Studio 2022,安装 C++ 和 .NET 工作负载
  • Windows App SDK 1.8.1 或更高版本
  • Python 3.10-3.13,用于 x64 和 ARM64 设备上的 Python 示例

Windows AI Foundry 特定要求:

  • 推荐使用 Copilot+ PC 以获得最佳性能
  • Windows AI 示例的 ARM64 构建配置
  • 需要包身份(不再支持未打包的应用程序)

常见示例工作流程

大多数 Windows ML 示例遵循以下标准模式:

  1. 初始化环境 - 创建 ONNX Runtime 环境
  2. 注册执行提供程序 - 发现并注册可用的硬件加速器(CPU、GPU、NPU)
  3. 加载模型 - 加载 ONNX 模型,可选择为目标硬件编译
  4. 预处理输入 - 将图像/数据转换为模型输入格式
  5. 运行推理 - 执行模型并获取预测结果
  6. 处理结果 - 应用 softmax 并显示最高预测结果

使用的模型文件

模型 用途 是否包含 备注
SqueezeNet 轻量级图像分类 ✅ 包含 预训练,随时可用
ResNet-50 高精度图像分类 ❌ 需要转换 使用 AI Toolkit 进行转换

硬件支持

所有示例会自动检测并利用可用硬件:

  • CPU - 所有 Windows 设备的通用支持
  • GPU - 自动检测并优化可用的图形硬件
  • NPU - 在支持的设备(Copilot+ PC)上利用神经处理单元

Windows AI Foundry 平台组件

1. Windows AI API

Windows AI API 提供了即用型 AI 功能,由设备上的模型驱动,针对 Copilot+ PC 设备进行了效率和性能优化,设置要求极低。

核心 API 类别

Phi Silica 语言模型

  • 小型但强大的语言模型,用于文本生成和推理
  • 针对实时推理进行了优化,功耗极低
  • 支持使用 LoRA 技术进行自定义微调
  • 与 Windows 语义搜索和知识检索集成

计算机视觉 API

  • 文本识别 (OCR):高精度提取图像中的文本
  • 图像超分辨率:使用本地 AI 模型对图像进行放大
  • 图像分割:识别并隔离图像中的特定对象
  • 图像描述:为视觉内容生成详细的文本描述
  • 对象擦除:使用 AI 驱动的修复功能移除图像中的不需要对象

多模态功能

  • 视觉-语言集成:结合文本和图像理解
  • 语义搜索:启用自然语言查询多媒体内容
  • 知识检索:使用本地数据构建智能搜索体验

2. Foundry Local

Foundry Local 为开发者提供了快速访问 Windows Silicon 上即用型开源语言模型的能力,支持浏览、测试、交互和在本地应用程序中部署模型。

Foundry Local 示例应用程序

Foundry Local 仓库 提供了跨多种编程语言和框架的全面示例,展示了各种集成模式和用例。

示例 语言/框架 重点领域 关键功能
dotNET/rag C# / .NET RAG 实现 语义内核集成、Qdrant 向量存储、JINA 嵌入、文档摄取、流式聊天
electron/foundry-chat JavaScript / Electron 桌面聊天应用 跨平台聊天、本地/云模型切换、OpenAI SDK 集成、实时流式处理
js/hello-foundry-local JavaScript / Node.js 基础集成 简单 SDK 使用、模型初始化、基础聊天功能
python/hello-foundry-local Python 基础集成 Python SDK 使用、流式响应、OpenAI 兼容 API
rust/hello-foundry-local Rust 系统集成 底层 SDK 使用、异步操作、reqwest HTTP 客户端

按使用场景分类的示例

RAG(检索增强生成)

  • dotNET/rag: 使用 Semantic Kernel、Qdrant 向量数据库和 JINA 嵌入的完整 RAG 实现
  • 架构: 文档摄取 → 文本分块 → 向量嵌入 → 相似性搜索 → 上下文感知响应
  • 技术: Microsoft.SemanticKernel、Qdrant.Client、BERT ONNX 嵌入、流式聊天完成

桌面应用

  • electron/foundry-chat: 生产级聊天应用,支持本地/云模型切换
  • 功能: 模型选择器、流式响应、错误处理、跨平台部署
  • 架构: Electron 主进程、IPC 通信、安全预加载脚本

SDK 集成示例

  • JavaScript (Node.js): 基本模型交互和流式响应
  • Python: 使用 OpenAI 兼容 API 的异步流式操作
  • Rust: 使用 reqwest 和 tokio 进行异步操作的底层集成

Foundry Local 示例的前提条件

系统要求:

  • 安装了 Foundry Local 的 Windows 11
  • JavaScript/Electron 示例需要 Node.js v16+
  • C# 示例需要 .NET 8.0+
  • Python 示例需要 Python 3.10+
  • Rust 示例需要 Rust 1.70+

安装:

# Install Foundry Local winget install Microsoft.FoundryLocal # Verify installation foundry --version foundry model list

示例特定设置

dotNET RAG 示例:

# Install required packages via NuGet # Microsoft.SemanticKernel.Connectors.Onnx # Microsoft.SemanticKernel.Connectors.Qdrant # Qdrant.Client # Start Qdrant vector database docker run -p 6333:6333 qdrant/qdrant # Run Jupyter notebook jupyter notebook rag_foundrylocal_demo.ipynb

Electron 聊天示例:

# Set environment variables for cloud fallback $env:YOUR_API_KEY="your-cloud-api-key" $env:YOUR_ENDPOINT="your-cloud-endpoint" $env:YOUR_MODEL_NAME="your-cloud-model" # Install dependencies and run npm install npm start

JavaScript/Python/Rust 示例:

# Download model (example with phi-3.5-mini) foundry model run phi-3.5-mini # Run respective sample node src/app.js # JavaScript python src/app.py # Python cargo run # Rust

关键功能

模型目录

  • 全面的预优化开源模型集合
  • 模型在 CPU、GPU 和 NPU 上优化,可立即部署
  • 支持流行的模型系列,包括 Llama、Mistral、Phi,以及专用领域模型

CLI 集成

  • 用于模型管理和部署的命令行界面
  • 自动优化和量化工作流
  • 与流行的开发环境和 CI/CD 管道集成

本地部署

  • 完全离线操作,无需云依赖
  • 支持自定义模型格式和配置
  • 高效的模型服务,自动硬件优化

3. Windows ML

Windows ML 是 Windows 上的核心 AI 平台和集成推理运行时,允许开发者高效地在广泛的 Windows 硬件生态系统中部署自定义模型。

架构优势

通用硬件支持

  • 自动优化 AMD、Intel、NVIDIA 和 Qualcomm 芯片
  • 支持 CPU、GPU 和 NPU 执行,透明切换
  • 硬件抽象,消除平台特定的优化工作

模型灵活性

  • 支持 ONNX 模型格式,可从流行框架自动转换
  • 使用生产级性能部署自定义模型
  • 与现有 Windows 应用架构集成

企业集成

  • 与 Windows 安全和合规框架兼容
  • 支持企业部署和管理工具
  • 与 Windows 设备管理和监控系统集成

开发工作流

阶段 1: 环境设置和工具配置

开发环境准备

  1. 安装 Visual Studio 2022,启用 C++ 和 .NET 工作负载
  2. 安装 Windows App SDK 1.8.1 或更高版本
  3. 配置 Windows AI Foundry CLI 工具
  4. 设置 Visual Studio Code 的 AI Toolkit 扩展
  5. 建立性能分析和监控工具
  6. 确保 ARM64 构建配置以优化 Copilot+ PC

示例库设置

  1. 克隆 Windows App SDK Samples repository
  2. 导航到 Samples/WindowsAIFoundry/cs-winui 查看 Windows AI API 示例
  3. 导航到 Samples/WindowsML 查看全面的 Windows ML 示例
  4. 查看目标平台的 构建要求

AI 开发画廊探索

  • 探索示例应用和参考实现
  • 使用交互式演示测试 Windows AI API
  • 查看源代码以了解最佳实践和模式
  • 确定适合您具体使用场景的相关示例

阶段 2: 模型选择和集成

需求分析

  • 定义 AI 功能需求
  • 确定性能约束和优化目标
  • 评估隐私和安全需求
  • 规划部署架构和扩展策略

模型评估

  • 使用 Foundry Local 测试适合您使用场景的开源模型
  • 根据自定义模型需求对 Windows AI API 进行基准测试
  • 评估模型大小、准确性和推理速度之间的权衡
  • 使用选定模型原型化集成方法

阶段 3: 应用开发

核心集成

  • 实现 Windows AI API 集成并正确处理错误
  • 设计适应 AI 处理工作流的用户界面
  • 实现模型推理的缓存和优化策略
  • 添加 AI 操作性能的遥测和监控

测试和验证

  • 在不同的 Windows 硬件配置上测试应用
  • 在各种负载条件下验证性能指标
  • 实现 AI 功能可靠性的自动化测试
  • 对 AI 增强功能进行用户体验测试

阶段 4: 优化和部署

性能优化

  • 在目标硬件配置上分析应用性能
  • 优化内存使用和模型加载策略
  • 根据可用硬件能力实现自适应行为
  • 为不同性能场景微调用户体验

生产部署

  • 打包应用并包含适当的 AI 模型依赖项
  • 实现模型和应用逻辑的更新机制
  • 配置生产环境的监控和分析
  • 规划企业和消费者部署的发布策略

实际实施示例

示例 1: 智能文档处理应用

构建一个使用多种 AI 功能处理文档的 Windows 应用:

使用技术:

  • Phi Silica 用于文档摘要和问答
  • OCR API 用于从扫描文档中提取文本
  • 图像描述 API 用于图表和图形分析
  • 自定义 ONNX 模型用于文档分类

实施方法:

  • 设计具有可插拔 AI 组件的模块化架构
  • 实现大批量文档的异步处理
  • 添加进度指示器和长时间运行操作的取消支持
  • 包括敏感文档处理的离线功能

示例 2: 零售库存管理系统

创建一个面向零售应用的 AI 驱动库存系统:

使用技术:

  • 图像分割用于产品识别
  • 自定义视觉模型用于品牌和类别分类
  • Foundry Local 部署的专用零售语言模型
  • 与现有 POS 和库存系统集成

实施方法:

  • 构建实时产品扫描的摄像头集成
  • 实现条形码和视觉产品识别
  • 使用本地语言模型添加自然语言库存查询
  • 设计可扩展架构以支持多商店部署

示例 3: 医疗文档助手

开发一个保护隐私的医疗文档工具:

使用技术:

  • Phi Silica 用于医疗笔记生成和临床决策支持
  • OCR 用于数字化手写医疗记录
  • 通过 Windows ML 部署的自定义医疗语言模型
  • 本地向量存储用于医疗知识检索

实施方法:

  • 确保完全离线操作以保护患者隐私
  • 实现医疗术语验证和建议
  • 添加审计日志以满足监管合规性
  • 设计与现有电子健康记录系统的集成

性能优化策略

硬件感知开发

NPU 优化

  • 设计应用以利用 Copilot+ PC 上的 NPU 功能
  • 在没有 NPU 的设备上实现优雅回退到 GPU/CPU
  • 优化模型格式以适应 NPU 特定加速
  • 监控 NPU 利用率和热特性

内存管理

  • 实现高效的模型加载和缓存策略
  • 使用内存映射减少大型模型的启动时间
  • 为资源受限设备设计内存友好的应用
  • 实现模型量化以优化内存使用

电池效率

  • 优化 AI 操作以尽量减少功耗
  • 根据电池状态实现自适应处理
  • 为持续 AI 操作设计高效的后台处理
  • 使用功耗分析工具优化能量使用

可扩展性考虑

多线程

  • 设计线程安全的 AI 操作以支持并发处理
  • 实现高效的工作分配以利用可用核心
  • 使用 async/await 模式实现非阻塞 AI 操作
  • 针对不同硬件配置优化线程池

缓存策略

  • 为频繁使用的 AI 操作实现智能缓存
  • 设计模型更新的缓存失效策略
  • 为昂贵的预处理操作使用持久缓存
  • 为多用户场景实现分布式缓存

安全和隐私最佳实践

数据保护

本地处理

  • 确保敏感数据永远不会离开本地设备
  • 实现 AI 模型和临时数据的安全存储
  • 使用 Windows 安全功能进行应用沙盒化
  • 对存储的模型和中间处理结果应用加密

模型安全

  • 在加载和执行前验证模型完整性
  • 实现安全的模型更新机制
  • 使用签名模型防止篡改
  • 对模型文件和配置应用访问控制

合规性考虑

法规对齐

  • 设计应用以满足 GDPR、HIPAA 和其他法规要求
  • 实现 AI 决策过程的审计日志记录
  • 提供 AI 生成结果的透明性功能
  • 允许用户控制 AI 数据处理

企业安全

  • 与 Windows 企业安全策略集成
  • 支持通过企业管理工具进行托管部署
  • 为 AI 功能实现基于角色的访问控制
  • 提供 AI 功能的管理控制

故障排除和调试

常见开发挑战

构建配置问题

  • 确保 Windows AI API 示例的 ARM64 平台配置
  • 验证 Windows App SDK 版本兼容性(需要 1.8.1+)
  • 检查包标识是否正确配置(Windows AI API 必需)
  • 验证构建工具是否支持目标框架版本

模型加载问题

  • 验证 ONNX 模型与 Windows ML 的兼容性
  • 检查模型文件完整性和格式要求
  • 验证特定模型的硬件能力要求
  • 调试模型加载期间的内存分配问题
  • 确保硬件加速的执行提供程序注册

部署模式考虑

  • 自包含模式: 完全支持,但部署大小较大
  • 依赖框架模式: 占用空间较小,但需要共享运行时
  • 未打包应用: 不再支持 Windows AI API
  • 使用 dotnet run -p:Platform=ARM64 -p:SelfContained=true 进行自包含 ARM64 部署

性能问题

  • 在不同硬件配置上分析应用性能
  • 识别 AI 处理管道中的瓶颈
  • 优化数据预处理和后处理操作
  • 实现性能监控和警报

集成困难

  • 调试 API 集成问题并正确处理错误
  • 验证输入数据格式和预处理要求
  • 彻底测试边界情况和错误条件
  • 实现全面的日志记录以调试生产问题

调试工具和技术

Visual Studio 集成

  • 使用 AI Toolkit 调试器分析模型执行
  • 实现 AI 操作的性能分析
  • 调试异步 AI 操作并正确处理异常
  • 使用内存分析工具进行优化

Windows AI Foundry 工具

  • 利用 Foundry Local CLI 进行模型测试和验证
  • 使用 Windows AI API 测试工具验证集成
  • 实现自定义日志记录以监控 AI 操作
  • 创建 AI 功能可靠性的自动化测试

为应用未来发展做好准备

新兴技术

下一代硬件

  • 设计应用以利用未来的 NPU 功能
  • 规划支持更大的模型尺寸和复杂性
  • 实现适应性架构以应对硬件演变
  • 考虑量子就绪算法以实现未来兼容性

高级 AI 功能

  • 为更多数据类型的多模态 AI 集成做好准备
  • 规划多设备间实时协作 AI
  • 设计支持联邦学习功能
  • 考虑边缘-云混合智能架构

持续学习和适应

模型更新

  • 实现无缝的模型更新机制
  • 设计应用以适应改进的模型功能
  • 规划与现有模型的向后兼容性
  • 实现 A/B 测试以评估模型性能

功能演进

  • 设计可容纳新 AI 功能的模块化架构
  • 规划集成新兴 Windows AI API
  • 实现功能标志以逐步推出能力
  • 设计适应增强 AI 功能的用户界面

结论

Windows 边缘 AI 开发代表了强大 AI 功能与稳健、安全、可扩展的 Windows 平台的融合。通过掌握 Windows AI Foundry 生态系统,开发者可以创建智能应用,提供卓越的用户体验,同时保持最高标准的隐私、安全和性能。

Windows AI API、Foundry Local 和 Windows ML 的结合为构建下一代智能 Windows 应用提供了无与伦比的基础。随着 AI 的不断发展,Windows 平台确保您的应用能够随着新兴技术扩展,同时在多样化的 Windows 硬件生态系统中保持兼容性和性能。

无论您是在构建消费类应用、企业解决方案还是专用行业工具,Windows 边缘 AI 开发都能让您创建智能、响应迅速且深度集成的体验,充分利用现代 Windows 设备的潜力。

附加资源

文档和学习

示例代码库和代码

开发工具

技术支持

社区与支持

本指南旨在随着快速发展的 Windows AI 生态系统不断演进。定期更新确保与最新平台功能和开发最佳实践保持一致。

08. 探索 Microsoft Foundry Local - 完整开发者工具包

免责声明
本文档使用AI翻译服务 Co-op Translator 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于关键信息,建议使用专业人工翻译。我们不对因使用此翻译而产生的任何误解或误读承担责任。


发布者: 作者: 转发
评论区 (0)
U