内容提要
2026年,.NET生态出现三个本地大模型推理引擎:LLamaSharp借力llama.cpp,性能稳定但依赖原生库;dotLLM纯C#实现,CPU解码追平C++,但预填充慢,零原生依赖;TensorSharp融合GGML内核,GPU吞吐领先,支持多模态和集群。三者各具优势,求稳选LLamaSharp,求纯选dotLLM,求全选TensorSharp,C#本地推理已成熟。
延伸解读
性能对比的陷阱
三家引擎的官方基准各自独立,直接对比数字容易失真。例如dotLLM在CPU解码上追平llama.cpp,但预填充仍慢2-3倍;TensorSharp在GPU吞吐上领先,但Vulkan MoE场景落后。选型时应关注具体场景,而非单一指标。
维护风险不容忽视
dotLLM和TensorSharp均为2026年新项目,核心开发者仅一人,存在维护中断风险。相比之下,LLamaSharp有三年迭代和百人社区,且与微软生态集成。选择新引擎时,需评估长期维护的可持续性。
部署自由度是关键差异
dotLLM零原生依赖,支持Native AOT单文件分发,启动约50ms,适合对部署灵活性要求高的场景。而LLamaSharp依赖llama.cpp原生库,TensorSharp集成GGML,均需考虑原生库分发问题。这一差异可能直接影响选型决策。
Q&A
2026年.NET生态中有哪些本地大模型推理引擎?
2026年.NET生态中出现了三个本地大模型推理引擎:LLamaSharp、dotLLM和TensorSharp。
LLamaSharp、dotLLM和TensorSharp在技术路线上有什么区别?
LLamaSharp通过P/Invoke调用llama.cpp原生库,依赖原生库;dotLLM是纯C#实现,零原生依赖,通过CUDA Driver API加载PTX内核;TensorSharp融合GGML内核,并添加了连续批处理、张量并行、多模态等高级功能。
dotLLM在CPU解码和预填充性能上与llama.cpp相比如何?
在CPU解码上,dotLLM在135M模型上为llama.cpp的0.74倍,1B模型为0.95倍,3B模型为1.01倍,基本持平;但在CPU预填充上,dotLLM仅为llama.cpp的0.32倍到0.57倍,差距约2-3倍。
TensorSharp在GPU吞吐上相比llama.cpp有哪些优势?
TensorSharp在GPU吞吐上相比llama.cpp有优势,例如在RTX 3080上,Gemma 4预填充为1.28倍,首token延迟为1.27倍,多轮对话最高为1.49倍。其优势来源于连续批处理和前缀共享等调度优化。
三个引擎中哪个支持Native AOT单文件分发?
dotLLM是三者中唯一支持Native AOT单文件分发的引擎,启动时间约50ms,因为它零原生依赖。
TensorSharp相比其他两个引擎有哪些独特功能?
TensorSharp在GGML内核基础上增加了vLLM式连续批处理、张量并行、跨机TCP集群、多模态(图/视/音频)、文本扩散和图像编辑等功能。
根据文章,如何选择适合的.NET本地推理引擎?
根据文章,求稳选LLamaSharp,求纯选dotLLM,求全选TensorSharp。LLamaSharp稳定成熟,dotLLM零依赖适合AOT,TensorSharp功能全面。