Справка
Jev API Docs
Справочник по endpoint решений Jev на этом сайте. Jev — модель System One от TypeSafe AI; этот сайт — независимый API-сервис, который предоставляет к ней доступ. Отправьте одно состояние и карту вопросов и получите типизированный ответ на каждый.
Обновлено
Endpoint
Отправьте POST /api/v1/decisions на этот хост. Нет пути chat-completions и нет потока. GET /api/v1/models перечисляет id модели.
POST https://jev-api.org/api/v1/decisions
Authorization: Bearer YOUR_API_KEY
Content-Type: application/jsonАутентификация
Положите ключ панели в Authorization: Bearer. Отсутствующий или отклонённый ключ даёт 401. Песочница создаёт ключ аккаунта при запуске.
Быстрый старт
Установите JEV_API_KEY в ключ из вашей панели и отправьте запрос ниже. Новые аккаунты получают 2 кредита — хватит на 2 успешных вызова.
curl https://jev-api.org/api/v1/decisions \
-H "Authorization: Bearer $JEV_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "jev-1.13",
"state": "Thanks for the refund. Still annoyed it took three emails.",
"questions": {
"sentiment": {
"type": "choice",
"instructions": "What is the overall sentiment of this message?",
"criteria": {
"positive": "Satisfied or thankful overall.",
"mixed": "Both satisfied and unhappy.",
"negative": "Unhappy overall."
}
},
"needs_follow_up": {
"type": "noul",
"instructions": "Should a person reply to this message?"
}
}
}'Тело запроса
model — jev-1.13 или jev-latest. state — строка, JSON-объект или массив текста, до 60 000 символов. questions — карта из 1–6 id в snake_case. id — только метка, под которой возвращается ответ, а не вопрос. Сам вопрос пишите в instructions текстом от 1 до 2 000 символов.
{
"model": "jev-1.13",
"state": "Thanks for the refund. Still annoyed it took three emails.",
"questions": {
"sentiment": {
"type": "choice",
"instructions": "What is the overall sentiment of this message?",
"criteria": {
"positive": "Satisfied or thankful overall.",
"mixed": "Both satisfied and unhappy.",
"negative": "Unhappy overall."
}
},
"needs_follow_up": {
"type": "noul",
"instructions": "Should a person reply to this message?"
}
}
}Типы вопросов
Noul
type noul требует только instructions. Поле noul — вероятность от 0 до 1, что утверждение истинно. Отдельного поля confidence нет. Если отправить criteria в вопросе noul, этот endpoint его игнорирует.
Choice
type choice требует instructions и criteria: объект из 2–8 id в snake_case с описаниями до 300 символов. Ответ включает choice, probabilities каждого варианта и confidence.
Score
type score требует instructions и criteria — упорядоченный массив из 2–10 уровней, от низшего. Ответ включает score, legend, probabilities и confidence.
Ответ
Успешное тело содержит model, answers по вашим id вопросов, usage с input_tokens и output_tokens, и credits_used. model сообщает jev-1.13, даже если вы отправили jev-latest. Ниже — пример ответа на запрос из быстрого старта, usage опущено.
{
"model": "jev-1.13",
"answers": {
"sentiment": {
"type": "choice",
"choice": "mixed",
"probabilities": { "mixed": 0.79, "negative": 0.2, "positive": 0.01 },
"confidence": 0.61
},
"needs_follow_up": { "type": "noul", "noul": 0.83 }
},
"credits_used": 1
}Как читать вероятности и confidence
Noul — вероятность того, что утверждение в instructions истинно. Choice и Score возвращают вероятность каждого варианта или уровня, плюс confidence.
Второй вариант — сигнал передать человеку. Когда confidence низкий или два варианта близки, отдайте случай человеку или задайте ещё один конкретный вопрос. Не снижайте порог, пока не посмотрите эти близкие случаи.
Лимиты
| Параметр | Этот endpoint |
|---|---|
| Endpoint | POST /api/v1/decisions, Bearer-ключ |
| Модель | jev-1.13 (jev-latest — псевдоним) |
| Вопросов за вызов | 1–6 |
| Варианты Choice | 2–8 |
| Уровни Score | 2–10, от низшего |
| State | Строка, JSON-объект или массив, до 60 000 символов |
| Instructions | Текст, 1–2 000 символов |
| Оплата | 1 кредит за успешный вызов; неудачные бесплатны |
| Стриминг | Не поддерживается |
Отличия от API TypeSafe
TypeSafe AI обслуживает Jev на POST https://api.typesafe.ai/v1/systemone с ключом TypeSafe и тарификацией по входным токенам. Тело запроса здесь имеет ту же форму: model, state и questions типа noul, choice или score. Что меняется:
- Путь и ключ: POST /api/v1/decisions на jev-api.org с ключом из панели этого сайта. Ключи TypeSafe здесь не работают, а ключи этого сайта не работают на TypeSafe.
- Id модели: отправляйте jev-1.13 или jev-latest. Версионный id вроде jev-1.13.0 возвращает 422.
- Лимиты: 1–6 вопросов за вызов и 2–8 вариантов Choice. TypeSafe документирует до 255 вариантов Choice.
- Поля: instructions должен быть текстом, и каждому варианту Choice нужно описание. TypeSafe также принимает instructions в виде объекта или массива и null-описания вариантов.
- Оплата: 1 кредит за успешный вызов, независимо от числа токенов.
Ошибки
- 401 — ключ отсутствует или отклонён.
- 402 — ключ верный, баланса не хватает. Сбой upstream не списывает кредит.
- 422 — тело не прошло проверку. Сообщение называет поле.
- 429 — сервис решений ограничен. Повторите позже.
- 502 — сервис не вернул ответы. Кредит не списывается.
Id модели
Этот API отдаёт jev-1.13. Отправляйте этот id, если порог зависит от одного распределения. На этом API jev-latest — псевдоним того же id.