hermesagent离线调用本地ollama模型需确保服务启动、模型加载并正确配置api端点,支持cli向导、手动编辑config.yaml、环境变量注入、python内联调用及litellm代理五种方式。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您希望 HermesAgent 在完全离线环境下运行,并调用本地部署的 Ollama 模型,则必须确保 Ollama 服务已启动、目标模型已加载,且 HermesAgent 的配置能准确指向该服务的 OpenAI 兼容 API 端点。以下是实现该目标的多种可行路径:
一、CLI向导一键配置(推荐新手)
此方法通过 HermesAgent 内置命令自动完成 provider 选择、base_url 设置与模型名称绑定,无需手动编辑文件,适配大多数标准安装环境。
1、在终端中执行 hermes model 启动模型配置向导。
2、当提示选择 LLM Provider 时,输入 ollama 并回车。
3、当提示选择 Model 时,输入已通过 ollama pull 下载的模型名,例如 qwen2.5:7b 或 llama3.1:8b。
4、确认配置并保存,系统将自动生成或覆盖 ~/.hermes/config.yaml 中的 llm 节点。
二、手动编辑 config.yaml 文件
此方式适用于需精细控制参数(如启用兼容模式、指定上下文长度)或 CLI 向导不可用的场景。配置文件必须严格遵循 YAML 语法,且字段不可遗漏。
1、进入 HermesAgent 配置目录,通常为 ~/.hermes/,确认存在 config.yaml 文件;若无,则新建。
2、在文件中定位或新增 llm: 节点,并填入以下内容:
model: qwen2.5:32b
base_url: http://localhost:11434/v1
api_key: ollama
3、如使用 HermesAgent v0.3.0 或更高版本,添加兼容字段:
ollama_compatible: true
三、通过环境变量注入配置
此方式绕过配置文件,适用于容器化部署、CI/CD 流水线或需动态切换模型的多实例场景。环境变量优先级高于 config.yaml。
1、在启动 HermesAgent 前,导出以下三个必需变量:
export HERMES_LLM_MODEL=gemma-2-9b-it
export HERMES_LLM_BASE_URL=http://localhost:11434/v1
export HERMES_LLM_API_KEY=ollama
2、执行 hermes start,HermesAgent 将直接读取环境变量构建 LLM 客户端。
四、Python 代码内联调用(开发调试专用)
此方式跳过 HermesAgent 主进程,直接在 Python 脚本中构造 Ollama 客户端并传入 HermesAgent 的工具调用链,适用于验证模型响应格式或定制推理逻辑。
1、确保已安装 ollama Python 包:pip install ollama。
2、在脚本中初始化客户端:import ollama; client = ollama.Client(host='http://localhost:11434')。
3、调用模型并解析响应:response = client.chat(model='phi3', messages=[{'role': 'user', 'content': 'Hello'}])。
4、将 response['message']['content'] 显式映射至 HermesAgent 所需的 choices[0].message.content 结构,以满足其默认解析器要求。
五、使用 LiteLLM 作为协议转译代理
当 HermesAgent 版本不支持 ollama_compatible: true,且无法修改源码时,可引入 LiteLLM 作为中间层,将 Ollama 的原始响应重写为标准 OpenAI 格式,避免任何兼容性报错。
1、安装 LiteLLM:pip install litellm。
2、启动代理服务:litellm --model ollama/llama3.1:8b --port 4000。
3、将 HermesAgent 的 base_url 改为 http://localhost:4000/v1,其余配置保持不变。











