ONNX

ONNX Runtime GenAI permet à une application .NET Agent Framework d’exécuter un modèle compatible localement. Utilisez-le pour le développement hors connexion, l’inférence sur appareil ou les déploiements où l’exécution du modèle doit rester sur l’hôte.

Note

Le client ONNX actuel ne prend pas en charge les appels de fonction. Les outils de fonction passés à l’agent sont ignorés.

Prerequisites

  • .NET 8 ou version ultérieure.
  • Modèle exporté pour ONNX Runtime GenAI.
  • Mémoire locale suffisante et fournisseur d’exécution compatible pour le modèle sélectionné.

Installer les packages

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

Configuration

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

Créer un agent soutenu par ONNX

Téléchargez un modèle exporté pour ONNX Runtime GenAI et pointez ONNX_MODEL_PATH vers le répertoire du modèle.

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

Les fichiers de modèle, le fournisseur d’exécution, la quantisation et la mémoire disponible déterminent la compatibilité et les performances matérielles. Passez en revue la licence du modèle avant de la redistribuer.

Tools

Le client ONNX actuel ne prend pas en charge l’appel de fonction ou les outils hébergés par un fournisseur.

Étapes suivantes