Hermes Agent: Configuração de Modelos
Última atualização: 2026-08-31
Configurar modelos é como escolher um motor — tarefas diferentes precisam de motores diferentes. Perguntas simples usam o econômico, raciocínio complexo usa o potente. O Hermes alterna com flexibilidade.
📋 Pré-requisitos: Lição 3 — Arquivos de Configuração
1. O Que Você Vai Aprender
| # | Conteúdo |
|---|---|
| ❶ | Provedores de modelos suportados |
| ❷ | Explicação da configuração models.yaml |
| ❸ | Integração de modelos locais (Ollama/vLLM) |
| ❹ | Estratégias de roteamento de modelos |
| ❺ | Técnicas de otimização de custos |
2. História
(1) Problema: GPT-4 Muito Caro, Modelos Pequenos Muito Fracos
Bob usa GPT-4 para tudo, gastando 200+ USD/mês em custos de API. Mas 80% das tarefas funcionariam bem com GPT-4o-mini. Alice usa roteamento de modelos — tarefas simples usam modelos pequenos automaticamente, raciocínio complexo usa modelos grandes — e o custo cai para 40 USD.
(2) Solução: Roteamento Inteligente de Modelos
routing:
simple_tasks: "gpt-4o-mini"
medium_tasks: "gpt-4o"
complex_tasks: "gpt-4o"
code_execution: "claude-3.5-sonnet"
fallback: "llama3.2"
3. Provedores de Modelos Suportados
| Provedor | Exemplos de Modelos | Configuração |
|---|---|---|
| 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 (local) | llama3.2, qwen2.5, deepseek | Serviço local |
| vLLM (local) | Qualquer modelo HuggingFace | Serviço local |
| OpenRouter | 200+ modelos via API unificada | OPENROUTER_API_KEY |
4. Configuração models.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. Integração de Modelos Locais
(1) Ollama
providers:
ollama:
base_url: "http://localhost:11434"
models:
llama3.2:
provider: ollama
context_window: 128000
qwen2.5-coder:
provider: ollama
context_window: 128000
ollama pull llama3.2
hermes model list --provider ollama
(2) vLLM
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. Estratégias de Roteamento de Modelos
(1) Roteamento por Capacidade (Recomendado)
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) Roteamento por Custo
routing:
strategy: "cost-based"
quality_threshold: 0.8
max_cost_per_request: 0.05
(3) Especificação Manual
hermes chat --model gpt-4o
hermes chat --model claude-3.5-sonnet --mode code
hermes chat --model llama3.2 --offline
7. Otimização de Custos
(1) Monitoramento de Custos
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) Estratégias de Otimização
| Estratégia | Economia | Implementação |
|---|---|---|
| Roteamento de modelos | 60-80% | Modelos pequenos para tarefas simples |
| Cache de respostas | 10-20% | Sem chamadas repetidas para mesmas perguntas |
| Híbrido com modelo local | 50-90% | Ollama para tarefas offline |
| Compressão de tokens | 15-30% | Reduzir System Prompts |
| Requisições em lote | 5-10% | Mesclar requisições pequenas |
❓ Perguntas Frequentes
P: Quantos modelos são suportados? R: 200+ modelos via OpenRouter para todos os modelos mainstream, mais modelos locais ilimitados via Ollama.
P: Posso usar múltiplas API Keys simultaneamente? R: Sim. Configure múltiplos provedores no models.yaml, cada um com sua própria API Key. O roteamento decide qual usar.
P: O roteamento de modelos é preciso? R: O roteamento baseado em capacidade com tags de tipo de tarefa e pontuação de complexidade alcança ~90% de precisão. Ajuste manualmente as regras para otimizar.
P: Modelos locais são bons o suficiente? R: Modelos 8B servem para Q&A simples; modelos 70B+ se aproximam do nível GPT-3.5. Tarefas de código e raciocínio ainda recomendam modelos grandes na nuvem.
P: Como estimar custos mensais? R:
hermes cost estimate --daily-requests 50 --model gpt-4opara estimativas baseadas em uso.
📖 Resumo
- 200+ modelos de 6 provedores + modelos locais
- models.yaml define atributos, custos e capacidades dos modelos
- Roteamento de modelos: por capacidade (recomendado), por custo, manual
- Modelos locais via Ollama/vLLM para inferência de custo zero
- Otimização de custos: roteamento + cache + híbrido local economiza 60-80%
📝 Exercícios
- Básico (⭐): Configure dois provedores de modelos (ex: OpenAI + Ollama), verifique que ambos funcionam.
- Intermediário (⭐⭐): Configure roteamento de modelos: tarefas simples usam gpt-4o-mini, tarefas complexas usam gpt-4o.
- Avançado (⭐⭐⭐): Projete um plano híbrido com custo ótimo com orçamento mensal de 20 USD, calcule quantas requisições suporta.