본문으로 건너뛰기

제공자 라우팅

OpenRouter를 LLM 제공자로 사용할 때 Hermes Agent는 제공자 라우팅을 지원합니다 — 요청을 처리하는 기본 AI 제공자를 세밀하게 제어하고 우선순위를 설정할 수 있습니다.

OpenRouter는 많은 제공자(예: Anthropic, Google, AWS Bedrock, Together AI)로 요청을 라우팅합니다. 제공자 라우팅을 통해 비용, 속도, 품질을 최적화하거나 특정 제공자 요구사항을 적용할 수 있습니다.

구성

~/.hermes/config.yamlprovider_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는 일반적으로 비용과 가용성을 자동으로 균형 있게 조정하는 자체 기본 라우팅 로직을 사용합니다.

Provider Routing vs. Fallback Models

프로바이더 라우팅은 OpenRouter 내 하위 프로바이더 중 어떤 프로바이더가 요청을 처리할지를 제어합니다. 기본 모델이 실패할 경우 완전히 다른 프로바이더로 자동 페일오버를 설정하려면 Fallback Providers를 참조하세요.