ONNX

ONNX Runtime GenAI permite que una aplicación .NET Agent Framework ejecute un modelo compatible localmente. Úselo para el desarrollo sin conexión, la inferencia en el dispositivo o las implementaciones en las que la ejecución del modelo debe permanecer en el host.

Note

El cliente ONNX actual no admite llamadas a funciones. Las herramientas de función pasadas al agente se omiten.

Prerequisites

  • .NET 8 o posterior.
  • Modelo exportado para ONNX Runtime GenAI.
  • Suficiente memoria local y un proveedor de ejecución compatible para el modelo seleccionado.

Instalación de los paquetes

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

Configuration

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

Creación de un agente respaldado por ONNX

Descargue un modelo exportado para ONNX Runtime GenAI y apunte ONNX_MODEL_PATH al directorio del modelo.

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

Los archivos de modelo, el proveedor de ejecución, la cuantificación y la memoria disponible determinan la compatibilidad y el rendimiento del hardware. Revise la licencia del modelo antes de redistribuirla.

Tools

El cliente ONNX actual no admite la llamada a funciones ni las herramientas hospedadas por el proveedor.

Pasos siguientes