Model routing
Let Jev pick which model should handle a request.
jev-router is an open-source, OpenAI-compatible LLM router built on LiteLLM: clients send one model id ("jev-router") and Jev picks which model actually serves each request. A pre-call hook summarizes the messages, filters candidates by capability (image support, output length), and lets Jev choose — with a rules-based cheapest-eligible fallback when no key is set. It's the exact pattern below, in production: a compact typed decision, easy to threshold and audit, instead of embedding similarity or hand-tuned rules.
Попробуйте вживую
Это настоящее, а не макет. Отредактируйте ввод, нажмите «Запустить», и Jev вернёт каждый типизированный ответ за один round trip — бесплатно, без регистрации. А теперь представьте тот же вызов, запущенный по тысячам элементов параллельно.
Pick a demo, tweak the input, and hit Run Jev.
Решения, которые принимает Jev
За один вызов Jev оценивает каждое из них — параллельно, на одном и том же вводе:
How complex is this request?
оценивает это по упорядоченной шкале:
- trivial
- simple
- moderate
- hard
- very hard / architectural
Which model should handle it?
выбирает один из этих вариантов:
fast— fast cheap model — trivial edits, formatting, lookupsbalanced— mid model — normal features and fixesstrong— frontier model — architecture, migrations, hard reasoning
Will this likely require tool calls (reading files, running commands)?
возвращает откалиброванную вероятность да/нет.
Точный запрос
Это реальная полезная нагрузка за живым демо — скопируйте её, измените state, и вы уже строите:
{
"model": "jev-latest",
"state": "Incoming user request to an AI coding agent: \"Refactor our auth service to support multi-tenant SSO with SAML and SCIM, keep backward compatibility, and write a migration plan.\" Available models: fast (cheap, small), balanced (mid), strong (expensive, frontier).",
"questions": {
"complexity": {
"type": "score",
"instructions": "How complex is this request?",
"criteria": [
"trivial",
"simple",
"moderate",
"hard",
"very hard / architectural"
]
},
"route": {
"type": "choice",
"instructions": "Which model should handle it?",
"criteria": {
"fast": "fast cheap model — trivial edits, formatting, lookups",
"balanced": "mid model — normal features and fixes",
"strong": "frontier model — architecture, migrations, hard reasoning"
}
},
"needs_tools": {
"type": "noul",
"instructions": "Will this likely require tool calls (reading files, running commands)?"
}
}
}Встройте это в свой код
Читайте типизированные ответы и ветвитесь обычным кодом — без разбора. Автоматически обрабатывайте случаи с высокой уверенностью и направляйте неопределённые к более крупной модели или человеку. Это один вызов API, а вывод бесплатен, так что задавайте сразу все нужные вопросы.
Постройте своё
Каждый сценарий выше — это один вызов API. Попробуйте любой из них бесплатно в playground, затем получите размещённый ключ, чтобы выпустить его за минуты.