Hermes Agent 接 vLLM 后如果模型只把工具调用当文字输出,通常不是 Hermes 没接上,而是 vLLM 服务启动时少了工具调用参数。Hermes 默认会用 tool_choice: auto,vLLM 端也要显式开启。
先检查启动命令
vllm serve meta-llama/Llama-3.1-70B-Instruct \
--port 8000 \
--max-model-len 65536 \
--enable-auto-tool-choice \
--tool-call-parser hermes不同模型要选对应 parser。Hermes/Qwen 类模型常用 hermes,Llama 3.x 常用 llama3_json,DeepSeek、Mistral 等要按 vLLM 支持的 parser 来。
还要看这几项
http://localhost:8000/v1是否能被 Hermes 访问。--max-model-len是否超过显存,服务有没有启动失败。- 模型本身是否支持工具调用,不支持的模型会很不稳定。
一句话:vLLM 工具不工作,先补 --enable-auto-tool-choice 和正确的 --tool-call-parser。
怎么判断是 vLLM 还是模型问题
先用同一个模型直接请求 /v1/chat/completions,带一个最简单的工具 schema,看返回里有没有结构化 tool calls。如果 API 层已经只返回普通文本,问题多半在 vLLM parser 或模型能力;如果 API 层正常而 Hermes 里异常,再检查 Hermes 的 custom endpoint、模型名、上下文长度和日志。
官方开源地址:https://github.com/NousResearch/hermes-agent;官方文档入口:https://hermes-agent.nousresearch.com/。