ONNX

MET ONNX Runtime GenAI kan een .NET Agent Framework-toepassing lokaal een compatibel model uitvoeren. Gebruik dit voor offlineontwikkeling, deductie op het apparaat of implementaties waarbij modeluitvoering op de host moet blijven.

Opmerking

De huidige ONNX-client biedt geen ondersteuning voor het aanroepen van functies. Functiehulpprogramma's die aan de agent worden doorgegeven, worden genegeerd.

Prerequisites

  • .NET 8 of hoger.
  • Een model dat is geëxporteerd voor ONNX Runtime GenAI.
  • Voldoende lokaal geheugen en een compatibele uitvoeringsprovider voor het geselecteerde model.

De pakketten installeren

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

Configuration

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

Een op ONNX gebaseerde agent maken

Download een model dat is geëxporteerd voor ONNX Runtime GenAI en wijs ONNX_MODEL_PATH de modelmap aan.

// 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."));

De modelbestanden, de uitvoeringsprovider, kwantisatie en het beschikbare geheugen bepalen de compatibiliteit en prestaties van de hardware. Controleer de modellicentie voordat u deze opnieuw kunt distribueren.

Tools

De huidige ONNX-client biedt geen ondersteuning voor functieaanroepen of door providers gehoste hulpprogramma's.

Volgende stappen