Hermes接本地模型的实战坑

riceinmybelly · reddit · 2026-07-14

作者分享了自己把 **Hermes Agent** 接到本地 **llama.cpp** 端点后的实践经验:一边跑云端/限额 API,一边把本地机器作为额外 provider,用来缓解 rate limit 和 quota 问题。 ### 主要踩坑 - 直接用 provider chain 时,模型名可能会在真正发请求时变成 `auto`,本地端点不一定能正确解析 - 如果 `model.default` 设成具体候选名,chain 的首个 fallback 还可能把 `base_url` 和模型名错配,导致首个请求失败后才重试成功 ### 更稳的做法 - 主路由改用 `model.candidates`,把 `model.default` 直接指向本地模型的真实 ID - 另设 `fallback: auto` 让云端作为兜底 ### 并发与资源控制 - 多个 agent 进程共享同一个本地 backend 时,Hermes 的客户端并不知道 llama.cpp 的并发槽位上限 - 作者最终写了一个**跨进程文件锁信号量**,在发起 `.chat.completions.create` 前做阻塞队列 - 这个限制只对本地 endpoint 生效,对其他 provider 不影响 ### 其他配置 - 将本地模型的超时拉长,因为本地模型在高负载下可能需要几分钟 - 仅对该 provider 覆盖 context window,匹配服务器真实上限

原文链接 →