Ollama可实现Hermes Agent离线本地部署:一、安装Ollama并验证服务;二、拉取适配模型并用Modelfile定制JSON输出;三、修改Agent代码对接Ollama API端点;四、启动Agent并测试结构化响应;五、调试非JSON输出、上下文超限等常见问题。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您希望在不依赖付费API的情况下运行Hermes Agent,Ollama提供了一种轻量、离线、可本地部署的模型执行环境。以下是将Ollama本地模型接入Hermes Agent的具体操作流程:
一、安装并验证Ollama运行环境
Ollama需预先安装在本地系统中,以提供模型拉取、加载与推理服务。确保其后台服务正常运行是后续所有集成的前提。
1、访问 https://ollama.com/download,根据操作系统下载对应安装包并完成安装。
2、在终端中执行 ollama list,确认返回空列表或已存在模型条目,表明服务已启动。
3、运行 ollama run llama3(或其它支持模型),等待首次自动拉取完成并输出交互提示符,验证基础推理能力可用。
二、选择并准备适配Hermes Agent的本地模型
Hermes Agent依赖模型具备结构化输出(如JSON)、工具调用理解及多轮对话记忆能力。并非所有Ollama模型均默认支持,需针对性筛选或微调提示词。
1、执行 ollama pull phi3:medium 或 ollama pull llama3:8b,优先选用参数量适中、社区反馈响应稳定的版本。
2、创建本地模型配置文件 hermes-modified.Modelfile,内容包含 SYSTEM 指令,强制启用JSON输出格式与工具描述识别逻辑。
3、使用 ollama create hermes-local -f hermes-modified.Modelfile 构建定制模型,并通过 ollama run hermes-local 测试其对“请以JSON格式返回当前时间”等指令的响应合规性。
三、配置Hermes Agent指向本地Ollama服务
Hermes Agent默认连接OpenAI兼容接口,需修改其底层LLM适配器,使其通过HTTP请求对接Ollama的/api/chat端点,而非远程API密钥认证方式。
1、定位Hermes Agent项目中的LLM初始化代码段,通常位于 src/llm/adapter.py 或类似路径。
2、将原OpenAI客户端替换为自定义Ollama客户端类,设置基础URL为 http://localhost:11434/api/chat,并禁用API key校验字段。
3、在请求体中显式传入 {"model": "hermes-local", "messages": [...], "format": "json", "options": {"temperature": 0.2}},确保响应结构可控。
四、启动Hermes Agent并触发本地模型响应
完成上述配置后,Hermes Agent将完全脱离外部API依赖,所有大模型推理均在本地完成,响应延迟取决于设备算力,且全程数据不出设备。
1、在项目根目录执行 python main.py --agent hermes --llm ollama,启动Agent主进程。
2、向Agent输入测试指令,例如:“列出今天待办事项并按优先级排序”,观察日志中是否出现 [OLLAMA] Request sent to http://localhost:11434/api/chat。
3、检查终端输出是否返回合法JSON格式的结构化结果,且无HTTP 401或连接拒绝错误,确认链路贯通。
五、调试常见本地集成异常
Ollama与Hermes Agent集成过程中易出现模型响应非结构化、工具调用失败或上下文截断等问题,需逐项隔离验证。
1、若返回纯文本而非JSON,检查Modelfile中SYSTEM指令是否包含 "You must always respond with valid JSON inside ```json``` code blocks" 等强约束语句。
2、若出现 "context length exceeded" 错误,在Ollama运行命令中添加 --num_ctx 4096 参数重新加载模型。
3、若Hermes Agent报错 "Failed to parse tool call",临时关闭工具调用模块,先验证基础问答通路,再逐步启用function calling插件。



















