Selected Smart
AUTO picks the best-fit model per intent — but only from a pool you choose.
Selected Smart is a routing policy with policy_type: "auto". From the model pool in its entries, it uses the same intent classification and score table as Benchmark Smartto pick one best-fit model. You keep the “only models I approve” control while still getting automatic selection.
curl https://apirouter.pleum.ai/v1/routing-policies \
-H "Authorization: Bearer plm_..." \
-H "Content-Type: application/json" \
-d '{
"slug": "my-auto-pool",
"display_name": "My Auto Pool",
"policy_type": "auto",
"entries": [
{"model": "gpt-5.3-codex"},
{"model": "claude-sonnet-4-6"},
{"model": "gemini-2.5-pro"}
]
}'How it works#
On each request the intent is classified and the highest-scoring model inside the pool is moved to the front. The rest keep their original entry order and serve as fallbacks on failure. If the score table has none of your pool's models, the user-defined entry order is respected as-is.
The pool is the policy's entries array (1–10 models). Virtual models (benchmark_smart, perfect, …) are not allowed as entries — they must be real models.
Evolution path#
Today it's benchmark-score based. As traffic statistics accumulate, it evolves to statistics + benchmark — automatically, inside the same auto type. You don't need to recreate your pool.
Related modes#
For a global AUTO over the whole catalog, call the Benchmark Smartvirtual model directly. If you just want plain sequential or weighted fallback without a pool-scoped pick, use the policy's fallback / weighted types.
curl https://apirouter.pleum.ai/v1/chat/completions \
-H "Authorization: Bearer plm_..." \
-H "Content-Type: application/json" \
-d '{
"model": "policy/my-auto-pool",
"messages": [
{"role": "user", "content": "Write a Python async retry decorator."}
]
}'