Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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.