Plan inherited auto-router cost-tier profiles
This commit is contained in:
@@ -59,8 +59,8 @@ API or special provenance model.
|
||||
### Root Resource Layout
|
||||
|
||||
Use root entries for both the backend and all built-in profiles. The backend
|
||||
ID is `openrouter`; each bundled profile references `backend: openrouter` and
|
||||
is selected using its unqualified ID. No built-in `openrouter` collection is
|
||||
ID is `openrouter`; each bundled profile supplies or inherits
|
||||
`backend: openrouter` and is selected using its unqualified ID. No built-in `openrouter` collection is
|
||||
created, so an externally supplied collection can expose names such as
|
||||
`openrouter/gpt-sol-latest` alongside the root `gpt-sol-latest` profile.
|
||||
|
||||
@@ -111,7 +111,7 @@ non-zero cost; no fixed cost or model-availability guarantee is introduced.
|
||||
|
||||
### Small Profile Set
|
||||
|
||||
The initial set contains twelve root profiles:
|
||||
The initial set contains seventeen root profiles:
|
||||
|
||||
| Profile ID | Intended model selection |
|
||||
| --- | --- |
|
||||
@@ -126,6 +126,11 @@ The initial set contains twelve root profiles:
|
||||
| `gemini-pro-latest` | Google Gemini Pro latest-family alias through OpenRouter. |
|
||||
| `gemini-flash-latest` | Google Gemini Flash latest-family alias through OpenRouter. |
|
||||
| `auto` | OpenRouter auto router (`openrouter/auto`). |
|
||||
| `auto-low` | Inherits `auto`; sets cost tier `low`. |
|
||||
| `auto-medium` | Inherits `auto`; sets cost tier `medium`. |
|
||||
| `auto-high` | Inherits `auto`; sets cost tier `high`. |
|
||||
| `auto-xhigh` | Inherits `auto`; sets cost tier `xhigh`. |
|
||||
| `auto-max` | Inherits `auto`; sets cost tier `max`. |
|
||||
| `free` | OpenRouter free-model router (`openrouter/free`). |
|
||||
|
||||
These profile IDs are selected. Confirm the exact provider `model` slugs for
|
||||
@@ -135,8 +140,28 @@ instead of silently substituting a pinned model or dropping the profile.
|
||||
The tilde and slash in a provider model slug remain part of that value; they
|
||||
do not change the root placement of the PromptKit profile.
|
||||
|
||||
Each profile should primarily specify its backend and model. Avoid baking in
|
||||
temperature, reasoning, token-budget, timeout, or capability assumptions merely
|
||||
Define each cost-tier profile using `extends: {id: auto}` and the matching
|
||||
`cost_tier` inside an `auto-router` plugin entry under `extra_params.plugins`:
|
||||
|
||||
```yaml
|
||||
profiles:
|
||||
- id: auto
|
||||
backend: openrouter
|
||||
model: openrouter/auto
|
||||
- id: auto-medium
|
||||
extends: {id: auto}
|
||||
extra_params:
|
||||
plugins:
|
||||
- id: auto-router
|
||||
cost_tier: medium
|
||||
```
|
||||
|
||||
Keep the base `auto` profile without an explicit cost tier. Link to
|
||||
[OpenRouter's cost-tier documentation](https://openrouter.ai/docs/guides/routing/routers/auto-router#cost-tier)
|
||||
for routing semantics rather than duplicating that explanation here.
|
||||
|
||||
Each profile should primarily specify or inherit its backend and model. Avoid
|
||||
baking in temperature, reasoning, token-budget, timeout, or capability assumptions merely
|
||||
to make profiles appear more complete. Operator profiles remain the place for
|
||||
application-specific tuning and fixed model versions.
|
||||
|
||||
@@ -173,7 +198,7 @@ does not identify or pin the concrete model selected upstream.
|
||||
|
||||
## Implementation Work
|
||||
|
||||
1. Verify the provider endpoint and exact model values for the twelve selected
|
||||
1. Verify the provider endpoint and exact model values for the seventeen selected
|
||||
root profiles.
|
||||
2. Add the embedded YAML backend and profiles, and integrate their dedicated
|
||||
underlay with engine construction. Add the disable option using the existing
|
||||
@@ -181,7 +206,9 @@ does not identify or pin the concrete model selected upstream.
|
||||
3. Verify default availability, disabling, caller precedence, whole-record
|
||||
replacement, and inherited variants through the real configuration loader.
|
||||
Include an application-provided OpenRouter collection and a replaced backend
|
||||
to exercise interaction with external catalogs.
|
||||
to exercise interaction with external catalogs. Verify all five cost-tier
|
||||
profiles inherit the base backend/model and send the expected top-level
|
||||
`plugins` array through the built-in HTTP client.
|
||||
4. Verify listing and inspection reflect effective definitions and meaningful
|
||||
source evidence. Exercise request preparation with a fake client or local
|
||||
server as appropriate; construction must not depend on provider reachability
|
||||
|
||||
Reference in New Issue
Block a user