API 参考

所有参数、变量、端点与公共类型集于一处。在输入框中键入即可即时过滤下方全部表格 —— 或按 / 进行全站搜索。

· 匹配的行会在所有区块中实时高亮。

CLI 参数 —— TensorSharp.Cli

参数说明
--model <path>GGUF 模型文件路径(必需)。
--input <path>包含用户提示词的文本文件。
--input-jsonl <path>含批量请求的 JSONL 文件(每行一个 JSON)。
--multi-turn-jsonl <path>带 KV 缓存复用的多轮对话模拟 JSONL。
--output <path>将生成文本写入此文件。
--image / --video / --audio <path>用于视觉 / 视频 / 音频推理的媒体。
--pdf <path>PDF 文档单次输入:数字 PDF 内联为文本;扫描 PDF 转为页面图像交给视觉模型(页数上限:TS_PDF_MAX_PAGES)。
--mmproj <path>多模态投影器 GGUF。建议显式传入;CLI 自动检测只识别少数旧伴随文件名。
--max-tokens <N>最大生成 token 数(默认 100)。
--backend <type>cpucudamlxggml_cpuggml_metalggml_cudaggml_vulkan
--gpu-device <N>ggml_vulkan 在多 GPU 主机上使用的 Vulkan 设备索引(默认 0;环境变量 TS_GGML_VULKAN_DEVICE)。
--list-gpus列出可见的 Vulkan 设备(索引 + 显卡名称)后退出。
--kv-cache-dtype <type>KV 缓存精度:f32f16q8_0q4_0(默认按后端/模型自动选择;q4_0 约为 f32 的 1/7;量化档位需原生 GGML flash-attention 路径)。
--interactive / -i启动交互式 REPL。
--system <text> / --system-file <path>设定系统提示。
--think启用思考 / 推理模式。
--tools <path>含工具 / 函数定义的 JSON 文件。
--temperature / --top-k / --top-p / --min-p采样控制。
--repeat-penalty / --presence-penalty / --frequency-penalty惩罚(1.0 / 0 = 关闭)。
--seed <N> / --stop <string>随机种子(-1 = 随机) / 停止序列(可重复)。
--dump-prompt渲染提示词 + 分词后退出。
--diffusion-steps / --diffusion-seed / --diffusion-blocks <N>DiffusionGemma 生成控制。
--prompt <text>Qwen-Image-Edit 编辑指令(与 --image 一起;编辑后的 PNG 写入 --output)。
--cfg <F>Qwen-Image-Edit true-CFG 引导尺度(自动:2.5,使用 Lightning LoRA 时为 1.0;<= 1 关闭负向分支)。
--qwen-image-vae / --qwen-image-vl / --qwen-image-mmproj <path>覆盖解析到的 Qwen-Image-Edit 伴随 GGUF(VAE / Qwen2.5-VL 文本编码器 / mmproj)。
--qwen-image-lora <path>合并进 DiT 的 Lightning 蒸馏 LoRA(.safetensors);自动推导步数(如 4 或 8),并将 CFG 切换为 1.0。
--paged-kv-quant-bits <0|2|4|8>TurboQuant 分页 KV 块压缩(0 = 关闭)。
--benchmark / --bench-prefill / --bench-decode / --bench-runs合成吞吐基准。
--bench-kvcache / --bench-kv-turns <N>多轮 KV 缓存复用基准。
--warmup-runs <N>计时前丢弃的前向次数(默认 0)。
--test / --test-templates <dir>内置分词器/模板测试;对照 GGUF Jinja2 校验模板。
--tp <N>张量并行度 —— 在单个进程内把模型切分到 N 张 GPU 上(默认 1;需要 --backend cudaggml_cudaggml_vulkan)。TensorSharp.Server 同样支持该参数。
--tp-node-id <N> / --tp-peers <list>多节点分布式 TP:本节点的 0 起始编号,以及所有节点共用的逗号分隔 host:port 列表。
--log-level / --log-dir / --log-file / --log-console日志级别、目录,以及文件/控制台开关。

