Skip to contents

A router is a virtual model: route(request, ctx) runs before every request of a session whose model is the router's name and returns a model reference, or list(model, thinking = NULL, state = NULL). A router that errors or exceeds timeout falls back to the default model.

Usage

gptr_router(name, route, description = NULL, timeout = 2)

Arguments

name

Router name, usable as model = <name>.

route

function(request, ctx).

description

One line for listings.

timeout

Seconds allowed per call.

Value

A spec of class c("gptr_router", "gptr_spec").

Examples

gptr_router("cheapest", route = function(request, ctx) "anthropic/claude-haiku-4-5")
#> <gptr_router cheapest>
#>   route: <fn>
#>   timeout: 2
#>   api_version: 1.0