Chuyển tới nội dung chính

Định tuyến nhà cung cấp

Khi sử dụng OpenRouter làm nhà cung cấp LLM của bạn, Hermes Agent hỗ trợ định tuyến nhà cung cấp — kiểm soát chi tiết về việc nhà cung cấp AI cơ bản nào xử lý các yêu cầu của bạn và cách ưu tiên chúng.

OpenRouter định tuyến các yêu cầu tới nhiều nhà cung cấp (ví dụ: Anthropic, Google, AWS Bedrock, Together AI). Định tuyến nhà cung cấp cho phép bạn tối ưu hóa chi phí, tốc độ, chất lượng hoặc thực thi các yêu cầu cụ thể của nhà cung cấp.

Cấu hình

Thêm phần provider_routing vào ~/.hermes/config.yaml của bạn:

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")

thông tin

Định tuyến của nhà cung cấp chỉ áp dụng khi sử dụng OpenRouter. Nó không có tác dụng với các kết nối trực tiếp của nhà cung cấp (ví dụ: kết nối trực tiếp với API Anthropic).

Tùy chọn

sort

Kiểm soát cách OpenRouter xếp hạng các nhà cung cấp có sẵn cho yêu cầu của bạn.

Giá trịMô tả
"price"Nhà cung cấp rẻ nhất đầu tiên
"throughput"Token mỗi giây nhanh nhất đầu tiên
"latency"Mã thông báo đầu tiên có thời gian thấp nhất trước
provider_routing:
sort: "price"

only

Danh sách trắng tên nhà cung cấp. Khi được đặt, chỉ những nhà cung cấp này sẽ được sử dụng. Tất cả những người khác đều bị loại trừ.

provider_routing:
only:
- "Anthropic"
- "Google"

ignore

Danh sách đen tên nhà cung cấp. Những nhà cung cấp này sẽ không bao giờ được sử dụng, ngay cả khi họ cung cấp tùy chọn rẻ nhất hoặc nhanh nhất.

provider_routing:
ignore:
- "Together"
- "DeepInfra"

order

Thứ tự ưu tiên rõ ràng Ưu tiên các nhà cung cấp được liệt kê đầu tiên. Các nhà cung cấp chưa niêm yết được sử dụng làm dự phòng.

provider_routing:
order:
- "Anthropic"
- "Google"
- "AWS Bedrock"

require_parameters

Khi true , OpenRouter sẽ chỉ định tuyến đến các nhà cung cấp hỗ trợ các tham số all trong yêu cầu của bạn (như temperature , top_p , tools , v.v.). Điều này tránh việc giảm tham số im lặng.

provider_routing:
require_parameters: true

data_collection

Kiểm soát liệu nhà cung cấp có thể sử dụng lời nhắc của bạn để đào tạo hay không. Các tùy chọn là "allow" hoặc "deny" .

provider_routing:
data_collection: "deny"

Ví dụ thực tế

Tối ưu hóa chi phí

Hướng tới nhà cung cấp rẻ nhất hiện có. Tốt cho việc sử dụng và phát triển khối lượng lớn:

provider_routing:
sort: "price"

Tối ưu hóa tốc độ

Ưu tiên các nhà cung cấp có độ trễ thấp để sử dụng tương tác:

provider_routing:
sort: "latency"

Tối ưu hóa thông lượng

Tốt nhất cho việc tạo dạng dài trong đó số lượng mã thông báo mỗi giây rất quan trọng:

provider_routing:
sort: "throughput"

Khóa các nhà cung cấp cụ thể

Đảm bảo tất cả các yêu cầu đều thông qua một nhà cung cấp cụ thể để đảm bảo tính nhất quán:

provider_routing:
only:
- "Anthropic"

Tránh các nhà cung cấp cụ thể

Loại trừ các nhà cung cấp mà bạn không muốn sử dụng (ví dụ: để bảo mật dữ liệu):

provider_routing:
ignore:
- "Together"
- "Lepton"
data_collection: "deny"

Thứ tự ưu tiên có dự phòng

Trước tiên hãy thử các nhà cung cấp ưa thích của bạn, quay lại với những nhà cung cấp khác nếu không có sẵn:

provider_routing:
order:
- "Anthropic"
- "Google"
require_parameters: true

Nó hoạt động như thế nào

Tùy chọn định tuyến của nhà cung cấp được chuyển tới API OpenRouter thông qua trường extra_body.provider trên mỗi lệnh gọi API. Điều này áp dụng cho cả hai:

  • Chế độ CLI — được định cấu hình trong ~/.hermes/config.yaml , được tải khi khởi động
  • Chế độ cổng — cùng một tệp cấu hình, được tải khi cổng khởi động

Cấu hình định tuyến được đọc từ config.yaml và được chuyển dưới dạng tham số khi tạo 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

mẹo

Bạn có thể kết hợp nhiều lựa chọn. Ví dụ: sắp xếp theo giá nhưng loại trừ một số nhà cung cấp nhất định và yêu cầu hỗ trợ tham số:

provider_routing:
sort: "price"
ignore: ["Together"]
require_parameters: true
data_collection: "deny"

Hành vi mặc định

Khi không có phần provider_routing nào được định cấu hình (mặc định), OpenRouter sử dụng logic định tuyến mặc định của riêng nó, logic này thường tự động cân bằng chi phí và tính khả dụng.

Định tuyến nhà cung cấp so với mô hình dự phòng

Các biện pháp kiểm soát định tuyến của nhà cung cấp các nhà cung cấp phụ trong OpenRouter xử lý các yêu cầu của bạn. Để tự động chuyển đổi dự phòng sang một nhà cung cấp hoàn toàn khác khi mô hình chính của bạn bị lỗi, hãy xem Nhà cung cấp dự phòng.