ONNX

MIT ONNX Runtime GenAI kann eine .NET Agent Framework-Anwendung ein kompatibles Modell lokal ausführen. Verwenden Sie sie für die Offlineentwicklung, geräteinterne Ableitung oder Bereitstellungen, bei denen die Modellausführung auf dem Host bleiben muss.

Note

Der aktuelle ONNX-Client unterstützt keinen Funktionsaufruf. Funktionstools, die an den Agent übergeben werden, werden ignoriert.

Voraussetzungen

  • .NET 8 oder höher.
  • Ein Modell, das für DIE ONNX-Runtime GenAI exportiert wurde.
  • Ausreichender lokaler Speicher und ein kompatibler Ausführungsanbieter für das ausgewählte Modell.

Installieren der Pakete

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

Configuration

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

Erstellen eines ONNX-gesicherten Agents

Laden Sie ein Modell herunter, das für ONNX Runtime GenAI exportiert wurde, und verweisen ONNX_MODEL_PATH Sie auf das Modellverzeichnis.

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

Die Modelldateien, der Ausführungsanbieter, die Quantisierung und der verfügbare Arbeitsspeicher bestimmen hardwarekompatibilität und -leistung. Überprüfen Sie die Modelllizenz, bevor Sie sie weitervertreiben.

Tools

Der aktuelle ONNX-Client unterstützt keine Funktionsaufrufe oder vom Anbieter gehostete Tools.

Nächste Schritte