제공자 라우팅
OpenRouter를 LLM 제공자로 사용할 때 Hermes Agent는 제공자 라우팅을 지원합니다 — 요청을 처리하는 기본 AI 제공자를 세밀하게 제어하고 우선순위를 설정할 수 있습니다.
OpenRouter는 많은 제공자(예: Anthropic, Google, AWS Bedrock, Together AI)로 요청을 라우팅합니다. 제공자 라우팅을 통해 비용, 속도, 품질을 최적화하거나 특정 제공자 요구사항을 적용할 수 있습니다.
구성
~/.hermes/config.yaml에 provider_routing 섹션을 추가하세요:
provider_routing:
sort: "price" # How to rank providers
only: # Whitelist: only use these providers
ignore: # Blacklist: never use these providers
order: # Explicit provider priority order
require_parameters: false # Only use providers that support all parameters
data_collection: null # Control data collection ("allow" or "deny")
제공자 라우팅은 OpenRouter를 사용할 때만 적용됩니다. 직접 제공자 연결(예: Anthropic API에 직접 연결)에는 영향을 미치지 않습니다.
옵션
sort
OpenRouter가 요청에 대해 사용할 수 있는 제공자를 어떻게 순위 매기는지 제어합니다.
| 가치 | 설명 |
|---|---|
"price" | 가장 저렴한 제공업체 우선 |
"throughput" | 초당 토큰 수가 가장 빠른 순 |
"latency" | 첫 토큰까지 가장 짧은 시간 우선 |
provider_routing:
sort: "price"
only
제공자 이름 화이트리스트. 설정하면 이 제공자들만 사용됩니다. 나머지는 모두 제외됩니다.
provider_routing:
only:
- "Anthropic"
- "Google"
ignore
제공자 이름 블랙리스트. 이 제공자들은 가장 저렴하거나 가장 빠른 옵션을 제공하더라도 절대 사용되지 않습니다.
provider_routing:
ignore:
- "Together"
- "DeepInfra"
order
명시적인 우선 순위. 먼저 나열된 제공자가 선호됩니다. 나열되지 않은 제공자는 대체로 사용됩니다.
provider_routing:
order:
- "Anthropic"
- "Google"
- "AWS Bedrock"
require_parameters
true일 때, OpenRouter는 요청의 모든 매개변수를 지원하는 제공자에게만 라우팅합니다(예: temperature, top_p, tools 등). 이렇게 하면 매개변수가 조용히 누락되는 것을 방지할 수 있습니다.
provider_routing:
require_parameters: true
data_collection
제공자가 학습 목적으로 사용자의 프롬프트를 사용할 수 있는지 여부를 제어합니다. 옵션은 "allow" 또는 "deny"입니다.
provider_routing:
data_collection: "deny"
실용적인 예시
비용 최적화
가장 저렴한 이용 가능한 제공자 경로. 대용량 사용 및 개발에 적합:
provider_routing:
sort: "price"
속도를 최적화하다
대화형 사용을 위해 지연 시간이 낮은 제공자를 우선시하세요:
provider_routing:
sort: "latency"
처리량 최적화
토큰 속도가 중요한 장문 생성에 가장 적합:
provider_routing:
sort: "throughput"
특정 공급업체로 잠금
모든 요청이 일관성을 위해 특정 제공자를 통해 이루어지도록 하세요:
provider_routing:
only:
- "Anthropic"
특정 제공업체 피하기
사용하고 싶지 않은 제공자를 제외하세요(예: 데이터 개인정보 보호를 위해):
provider_routing:
ignore:
- "Together"
- "Lepton"
data_collection: "deny"
대체 옵션이 있는 선호 순서
먼저 선호하는 제공자를 시도하고, 이용할 수 없으면 다른 제공자로 넘어가십시오:
provider_routing:
order:
- "Anthropic"
- "Google"
require_parameters: true
작동 원리
제공자 라우팅 선호도는 모든 API 호출 시 extra_body.provider 필드를 통해 OpenRouter API에 전달됩니다. 이는 다음 두 가지 모두에 적용됩니다:
- CLI 모드 —
~/.hermes/config.yaml에서 구성되었으며, 시작 시 로드됨 - 게이트웨이 모드 — 게이트웨이가 시작될 때 로드되는 동일한 구성 파일
라우팅 구성은 config.yaml에서 읽혀지며 AIAgent를 생성할 때 매개변수로 전달됩니다:
providers_allowed ← from provider_routing.only
providers_ignored ← from provider_routing.ignore
providers_order ← from provider_routing.order
provider_sort ← from provider_routing.sort
provider_require_parameters ← from provider_routing.require_parameters
provider_data_collection ← from provider_routing.data_collection
여러 옵션을 결합할 수 있습니다. 예를 들어, 가격 순으로 정렬하되 특정 제공업체를 제외하고 파라미터 지원을 요구할 수 있습니다:
provider_routing:
sort: "price"
ignore: ["Together"]
require_parameters: true
data_collection: "deny"
기본 동작
구성된 provider_routing 섹션이 없으면(기본값), OpenRouter는 일반적으로 비용과 가용성을 자동으로 균형 있게 조정하는 자체 기본 라우팅 로직을 사용합니다.
프로바이더 라우팅은 OpenRouter 내 하위 프로바이더 중 어떤 프로바이더가 요청을 처리할지를 제어합니다. 기본 모델이 실패할 경우 완전히 다른 프로바이더로 자동 페일오버를 설정하려면 Fallback Providers를 참조하세요.