Tomur:基于.NET的开源本地AI运行时与开发者工作台
一、Tomur是什么
Tomur 是 IoTSharp 组织推出、基于 .NET 10 和 C# 开发的开源本地AI运行时与开发者工作台,主打离线优先、数据本地留存,面向.NET开发者、边缘设备场景搭建本地大模型推理能力。
项目同时提供两套推理后端,既拥有纯C#原生模型推理实现,也可对接成熟 llama.cpp 生态,可作为命令行工具、HTTP推理服务、系统后台服务、Web对话工作台运行,兼顾本地聊天、模型管理、程序API调用等多种需求,也是 IoTSharp 物联网体系在边缘AI方向的配套组件,方便在物联网网关、边缘设备上接入本地大模型能力。
二、功能特色
双推理后端可选
内置两套推理提供程序,按需切换。纯C#托管方案无需原生二进制依赖,直接读取safetensors模型;llama.cpp后端支持GGUF模型,附带语音识别、语音合成、图像生成等多模态能力。多形态部署模式
单程序支持CLI交互、HTTP推理API服务、Windows/Linux后台服务、Web对话工作台四种运行形态,一套程序满足开发调试、对外接口、常驻后台、可视化对话需求。本地私密推理
所有对话、向量数据默认在本地设备运算,不上传云端,适合敏感业务、内网离线环境使用,内置Embedding向量生成与重排能力,支持本地知识库检索。模型资产管理与诊断
自带模型包拉取、版本管理、运行状态监控、推理诊断能力,简化本地模型下载、切换、故障排查流程。.NET生态原生适配
项目原生C#开发,和.NET项目集成成本低,方便.NET开发者直接在自有应用、物联网边缘程序嵌入本地大模型能力。

三、技术细节
Tomur 基于 .NET 10 构建,采用模块化 Provider 架构,分离模型加载、张量运算、推理服务、Web界面模块。
纯C# Provider:原生实现 safetensors 文件解析、分词器、张量运算、量化内核、KV Cache、Attention、MoE路由逻辑,原生支持GLM、OLMoE系列模型,全程不依赖第三方原生推理库,方便跨平台移植到受限边缘设备。
llama.cpp Provider:底层复用 llama.cpp 成熟C++推理内核,支持GGUF量化模型,支持CPU/GPU硬件加速,自动降级CPU运行;额外扩展语音ASR、TTS语音合成、图像生成多模态能力,同时提供Embedding向量生成、Rerank重排。
对外服务层:内置HTTP服务,提供兼容OpenAI风格的推理接口;Web前端工作台集成聊天界面、模型管理面板;CLI命令行工具支持模型拉取、服务启动、本地对话等命令;支持部署为系统后台服务,长期驻机运行。
架构特点:组件解耦,新增模型Provider无需改动主体框架,适配边缘低算力设备与PC工作站。
四、应用场景
.NET软件开发本地AI集成
C#/NET项目需要嵌入离线大模型能力,不想依赖云API,可接入Tomur本地HTTP接口,实现私有文档问答、代码助手。物联网边缘网关AI增强
IoTSharp物联网网关配套使用,在边缘设备本地做设备数据分析、告警语义识别、本地指令推理,不需要把设备数据上传公网。企业内网离线知识库
内网无外网环境,部署本地向量检索+大模型,处理企业内部文档、资料问答,保证敏感文档不外流。个人隐私本地AI工作台
个人电脑本地离线聊天,撰写文案、代码,对话数据全部保存在本机,满足隐私需求。嵌入式/低算力边缘设备原型验证
使用纯C#推理后端,在资源受限设备上做模型推理原型开发。
五、使用方法
前置依赖
安装 .NET 10 SDK,Windows / Linux 操作系统均可。
基础操作步骤
克隆项目代码
git clone https://github.com/IoTSharp/Tomur.git cd Tomur
编译项目,构建Tomur主程序
准备原生运行环境,拉取推荐模型包
tomur native prepare tomur pull recommended
启动Web工作台,同时开启HTTP服务
tomur serve --open
执行后自动打开Web对话页面,可直接网页聊天;其他程序可以调用本机HTTP推理接口。
5. CLI模式直接对话
tomur open
进入命令行交互式聊天。
六、竞品对比
选取 Ollama、llama.cpp 两个主流本地大模型工具进行对比。
| 对比维度 | Tomur | Ollama | llama.cpp |
|---|---|---|---|
| 开发语言 | C# / .NET10,双推理后端 | Go语言封装,底层llama.cpp | C++原生推理库 |
| 核心特色 | 纯C#原生推理+llama.cpp双后端;原生适配.NET与物联网边缘场景 | 开箱即用,命令行极简,GGUF模型生态完善 | 高性能底层推理内核,高度可定制调参 |
| WebUI | 内置Web对话工作台 | 无内置WebUI,需搭配第三方前端 | 无内置WebUI,需单独启动服务+前端 |
| 多模态能力 | llama.cpp后端支持语音识别、语音合成、图生图 | 仅文本、Embedding,多模态需要额外扩展 | 仅基础文本推理,多模态需自行扩展组件 |
| .NET集成 | 原生C#开发,对接.NET项目友好 | 通过HTTP API调用,无原生SDK | HTTP调用,C++接口,.NET集成需要封装 |
| 边缘物联网适配 | 原生面向IoTSharp边缘网关场景 | 通用PC本地推理,边缘支持一般 | 适合嵌入式,但集成开发工作量大 |
七、常见问题解答
Q:Tomur必须使用GPU才能运行吗?
A:不需要。Tomur支持CPU推理,GPU仅作为加速选项;硬件不足时会自动降级到CPU运行,只是推理速度会下降。
Q:纯C#后端和llama.cpp后端应该怎么选择?
A:如果你的项目是.NET应用、部署在资源受限边缘设备,希望减少原生二进制依赖,优先选择纯C# Provider;如果追求成熟稳定、想要语音、图像多模态能力,直接使用llama.cpp后端。
Q:Tomur支持哪些模型格式?
A:纯C#后端支持 safetensors 格式GLM、OLMoE模型;llama.cpp后端支持GGUF量化模型,同时支持Embedding向量模型。
Q:Tomur的HTTP接口是否兼容OpenAI接口格式?
A:是的,内置HTTP推理服务兼容OpenAI风格API,大部分对接OpenAI接口的客户端可以直接接入Tomur。
Q:Tomur可以在没有外网的内网环境使用吗?
A:可以,模型提前下载完成之后,Tomur全部推理运算本地完成,不需要外网连接,适合离线内网场景。
Q:Tomur和IoTSharp物联网平台是什么关系?
A:Tomur是IoTSharp组织下独立开源项目,定位边缘AI运行时,可和IoTSharp物联网平台配合使用,给边缘网关增加本地AI能力,二者并非强制绑定。
八、相关链接
GitHub仓库:https://github.com/IoTSharp/Tomur
九、总结
Tomur是面向.NET生态的开源本地AI运行时工作台,独创双推理后端架构,兼顾纯C#跨平台轻量化推理与llama.cpp成熟多模态能力,自带Web对话界面、HTTP服务与模型管理工具,尤其适合.NET开发者、物联网边缘场景搭建离线本地大模型,在隐私内网、边缘设备本地AI开发场景,提供了区别于其他本地LLM工具的差异化方案。
版权及免责申明:本文由@97ai原创发布。该文章观点仅代表作者本人,不代表本站立场。本站不承担任何相关法律责任。
如若转载,请注明出处:https://www.aipuzi.cn/ai-news/tomur.html

