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
  • 项目
  • 项目