
30分钟跑通NeoHorse-1-4B本地部署保姆级上手教程【免费下载链接】NeoHorse-1-4B项目地址: https://ai.gitcode.com/hf_mirrors/TokenRhythm/NeoHorse-1-4B当4B小模型开始认真谈论递归自我提升RSI本地大模型玩家的玩法就变了。基元律动TokenRhythm联合无问芯穹、清华大学、北京大学、阿里巴巴等机构发布的 Agent-Native 模型 NeoHorse-1把一条此前只在实验室里讨论的路线摆到了开源社区面前用 Routing Harness 在执行 Agent 任务时产生的真实轨迹路由选择、模型响应、工具调用、环境反馈来反哺模型后训练让模型把会用工具、接收反馈、修正错误变成肌肉记忆。而 4B 版本以 Apache-2.0 协议开源10 项基准宏平均 64.87 分比其基座 Qwen3.5-4B 高出 5.93 分——这意味着一个消费级 GPU 就能本地跑一个为 Agent 场景特化的模型。本文不堆概念直接基于仓库源码与官方模型卡给出从下载权重到 OpenAI 兼容 API 调用全流程的保姆级教程显存门槛怎么算、vLLM 与 SGLang 两条官方路径怎么选、首次推理和工具调用怎么验证、踩坑怎么排。按步骤走30 分钟内可以让它在你自己的机器上吐出第一个回答。先认识它模型画像与三个关键数字动手之前先花一分钟认清这个模型。从仓库根目录的 README.md 与 config.json 可以提取出一张完整的技术画像属性值模型家族NeoHorse Agent-Native Causal Language Model参数量约 4B基座模型Qwen3.5-4B微调后处理后训练方式Routing-guided agentic post-training权重格式Safetensors / BF16两个分片共约 8.4GBtotal_size: 8411502592见 model.safetensors.index.json原生上下文262,144 tokens可扩展至约 101 万 tokens输入输出纯文本本仓库为文本推理重打包版不含视觉权重许可证Apache-2.0有三个数字直接决定你怎么部署第一8.4GB 的 BF16 权重。这是显存估算的起点。BF16 全精度加载至少需要 8.4GB 显存放权重再加上 KV cache 与激活值结论很直接想舒服地跑全精度一块 16GB 显存的显卡是稳妥基准8GB 卡如 RTX 4060 Laptop需要压缩上下文长度或走量化路线。第二32 层中只有 8 层是全注意力。看 config.json 的layer_types字段32 层里 24 层是linear_attention带A_log、dt_bias、conv1d、in_proj_z等 Mamba 风格状态参数每 4 层插入 1 层full_attention第 3、7、11、15、19、23、27、31 层。线性注意力的隐状态大小不随序列长度增长这是它敢把原生上下文做到 262K 的底气——长上下文场景下 KV cache 不会像纯 Transformer 那样线性爆炸。对部署者来说这意味着上下文长度和显存之间的权衡曲线比传统模型更友好。第三tie_word_embeddings: true。词嵌入与输出头共享权重省掉了一块不小的显存。再加上 MLP 是标准 SwiGLU 三投影gate_proj/up_proj/down_proj架构整体是Qwen3.5 底座 线性注意力混合这也决定了它和那些纯 GQA Transformer 模型在推理引擎支持上的差异——详见下文选型。顺带一提config.json 里的model_type: qwen3_5_text、architectures: [Qwen3_5ForCausalLM]、transformers_version: 5.16.1是排查加载报错的关键线索后面速查表会用到。硬件与软件门槛清单显存估算以 BF16 全精度为例权重约 8.4GBKV cache8 层全注意力按num_key_value_heads4、head_dim256计算每 token 每层约 2KBFP16 双份8 层合计每 token 约 16KB。8K 上下文约 0.13GB262K 满上下文约 4.3GB——这就是为什么官方给 262K但你的卡未必吃得住激活与 CUDA 图开销额外 1~2GB 量级。由此得出务实结论硬件配置能跑什么16GB 显存RTX 4080 / 4090 / 48GB 工作站卡BF16 全精度 较长上下文最省心8~12GB 显存RTX 3060 / 4060 / 4070缩短上下文到 8K~32K或依赖引擎的显存调度无独立 GPU纯 CPU可跑4B 规模 CPU 推理通常只有个位数到十几 tokens/s适合验证流程不适合生产软件清单按本文流程Linux 或 WSL2Windows 原生也可社区有同系列模型的 Windows 部署实践Python 3.10、pip、curlCUDA 12.x 与匹配的 PyTorchvLLM/SGLang 安装时自动处理显存之外的系统内存建议 16GB 起步、32GB 更稳。一个提前避坑提示这个模型是qwen3_5_text定制架构直接transformers加载需要版本支持到该架构config 标注transformers_version: 5.16.1。如果只想快速跑通不要跟 transformers 版本较劲直接走官方推荐的推理引擎——这也是下一节为什么只有两条官方路径。两条官方路径怎么选vLLM 与 SGLang仓库 README.md 的 Deployment 章节只给出了两条自托管路径vLLM和SGLang技术报告基于 SGLang v0.5.17。这并非偷懒——qwen3_5_text混合线性注意力架构的推理内核、以及 Qwen3 风格的思考/工具调用解析都需要引擎层级的支持。路径 AvLLM推荐新手首选pip install -U vllm MODEL_PATH/path/to/NeoHorse-1-4B vllm serve $MODEL_PATH \ --served-model-name neohorse-1-4b \ --host 0.0.0.0 \ --port 8000 \ --max-model-len 262144 \ --reasoning-parser qwen3 \ --enable-auto-tool-choice \ --tool-call-parser qwen3_codervLLM 会暴露 OpenAI 兼容的/v1/chat/completions端点服务启动后一行 curl 完成冒烟测试curl http://localhost:8000/v1/chat/completions \ -H Content-Type: application/json \ -d {model:neohorse-1-4b,messages:[{role:user,content:Write a Python function that returns the first n Fibonacci numbers.}],max_tokens:512}路径 BSGLang与官方评测环境对齐pip install sglang0.5.17 MODEL_PATH/path/to/NeoHorse-1-4B python3 -m sglang.launch_server \ --model-path $MODEL_PATH \ --served-model-name neohorse-1-4b \ --host 0.0.0.0 \ --port 30000 \ --context-length 262144 \ --reasoning-parser qwen3 \ --tool-call-parser qwen3_coder请求方式与 vLLM 完全一致端口换成 30000 即可。选型判断维度vLLMSGLang上手难度一条命令生态最广同样简单官方评测环境工具调用支持qwen3_coder解析 auto tool choice同样支持社区资料量大中等推荐场景首次部署、生产 API复现官方报告、Agent 链路调试那 Ollama 和 llama.cpp 呢必须诚实说明官方目前没有为 NeoHorse-1-4B 提供 GGUF 格式文件仓库内也没有任何 GGUF 产物。社区中大量Ollama/llama.cpp GGUF 量化的部署经验针对的是同系列的 Jev-4B 决策模型其架构与本仓库的qwen3_5_text混合线性注意力并不相同不能直接照搬。如果你的目标是快速跑通 4B 模型两条官方路径足以覆盖若确实想走 GGUF/CPU 路线需要自行用 llama.cpp 的转换脚本实验并重点验证线性注意力层在转换后是否被正确支持——在官方支持落地之前不建议新手把赌注押在这条路上。首次推理与能力验证从能启动到会干活服务起来之后光能回答Fibonacci不算跑通——这是一个为 Agent 设计的模型验证的重点是推理格式与工具调用。1. 确认思考模式与终止符看 chat_template.jinja 的最后一段生成提示符会以|im_start|assistant\nthink\n开头即默认开启思考模式若设enable_thinkingfalse模板会输出一对空think\n\n/think占位——看到空思考标签是正常现象不是故障。同时注意 tokenizer_config.json 中eos_token是|im_end|id 248044pad_token是|endoftext|如果换用通用客户端时出现停不下来或补全异常优先检查这两个 token 是否被正确映射。2. 用 Python 客户端走一遍 OpenAI 兼容 APIfrom openai import OpenAI client OpenAI(base_urlhttp://localhost:8000/v1, api_keyEMPTY) resp client.chat.completions.create( modelneohorse-1-4b, messages[ {role: system, content: 你是一个严谨的 Agent 决策引擎必须给出结构化回答。}, {role: user, content: 分析下面工单输出 JSON{\priority\: 0-3, \category\: 字符串, \reason\: 字符串}}, ], max_tokens512, ) print(resp.choices[0].message.content)3. 验证工具调用Agent 核心能力从 chat_template.jinja 中可以看到本模型的工具调用是 Qwen3 风格的 XML 格式外层tool_call/tool_call内层function函数名加若干parameter参数名块工具响应包裹在tool_response/tool_response中。要触发这一路径请求中必须携带 tools 定义并配合 vLLM 启动参数--tool-call-parser qwen3_coder --enable-auto-tool-choicetools [{ type: function, function: { name: get_weather, parameters: {type: object, properties: {city: {type: string}}}, required: [city], }, }] resp client.chat.completions.create( modelneohorse-1-4b, messages[{role: user, content: 查一下杭州今天天气}], toolstools, ) print(resp.choices[0].message.tool_calls)如果服务启动时漏掉了--tool-call-parser qwen3_coder模型很可能输出形如function...的原始文本而不是被解析为结构化tool_calls——这是最容易踩的坑之一。4. 采样参数怎么定官方评测协议README 注明为temperature1.0、top_p0.95、top_k20、min_p0.0、presence_penalty1.5。这是评测口径用于对比基准分数。而社区对同系列模型在 Agent/决策场景的共识是需要确定性与格式稳定时调低温度如temperature0.1~0.3、关闭或弱化 penalty。简单记忆测分用官方协议干活用低温度 结构化提示词。它能干什么——用数据说话为了让你对4B 模型值不值得部署有个直观判断这里引用官方模型卡中与五个同量级开源模型的对比结果图中为 NeoHorse-1-4B 的完整评测结果出自仓库根目录 4B_head_fig.jpg挑几个关键数字看基准NeoHorse-1-4B对比基座 Qwen3.5-4B含义tau2-Bench88.4684.294.17Agent 工具执行综合能力QwenClawBench44.6838.476.21长程 Agent 任务WorkBuddy Bench34.4124.629.79工作场景多步任务PinchBench77.3371.196.14受控工具使用HumanEval96.9587.209.75代码生成BFCL v461.7961.020.77函数调用十项宏平均64.8758.945.93综合读表的结论很清晰增益集中在 Agentic 与 Coding 能力WorkBuddy 9.79、HumanEval 9.75、QwenClawBench 6.21这正是Agent-Native 后训练该有的样子——它不是通用聊天模型的换皮而是把执行轨迹训练成了工具使用与多步推理的偏好。若你的场景是工单分流、规则化决策、函数调用编排这类结构化任务它比同量级通用模型更值得放进本地流水线。常见报错速查表把最容易遇到的坑集中成一张表按症状 → 原因 → 解法排查症状原因解法CUDA out of memory上下文太长 BF16 权重吃掉显存调低--max-model-len如 8192/16384或换量化、降低 batch、关闭思考模式输出出现裸文本function...而非结构化 tool_calls服务启动未指定工具解析器补上--tool-call-parser qwen3_coder与--enable-auto-tool-choice生成停不下来 / 把上下文一直灌完eos token 映射错误确认eos_token为|im_end|客户端不要自行追加|endoftext|回答前出现空think\n\n/thinkenable_thinkingfalse时的正常占位解析时剥离或忽略该标签无需处理KeyError: qwen3_5_text/ 架构不识别transformers 版本过旧升级 transformers 至支持 Qwen3.5 的版本config 标注 5.16.1或改用 vLLM/SGLang上下文窗口报错 maximum length exceeded请求超出实际配置长度检查启动参数--max-model-len/--context-length与显存是否匹配JSON 输出偶尔解析失败采样随机性调低 temperature、在系统提示词中给出 JSON 示例few-shot、必要时用引擎的 guided/JSON 约束模型卡上写着 262K 上下文却频繁 OOM满上下文 KV cache 超显存按上表公式估算8 层全注意力在 262K 时 KV 约 4GB长上下文只留给大显存跑通之后把模型放进你的流水线30 分钟跑通的意义不在于能回一句话而在于你拿到了一个 OpenAPI 兼容的本地端点它可以被任何 OpenAI SDK、LangChain 式编排、以及你的内部 Agent 框架直接接入权重留在内网Apache-2.0 协议下商用也没有授权包袱。对下一步的几点务实建议先做格式冒烟再做效果评测用上文第 4 节的工具调用样例跑 10 次统计tool_calls解析成功率再决定是否上业务上下文按需配置除非场景真的需要超长文档否则 8K~32K 的上下文在显存与能力之间最划算复现官方分数使用 SGLang v0.5.17 官方评测参数temperature1.0、top_p0.95、top_k20、min_p0.0、presence_penalty1.5对齐环境关注同系列的落地经验社区中 Jev-4B 在工单自动分流、规则化决策等场景的踩坑记录输出格式不稳、量化质量下降、过度自信等对本模型同样有参考价值——毕竟它们的共同点是4B 规模做结构化任务只是本仓库的 1-4B 在 Agent 轨迹上走得更远。从下载权重到第一个工具调用30 分钟足够。剩下的时间交给你的业务场景。【免费下载链接】NeoHorse-1-4B项目地址: https://ai.gitcode.com/hf_mirrors/TokenRhythm/NeoHorse-1-4B创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考