有关在 Windows 应用中使用 AI 的常见问题

选择正确的选项

我应使用哪个Windows AI 选项?

这取决于目标硬件和用例。 Windows AI APIs 为 Copilot+ PC 提供了最简单的实现途径——只需一次 API 调用即可实现 OCR、图像描述、文本摘要和 Phi Silica 聊天,且无需进行模型管理。 当需要更广泛的模型目录、非AI+ PC硬件支持或 OpenAI 兼容的 API 访问时,Foundry Local 是合适的选择。 Windows ML 提供最控制性 — 直接引入任何 ONNX 模型和管理执行提供程序。 有关并行比较,请参阅“选择Windows AI 解决方案”。

是否需要AI+ PC或 NPU 才能使用 Windows AI 功能?

这取决于所使用的功能。 Windows AI API 需要配备 NPU 的 AI+ PC。 Foundry Local 在支持 DirectX 12 的 GPU 的任何Windows设备上运行,包括没有 NPU 的设备。 Windows ML 支持广泛的 CPU、GPU 和 NPU。 有关详细信息,请参阅 支持的硬件列表

是否可以将 Foundry Local 与现有的 OpenAI SDK 代码配合使用?

Yes. Foundry Local 公开与 OpenAI 兼容的 REST API。 使用 foundry service start 启动本地服务,然后将 OpenAI 客户端指向本地端点——这样,模型名称、消息和流式调用都无需更改。 有关终结点格式,请参阅 Foundry Local 入门

Foundry Local 是否适合生产应用,还是还是试验性?

原生 SDK(C#、Python、JavaScript、Rust)目前处于 Alpha/预发布阶段。 底层的 ONNX Runtime 和模型服务基础设施均达到生产级标准。 对于当前要发布的应用,请将 SDK API 视为可能会发生变化,并固定软件包版本。 有关最新稳定性状态,请参阅 What is Foundry Local

Foundry Local 可以离线工作吗?

是的,在设备上下载并缓存模型后,Foundry Local 将完全在设备上执行推理,且不依赖于云。 初始模型下载需要 Internet 访问。 启动时,Foundry Local 可能会尝试刷新模型目录,但这不是必需的 — 如果设备处于脱机状态,它将回退到缓存的目录,推理会正常继续。 SDK 的 IsCachedAsync (C#) / is_cached (Python) 方法允许你在尝试推理之前检查模型可用性,以便可以正常处理脱机情况。

Foundry Local 如何处理设备之间的硬件差异?

Foundry Local 在启动时会检测可用硬件,并选择最佳执行提供程序——Qualcomm NPU(QNN)、通过 WinML/DirectML 使用的任何支持 DirectX 12 的 GPU(AMD、Intel、NVIDIA、Qualcomm)、通过 CUDA 使用的 NVIDIA GPU,或 CPU 后备方案。 通过别名请求模型(例如 phi-3.5-mini),Foundry Local 会自动为该设备提供经过硬件优化的变体。 应用代码在所有硬件配置中都是相同的。

数据隐私和安全性

Foundry Local 是否将用户数据发送到云?

No. Foundry Local 完全在设备上运行。 推理输入和输出永远不会离开计算机。 唯一的网络流量是初始模型下载和可选的目录元数据刷新。 启动时,Foundry Local 可能会尝试刷新模型目录,但这不是必需的 — 如果设备处于脱机状态,它将回退到缓存的目录,推理会正常继续。

使用 Windows AI API 时,应如何处理数据隐私?

Windows AI API 使用 NPU 在本地处理设备上的数据。 输入数据不会发送到Microsoft服务器。 有关负责任的 AI 做法、同意和透明度的指导,请参阅在Windows上开发负责任的生成 AI 应用程序和功能

平台和运行时

什么是 Windows ML?

Windows ML 使应用能够使用共享的系统范围的 ONNX 运行时并动态下载特定于供应商的执行提供程序(EP),以便模型推理针对设备的 CPU、GPU 或 NPU 进行优化,而无需应用携带大型运行时或 EP 二进制文件。 如果需要自带 ONNX 模型或希望完全控制 EP 选择,请使用它。 请参阅Windows ML 概述

什么是 DirectML?

DirectML 是基于 Direct3D 12 构建的用于机器学习的低级别 GPU 加速 API。 它支持 AMD、Intel、NVIDIA 和 Qualcomm 的所有支持 DirectX 12 的 GPU。 当 CUDA 不可用时,ONNX 运行时使用 DirectML 作为Windows的执行提供程序。

PyPI 上的 foundry-local-sdk 和 foundry-local-sdk-winml 之间的区别是什么?

foundry-local-sdk-winml是特定于Windows的包 ,它包括通过 Windows ML 进行硬件加速,建议在Windows上使用。 foundry-local-sdk是适用于 macOS、Linux 或无硬件加速Windows的跨平台包。 仅安装其中一个:这两个软件包会将 onnxruntime-core 锁定到不同版本,如果同时安装,就会发生冲突。 请注意, foundry-local 在 PyPI(无 -sdk)上是一个无关的第三方包 - 安装 foundry-local-sdkfoundry-local-sdk-winml

如何检查设备具有哪些 GPU 或 NPU?

打开任务管理器(Ctrl+Shift+Esc),选择 “性能 ”选项卡,并在左侧面板中查找 GPU 和 NPU 条目。 还可以从命令行运行 foundry model list——Foundry Local 在启动服务时会显示哪些执行提供程序已针对你的硬件启用。