Jev Latest
Характеристики Jev Latest
Контекстное окно 32K
Дата релиза 18 сентября 2026
Мультимодальность
Входящие данные:
- Текст
Исходящие данные:
- Решения
Цены Jev Latest в рублях
Оплата производится по факту за использованные токены.
Цены по провайдерам
RouterAI работает с несколькими провайдерами для обеспечения максимальной доступности и оптимальных цен.
-
1TypeSafe4,59 ₽Входящие
Умная маршрутизация запросов
Ваши запросы автоматически направляются к провайдеру с самой низкой ценой. Если провайдер недоступен, система мгновенно переключается на следующего по цене, обеспечивая непрерывную работу вашего приложения без потери запросов.
- Автоматический выбор
- Отказоустойчивость
- Лучшая цена
Цены указаны в рублях и могут меняться в зависимости от курса валют
Что умеет Jev Latest
Jev — это структурированная модель принятия решений от TypeSafe и первая из моделей System One. Модели System One принимают быстрые, структурированные решения для программного обеспечения, возвращая типизированный выбор вместо свободного текста. Она подходит для маршрутизации, классификации и других точек принятия решений внутри приложения, где быстрый и предсказуемый ответ важнее, чем сгенерированный текст.
API Jev Latest: подключение и примеры кода
Модель отвечает через выделенный эндпоинт /api/v1/decisions. Работают и официальные SDK TypeSafe: укажите наш base_url и ключ, полученный в личном кабинете.
# pip install typesafe-sdk
from typesafe_sdk import Choice, Noul, Score, TypeSafeClient
client = TypeSafeClient(
base_url="https://routerai.ru/api",
api_key="YOUR_API_KEY",
model="~typesafe/jev-latest", # алиас на актуальную версию; закрепить версию — typesafe/jev-1.13
)
response = client.system_one(
state="Здравствуйте! Третий день не могу подключить оплату на сайте — платежи клиентов не проходят, мы теряем заказы. Помогите, пожалуйста, срочно.",
questions={
"is_urgent": Noul(instructions="Клиент сообщает о срочной проблеме?"),
"department": Choice(
instructions="Какая команда должна заняться обращением?",
criteria={
"billing": "Платежи, счета, возвраты, подписки",
"technical": "Ошибки, сбои, интеграции, настройка",
"sales": "Тарифы, покупка, вопросы до оплаты",
},
),
"frustration": Score(
instructions="Насколько раздражён клиент?",
criteria=[
"Спокоен, просто описывает ситуацию",
"Раздражён, но вежлив",
"Очень зол, резкие выражения",
],
),
},
)
print(response.answers["is_urgent"].noul) # 0.98
print(response.answers["department"].choice) # "billing"
print(response.answers["frustration"].score) # 0.88
// npm install @typesafe-ai/sdk
import { TypeSafeClient, choice, noul, score } from '@typesafe-ai/sdk';
const client = new TypeSafeClient({
baseURL: 'https://routerai.ru/api',
apiKey: 'YOUR_API_KEY',
defaultModel: '~typesafe/jev-latest', // алиас на актуальную версию; закрепить версию — typesafe/jev-1.13
});
const response = await client.systemOne({
state:
'Здравствуйте! Третий день не могу подключить оплату на сайте — платежи клиентов не проходят, мы теряем заказы. Помогите, пожалуйста, срочно.',
questions: {
is_urgent: noul('Клиент сообщает о срочной проблеме?'),
department: choice('Какая команда должна заняться обращением?', {
billing: 'Платежи, счета, возвраты, подписки',
technical: 'Ошибки, сбои, интеграции, настройка',
sales: 'Тарифы, покупка, вопросы до оплаты',
}),
frustration: score('Насколько раздражён клиент?', [
'Спокоен, просто описывает ситуацию',
'Раздражён, но вежлив',
'Очень зол, резкие выражения',
]),
},
});
console.log(response.answers.is_urgent.noul); // 0.98
console.log(response.answers.department.choice); // "billing"
console.log(response.answers.frustration.score); // 0.88
import requests
import json
url = "https://routerai.ru/api/v1/decisions"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
}
data = {
"model": "~typesafe/jev-latest", # алиас на актуальную версию; закрепить версию — typesafe/jev-1.13
# Вопросы к состоянию: имя → определение. Ответы придут под теми же именами.
"questions": {
"is_urgent": {
"type": "noul", # булев ответ: вероятность «да» от 0 до 1
"instructions": "Требует ли обращение немедленной реакции дежурного?",
"criteria": {
"true": "Сервис недоступен или клиент теряет деньги прямо сейчас",
"false": "Вопрос можно разобрать в общей очереди поддержки"
}
},
"team": {
"type": "choice", # выбор одного варианта + probabilities по всем
"instructions": "На какую команду направить обращение?",
"criteria": {
"billing": "Оплата, счета, возвраты, тарифы",
"technical": "Ошибки API, интеграция, доступность сервиса",
"other": "Всё остальное"
}
},
"severity": {
"type": "score", # оценка по шкале: ответ — индекс в этом списке
"instructions": "Насколько сильно это влияет на работу клиента?",
"criteria": [
"Влияния нет, вопрос информационный",
"Частичное неудобство, есть обходной путь",
"Работа клиента заблокирована полностью"
]
}
},
# state — то, что оцениваем: строка, объект или массив.
"state": {
"ticket": "С 10:40 все запросы к API возвращают 500. Оплата прошла вчера.",
"plan": "enterprise"
}
}
response = requests.post(url, headers=headers, json=data)
result = response.json()
print(json.dumps(result, indent=2, ensure_ascii=False))
# result["answers"]["team"]["choice"] → "technical"
# result["answers"]["is_urgent"]["noul"] → 0.96
# result["answers"]["severity"]["score"] → 1.99
# 2) Пакетная оценка списка одним запросом: вопросов может быть сколько угодно,
# они оцениваются параллельно, но каждый вопрос даёт ровно один ответ —
# поэтому на каждый элемент списка нужен свой вопрос. Общие правила кладём
# в state один раз, а сам элемент дублируем в тексте вопроса: ссылка только
# по индексу (items[3]) разрешается неточно, и соседние элементы «протекают».
comments = {
"c1": "Отличный сервис, заказ пришёл за два дня, рекомендую!",
"c2": "Заработок от 5000 ₽ в день без вложений, пишите в личку",
"c3": "Подскажите, где найти инструкцию по настройке?"
}
questions = {}
for comment_id, text in comments.items():
questions[f"comment_{comment_id}"] = {
"type": "noul",
"instructions": f"Является ли комментарий comments.{comment_id} = «{text}» спамом по правилам из policy?",
"criteria": {
"true": "Реклама, обещание заработка, контакты или ссылка на сторонний ресурс",
"false": "Отзыв, вопрос или обсуждение по теме"
}
}
data = {
"model": "~typesafe/jev-latest",
"questions": questions,
"state": {
# Правила — один раз на весь пакет
"policy": "Комментарии к статьям сайта. Спам — реклама товаров и услуг, обещания заработка, приглашения писать в личные сообщения или мессенджеры, телефоны и ссылки на сторонние ресурсы. Не спам — отзывы, вопросы и обсуждение по теме статьи.",
"comments": comments
}
}
response = requests.post(url, headers=headers, json=data)
result = response.json()
for comment_id, text in comments.items():
probability = result["answers"][f"comment_{comment_id}"]["noul"]
print(text[:30], "спам" if probability >= 0.7 else "ок", probability)
# c1 ок 0.03 / c2 спам 0.99 / c3 ок 0.03
# Порог выбирайте сами; значения между 0.3 и 0.7 удобно отправлять на ручную проверку.
# Нужна причина — замените noul на choice с вариантами ok / ad / scam.
# 50 элементов — около 13 тысяч входных токенов, ответ меньше секунды.
# Подробнее: https://routerai.ru/docs/guides/overview/decisions/recipes
curl -X POST "https://routerai.ru/api/v1/decisions" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "~typesafe/jev-latest",
"questions": {
"is_urgent": {
"type": "noul",
"instructions": "Требует ли обращение немедленной реакции дежурного?",
"criteria": {
"true": "Сервис недоступен или клиент теряет деньги прямо сейчас",
"false": "Вопрос можно разобрать в общей очереди поддержки"
}
},
"team": {
"type": "choice",
"instructions": "На какую команду направить обращение?",
"criteria": {
"billing": "Оплата, счета, возвраты, тарифы",
"technical": "Ошибки API, интеграция, доступность сервиса",
"other": "Всё остальное"
}
},
"severity": {
"type": "score",
"instructions": "Насколько сильно это влияет на работу клиента?",
"criteria": [
"Влияния нет, вопрос информационный",
"Частичное неудобство, есть обходной путь",
"Работа клиента заблокирована полностью"
]
}
},
"state": {
"ticket": "С 10:40 все запросы к API возвращают 500. Оплата прошла вчера.",
"plan": "enterprise"
}
}'
# 2) Пакетная оценка списка одним запросом: каждый вопрос даёт ровно один ответ,
# поэтому на каждый элемент — свой вопрос (comment_<id>). Правила — один раз в state,
# сам элемент дублируем в тексте вопроса: ссылка только по индексу (items[3])
# разрешается неточно, соседние элементы «протекают». Ответы придут под теми же
# ключами: answers.comment_c1.noul → 0.03, answers.comment_c2.noul → 0.99.
# Подробнее: https://routerai.ru/docs/guides/overview/decisions/recipes
curl -X POST "https://routerai.ru/api/v1/decisions" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "~typesafe/jev-latest",
"questions": {
"comment_c1": {
"type": "noul",
"instructions": "Является ли комментарий comments.c1 = «Отличный сервис, заказ пришёл за два дня, рекомендую!» спамом по правилам из policy?",
"criteria": {
"true": "Реклама, обещание заработка, контакты или ссылка на сторонний ресурс",
"false": "Отзыв, вопрос или обсуждение по теме"
}
},
"comment_c2": {
"type": "noul",
"instructions": "Является ли комментарий comments.c2 = «Заработок от 5000 ₽ в день без вложений, пишите в личку» спамом по правилам из policy?",
"criteria": {
"true": "Реклама, обещание заработка, контакты или ссылка на сторонний ресурс",
"false": "Отзыв, вопрос или обсуждение по теме"
}
}
},
"state": {
"policy": "Комментарии к статьям сайта. Спам — реклама товаров и услуг, обещания заработка, приглашения писать в личные сообщения или мессенджеры, телефоны и ссылки на сторонние ресурсы. Не спам — отзывы, вопросы и обсуждение по теме статьи.",
"comments": {
"c1": "Отличный сервис, заказ пришёл за два дня, рекомендую!",
"c2": "Заработок от 5000 ₽ в день без вложений, пишите в личку"
}
}
}'
Эндпоинт API
Decisions
Возвращает структурированные ответы на заданные вопросы (булев, выбор из вариантов, оценка по шкале) вместо свободного текста. Как формулировать вопросы, рецепты и подключение официального SDK TypeSafe — в гайде «Решения (Jev)» в документации.
https://routerai.ru/api/v1/decisions