ONNX

O ONNX Runtime GenAI permite que um aplicativo .NET Agent Framework execute um modelo compatível localmente. Use-o para desenvolvimento offline, inferência no dispositivo ou implantações em que a execução do modelo deve permanecer no host.

Note

O cliente ONNX atual não dá suporte à chamada de função. As ferramentas de função passadas para o agente são ignoradas.

Prerequisites

  • .NET 8 ou posterior.
  • Um modelo exportado para o ONNX Runtime GenAI.
  • Memória local suficiente e um provedor de execução compatível para o modelo selecionado.

Instalar os pacotes

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

Configuration

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

Criar um agente com base em ONNX

Baixe um modelo exportado para o ONNX Runtime GenAI e aponte ONNX_MODEL_PATH para o diretório de 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."));

Os arquivos de modelo, o provedor de execução, a quantização e a memória disponível determinam a compatibilidade e o desempenho do hardware. Examine a licença de modelo antes de redistribuí-la.

Tools

O cliente ONNX atual não dá suporte a chamadas de função ou ferramentas hospedadas pelo provedor.

Próximas Etapas