ONNX

ONNX Runtime GenAI consente a un'applicazione .NET Agent Framework di eseguire un modello compatibile in locale. Usarlo per lo sviluppo offline, l'inferenza sul dispositivo o le distribuzioni in cui l'esecuzione del modello deve rimanere nell'host.

Annotazioni

Il client ONNX corrente non supporta la chiamata di funzione. Gli strumenti di funzione passati all'agente vengono ignorati.

Prerequisiti

  • .NET 8 o versione successiva.
  • Modello esportato per ONNX Runtime GenAI.
  • Memoria locale sufficiente e un provider di esecuzione compatibile per il modello selezionato.

Installare i pacchetti

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

Configuration

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

Creare un agente supportato da ONNX

Scaricare un modello esportato per ONNX Runtime GenAI e puntare ONNX_MODEL_PATH alla directory del modello.

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

I file del modello, il provider di esecuzione, la quantizzazione e la memoria disponibile determinano la compatibilità e le prestazioni dell'hardware. Esaminare la licenza del modello prima di ridistribuirla.

Tools

Il client ONNX corrente non supporta le chiamate di funzione o gli strumenti ospitati dal provider.

Passaggi successivi