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 |
| 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で使用量ベースの見積もりができます。📖 まとめ
- 6プロバイダー+ローカルモデルからの200以上のモデル
- models.yamlでモデル属性、コスト、能力を定義
- モデルルーティング:能力ベース(推奨)、コストベース、手動
- Ollama/vLLMによるローカルモデルでゼロコスト推論
- コスト最適化:ルーティング+キャッシュ+ローカルハイブリッドで60-80%削減
📝 練習問題
- 基本(⭐): 2つのモデルプロバイダー(例:OpenAI + Ollama)を設定し、両方動作することを確認してください。
- 中級(⭐⭐): モデルルーティングを設定:簡単なタスクはgpt-4o-mini、複雑なタスクはgpt-4oを使用。
- 上級(⭐⭐⭐): 月額20 USDの予算でコスト最適なハイブリッドプランを設計し、いくつのリクエストをサポートできるか計算してください。