服务器参数 —— TensorSharp.Server

参数说明
--model <path>启动时要托管的 GGUF 文件(必需);无模型进程不能通过 /api/models/load 选择 GGUF。
--mmproj <path>显式多模态投影器 GGUF;none 可禁用。服务端不会自动检测。
--backend <type>计算后端;macOS 默认 ggml_metal,其他平台默认 ggml_cpu
--gpu-device <N> / --list-gpusggml_vulkan 的 Vulkan 设备选择 / 列出可见 Vulkan 设备后退出。
--help打印参数说明后退出(不带任何参数启动时也会显示)。
--max-tokens <N>请求未指定时的默认生成上限(默认 20000)。
--temperature / --top-k / --top-p / --min-p默认采样值。
--repeat-penalty / --presence-penalty / --frequency-penalty / --seed默认惩罚与随机种子。
--stop <string>默认停止序列(可重复);逐请求会替换该列表。
--continuous-batching / --no-continuous-batching启用(默认) / 禁用迭代级分页批处理。别名 --paged-batching
--mtp-spec / --no-mtp-spec启用 / 禁用 NextN/MTP 推测解码(默认关闭)。
--mtp-draft <N>每个推测步草拟的最大 token 数(默认 8)。
--mtp-pmin <f>保留某 token 所需的草稿头最低置信度(默认 0.75)。
--mtp-draft-model <path>独立的 MTP 草稿 GGUF(Gemma 4 gemma4-assistant)。
--prefill-chunk-size <N>每个调度步的最大 prefill token 数(设置 TS_SCHED_PREFILL_CHUNK)。
--kv-cache-dtype <type>KV 缓存精度:f32f16q8_0q4_0(默认按后端/模型自动选择;环境变量 KV_CACHE_DTYPE)。
--qwen-image-vae / --qwen-image-vl / --qwen-image-mmproj <path>覆盖解析到的 Qwen-Image-Edit 伴随 GGUF。
--qwen-image-lora <path>合并进 DiT 的 Qwen-Image-Edit Lightning LoRA(更少去噪步数,CFG 1.0)。
--paged-kv* / --paged-kv-quant-bits遗留的独立分页 KV 参数(KV 状态现由引擎管理)。

环境变量

