레퍼런스
Jev API Docs
이 사이트의 Jev 결정 엔드포인트 레퍼런스입니다. Jev는 TypeSafe AI의 System One 모델이며, 이 사이트는 그 접근을 제공하는 독립 API 서비스입니다. 하나의 상태와 질문 맵을 보내면 각각에 대한 타입 답을 받습니다.
업데이트
엔드포인트
이 호스트에 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는 snake_case id 1~6개의 맵입니다. 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 필드는 없습니다. noul 질문에 criteria를 보내면 이 엔드포인트는 무시합니다.
Choice
type choice는 instructions와 criteria가 필요합니다. snake_case 선택지 id 2~8개를 최대 300자 설명에 매핑한 객체입니다. 답에는 choice, 모든 선택지의 probabilities, confidence가 있습니다.
Score
type score는 instructions와 낮은 순서의 단계 설명 2개에서 10개가 필요합니다. 답에는 score, 단계 legend, 확률, confidence가 있습니다.
응답
성공 본문에는 model, 질문 id가 키인 answers, input_tokens와 output_tokens를 가진 usage, credits_used가 있습니다. jev-latest를 보내도 model은 jev-1.13을 보고합니다. 아래는 quickstart 요청에 대한 응답 예시로, 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가 낮거나 두 선택지가 가까우면 그 사례를 사람에게 넘기거나 더 구체적인 질문을 하나 더 하세요. 가까운 결과를 보기 전에 컷오프를 낮추지 마세요.
제한
| 항목 | 이 엔드포인트 |
|---|---|
| 엔드포인트 | 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개, 실패 호출은 무료 |
| 스트리밍 | 지원 안 함 |
TypeSafe API와의 차이
TypeSafe AI는 POST https://api.typesafe.ai/v1/systemone에서 TypeSafe 키로 Jev를 제공하고 입력 토큰당 과금합니다. 여기의 요청 본문 형태는 같습니다. model, state, noul·choice·score 타입의 questions입니다. 달라지는 점:
- 경로와 키: jev-api.org의 POST /api/v1/decisions이며, 키는 이 사이트 대시보드에서 나옵니다. TypeSafe 키는 여기서 작동하지 않고, 이 사이트 키도 TypeSafe에서 작동하지 않습니다.
- 모델 id: jev-1.13 또는 jev-latest를 보내세요. jev-1.13.0 같은 버전 id는 422를 반환합니다.
- 제한: 호출당 질문 1~6개, Choice 선택지 2~8개. TypeSafe 문서는 최대 255개의 Choice 선택지를 허용합니다.
- 필드: instructions는 텍스트여야 하고 각 Choice 선택지에는 설명이 필요합니다. TypeSafe는 객체 또는 배열 instructions와 null 선택지 설명도 받습니다.
- 과금: 성공 호출당 크레딧 1개, 토큰 수와 무관.
오류
- 401 — API 키가 없거나 거부됨.
- 402 — 키는 유효하지만 잔액이 부족합니다. 업스트림 실패는 크레딧을 쓰지 않습니다.
- 422 — 본문 검증 실패. 메시지가 필드를 가리킵니다.
- 429 — 결정 서비스가 제한되었습니다. 나중에 다시 시도하세요.
- 502 — 결정 서비스가 답을 반환하지 않았습니다. 크레딧은 사용되지 않습니다.
모델 id
이 API는 jev-1.13을 제공합니다. 코드의 임계값이 하나의 분포에 의존하면 그 id를 보내세요. 이 API에서 jev-latest는 같은 id의 별칭입니다.