ONNX

Usługa ONNX Runtime GenAI umożliwia aplikacji platformy Agent Framework .NET lokalne uruchamianie zgodnego modelu. Służy do programowania w trybie offline, wnioskowania na urządzeniu lub wdrożeń, w których wykonywanie modelu musi pozostać na hoście.

Uwaga / Notatka

Bieżący klient ONNX nie obsługuje wywoływania funkcji. Narzędzia funkcyjne przekazane agentowi są ignorowane.

Wymagania wstępne

  • .NET 8 lub nowsza wersja.
  • Model wyeksportowany dla środowiska uruchomieniowego ONNX GenAI.
  • Wystarczająca pamięć lokalna oraz zgodny dostawca wykonywania obliczeń dla wybranego modelu.

Instalowanie pakietów

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

Configuration

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

Tworzenie agenta opartego na języku ONNX

Pobierz model wyeksportowany dla ONNX Runtime GenAI i wskaż w elemencie ONNX_MODEL_PATH katalog modelu.

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

Pliki modelu, dostawca wykonywania, kwantyzacja i dostępna pamięć określają zgodność i wydajność sprzętu. Przejrzyj licencję modelu przed jego ponowne udostępnieniem.

Tools

Bieżący klient ONNX nie obsługuje wywoływania funkcji ani narzędzi hostowanych przez dostawcę.

Następne kroki