变量说明
BACKEND默认后端(macOS 上为 ggml_metal,其他平台为 ggml_cpu)。
MAX_TOKENS默认最大生成长度(20000)。
TS_PDF_MAX_PAGESPDF 上传与 CLI --pdf 读取的最大页数;0 = 全部(默认)。
VIDEO_SAMPLE_FPS / VIDEO_MAX_FRAMES视频抽帧速率 / 上限。
TENSORSHARP_TEMPERATURE / _TOP_K / _TOP_P / _MIN_P默认采样值。
TENSORSHARP_REPEAT_PENALTY / _PRESENCE_PENALTY / _FREQUENCY_PENALTY / _SEED默认惩罚与随机种子。
TENSORSHARP_LOG_LEVEL / _LOG_DIR / _LOG_FILE日志级别、目录、文件开关(CLI + 服务器)。
DIFFUSION_STEPS / DIFFUSION_MAX_BATCHDiffusionGemma 每块步数 / 最大批处理请求数。
KV_CACHE_DTYPECLI + 服务端 KV 缓存精度:f32f16q8_0q4_0;默认自动(= --kv-cache-dtype)。
TS_SCHED_DISABLE_BATCHED1 强制逐序列 KV 交换(= --no-continuous-batching)。
TS_SCHED_MAX_BATCHED_TOKENS每步 token 预算(4096)。
TS_SCHED_MAX_RUNNING_SEQS最大在飞序列数(16)。
TS_SCHED_PREFILL_CHUNK每步最大 prefill token 数(1024)。
TS_SCHED_SOLO_PREFILL_CHUNK独占 / 无竞争请求的 prefill 分块(8192)。
TS_SCHED_DECODE_QUANTUM切换序列前的 decode token 数(256 = 块大小)。
TS_SCHED_NUM_BLOCKS / TS_SCHED_BLOCK_SIZE引擎块池大小(256) / 每块 token 数(256)。
TS_SCHED_PREFIX_CACHE0 禁用块哈希前缀共享。
TS_<FAMILY>_BATCHED0 强制某家族走逐序列路径(如 TS_GEMMA4_BATCHEDTS_QWEN35_BATCHED)。
TS_MTP_SPEC / TS_MTP_DRAFT / TS_MTP_PMIN / TS_MTP_DRAFT_MODELMTP 推测解码旋钮(对应 --mtp-* 参数)。
TS_GMTP_NO_FUSED / TS_GMTP_NO_FAST_ROLLBACK / TS_GMTP_BATCHED_TRUNKGemma 4 MTP 草稿路径 A/B 开关。
TS_QWEN_IMAGE_VAE / TS_QWEN_IMAGE_TE / TS_QWEN_IMAGE_MMPROJQwen-Image-Edit 伴随文件路径(VAE / Qwen2.5-VL 文本编码器 / mmproj)。
TS_QWEN_IMAGE_LORA / TS_QWEN_IMAGE_LORA_SCALE合并进 DiT 的 Lightning LoRA .safetensors / 缩放覆盖。
TS_QWEN_DIT_CACHE / TS_QWEN_DIT_CACHE_MODE整步 DiT 缓存:0 禁用 / 模式 easycachefbcbothoff
TENSORSHARP_TP_DEGREE本地张量并行度 —— 模型切分到多少张 GPU(= CLI 与服务端的 --tp)。
TENSORSHARP_TP_DEVICES各 TP rank 使用的 GPU 序号,例如 0,2(默认 0..tp-1)。用于 GGML 后端。
TENSORSHARP_TP_NODE_ID / TENSORSHARP_TP_PEERS多节点分布式 TP:0 起始的节点编号与所有节点共用的 host:port 列表(= --tp-node-id / --tp-peers)。
TENSORSHARP_TP_CONNECT_TIMEOUT_SECONDS / _RECV_TIMEOUT_SECONDS分布式 TP 网格的 peer 连接重试窗口(120 秒)与单次接收超时(300 秒)。
TENSORSHARP_TP_DISABLE_P2P / TENSORSHARP_TP_HOST_ALLREDUCE1 强制跨 GPU 拷贝 / 本地 AllReduce 走主机内存,而非 CUDA P2P(诊断用)。
TS_KV_CACHE_REDIS_URL / TS_KV_CACHE_REDIS_TTL_MINUTESRedis 支撑的共享 KV 缓存层及其条目 TTL(默认 1440 分钟;0 = 不过期)。
TS_RESPONSES_STORE_REDIS_URLRedis 支撑的 OpenAI Responses API 存储(取代内存存储)。
TS_GGML_VULKAN_DEVICEggml_vulkan 使用的 Vulkan 设备索引(= --gpu-device)。
TS_FUSED_QKNORM_ROPE0 禁用 direct cuda 后端中 Qwen 3.5/3.6 文本 prefill 的融合 QK-Norm + RoPE kernel(默认开启)。
TS_JSON_FORCE_OPEN0 关闭结构化输出的首 token { 约束(json_object / json_schema 默认开启)。
TS_MLX_* MLX 后端调参:流水线 decode、mlock GGUF、融合 KV 写、批量 MoE decode、内存上限。
TENSORSHARP_MLX_LIBRARY / _LIBRARY_DIR覆盖 libmlxc 的搜索路径。
TENSORSHARP_GGML_NO_UPDATE / _GGML_GIT_REF在原生构建时跳过 / 固定 ggml 源码克隆。
TENSORSHARP_GGML_NATIVE_ENABLE_VULKAN在原生构建时强制开启/关闭 GGML Vulkan 后端(ON/OFF = 构建脚本 --vulkan/--no-vulkan)。检测到 Vulkan 运行时时自动启用;显式选择会在重复构建中保持。

HTTP 端点

方法与路径风格用途
GET /工具纯存活响应。
GET /index.htmlWeb UI浏览器聊天应用。
POST /api/generateOllama单提示补全(流式或非流式)。
POST /api/chat/ollamaOllama多轮对话,可选 think / tools / images。
GET /api/tagsOllama列出托管模型。
POST /api/showOllama模型信息。
POST /v1/chat/completionsOpenAIChat Completions(流式、工具、response_format)。
GET /v1/modelsOpenAI列出模型。
POST /api/chatWeb UI带会话 + KV 复用字段的 SSE 聊天流。
POST /api/sessions · DELETE /api/sessions/{id}Web UI创建 / 销毁每标签页会话。
POST /api/uploadWeb UI上传图像 / 音频 / 视频 / PDF / 文本文件。
POST /api/image-editWeb UIQwen-Image-Edit 单次编辑(multipart 或 JSON)。
POST /api/image-edit/streamWeb UI带实时去噪预览的 SSE 图像编辑。
GET /api/modelsWeb UI托管模型、支持的后端、默认值。
POST /api/models/loadWeb UI重新加载启动模型(可切换后端,但不能选择任意新文件)。
GET /api/version · GET /api/queue/status工具服务器版本 / 遗留队列快照。

采样参数

Ollama(optionsOpenAI(顶层)默认含义
num_predictmax_tokens200兼容 API 省略时的最大生成 token 数(Web UI 默认使用 --max-tokens / 20000)。
temperaturetemperature0.8采样温度(0 = 贪心)。
top_k40Top-K 过滤(0 = 禁用)。
top_ptop_p0.9核采样阈值(1.0 = 禁用)。
min_p0最小概率过滤。
repeat_penalty1.1重复惩罚(1.0 = 关闭)。
presence_penalty / frequency_penaltypresence_penalty / frequency_penalty0存在 / 频率惩罚。
seedseed-1随机种子(-1 = 随机)。
stopstopnull停止序列。
response_formatnulltextjson_objectjson_schema

C# 公共 API

成员签名 / 取值说明
ModelBase.Createstatic ModelBase Create(string ggufPath, BackendType backend)从 GGUF 元数据自动识别架构。
ModelBase.Forwardfloat[] Forward(int[] tokens)返回下一 token 的 logits(长度 = 词表大小)。
ModelBase.Sampleint Sample(float[] logits, SamplingConfig config, IList<int> generated = null)应用惩罚 + 采样。
ModelBase.SampleGreedyint SampleGreedy(float[] logits)确定性 argmax。
ModelBase.Config / .TokenizerModelConfig / ITokenizerConfig.VocabSize、上下文长度等。
BackendTypeCpu, GgmlCpu, GgmlMetal, GgmlCuda, Cuda, Mlx后端选择枚举。
ITokenizer.EncodeEncode(string text, bool addSpecial)文本 → token id。
ITokenizer.Decodestring Decode(List<int> ids)token id → 文本。
ITokenizer.IsEos / .EosTokenIdsbool IsEos(int id) / int[] EosTokenIds序列结束检测。
SamplingConfigTemperature、TopK、TopP、MinP、惩罚、Seed、StopSequences、MaxTokensC# 库
IBatchedPagedModel.ForwardBatch批量/分页前向多数架构为连续批处理而实现。

REPL 命令

命令说明
/help/?显示所有交互命令。
/exit/quit离开会话。
/reset/new清空对话历史与 KV 缓存。
/history · /save <file>打印 / 追加记录。
/system <text>设置系统提示(重置 KV 缓存)。
/think on|off · /multiline on|off切换推理模式 / 多行输入。
/info/status显示模型、后端、架构、上下文/词表、投影器、深度。
/model <path> · /backend <name> · /mmproj <path>热切换模型、后端或投影器。
/sampling/show打印当前采样配置。
/max · /temp · /topk · /topp · /minp设置回复长度 / 温度 / top-k / top-p / min-p。
/repeat · /presence · /frequency · /seed设置惩罚与随机种子。
/stop <text> · /clearstop添加 / 清除停止序列。
/image · /audio · /video · /text <path> · /clearattach为下一轮附加媒体 / 文本;丢弃待发送附件。