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
- 專案
- 專案