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.

Note

Bieżący klient ONNX nie obsługuje wywoływania funkcji. Narzędzia funkcji przekazywane do agenta są ignorowane.

Wymagania wstępne

  • .NET 8 lub nowszych.
  • Model wyeksportowany dla środowiska uruchomieniowego ONNX GenAI.
  • Wystarczająca ilość pamięci lokalnej i zgodnego dostawcy wykonywania 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 generacji środowiska uruchomieniowego ONNX i wskaż 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