TensorSharp, eine reine .NET-Inferenz-Engine für GGUF-Sprachmodelle, ist ab sofort öffentlich verfügbar. Sie ermöglicht es .NET-Entwicklern, die Inferenz von Large Language Models (LLM) durchzuführen, ohne einen Python-Server starten zu müssen. Das Projekt verspricht eine Performance, die mit dem weit verbreiteten llama.cpp vergleichbar ist, während es auf Windows, macOS und Linux läuft und CPU-, CUDA-, MLX-, Metal- und Vulkan-Backends unterstützt.

Warum natives .NET wichtig ist

Die meisten LLM-Runtimes sind in C/C++ geschrieben oder verlassen sich auf Python-Wrapper, die einen separaten Prozess bereitstellen. Für Teams, deren Dienste bereits auf .NET laufen, bedeutet diese zusätzliche Ebene den Einsatz von Containern, Interprozesskommunikation und eine größere Angriffsfläche. Die Inferenz innerhalb derselben Runtime zu halten, ermöglicht es Entwicklern, CI/CD-Pipelines zu vereinfachen, Latenzen durch Netzwerk-Hops zu reduzieren und die Kosten für die Wartung einer Python-Umgebung zu senken.

Wie TensorSharp aufgebaut ist

Der Autor hat die Engine von Grund auf neu geschrieben, anstatt llama.cpp wiederzuverwenden. Das CPU-Backend besteht zu 100 % aus C#, sodass Windows und Linux ohne native Abhängigkeiten laufen. Die GPU-Unterstützung wird durch bestehende Grafik-APIs bereitgestellt: CUDA für Nvidia, MLX für Apple Silicon, Metal für macOS-GPUs und Vulkan für plattformübergreifende Hardware. Moderne Techniken wie ein Paged Key-Value (KV) Cache, Continuous Batching und Speculative Decoding für Modelle wie Qwen und Gemma sind im Kern integriert.

Funktionen, die Entwickler sofort nutzen können

  • GGUF-Modellkompatibilität – dasselbe Format, das auch bei aktuellen Open-Source-LLM-Releases verwendet wird.
  • Plattformübergreifender Betrieb – läuft auf Windows, macOS und Linux ohne Codeänderungen.
  • OpenAI- und Ollama-kompatible HTTP-APIs – ein direkter Ersatz für bestehende Client-Bibliotheken.
  • Multimodale Verarbeitung – kann Bilder, Video, Audio und PDFs als Teil eines Prompts verarbeiten.
  • Tool Calling und strukturierte Ausgaben – unterstützt Function-Calling-Muster, wie sie bei chatbasierten Agenten üblich sind.

Performance im Vergleich zu llama.cpp

Die vom Maintainer geteilten Benchmarks zeigen gemischte Ergebnisse:

  • Prefill und Time-to-First-Token (TTFT) – TensorSharp schlägt llama.cpp oft und liefert eine geringere Latenz bei der ersten Antwort.
  • Decode-Durchsatz – in der Regel ähnlich oder etwas langsamer als bei llama.cpp.

Die Zahlen deuten darauf hin, dass die reine C#-Implementierung in den latenzsensitivsten Phasen keine Geschwindigkeit einbüßt, während sie bei der reinen Token-pro-Sekunde-Ausgabe wettbewerbsfähig bleibt.

Zu beachtende Einschränkungen

  • Die Leistung in der Praxis variiert je nach Modellarchitektur, Hardwarekonfiguration und Speicherlayout; Entwickler sollten eigene Benchmarks durchführen, bevor sie die Engine in der Produktion einsetzen.

Ausblick

Der Diskussionskanal des Projekts auf Telegram bietet Early Adoptern eine Plattform, um Ergebnisse zu teilen und neue Funktionen anzufragen.

Fazit: TensorSharp bietet .NET-Unternehmen die Möglichkeit, LLM-Inferenz direkt in ihre Anwendungen einzubetten, wodurch ein separater Python-Stack überflüssig wird und Latenzen erreicht werden, die mit dem De-facto-Standard llama.cpp vergleichbar sind. Produktionsteams sollten die Performance auf ihrer Zielhardware validieren, aber die Engine ebnet einen klaren Weg für native KI-Dienste innerhalb des .NET-Ökosystems.