在 Windows 上開始使用 AI
與 Windows 一同建構智能 AI 體驗的能力正在快速發展。 Windows Copilot Runtime 提供 AI 支援的功能和 APIs,適用於 Copilot+ 電腦。 這些功能正在積極開發中,並隨時在本地於背景執行。 深入瞭解 Windows Copilot Runtime。
Windows Copilot Runtime以外,Microsoft提供各種 AI 服務、支援和指引。 若要開始並瞭解如何安全地整合 AI 以符合業務需求,請流覽 Windows AI 檔中的指引,包括:
如何在 Windows 應用程式中使用 AI?
Windows 應用程式可以利用 Machine Learning (ML) 模型來增強其 AI 功能與使用者體驗的幾種方式,包括:
- 應用程式可以使用 Generative AI 模型來瞭解複雜的主題,以摘要、重寫、報告或展開。
- 應用程式可以使用模型,將自由格式內容轉換成您的應用程式可以理解的結構化格式。
- 應用程式可以使用語意搜尋模型,讓使用者依意義搜尋內容,並快速尋找相關的內容。
- 應用程式可以使用自然語言處理模型來推理複雜的自然語言需求,並規劃和執行動作來完成用戶的詢問。
- 應用程式可以使用影像處理模型,智慧地修改影像、清除或新增物件、提高解析度或產生新內容。
- 應用程式可以使用預測性診斷模型來協助識別和預測問題,並協助引導使用者或為其執行。
選擇雲端式和本機 AI 服務
您可以將 AI 整合到 Windows 應用程式中,可透過兩個主要方法達成:本機模型或雲端式模型。 決定適合您需求的選項時,有幾個層面需要考慮。
資源可用性
- 本機裝置: 執行模型取決於所使用的裝置上可用的資源,包括 CPU、GPU、NPU、記憶體和記憶體和記憶體容量。 如果裝置沒有高計算能力或足夠的記憶體,這可能會受到限制。 小型語言模型(SLM),例如 Phi,更適合在裝置本機使用。 Copilot+ 電腦 提供內建模型,Windows Copilot Runtime 搭配現成可用的 AI 功能來執行。
- 雲端: 雲端平臺,例如 Azure AI Services,提供可調整的資源。 您可以視需要使用計算能力或記憶體,並只支付您所使用的費用。 大型語言模型(LLM),如 OpenAI 語言模型,需要更多的資源,但也更強大。
數據隱私權和安全性
- 本機裝置: 因為數據保留在裝置上,因此在本機執行模型可以提供安全性與隱私權的優點,並負責維護使用者的數據安全性。
- 雲端: 雲端提供者提供強大的安全性措施,但數據必須傳輸到雲端,在某些情況下可能會引發商務或 App Service 維護者的數據隱私權考慮。
輔助功能與共同作業
- 本機裝置: 除非手動共用,否則只能在裝置上存取模型和數據。 這有可能讓模型數據的共同作業更具挑戰性。
- 雲端: 模型和數據可以透過因特網連線從任何地方存取。 這在共同作業案例中可能更好。
成本
- 本機裝置: 除了裝置硬體的初始投資外,沒有其他額外的成本。
- 雲端: 雖然雲端平臺是以隨用隨付模型運作,但成本可以根據使用的資源和使用量持續時間來累積。
維護和更新
- 本機裝置: 使用者負責維護系統和安裝更新。
- 雲端: 雲端服務提供者會處理維護、系統更新和新功能更新,減少使用者的維護額外負荷。
使用 Windows Copilot Runtime
當本機 AI 模型是正確的解決方案時,您可以使用 Windows Copilot Runtime 功能將 AI 服務整合到使用 Copilot+ 的電腦上。 您可以從 Windows 應用程式利用的一些現成可用的 AI 功能包括:
- Phi Silica:本機的、即用型語言模型。
- Recall:使用 AI 來協助您搜尋過去活動的 UserActivity API,由 點擊以執行支援,此功能會使用 Phi Silica 將操作連結到 Recall找到的內容(文字或影像)。
- AI 影像:使用 AI 來調整和銳化影像(影像超級解析度),以及識別影像內的物件(影像分割)。
- Windows Studio Effects:將 AI 效果套用至裝置相機或內建麥克風。
深入瞭解 Windows Copilot Runtime Oveview中可用的功能。
使用雲端式 APIs
如果雲端式解決方案適用於您的 Windows 應用程式案例,您可能會對下列一些教學課程感興趣。
許多 APIs 可供存取雲端式模型,以在 Windows 應用程式中提供 AI 功能,不論這些模型是自定義還是可供使用。 使用雲端式模型可讓應用程式透過將資源密集型工作委派給雲端,以保持簡化。 一些資源可協助您新增由 Microsoft 或 OpenAI 提供的雲端為基礎的 AI 支援 APIs,包括:
將 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 提供一套完整的 AI 服務,可透過 REST APIs 和用戶端連結庫 SDK 提供熱門的開發語言。 如需詳細資訊,請參閱每個服務的文件。 這些雲端式服務可協助開發人員和組織使用現成且預先建置且可 APIs 自定義的和模型,快速建立智慧、尖端、市場就緒和負責任的應用程式。 範例應用程式包含適用於對話、搜尋、監視、翻譯、語音、視覺和決策制定的自然語言處理。
在您的本機電腦上使用自定義模型
如果您能夠使用自己的私有數據,在像 TensorFlow 或 PyTorch等平台上訓練自己的模型。 您可以使用visual Studio Code 的 ONNX Runtime 和 AI Toolkit,在裝置硬體上執行自定義模型,將其整合到 Windows 應用程式中。
Visual Studio CodeAI Toolkit 是一個 VS Code 擴充功能,可讓您在本機下載並執行 AI 模型,包括存取硬體加速以提升效能,並透過 DirectML進行擴展。 AI Tookit 也可以協助您:
- 使用 REST API 在直覺式遊樂場或應用程式中測試模型。
- 微調您的 AI 模型,無論是在本機還是雲端中(在虛擬機上),以建立新的技能、改善回應的可靠性、設定回應的音調和格式。
- 微調熱門的小型語言模型(SLM),如 Phi-3 和 Mistral。
- 將您的 AI 功能部署至雲端,或使用在裝置上執行的應用程式。
- 使用 DirectML 利用硬體加速以提升 AI 功能的效能。 DirectML 是低階 API,可讓您的 Windows 裝置硬體使用裝置 GPU 或 NPU 來加速 ML 模型的效能。 將 DirectML 與 ONNX Runtime 配對通常是開發人員大規模將硬體加速 AI 帶到使用者的最直接方式。 深入瞭解:DirectML 概觀。
您也可以查看這些 模型微調概念,將預先訓練的模型進行 調整,以更好地符合您的數據。
尋找開放原始碼模型
您可以在網路上找到開放原始碼 ML 模型,其中一些最受歡迎的包括:
- Hugging Face:Hugging Face 是一個由 Transformers 提供的中樞,裡面有超過 10,000 個預先訓練的 ML 模型供自然語言處理使用。 您可以尋找文字分類、問答、摘要、翻譯、產生等等的模型。
- ONNX 模型動物園:ONNX 格式預先定型 ML 模型的集合,涵蓋各種領域和工作,例如電腦視覺、自然語言處理、語音等等。
- Qualcomm AI Hub:一個平臺,可讓您存取針對 Qualcomm Snapdragon 裝置優化的各種 ML 模型和工具。 您可以尋找影像、視訊、音訊和感測器處理的模型,以及用於在行動裝置上建置和部署 ML 應用程式的架構、連結庫和 SDK。 Qualcomm AI Hub 也為開發人員和研究人員提供教學課程、指南和社群支援。
- Pytorch Hub:預訓練模型儲存庫,旨在協助研究再現並促進新研究。 它是簡單的 API 和工作流程,提供改善機器學習研究重現性的基本建置組塊。 PyTorch Hub 是由預先定型的模型存放庫所組成,專為協助研究重現而設計。
- TensorFlow 中樞:TensorFlow 預先定型 ML 模型和可重複使用元件的存放庫,這是建置和定型 ML 模型的常用架構。 您可以尋找影像、文字、視訊和音訊處理的模型,以及傳輸學習和微調。
- 模型 Zoo:一個平臺,可針對各種架構和工作策劃和排名最佳開放原始碼 ML 模型。 您可以依類別、架構、授權和評等來流覽模型,並查看每個模型的示範、程式代碼和檔。
某些模型函式庫 不適合調整 並透過應用程式散發,但作為開發生命周期中進行實際探索和發現的有用工具,例如:
- Ollama:Ollama 是各種工作的現成 ML 模型市集,例如臉部偵測、情感分析或語音辨識。 您可以按下滑鼠,瀏覽、測試和整合模型到您的應用程式。
- LM Studio:Lmstudio 是一種工具,可讓您使用拖放介面,從自己的數據建立自定義 ML 模型。 您可以選擇不同的 ML 演算法、預先處理和視覺化您的資料,以及定型和評估您的模型。
使用負責任的 AI 做法
當您在 Windows 應用程式中納入 AI 功能時,我們 高度 建議您遵循 在 Windows 上開發負責任生成式 AI 應用程式和功能的 指南。
本指南將協助您瞭解治理政策、實務與流程、識別風險、提供測試方法建議、利用管理者和篩選器等安全措施,並在選擇安全且負責任的模型時,指出需注意的特定考慮因素。
Windows Copilot Runtime 裝置上產生的 AI 模型可協助您強制執行本機內容安全性功能,例如有害內容的裝置上分類引擎和預設封鎖清單。 Microsoft優先支持開發人員在 Windows 上建置安全且值得信任的 AI 體驗。
其他資源
Phi Silica,小身型但效能強大的內建裝置 SLM (Windows 部落格)
Windows 範例庫上的 AI:示範如何將 AI 整合到 Windows 應用程式中的範例。
關於搭配 Windows 使用 AI 的常見問題:關於在 Windows 內容中使用 AI 的相關術語和概念常見問題,涵蓋「什麼是 DirectML?」、「什麼是 ONNX?」、「什麼是 ORT?」、「什麼是 NPU?」、「什麼是 SLM?」、「什麼是推斷?」、「什麼是微調?」等問題。
ONNX:跨不同架構和平臺代表和交換 ML 模型的開放標準。 如果您在 ONNX 格式中找到預先定型的 ML 模型,您可以使用 ONNX Runtime (ORT),在 Windows 應用程式中載入和執行模型。 ORT 可讓您存取裝置的硬體加速推斷功能,並將 ML 模型的效能優化。 如果您有不同類型的預先定型 ML 模型,例如 PyTorch 或 TensorFlow,您可以使用 Olive之類的模型優化工具,將它轉換成 ONNX。 如需使用 Olive 的說明,請參閱 使用 Microsoft Olive 微調 SLM(Generative AI Application Architecture 旅程系列)。 如需建立和使用 ONNX 模型的教學課程,請參閱 GitHub 上的 ONNX 教學課程。 如需示範如何在 Windows 應用程式中使用 ONNX 模型的範例,請參閱 Windows 範例庫上的 AI。
用於網頁應用程式的 WebNN API:一種基於 WebIDL 和 JavaScript 的 Web 標準,可在瀏覽器中存取神經網路硬體加速APIs。 它可讓 Web 開發人員在用戶端有效率地建立和執行機器學習模型,而不需要依賴雲端服務或原生連結庫。 GitHub 上的 WebNN 範例。 在 Windows 範例資源庫中使用 AI ONNX Runtime的 WebNN 範例。
PyTorch:Python 和C++介面所提供的非常熱門的開放原始碼深度學習架構。 這可能是您針對 ML 模型找到的最常見格式。 如果您想要在 Windows (C# 或 C++) 應用程式或 Web 應用程式中使用 PyTorch ML 模型,您可以使用 TorchSharp 和 LibTorch,這是 PyTorch 連結庫的 .NET 和C++系結。 TorchSharp 和 LibTorch 可讓您建立、載入及作張量、建置和執行神經網路,以及使用 PyTorch 格式儲存和載入模型。 如需範例,請參閱 TorchSharp 範例、TorchScript for Deployment、PyTorch C++ Examples。 如需 Web 應用程式,請參閱 使用 ONNX Runtime建置 Web 應用程式。 如需如何使用 DirectML 執行 PyTorch 模型的範例,請參閱 Windows 範例庫上的 AI。
TensorFlow 是另一個熱門的開放原始碼軟體連結庫,適用於機器學習和人工智慧,用來建置和部署各種工作的機器學習模型。