Как повторить
- Найдите развилку, где LLM вызывают тысячи раз ради одного слова: срочный ли тикет, спам ли, какой команде его отдать. Если есть понятное правило, хватит обычного
if. Открытые задачи оставьте LLM. - Соберите размеченные примеры. На первую прикидку хватит 50–100. Для рабочего порога документация Pydantic AI советует несколько сотен текстов из реального потока. Их прогоняют один раз без порога, сохраняют вероятности и потом подбирают порог без новых запросов.
- Тексты уходят на сторонний американский сервис TypeSafe. Если в них персональные данные, сначала прочитайте условия. Есть локальная открытая модель Von (
pip install von-sdk, серверvon serve), но по её же таблице она слабее Jev: 72,0% против 96,6%. - Выберите доступ:
- TypeSafe: ключ в консоли, затем
export TYPESAFE_API_KEY='...'. Доступ ранний, через лист ожидания. - Vercel AI Gateway: нужны аккаунт Vercel и его ключ AI Gateway. Модель
typesafe-ai/jev, цена та же. Неизвестно, входит ли Jev в бесплатный уровень Vercel. - Cloudflare Workers AI: модель
typesafe/jev, запросPOST https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/runс заголовкомAuthorization: Bearer $CLOUDFLARE_API_TOKEN. В теле запросаmodelиinputс полямиstateиquestions. Цена указана в дашборде Cloudflare.
Попробовать приём без ключа и регистрации можно на открытом демо Simple Jev:
curl https://simple-jev-demo-api.featherless.ai/v1/classifier \
-H "Content-Type: application/json" \
-d '{
"model": "featherless-ai/gemma-4-26B-A4B-classifier",
"state": "Help! My payouts have been failing for 3 days.",
"questions": {
"urgency": {"type": "noul", "instructions": "Does this message express urgency?"}
}
}'- Сделайте первый вызов. В
stateпередаётся текст, вquestionsвопросы. Типnoulвозвращает вероятность «да» от 0 до 1,choiceвыбирает из списка до 255 вариантов,scoreставит оценку по шкале.
curl -X POST https://api.typesafe.ai/v1/systemone \
-H "Authorization: Bearer $TYPESAFE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"state": "Help! My payouts have been failing for 3 days.",
"model": "jev-latest",
"questions": {
"urgency": {"type": "noul", "instructions": "Does this message express urgency?"}
}
}'Запрос через Vercel из его документации:
curl https://ai-gateway.vercel.sh/typesafe/v1/systemone \
-H "Authorization: Bearer $AI_GATEWAY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "typesafe-ai/jev",
"state": "I was charged twice for my subscription.",
"questions": {
"refund": {"type": "noul", "instructions": "Is the customer asking for money back?"}
}
}'- Установите SDK:
pip install typesafe-sdk(Python 3.10+) илиnpm install @typesafe-ai/sdk. Для работы через Vercel в JS-клиенте задайтеbaseURL: 'https://ai-gateway.vercel.sh/typesafe'. В Python-SDK адрес, судя по коду пакета, задаёт переменнаяTYPESAFE_BASE_URL. В примере три вопроса за один вызов. Функцииsend_to_humanиpage_on_call, а также реакцию на ответrefundнапишите сами:
from typesafe_sdk import Choice, Noul, TypeSafeClient
client = TypeSafeClient() # ключ берёт из TYPESAFE_API_KEY
r = client.system_one(
state={"ticket": "Deploy failed twice, customers see 500s. Need a fix and a refund for the downtime."},
questions={
"urgent": Noul(instructions="Message conveys urgency"),
"team": Choice(
instructions="Which team should handle this?",
criteria={
"engineering": "Outage, bug or deploy problem",
"billing": "Payments, invoices, refunds only",
"other": "Anything else",
},
),
"refund": Noul(instructions="The customer asks for a refund"),
},
)
team = r.answers["team"]
if team.confidence < 0.6:
send_to_human()
elif r.answers["urgent"].noul > 0.8 and team.choice == "engineering": # у Noul уверенности нет, порог на вероятность
page_on_call()- Порог выбирайте по цене ошибки: показать баланс можно и при 0.6, одобрять перевод стоит только выше 0.85. TypeSafe советует отдавать человеку всё, где уверенность ниже 0.6. На странице Confidence в примере стоят пороги 0.5 и 0.9. Подбирая порог, закрепите версию модели (пример из документации:
jev-1.13.0), потому чтоjev-latestавтоматически переключается на новые версии. Pydantic AI советует подбирать порог заново при смене версии.
Как проверить результат
- На первый curl придёт число в
answers.urgency.noulи счётчик токенов вusage. В примере Cloudflare для этого текста вышло 0.95. - На тексте «Thanks, everything works now» число должно заметно упасть. Если в обоих случаях оно около 0.5, перепишите
instructionsи добавьтеcriteria. - Прогоните набор из шага 2 с порогом 0.85 (для
noulэто выше 0.85 или ниже 0.15) и посчитайте, сколько ответов ушло в автомат и сколько из них неверных. Ошибки при высокой уверенности обычно исправляет новая формулировка вопроса, а если почти всё оказалось ниже порога, этот вопрос лучше задавать обычной LLM.
Как это устроено
По описанию TypeSafe, Jev не пишет ответ слово за словом, как обычная LLM, а отвечает на все вопросы параллельно за один проход. Обучение по методу RLCD нужно, чтобы вероятностям можно было доверять. Поле confidence есть только у Choice и Score. Оно равно 1.0, когда вся вероятность на одном варианте, и близко к нулю, когда она размазана поровну. Для трёх вариантов формула такая: (3 × максимум - 1) / 2. Ответ говорит, что выбрано, а уверенность показывает, можно ли действовать без человека.
Ограничения: свободного текста в ответе нет. На ввод вместе с самым длинным вопросом можно до 32k токенов, на ввод со всеми вопросами до 64k. По официальному списку слабых мест модель понимает вопрос буквально, не умеет считать и путает даты.
Ссылки
- Анонс Jev: устройство модели и оговорки к замерам.
- Quick start: адрес API и первые примеры.
- Confidence: как считается уверенность.
- Confidence-gated routing: рекомендуемые пороги.
- Jev 1.13 jaggedness: слабые места модели и как их обойти в коде.
- typesafe-sdk и @typesafe-ai/sdk: бесплатные SDK.
- TypeSafe API with AI Gateway: вызов через Vercel, оплата по факту.
- Cloudflare: typesafe/jev: формат запроса через Workers AI.
- Pydantic AI: Decision models: подбор порога на своих данных.
- Von: бесплатная локальная открытая модель.
Источник: Адель Кадыров (harsh.times, ffckteam.com), Instagram, карусель из 9 слайдов от 22.09.2026.