在 Windows 应用中开始使用支持 AI 的 API
Windows Copilot Runtime 提供各种支持 AI 的 API(称为 Windows Copilot Library),使你能够利用 AI 功能,而无需查找、运行或优化你自己的机器学习 (ML) 模型。 支持 Windows Copilot Library 的模型是现成的,并且始终在设备上被动运行,以在 Copilot+ PC 上启用 AI 功能。
使用 Windows Copilot Library 中提供的支持 AI 的本地 API
Windows Copilot Library 包括由直接在 Windows 设备上本地运行的模型支持的 API:
Phi Silica:Phi Silica API 作为 Windows 应用 SDK 的一部分提供。 与为 ChatGPT 提供支持的 OpenAI 的 GPT 大语言模型 (LLM) 类似,Phi 是由 Microsoft Research 开发的小型语言模型 (SLM),用于在本地设备上执行语言处理任务。 Phi Silica 专为具有神经处理单元 (NPU) 的 Windows 设备而设计,允许直接在设备上以高性能硬件加速方式运行文本生成和对话功能。
包含 OCR 的 Text Recognition:Text Recognition API(也称为光学字符识别或 OCR)作为 Windows 应用 SDK 的一部分提供。 该 API 能够识别图像中的文本,并将不同类型的文档(例如扫描的纸质文档、PDF 文件或数码相机捕获的图像)转换为本地设备上的可编辑和可搜索的数据。
Studio Effects:具有兼容神经处理单元 (NPU) 的 Windows 设备将 Studio Effects 集成到内置设备摄像头和麦克风设置中。 应用利用 AI 的特殊效果,包括:背景模糊、眼神交流校正、自动取景、人像光效校正、创意滤镜或语音聚焦,以筛选出背景噪音。
Recall:Recall 使用户能够快速地从其过去的活动中查找内容,例如文档、图像、网站等。 开发人员可以通过用户活动 API 将上下文信息添加到基础矢量数据库来丰富用户的 Recall 体验。 此集成将帮助用户在应用中继续上次中断的位置,从而改善与应用的互动以及用户在 Windows 和应用之间的无缝流。
未来还会提供更多功能,包括实时字幕翻译、语义搜索、检索增强生成 (RAG)、文本摘要和图像超分辨率。
在 Windows 应用中使用基于云的支持 AI 的 API
你可能还有兴趣使用在云端运行模型的 API 为可添加到 Windows 应用的 AI 功能提供支持。 Microsoft 或 OpenAI 提供的基于云的支持 AI 的 API 的几个示例包括:
将 OpenAI 聊天补全功能添加到 WinUI 3/Windows 应用 SDK 桌面应用:有关如何将基于云的 OpenAI ChatGPT 补全功能集成到 WinUI 3/Windows 应用 SDK 桌面应用中的教程。
将 DALL-E 添加到 WinUI 3/Windows 应用 SDK 桌面应用:有关如何将基于云的 OpenAI DALL-E 图像生成功能集成到 WinUI 3/Windows 应用 SDK 桌面应用中的教程。
使用 .NET MAUI 和 ChatGPT 创建建议应用:有关如何创建将基于云的 OpenAI ChatGPT 补全功能集成到 .NET MAUI 应用中的示例建议应用的教程。
将 DALL-E 添加到 .NET MAUI Windows 桌面应用:有关如何将基于云的 OpenAI DALL-E 图像生成功能集成到 .NET MAUI 应用中的教程。
Azure OpenAI 服务:如果希望 Windows 应用访问 OpenAI 模型,例如 GPT-4、GPT-4 Turbo with Vision、GPT-3.5-Turbo、DALLE-3 或 Embeddings 模型系列,以及 Azure 的附加安全和企业功能,可以在此 Azure OpenAI 文档中找到相关的指导。
Azure AI 服务:Azure 通过采用常用开发语言的 REST API 和客户端库 SDK 提供一整套 AI 服务。 有关详细信息,请参阅各服务的相关文档。 这些基于云的服务通过现成的预生成可定制 API 和模型,帮助开发人员和组织快速创建智能、前沿、面向市场且负责任的应用程序。 应用程序示例包括对话、搜索、监视、翻译、语音、视觉和决策的自然语言处理。
在 Windows 应用中使用本地 API 与基于云的支持 AI 的 API 时的注意事项
在决定在 Windows 应用中使用依赖于本地运行 ML 模型的 API 还是云端 API 时,需要考虑以下优点和缺点。
资源可用性
- 本地设备:模型的运行取决于所使用设备上的可用资源,包括 CPU、GPU、NPU、内存和存储容量。 如果设备没有较高的计算能力或足够的存储空间,可能会受到限制。 小型语言模型 (SLM),例如 Phi,更适合在设备上本地使用。
- 云:诸如 Azure 等云平台提供可扩展的资源。 可以根据需要使用尽可能多的计算能力或存储,并按使用量付费。 大型语言模型 (LLM),例如 OpenAI 语言模型,需要更多的资源,但功能也更强大。
数据隐私和安全性
- 本地设备:由于数据保留在设备上,因此本地运行模型的方式更安全且更私密。 由用户负责数据安全。
- 云:云提供商提供可靠的安全措施,但需要将数据传输到云端,在某些情况下可能会引发数据隐私问题。
辅助功能和协作
- 本地设备:除非手动共享。除非手动共享,否则只能在设备上访问模型和数据。 这有可能使模型数据的协作变得更具挑战性。
- 云:可以从任何有互联网连接的地方访问模型和数据。 这可能更适合于协作方案。
成本
- 本地设备:除了设备的初始投资之外,没有支付额外的费用。
- 云:虽然云平台采用即用即付模式运行,但费用会根据所使用的资源和使用时间的长短而累积。
维护和更新
- 本地设备:用户负责维护系统和安装更新。
- 云:由云服务提供商负责维护、系统更新和新的功能更新,从而减少用户的维护开销。
请参阅在本地运行小型语言模型与在云端运行大型语言模型,详细了解在本地运行小型语言模型 (SLM) 与在云端运行大型语言模型 (LLM) 之间的差异。