ONNX

ONNX 執行環境生成人工智慧讓 .NET 代理框架應用程式能在本地執行相容模型。 可用於離線開發、裝置端推論,或模型執行必須保留在主機端的部署情境。

備註

目前的 ONNX 用戶端不支援函式呼叫。 傳遞給代理的函式工具會被忽略。

Prerequisites

  • .NET 8 或更新。
  • 一個匯出給 ONNX Runtime GenAI 的模型。
  • 具備足夠的本地記憶體及相容的執行提供者以配合所選型號。

安裝套件

dotnet add package Microsoft.ML.OnnxRuntimeGenAI
dotnet add package Microsoft.Agents.AI --prerelease

Configuration

ONNX_MODEL_PATH="<path-to-onnx-runtime-genai-model-directory>"

建立一個由 ONNX 支援的代理

下載一個匯出給 ONNX Runtime GenAI 的模型,並指向 ONNX_MODEL_PATH 模型目錄。

// E.g. C:\repos\Phi-4-mini-instruct-onnx\cpu_and_mobile\cpu-int4-rtn-block-32-acc-level-4
var modelPath = Environment.GetEnvironmentVariable("ONNX_MODEL_PATH") ?? throw new InvalidOperationException("ONNX_MODEL_PATH is not set.");

// Get a chat client for ONNX and use it to construct an AIAgent.
using OnnxRuntimeGenAIChatClient chatClient = new(modelPath);
AIAgent agent = chatClient.AsAIAgent(instructions: "You are good at telling jokes.", name: "Joker");

// Invoke the agent and output the text result.
Console.WriteLine(await agent.RunAsync("Tell me a joke about a pirate."));

模型檔案、執行提供者、量化及可用記憶體決定硬體相容性與效能。 在重新分發前,請先審查該型號授權。

Tools

目前的 ONNX 用戶端不支援函式呼叫或提供者託管工具。

下一步