功能特性
TensorSharp 目前能力的完整目录。每一项都链接到你可以使用它的页面。
亮点
🧠
多架构
Gemma 4 / 3、Qwen 3 / 3.5 / 3.6、GPT OSS、Nemotron-H、Mistral 3、DiffusionGemma、Qwen-Image-Edit。
🖼️
多模态
图像、视频与音频输入(Gemma 4);多个其他模型支持图像输入。
📄
PDF 文档
在 Web UI 上传 PDF,或在 CLI 传 --pdf —— 文本型 PDF 直接内联,扫描页则交给视觉模型。
🎨
图像编辑
Qwen-Image-Edit 将提示词 + 输入图像转为编辑后的图像(MMDiT 扩散)。
💭
思考模式
结构化的思维链,与可见答案分离。
🛠️
工具调用
跨三种 API 风格的多轮函数调用。
📦
原生量化计算
Q4_K_M、Q8_0、MXFP4、IQ2_XXS 等在 matmul 中直接运算,无需反量化到 FP32。
🔀
连续批处理
vLLM 式分页 KV 缓存,跨请求前缀共享。
⏩
推测解码
MTP / NextN 草稿头无损加速单序列解码。
🔗
多 GPU 与多节点
张量并行把一个模型切分到多张 GPU 上(CUDA 与 GGML 皆可),并通过 TCP 网格跨机器扩展。
🔌
Ollama 与 OpenAI API
面向现有工具的即插即用端点,外加浏览器聊天 UI。
模型与模态
- 多架构支持 —— Gemma 4、Gemma 3、DiffusionGemma、Qwen 3、Qwen 3.5/3.6-family、GPT OSS、Nemotron-H、Mistral 3、Qwen-Image-Edit。→ 支持的模型
- 多模态推理 —— Gemma 4 支持图像、视频与音频输入;Gemma 3、Qwen 3.5-family、Mistral 3 与 Nemotron-H Omni 支持图像。→ 多模态
- PDF 文档输入 —— 原生数字(born-digital)PDF 会完整提取文本层并内联进提示词;扫描版 PDF 则回退为页面图像,交给具备视觉能力的模型。可通过 Web UI 上传使用,也可用 CLI 一次性生成的
--pdf参数;用TS_PDF_MAX_PAGES限制读取的页数(默认:全部)。→ Web UI - 专家混合(MoE) —— Gemma 4 MoE(如 26B-A4B)、GPT OSS MoE(gpt-oss-20b)、Qwen 3.5/3.6 MoE(35B-A3B)以及 Nemotron-H MoE FFN 层,配以融合的批量 GPU MoE 调度。
- 混合 SSM-Transformer —— Nemotron-H 在一个模型中混合 Mamba2 SSM 层、注意力层与 MoE FFN。
- 混合注意力-循环 —— Qwen 3.5/3.6-family 将全注意力层与 GatedDeltaNet 循环层混合。
- 文本扩散生成 —— DiffusionGemma 使用迭代式 EntropyBound 去噪采样器,而非自回归解码。→ DiffusionGemma
- 图像编辑(Qwen-Image-Edit) —— 提示词 + 输入图像,经 60 块 MMDiT 扩散 Transformer、Qwen-Image VAE 与 Qwen2.5-VL-7B 文本编码器生成编辑后的图像(FlowMatch-Euler true-CFG、CUDA 图捕获的 DiT 前向);可选的 Lightning 蒸馏 LoRA(
--qwen-image-lora)能以 CFG 1.0 将去噪循环缩减到寥寥几步。→ 图像编辑
生成与控制
- 思考 / 推理模式 —— 带
<think>/<|channel>标签的结构化思维链(Qwen 3、Qwen 3.5/3.6、Gemma 4、GPT OSS、Nemotron-H)。→ 思考模式 - 工具调用 / 函数调用 —— 与架构无关的输出解析,将原始模型输出转成结构化
tool_calls。→ 工具调用 - 可配置采样 —— 温度、top-k、top-p、min-p、重复 / 存在 / 频率惩罚、随机种子与停止序列。→ 采样
- 结构化输出 —— OpenAI
response_format支持text、json_object与经过校验的json_schema。→ 结构化输出 - 聊天模板 —— 从 GGUF 元数据自动加载(Jinja2),并按架构提供硬编码回退。
- 流式输出 —— 通过 SSE(Web)或 stdout(控制台)逐 token 输出,支持中止 / 停止进行中的生成。
性能与扩展
- 与 llama.cpp 同台较量、互有胜负 —— 在相同 GGUF 文件与相同 GPU 上,这个纯 .NET 引擎在关键负载上追平乃至超越手工优化的 C++
llama.cpp。在当前的对比运行中(短提示 / 长上下文 / 多轮文本场景,两个引擎均分别在 GGML CUDA 与 Vulkan 构建上测量,可通过benchmarks/engine_comparison复现):Gemma 4 E4B 与 2-bit 量化的 Qwen 3.6 35B-A3B MoE 在 CUDA 上 prefill 快 1.28×、首 token 早 1.27×(多轮提示最高 1.49×),Gemma 4 12B 在 Vulkan 上 decode 快 1.21×(长上下文最高 1.32×),四个模型中有三个的 CUDA decode 持平或更快(Qwen 3.6 27B 几何平均最高 1.07×)。较早的一次 CUDAimage_edit运行还测得 TensorSharp 的 Qwen-Image-Edit 完成一次预热后的编辑用时 40.44 s,而 stable-diffusion.cpp 为 48.16 s(快约 1.19×)。→ 同台基准测试 - GPU 加速 —— GGML Metal(macOS)、GGML CUDA(Windows/Linux + NVIDIA)、GGML Vulkan(Windows/Linux + AMD/Intel/NVIDIA)、直接 CUDA/cuBLAS 后端,以及面向 Apple Silicon 的 MLX 后端 —— 均带 CPU 回退。→ 后端
- 连续批处理与分页 KV 缓存 —— 块分页 KV 池、块哈希前缀共享、可在批中接纳 / 抢占序列的迭代级调度器、可选 SSD 后备层,以及原生融合分页注意力内核。→ 深入了解
- 批量 / 并行推理 —— 将 N 个序列打包进一次前向,配以分页 K/V 散写(Mistral 3、Gemma 4、GPT OSS、Qwen 3 / 3.5 / 3.6、Nemotron-H)。
- 张量并行与分布式推理 —— 用
--tp N(CLI 与服务端均支持)把一个模型切分到 N 张 GPU 上(Megatron-LM 列/行并行,归一化层 / 词嵌入 / LM head 复制),Directcuda后端与 GGML CUDA / Vulkan 后端都可运行,并通过点对点 TCP 网格(--tp-node-id/--tp-peers)把并行组扩展到多台机器。分层 AllReduce 让每次集合通信只有1/tp_local的数据上网;MoE 专家切分与专家并行、GatedDeltaNet 按 rank 的 V-head 归属与 Mamba2 复制覆盖了各类异构层。融合的按 rank block 计算图让 Gemma 4 上--tp 2的 decode 超过单卡(51.7 对 37.3 tok/s),也让单卡装不下的模型得以运行。→ 多 GPU 与多节点 - MTP / NextN 推测解码 —— 多 token 预测草稿头加速单序列解码;因请求自身的采样器同时驱动草稿与验证,故无损。→ 推测解码
- 原生量化计算 —— 量化权重直接用于 matmul,无需展开为 FP32,节省内存与带宽。
- 优化的纯 C# CPU 后端 —— 托管 GEMM 快路径,外加 RMSNorm、RoPE、softmax 与融合激活的融合 SIMD 内核。
- KV 缓存编解码器 —— 可插拔的
IKvBlockCodec,内置面向分页块的 TurboQuant(Q2 / Q4 / Q8)压缩编解码器。
接口与集成
- Ollama 与 OpenAI API 兼容 —— 面向现有工具的即插即用替代端点。→ HTTP API
- 浏览器聊天 UI —— 多轮对话、最大 500 MB 文件上传(图像、视频、音频、PDF、文本/代码)、思考开关、工具调用、消息编辑与实时流式。→ Web UI
- 交互式 REPL —— 逐轮控制台聊天,带斜杠命令、可热切换的模型 / 后端 / 投影器,以及实时采样调参。→ REPL
- 批处理 —— 控制台应用的 JSONL 输入,外加内置的 prefill/decode 基准测试。
- 源码项目嵌入 —— 只引用需要的层,将推理嵌入自己的 .NET 应用。当前 Runtime/Models/Backends 包尚未发布到 NuGet.org。→ C# 库
- 逐轮可观测性 —— 结构化有界输入摘要、模型原始输出日志与 KV 缓存命中率,并通过每个 API 暴露(
prompt_cache_hit_*、cached_tokens、kvReused*)。上传文档正文不会写入日志,但仍保留附件元数据与用户指令。