一组示例,演示了使用本地 API 和机器学习 (ML) 模型、使用 DirectML 的本地硬件加速以及基于云的 API 增强 Windows 应用的各种方法。
向 Windows 应用添加对新 AI 功能的支持时,建议先 检查模型可用性。
使用 AI 功能时,建议查看: 在 Windows 上开发负责任的生成 AI 应用程序和功能。 默认情况下,文本内容审查在所有 Windows AI API 中实现,以减少任何潜在的有害内容。 了解详细信息: 使用 Windows AI Foundry 进行内容安全审查。
使用本地 API 和 ML 模型通过 AI 增强 Windows 应用
这些示例演示如何使用本地 API 和机器学习模型通过 AI 增强 Windows 应用。
AI 开发库
说明:AI 开发库是一个开源应用,专为希望在其自己的应用和项目中集成 AI 功能的 Windows 开发人员而设计。 它提供由本地 AI 模型提供支持的 25 多个交互式示例,包括所有 Windows AI API 的示例。 该应用提供一个简单的界面,用于根据设备的功能从 Hugging Face 和 GitHub 浏览、下载和运行模型,利用电脑的 NPU、CPU 或 GPU。 此外,它还提供查看 C# 源代码并将每个示例导出到独立 Visual Studio 项目的功能。
功能:具有易于复制代码的交互式示例、本地模型推理、Windows AI API 的展示
AI 支持的音频编辑器
GitHub 存储库: AI 音频编辑器示例
说明:AI 支持的音频编辑器演示如何构建 WinUI 3 音频编辑应用,该应用利用 AI 将音频的截图与相关查询匹配。 例如,用例可以是播客创建者,他希望创建其内容的简短音频剪辑,以在社交媒体上推广。 此示例使用本地 ML 模型推理来处理听录和语义搜索。
功能:使用 ONNX Runtime 的本地模型推理、Whisper 模型、嵌入模型
AI驱动的笔记应用
说明:此 AI 支持的笔记应用程序演示了如何使用 API,包括 OCR 文本识别、音频听录通过本地 ML 模型进行语义搜索、通过本地嵌入模型进行语义搜索、使用 Phi3 进行汇总、自动完成和文本推理,以及检索扩充生成(RAG),以便将语言模型与实际数据建立基础。
功能:使用本地模型进行语义搜索、使用本地模型进行音频听录、使用 Phi3 的本地重度扩充生成(RAG)、使用 Phi3 进行本地文本汇总和推理、使用 OCR API 从图像中提取文本
使用 PDF 和 Phi3 的检索增强生成 (RAG)
GitHub 存储库:RAG PDF 分析器 WPF 示例应用
说明:此 WPF 示例应用演示如何生成使用本地语言模型(如 Phi3)的体验,以回答有关 PDF 文档中内容的问题。 该示例通过在生成响应之前引用模型自己的训练数据之外的知识库来查找答案。 此模式称为“检索扩充生成”(RAG),是如何将语言模型与实际权威数据建立基础的示例。
功能:检索增强生成(RAG)、ONNX运行时生成AI、DirectML
Phi3 生成式AI聊天助手
说明:此 WinUI 3 应用示例演示如何使用 ONNX 运行时生成 AI 库,以使用本地语言模型(特别是 Phi3 小型语言模型(SLM)构建聊天体验。
功能: Phi3、 ONNX 运行时生成 AI、 DirectML
Windows Studio 效果示例
GitHub 存储库: Windows Studio 效果示例应用
说明:了解如何在此代码示例中从 Windows 应用程序中控制 Camera Studio 效果。 检查系统上是否提供了受支持的相机(需要具有 NPU 和内置相机的设备),然后获取和设置与 Windows Studio 效果关联的扩展相机控件,例如背景模糊、眼睛凝视更正和自动框架。
通过 DirectML 实现本地硬件加速
硬件加速 Stable Diffusion Web 版
GitHub 存储库:WebNN Stable Diffusion Turbo
说明:此示例演示如何将 WebNN 与 ONNX 运行时 Web 配合使用,以便通过 DirectML 在本地 GPU 上运行稳定扩散。 SD-Turbo 是一种快速的生成式文本到图像模型,它可以在单个网络评估中根据文本提示合成照片级真实感图像。 在此演示中,您可以利用 WebNN API(一种专用于神经网络推理硬件加速的低级别 API),在 AI PC 设备上于 2 秒内生成图像。
应用类型: JavaScript、Web 应用
硬件加速 Segment Anything Web 版
GitHub 存储库:WebNN Segment Anything
说明:此示例演示如何将 WebNN 与 ONNX 运行时 Web 配合使用,以便通过 DirectML 在本地 GPU 上运行 Segment Anything。 Segment Anything 是 Meta AI 中的新 AI 模型,可以“切出”任何对象。 在演示中,你可以从上传的图像中分段任何对象。
应用类型: JavaScript、Web 应用
硬件加速 Whisper Web 版
说明:此示例演示如何将 WebNN 与 ONNX 运行时 Web 配合使用,以在 GPU 或具有 DirectML 的 NPU 本地运行 Whisper 模型的语音转文本功能。 Whisper Base 是一种预先训练的模型,用于自动语音识别(ASR)和语音翻译。 在演示中,可以使用由 WebNN API 和 DirectML 提供支持的设备推理(尤其是 NPU 加速)体验语音转文本功能。
应用类型: JavaScript、Web 应用
使用 DirectML 的硬件加速和预优化的 ONNX 运行时语言模型(Phi3、Llama3 等)
GitHub 存储库: Olive 存储库中的 DirectML 示例
说明:此示例演示如何使用 DirectML 在本地运行预优化的 ONNX 运行时 (ORT) 语言模型。 此示例包含有关如何设置环境的说明、使用 ORT 生成 API 下载最新的预训练语言模型,并在 Gradio 应用中运行模型。
功能:硬件加速、GenAI、 ONNX、 ONNX 运行时、 DirectML
应用类型: Python、Gradio
使用 DirectML 的硬件加速 PyTorch 模型(Phi3、Llama3 等)
GitHub 存储库:DirectML PyTorch 示例
说明:此示例演示如何使用 DirectML 在本地 GPU 上运行 PyTorch 语言模型。 该示例包括有关如何设置环境、下载最新的预训练语言模型并在 Gradio 应用中运行模型的说明。 此示例支持各种开源语言模型,例如 Llama 模型、Phi3-mini、Phi2 和 Mistral-7B。
应用类型: Python、Gradio
使用云 API 通过 AI 增强 Windows 应用
可以在 Azure AI 服务文档中找到更多基于云的 API 示例。
将 OpenAI 聊天内容生成功能添加到 WinUI 3/Windows 应用 SDK 中
教程:在 WinUI 3/Windows 应用 SDK 应用中添加 OpenAI 聊天完成功能
说明:将 OpenAI 聊天完成功能集成到 WinUI 3/Windows 应用 SDK 桌面应用中。
功能:OpenAI 聊天补全
将 DALL-E 添加到 WinUI 3/Windows 应用 SDK 桌面应用
教程: 将 DALL-E 添加到 WinUI 3/Windows 应用 SDK 桌面应用
说明:将 OpenAI DALL-E 映像生成功能集成到 WinUI 3/Windows 应用 SDK 桌面应用中。
功能:图像生成
使用 .NET MAUI 和 ChatGPT 创建建议应用
教程: 使用 .NET MAUI 和 ChatGPT 创建建议应用
说明:将 OpenAI 聊天完成功能集成到 .NET MAUI 桌面应用中。
功能:图像生成
将 DALL-E 添加到 .NET MAUI Windows 桌面应用
教程: 将 DALL-E 添加到 .NET MAUI Windows 桌面应用
说明:将 OpenAI DALL-E 映像生成功能集成到 .NET MAUI 桌面应用中。
功能:图像生成
旧版 WinML 示例
说明:WinML 继续受支持,但这些示例尚未更新以反映现代 AI 的使用。