共用方式為


教學課程:在 AI Dev Gallery

在本教學課程中,您將瞭解如何透過開放原始碼 Windows 應用程式 (可在 Microsoft Store 取得) 來AI Dev Gallery執行任何以 ONNX 為基礎的大型語言模型 (LLM),以展示 AI 支援的範例。

這些步驟適用於格式ONNX Runtime GenAI中的任何 LLM,包括:


  1. 打開 AI Dev Gallery 應用程序。

  2. 導覽至 [範例 ] 索引標籤,然後選擇 [文字] 範例 (例如,「產生文字」或「聊天記錄」)。

    導覽至 [範例] 索引標籤,然後選擇 [文字範例]

  3. 按一下 「模型選取器」 按鈕,以檢視該範例的可用模型。

    按一下「模型選取器」按鈕

  4. 選取 [自訂模型] 索引標籤,以引入您自己的 ONNX LLM。

    按一下「模型選取器」按鈕


步驟 2:取得或轉換 ONNX LLM 模型

若要在 中使用模型 AI Dev Gallery,它必須採用 格式 ONNX Runtime GenAI 。 您可以:

  • 下載預先轉換的模型:

  • 轉換您自己的模型:

    • 按一下模型選取器中的 [ 開啟 AI 工具組的轉換工具 ],這會在 Visual Studio Code 中啟動 AI 工具組擴充功能
      • 如果您尚未安裝它,請在 VS Code Extensions Marketplace 中搜尋「AI Toolkit」。
    • 使用適用於 Visual Studio Code 的 AI 工具組 將支援的模型轉換成 ONNX Runtime GenAI 格式。

目前支援轉換的型號:

  • DeepSeek R1 蒸餾 Qwen 1.5B
  • Phi 3.5 迷你指令
  • Qwen 2.5-1.5B 指導
  • 駱駝 3.2 1B 指導

備註

AI Toolkit 轉換處於預覽階段,目前僅支援上述模型。


  1. 一旦您擁有格式ONNX Runtime GenAI中的模型,請返回AI Dev Gallery模型選擇器視窗

  2. 按一下 [新增模型→ 從磁碟] ,並提供 ONNX 模型的路徑。

    從磁碟新增模型 AI Dev Gallery

    備註

    如果您使用 AI Toolkit 的轉換工具,轉換後的模型路徑應遵循以下格式:
    c:/{workspace}/{model_project}/history/{workflow}/model/model.onnx

  3. 新增後,您現在可以選取模型,並將其與互動式範例搭配使用。

    已選取自訂模型並可供使用 AI Dev Gallery

  4. 或者,按一下 [在應用程式中 顯示原始程式碼 ] 以檢視執行模型的程式碼。

    在 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 插入抽象概念 (IChatClientChatMessage等),因此您可以以自然、高階的方式處理提示和回應。
  • 在原廠 (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 應用程式的詳細資訊,請參閱:


另請參閱