ONNX

ONNX Runtime GenAI permite que uma aplicação .NET Agent Framework execute localmente um modelo compatível. Utilize-o para desenvolvimento offline, inferência no dispositivo ou implementações onde a execução do modelo deve permanecer no host.

Observação

O cliente ONNX atual não suporta chamada de funções. As ferramentas funcionais passadas ao agente são ignoradas.

Pré-requisitos

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

Instale 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>"

Crie um agente apoiado pela ONNX

Descarregue um modelo exportado para ONNX Runtime GenAI e aponte ONNX_MODEL_PATH para o diretório de modelos.

// 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 ficheiros de modelo, o fornecedor de execução, a quantização e a memória disponível determinam a compatibilidade e o desempenho do hardware. Revise a licença do modelo antes de a redistribuir.

Tools

O cliente ONNX atual não suporta chamadas de função nem ferramentas alojadas pelo fornecedor.

Passos seguintes