Hermes Agent: モデル設定

最終更新:2026-08-31

モデル設定はエンジン選びのようなものです。タスクによって違うエンジンが必要です。簡単な質問には燃費の良いもの、複雑な推論には強力なもの。Hermesは柔軟に切り替えます。

💡 ヒント: Hermesはタスクの複雑さに基づいて最適なモデルを自動選択するモデルルーティング戦略をサポートし、品質とコストのバランスを取ります。

📋 前提知識: 第3課 設定ファイル

1. 学ぶ内容

# 内容
対応モデルプロバイダー
models.yaml設定の解説
ローカルモデル統合(Ollama/vLLM)
モデルルーティング戦略
コスト最適化テクニック

2. ストーリー

(1) 課題:GPT-4は高すぎる、小規模モデルは弱すぎる

BobはすべてにGPT-4を使い、月200 USD以上をAPIコストに費やしています。しかしタスクの80%はGPT-4o-miniで十分です。Aliceはモデルルーティングを使い、簡単なタスクは自動的に小規模モデル、複雑な推論は大規模モデルを使用——コストは40 USDに削減。

(2) 解決策:スマートモデルルーティング

YAML
routing:
  simple_tasks: "gpt-4o-mini"
  medium_tasks: "gpt-4o"
  complex_tasks: "gpt-4o"
  code_execution: "claude-3.5-sonnet"
  fallback: "llama3.2"

3. 対応モデルプロバイダー

プロバイダー モデル例 設定
OpenAI gpt-4o, gpt-4o-mini, o1 OPENAI_API_KEY
Anthropic claude-3.5-sonnet, claude-3-haiku ANTHROPIC_API_KEY
Google gemini-2.0-flash, gemini-pro GOOGLE_API_KEY
Mistral mistral-large, mistral-small MISTRAL_API_KEY
Ollama(ローカル) llama3.2, qwen2.5, deepseek ローカルサービス
vLLM(ローカル) 任意のHuggingFaceモデル ローカルサービス
OpenRouter 統一API経由で200以上のモデル OPENROUTER_API_KEY

4. models.yaml設定

YAML
# ~/.hermes/models.yaml

providers:
  openai:
    api_key: "${OPENAI_API_KEY}"
    base_url: "https://api.openai.com/v1"
    rate_limit: 100
    
  anthropic:
    api_key: "${ANTHROPIC_API_KEY}"
    
  ollama:
    base_url: "http://localhost:11434"
    timeout: 120
    
  openrouter:
    api_key: "${OPENROUTER_API_KEY}"
    base_url: "https://openrouter.ai/api/v1"

models:
  gpt-4o:
    provider: openai
    context_window: 128000
    input_cost: 2.50
    output_cost: 10.00
    capabilities:
      - chat
      - vision
      - function_calling
      - json_mode
      
  gpt-4o-mini:
    provider: openai
    context_window: 128000
    input_cost: 0.15
    output_cost: 0.60
    capabilities:
      - chat
      - function_calling
      
  llama3.2:
    provider: ollama
    context_window: 128000
    input_cost: 0
    output_cost: 0
    capabilities:
      - chat
      - function_calling

routing:
  strategy: "capability-based"
  rules:
    - condition: "complexity < 0.3"
      model: "gpt-4o-mini"
    - condition: "complexity >= 0.3 and complexity < 0.7"
      model: "gpt-4o"
    - condition: "task_type == 'code'"
      model: "claude-3.5-sonnet"
    - condition: "offline == true"
      model: "llama3.2"

5. ローカルモデル統合

(1) Ollama

YAML
providers:
  ollama:
    base_url: "http://localhost:11434"

models:
  llama3.2:
    provider: ollama
    context_window: 128000
  qwen2.5-coder:
    provider: ollama
    context_window: 128000
BASH
ollama pull llama3.2
hermes model list --provider ollama

(2) vLLM

YAML
providers:
  vllm:
    base_url: "http://localhost:8000"
    api_format: "openai"

models:
  deepseek-v3:
    provider: vllm
    model_id: "deepseek-ai/DeepSeek-V3"
    context_window: 128000

6. モデルルーティング戦略

(1) 能力ベースルーティング(推奨)

PYTHON
def select_model(task):
    if task.requires_vision:
        return "gpt-4o"
    if task.complexity < 0.3:
        return "gpt-4o-mini"
    if task.type == "code":
        return "claude-3.5-sonnet"
    return config.default_model

(2) コストベースルーティング

YAML
routing:
  strategy: "cost-based"
  quality_threshold: 0.8
  max_cost_per_request: 0.05

(3) 手動指定

BASH
hermes chat --model gpt-4o
hermes chat --model claude-3.5-sonnet --mode code
hermes chat --model llama3.2 --offline

7. コスト最適化

(1) コスト監視

BASH
hermes cost report --month
# ┌──────────────┬──────────┬───────────┬─────────┐
# │ Model        │ Requests │ Tokens In │ Cost    │
# ├──────────────┼──────────┼───────────┼─────────┤
# │ gpt-4o-mini  │ 1,200    │ 2.4M      │ $2.16   │
# │ gpt-4o       │ 80       │ 0.8M      │ $12.00  │
# │ Total        │ 1,280    │ 3.2M      │ $14.16  │
# └──────────────┴──────────┴───────────┴─────────┘

(2) 最適化戦略

戦略 削減率 実装方法
モデルルーティング 60-80% 簡単なタスクに小規模モデル
レスポンスキャッシュ 10-20% 同じ質問への繰り返し呼び出しを回避
ローカルモデルハイブリッド 50-90% オフラインタスクにOllama
トークン圧縮 15-30% System Promptの削減
バッチリクエスト 5-10% 小さなリクエストの統合

❓ よくある質問

Q 何モデル対応していますか?
A OpenRouter経由で200以上のモデルがすべての主要モデルに対応、さらにOllamaのローカルモデルは無制限です。
Q 複数のAPI Keyを同時に使用できますか?
A はい。models.yamlに複数のプロバイダーを設定し、それぞれにAPI Keyを設定できます。ルーティングがどれを使用するかを決定します。
Q モデルルーティングは正確ですか?
A タスクタイプのタグと複雑さスコアリングに基づく能力ルーティングは約90%の精度を達成します。ルーティングルールを手動で調整して最適化できます。
Q ローカルモデルは十分な品質ですか?
A 8Bモデルは簡単なQ&Aに適しています。70B以上のモデルはGPT-3.5レベルに近づきます。コードと推論タスクは依然としてクラウドの大規模モデルを推奨します。
Q 月額コストの見積もり方法は?
A hermes cost estimate --daily-requests 50 --model gpt-4oで使用量ベースの見積もりができます。

📖 まとめ


📝 練習問題

  1. 基本(⭐): 2つのモデルプロバイダー(例:OpenAI + Ollama)を設定し、両方動作することを確認してください。
  2. 中級(⭐⭐): モデルルーティングを設定:簡単なタスクはgpt-4o-mini、複雑なタスクはgpt-4oを使用。
  3. 上級(⭐⭐⭐): 月額20 USDの予算でコスト最適なハイブリッドプランを設計し、いくつのリクエストをサポートできるか計算してください。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%