TensorSharp
一个面向 GGUF 模型的原生 .NET 推理引擎 —— 提供 CLI、浏览器聊天、兼容 Ollama 与 OpenAI 的 API,以及可选的 AgentHost,用于渐进式技能加载与模型生成代码沙箱。
一切都运行在你自己的硬件上:你的笔记本、工作站或服务器。推理与智能体工作默认留在本机,没有按 token 计费,同一套引擎既能完成快速的命令行测试,也能支撑团队内部共享的聊天机器人和生产环境的 REST 接口。运维方明确授予任一执行面的网络权限,或接受 Windows 的非受限代码执行模式后,数据才可能离开本机。本维基是完整指南 —— 从下方选择一个起点,或按 / 进行搜索。
新书 · TensorSharp 与 TensorAgent
Building Inference Engines and Agentic Runtimes from Scratch
Qwen Dense and MoE Models with TensorSharp and TensorAgent
以 Qwen 稠密模型与混合专家(MoE)模型为例,探索如何使用 TensorSharp 和 TensorAgent 从零构建推理引擎与智能体运行时。配合源码阅读,将模型执行与支撑智能体应用的运行时联系起来。
浏览维基
快速开始
环境要求、构建、下载模型,并流式输出你的第一个回复。
命令行
从 CLI 运行提示词、图像、音频、批处理与基准测试。
服务器与 Web UI
在本机托管浏览器聊天机器人和 HTTP 接口。
智能体工作流
按需加载技能、运行沙箱代码工具、修复输出并下载生成产物。
TensorAgent for iOS
使用 ggml_metal 在 iPhone 和 iPad 上运行本地聊天与有界智能体工作。
HTTP API
用 curl、Python 或任意 Ollama / OpenAI 客户端调用它。
C# 库
将引擎直接嵌入你的 .NET 应用。
API 参考
可搜索的参数、环境变量、端点与类型表。
模型
全部十三种架构、下载方式、多模态与推理能力 —— 以及想要更快时该选哪个权重。
多 GPU 与多节点
跨 GPU(CUDA 与 GGML)、跨机器的张量并行。
术语表与 FAQ
初识大模型?这里有通俗的定义和常见问题。
约 30 秒快速上手
按平台安装 .NET 10 SDK、git 与 curl 后,这条路径在原生 GGML 后端上运行经基准验证的 Gemma 4 E4B Q8_0 模型。复制命令约需 30 秒;7.48 GiB 的模型下载与首次 restore/构建耗时更久,取决于网络与机器。下面的代码块面向 Linux + NVIDIA —— 其他后端见下文。Windows PowerShell 请用 curl.exe。
-
克隆
下方第一次
dotnet run会 restore 项目并编译原生 GGML CUDA 后端;首次构建可能需要数分钟。git clone https://github.com/zhongkaifu/TensorSharp.git cd TensorSharp -
下载模型
推荐文件是
gemma-4-E4B-it-Q8_0.gguf(7.48 GiB);同一仓库还提供更省内存的gemma-4-E4B-it-Q4_K_M.gguf。curl --create-dirs --fail -L "https://huggingface.co/ggml-org/gemma-4-E4B-it-GGUF/resolve/main/gemma-4-E4B-it-Q8_0.gguf?download=true" -o models/gemma-4-E4B-it-Q8_0.gguf -
运行它
环境变量赋值用于启用 CUDA 原生构建。E4B 还支持思考(
--think)与工具调用(--tools)。echo "简短回答:TensorSharp 是什么?" > prompt.txt TENSORSHARP_GGML_NATIVE_ENABLE_CUDA=ON dotnet run --project TensorSharp.Cli -c Release -p:TensorSharpSkipMlxNative=true -- --model models/gemma-4-E4B-it-Q8_0.gguf --input prompt.txt --max-tokens 128 --backend ggml_cuda -
想要 UI + API?
用同一模型启动服务端。浏览器聊天位于
/;纯文本存活检查位于/health。TENSORSHARP_GGML_NATIVE_ENABLE_CUDA=ON dotnet run --project TensorSharp.Server.Host -c Release -p:TensorSharpSkipMlxNative=true -- --model models/gemma-4-E4B-it-Q8_0.gguf --backend ggml_cuda --max-tokens 128 # 打开 http://localhost:5000/
其他后端与多模态
Apple Silicon 请省略 CUDA 环境变量并使用 ggml_metal;受支持的 Windows/Linux Vulkan GPU 请改为请求 TENSORSHARP_GGML_NATIVE_ENABLE_VULKAN=ON 并使用 ggml_vulkan;没有 GPU 时使用 ggml_cpu(原生 CPU 内核,无需 GPU 工具链)。纯文本推理只需要模型 GGUF;图像、视频或音频输入还需下载匹配的 mmproj-gemma-4-E4B-it-Q8_0.gguf,并通过 --mmproj 传入。Windows PowerShell 与完整平台语法见 E4B 快路径说明。
为什么选择 TensorSharp?
默认私有
推理留在你的硬件上。命令与技能脚本默认不可联网;Windows 非受限代码执行是明确的例外。
能完成工作的技能
AgentHost 预先只公布技能元数据,通过 skills_read 加载说明,并可选择开启五个受工作区约束的文件 / 代码工具,其中 shell 在沙箱内运行。
没有按 token 账单
硬件允许多少就跑多少 —— 成本可预测,没有计量 API。
即插即用兼容
支持 Ollama 与 OpenAI 协议,现有工具与 SDK 直接可用。
随处可运行
NVIDIA (CUDA)、AMD / Intel / NVIDIA (Vulkan)、Apple Silicon 和 iOS (Metal/MLX) 或纯 CPU —— 均带自动回退。
现代模型支持
十二个文本家族 —— DeepSeek V4 Flash、DeepSeek V4.1 Flash、GLM 5.2、GLM-5.3 与 GLM-5.3-Flash、Gemma 4、DiffusionGemma、Qwen 3.5 / 3.6、Qwen 3.8 Flash Next、GPT-OSS、Nemotron-H、Mistral 3、Hunyuan Dense、Muse-Glimmer —— 外加视觉、音频、PDF 文档、推理与工具调用。另有三个家族产出媒体而非文本:图像(Qwen-Image-Edit)、带原生立体声音轨的视频(MiniMax-H3),以及只有画面的视频(Wan 2.1 / 2.2)。
还能产出图像与视频
MiniMax-H3 在一份打包潜变量里同时生成视频与原生 32 kHz 立体声音频;Qwen-Image-Edit 按提示词改写图像;Wan 2.1 / 2.2 只生成 H.264 画面——同一个引擎、同一套 GGUF 管线。H3 出厂即经 CFG 蒸馏,工作点是 --cfg 1.0 下的 4–8 步;改用步数蒸馏(step-distilled)的 Wan 权重,同一段 5 秒 720p 视频只需 17 分钟,而不是 3 个半小时。
用 .NET 构建
原生 C# 引擎,可嵌入你的应用,而不只是一个黑盒二进制。
不止一张 GPU
张量并行用 --tp N 把每层的权重切分到多张 GPU 上(Direct CUDA 与 GGML CUDA / Vulkan 均可);一台机器不够时,还可通过点对点 TCP 网格跨机器扩展。整模型执行器也支持分层切分(layer split) —— 每张 GPU 拿一段完整的层、没有集合通信:DeepSeek V4 Flash 与 GLM 5.x 不需任何参数,Qwen 3.8 Flash Next 则在 --tp N 下走这条路。GLM 5.x(GLM-5.2、GLM-5.3 与 GLM-5.3-Flash 相同)传入 --tp N 时都会在 GGML GPU 后端上选择仅支持本地单进程的原生 TP。Qwen 的切分买的是容量,不是速度。
对比 llama.cpp 的基准
GLM-5.3-Flash 的 decode 达到 llama.cpp 的 2.0× —— 在 2× RTX PRO 6000 Blackwell 上以 UD-Q2_K_XL 分层切分背靠背实测,tg64 为 73.5 vs 36.6 tok/s,prefill 两边相差均在几个百分点以内。GLM-5.3(非 Flash)则是 decode 打平:在 8× A40 46 GB 上以 UD-Q2_K_XL、10,531 token 提示实测 20.48 vs 20.28 tok/s,而它 236.4 GiB 的检查点加载快 2.9×(264 s vs 753 s),首 token 则晚约 1.4×(TTFT 41.9 s vs 29.0 s)。在相同 GGUF 文件与相同 GPU 上与 C++ 引擎互有胜负 —— 在当前的 CUDA + Vulkan 对比运行中(可通过 benchmarks/engine_comparison 复现):Gemma 4 E4B 与 2-bit 量化的 Qwen 3.6 35B-A3B MoE 在 CUDA 上 prefill 快 1.28×、首 token 早 1.27×,多轮提示的 prefill 在每个模型上都更快(最高 1.49×),Gemma 4 12B 在 Vulkan 上 decode 快 1.21×。
这是为谁准备的?
TensorSharp 面向各类访客。下面是每类人最快的上手路径。