kkokosa/dotLLM

LLM inference engine written in .NET

解決的問題

dotLLM 是一個使用 C# 和.NET 原生構建的高性能 LLM 推理引擎。它消除了對 Python 封裝或 llama.cpp 等外部函式庫的需求,為執行基於 Transformer 的模型(如 Llama、Mistral、Phi、Qwen 和 DeepSeek)提供了純.NET 實作,具備原生速度與效率。

工作原理

該引擎使用非託管記憶體來實現零 GC 推理,並利用 SIMD 向量化進行 CPU 計算。對於 GPU 加速,它使用透過 CUDA Driver API 載入的 CUDA PTX 核心。它支援透過記憶體映射檔案載入 GGUF 模型,實現近乎瞬時的啟動。架構採用分層設計,將伺服器(OpenAI 相容 API)、引擎(KV-cache 與排程)以及後端(CPU/CUDA)分離。

適用對象

希望在不依賴 Python 或原生共享函式庫的情況下將 LLM 推理直接整合到應用程式中的.NET 開發者,以及正在尋找具有 OpenAI 相容 API 的輕量級、高性能本地 LLM 伺服器的使用者。

亮點

  • 原生.NET 實作:從底層使用 C# 編寫;並非封裝層。
  • 效能優化:Zero-GC 熱路徑、SIMD 優化的 CPU 核心以及 CUDA GPU 加速。
  • 進階推理功能:支援投機解碼 (speculative decoding)、分頁 KV-cache 與提示詞快取 (prompt caching)。
  • 結構化輸出:受限解碼,確保符合 JSON、JSON Schema、正規表示式與語法規範。
  • 部署靈活性:提供全域.NET 工具、自包含二進位檔案或 NuGet 套件。
  • OpenAI 相容性:包含帶有 /v1/chat/completions 的 ASP.NET 伺服器與內建 Web UI。

相關

  • 專案
  • 專案
  • Dispatch
  • 專案
  • 專案