怎样配置Hermes_Agent的本地模型推理
想把Hermes Agent完全跑在本地,彻底摆脱云端API?这事儿的关键一步,就是让它连上你本地的Ollama服务,而不是依赖OpenAI或Kimi这类远程接口。这一步一旦没配好,后面那些“自进化”“本地记忆”的功能,说白了只能是空转,根本跑不起来。

确认Ollama已就位并拉取模型
打开终端(Windows用PowerShell,macOS/Linux用Terminal),敲下ollama list。如果返回空列表,或者直接报错“command not found”,那说明Ollama要么没装,要么没加进PATH。这时候别慌,去ollama.com/download下个对应系统的安装包装好,重启终端就完事。
执行ollama run qwen2.5:7b(或者换成你喜欢的模型,比如gemma4、llama3.1:8b)。首次运行会自动拉取模型文件,具体耗时看网速和模型大小;等到出现>提示符,说明模型已经加载好了,可以开始干活。
【注意:Ollama默认监听127.0.0.1:11434,但如果你把Hermes Agent跑在WSL2或Docker里,就必须用宿主机局域网IP(比如192.168.1.100)才能连上,别用localhost坑自己。】
修改Hermes Agent的LLM适配器代码
进入Hermes Agent项目根目录,找到LLM初始化逻辑所在的文件——通常是src/llm/adapter.py或hermes/llm/client.py。用VS Code或Notepad++打开它。
定位到类似openai.AsyncOpenAI(...)或anthropic.AsyncAnthropic(...)的实例化语句,整个替换成自定义的Ollama客户端类。这个类需要继承基类BaseLLMClient,并在__init__里设置base_url="http://192.168.1.100:11434/api/chat"(注意:这里必须填你本机的真实局域网IP,不能写localhost)。
关键点:请求体结构必须严格符合Ollama API规范,像这样:{"model": "qwen2.5:7b", "messages": [...], "format": "json", "options": {"temperature": 0.2}}。如果漏掉"format": "json",Hermes解析响应时会直接卡死,一直停在Waiting for LLM response...不动弹,这点千万小心。
配置Hermes Agent使用本地模型
方法一:命令行快速覆盖配置
在终端里依次执行:hermes config set model.default qwen2.5:7b → hermes config set model.provider ollama-local → hermes config set model.base_url http://192.168.1.100:11434/api/chat。这三条命令会自动写入~/.hermes/config.yaml对应的字段,省去手动编辑的麻烦。
方法二:手动编辑config.yaml
打开~/.hermes/config.yaml,在model:节点下补充以下内容:
default: qwen2.5:7b
provider: ollama-local
base_url: http://192.168.1.100:11434/api/chat
api_mode: chat_completions
⚠️ 注意:api_key字段千万别填任何值,Ollama根本不校验密钥;如果误填了,Hermes会尝试发起带Authorization头的请求,直接被Ollama拒绝。
验证本地推理是否生效
第一步:确保Ollama服务正在运行——执行ollama serve(后台常驻),或者保持之前ollama run的终端窗口开着。
第二步:在Hermes Agent项目目录下执行hermes start,观察启动日志。如果看到LLM client initialized with provider: ollama-local,并且没有红色报错,那就说明初步成功了。
第三步:给Agent发一条测试指令,比如“用中文写一首关于夏天的五言绝句”。如果3秒内返回完整诗句,并且hermes logs里出现ollama api call success字样,那就恭喜你——本地模型推理链路已完全打通。