在這個教學中,你將學習如何透過 — 一個開源的 Windows 應用程式(可在 AI Dev Gallery 取得)來執行任何基於 ONNX 的大型語言模型(LLM),該應用程式展示了 AI 驅動的範例。
這些步驟適用於格式ONNX Runtime GenAI中的任何 LLM,包括:
- 從 Hugging Face 下載的模型
- 使用 AI Toolkit for Visual Studio Code 轉換工具從其他架構轉換的模型
步驟1:在 AI Dev Gallery 中選擇一個互動範例
打開 AI Dev Gallery 應用程序。
請前往 範例 標籤,選擇 一個文字 範例(例如「產生文字」或「聊天」)。
按一下 「模型選取器」 按鈕,以檢視該範例的可用模型。
選取 [自訂模型] 索引標籤,以引入您自己的 ONNX LLM。
步驟 2:取得或轉換 ONNX LLM 模型
若要在 中使用模型 AI Dev Gallery,它必須採用 格式 ONNX Runtime GenAI 。 您可以:
下載預先轉換的模型:
瀏覽 Hugging Face ONNX 型號上的型號,或
在 AI Dev Gallery中,移至 新增模型 → 搜尋 HuggingFace
轉換您自己的模型:
- 在模型選擇器中點 選 Open AI Toolkit 的轉換工具 ,即可在 Visual Studio Code 中啟動 AI Toolkit 擴充功能 。
- 如果你還沒安裝,可以在 VS Code 擴充套件市集搜尋「AI Toolkit」。
- 使用適用於 Visual Studio Code 的 AI 工具組 將支援的模型轉換成 ONNX Runtime GenAI 格式。
- 在模型選擇器中點 選 Open AI Toolkit 的轉換工具 ,即可在 Visual Studio Code 中啟動 AI Toolkit 擴充功能 。
目前支援轉換的型號:
- DeepSeek R1 蒸餾 Qwen 1.5B
- Phi 3.5 迷你指令
- Qwen 2.5-1.5B 指導
- 駱駝 3.2 1B 指導
備註
AI Toolkit 轉換處於預覽階段,目前僅支援上述模型。
步驟 3:在 AI Dev Gallery
一旦您擁有格式ONNX Runtime GenAI中的模型,請返回AI Dev Gallery模型選擇器視窗。
按一下 [新增模型→ 從磁碟] ,並提供 ONNX 模型的路徑。
備註
如果你使用 AI Toolkit 的轉換工具,轉換後的模型路徑應該會遵循以下格式:
c:/{workspace}/{model_project}/history/{workflow}/model/model.onnx新增後,您現在可以選取模型,並將其與互動式範例搭配使用。
或者,按一下 [在應用程式中 顯示原始程式碼 ] 以檢視執行模型的程式碼。
AI Dev Gallery 中的支援範例
這些 ONNX LLM 可與下列 AI Dev Gallery範例搭配使用:
文字
- 產生文字
- 摘要文字
- Chat
- 語義內核聊天
- 語法檢查
- 釋義文本
- 分析文字情緒
- 內容審核
- 自定義參數
- 擷取增強生成
智慧控制
- 智慧型文字方塊
Code
- 產生程式碼
- 解釋程式碼
後續步驟
現在你已經在AI Dev Gallery中嘗試過 ONNX LLM,接下來可以將同樣的方法應用在你自己的應用程式中。
此範例的運作方式
- 範例會 AI Dev Gallery 使用
OnnxRuntimeGenAIChatClient(來自 ONNX Runtime GenAI SDK) 來包裝您的 ONNX 模型。 - 此用戶端會
Microsoft.Extensions.AI插入抽象概念 (IChatClient、ChatMessage等),因此您可以以自然、高階的方式處理提示和回應。 - 在原廠 (
OnnxRuntimeGenAIChatClientFactory) 中,應用程式可確保 Windows ML 已註冊 (WinML) 執行提供者,並以最佳可用的硬體加速 (CPU、GPU 或 NPU) 執行 ONNX 模型。
範例中的範例:
// Register WinML execution providers (under the hood)
var catalog = Microsoft.Windows.AI.MachineLearning.ExecutionProviderCatalog.GetDefault();
await catalog.EnsureAndRegisterCertifiedAsync();
// Create a chat client for your ONNX model
chatClient = await OnnxRuntimeGenAIChatClientFactory.CreateAsync(
@"C:\path\to\your\onnx\model",
new LlmPromptTemplate
{
System = "<|system|>\n{{CONTENT}}<|end|>\n",
User = "<|user|>\n{{CONTENT}}<|end|>\n",
Assistant = "<|assistant|>\n{{CONTENT}}<|end|>\n",
Stop = [ "<|system|>", "<|user|>", "<|assistant|>", "<|end|>"]
});
// Stream responses into your UI
await foreach (var part in chatClient.GetStreamingResponseAsync(messages, null, cts.Token))
{
OutputTextBlock.Text += part;
}
如需將 ONNX 模型整合至 Windows 應用程式的詳細資訊,請參閱:
另請參閱
- 下載 AI Dev Gallery
- Hugging Face 上的 ONNX 模特兒
- 適用於 Visual Studio Code 的 AI 工具組
- AI Dev Gallery GitHub 存放庫