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がエルメスからアクセスできるかどうかによります。--max-model-lenがメモリを超えているか、サービスの起動に失敗しているか。モデル自体がツール呼び出しをサポートしているかどうか、サポートされていないモデルは非常に不安定になります。 vLLMツールは動作しません。--enable-auto-tool-choiceと正しい--tool-call-parserを追加してください。
公式オープンソースアドレス:https://github.com/NousResearch/hermes-agent;公式ドキュメントポータル:https://hermes-agent.nousresearch.com/.
/v1/chat/completionsを直接リクエストし、最も簡単なツールスキーマを使用して、戻りに構造化ツールコールがあるかどうかを確認します。APIレイヤーがプレーンテキストのみを返す場合、問題はvLLMパーサーまたはモデル機能にあります。APIレイヤーが正常でHermesが例外である場合は、Hermesのカスタムエンドポイント、モデル名、コンテキスト長、ログを確認してください。