Başvuru
Jev API Docs
Bu sitedeki Jev karar endpoint’inin başvurusu. Jev, TypeSafe AI’ın System One modelidir; bu site ona erişimi barındıran bağımsız bir API hizmetidir. Bir durum ve bir soru haritası gönderin, her biri için tipli bir yanıt alın.
Güncellendi
Endpoint
Bu host'ta POST /api/v1/decisions'a gönderin. chat-completions yolu veya streaming yanıtı yoktur. GET /api/v1/models model id'sini listeler. Uyumlu POST /v1/systemone aşağıda anlatılıyor.
POST https://jev-api.org/api/v1/decisions
Authorization: Bearer YOUR_API_KEY
Content-Type: application/jsonKimlik doğrulama
Pano anahtarını Authorization: Bearer içine koyun. Eksik veya reddedilen anahtar 401 döner. Playground isteği çalıştırırken oturum hesabı için anahtar oluşturabilir.
Hızlı başlangıç
JEV_API_KEY'i panonuzdaki bir anahtara ayarlayın, ardından aşağıdaki isteği gönderin.
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?"
}
}
}'AI kodlama araçlarıyla kullanma
İstek sözleşmesinin tamamını içeren bir promptu kopyalayıp görevinizle birlikte Cursor, Claude Code veya ChatGPT'ye yapıştırın. Aynı referans /llms.txt adresinde.
İstek gövdesi
model, jev-1.13 veya jev-latest olur. state bir dize, JSON nesnesi veya metin dizisidir; en fazla 60.000 karakter. questions, 1 ile 6 snake_case kimliğin haritasıdır. Kimlik yalnızca yanıtınızın döndüğü etikettir, soru değildir. Asıl soruyu instructions içine 1 ile 2.000 karakterlik metin olarak yazın.
{
"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?"
}
}
}Soru türleri
Noul
type noul yalnızca instructions ister. noul alanı ifadenin doğru olma olasılığıdır, 0 ile 1 arası. Ayrı bir confidence alanı yoktur. Bir noul sorusunda criteria gönderirseniz bu endpoint onu yok sayar.
Choice
type choice, instructions ve criteria ister: en fazla 300 karakterlik açıklamalara eşlenen 2 ile 8 snake_case seçenek kimliğinden oluşan bir nesne. Yanıtta choice, her seçeneğin probabilities değeri ve confidence vardır.
Score
type score, en düşük önce olmak üzere 2 ile 10 düzey açıklamasından oluşan sıralı bir dizi ister. Yanıtta score, legend, probabilities ve confidence vardır.
Yanıt
Başarılı gövdede model, soru kimliklerinizle anahtarlanmış answers, input_tokens ve output_tokens içeren usage ve credits_used vardır. jev-latest gönderseniz bile model jev-1.13 bildirir. Aşağıda hızlı başlangıç isteğine örnek bir yanıt var; usage çıkarıldı.
{
"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
}Olasılıkları ve confidence’ı okumak
Noul, instructions içindeki ifadenin doğru olma olasılığıdır. Choice ve Score, her seçenek veya düzey için bir olasılık ile confidence döner.
İkinci sıra, insana devretme sinyalidir. confidence düşükse veya iki seçenek yakınsa vakayı bir kişiye verin ya da daha somut bir soru daha sorun. Bu yakın vakalara bakmadan eşiği düşürmeyin.
Limitler
| Öğe | Bu endpoint |
|---|---|
| Endpoint | POST /api/v1/decisions, Bearer anahtarı |
| Model | jev-1.13 (jev-latest bir takma ad) |
| Çağrı başına soru | 1 ile 6 |
| Choice seçeneği | 2 ile 8 |
| Score düzeyi | 2 ile 10, en düşük önce |
| State | Dize, JSON nesnesi veya dizi, en fazla 60.000 karakter |
| Instructions | Metin, 1 ile 2.000 karakter |
| Faturalama | Başarılı çağrı başına 1 kredi; başarısızlar ücretsiz |
| Akış | Desteklenmiyor |
TypeSafe’in API’sinden farklar
TypeSafe AI, Jev'i bir TypeSafe anahtarıyla POST https://api.typesafe.ai/v1/systemone'da sunar ve girdi token'ı başına ücretlendirir. Bu sitenin POST /v1/systemone'u aynı gövdeyi olduğu gibi kabul eder; daha basit olan POST /api/v1/decisions şu farkları taşır:
- Yol ve anahtar: jev-api.org üzerinde POST /api/v1/decisions, anahtar bu sitenin panosundan. TypeSafe anahtarları burada çalışmaz, bu sitenin anahtarları da TypeSafe’te çalışmaz.
- Model id: /api/v1/decisions'da jev-1.13 veya jev-latest gönderin; jev-1.13.0 gibi sürümlü bir id 422 döndürür. /v1/systemone; jev-latest, jev-preview, jev-1.13, jev-1.13.0 ve typesafe/jev-1.13'ü kabul eder.
- Limitler: /api/v1/decisions çağrı başına 1–6 soru ve 2–8 Choice seçeneğine izin verir. /v1/systemone tam TypeSafe aralıklarını kabul eder — 256 soruya ve 255 Choice seçeneğine kadar.
- Alanlar: /api/v1/decisions'da instructions metin olmalı ve her Choice seçeneğinin açıklaması gerekir. /v1/systemone nesne veya dizi instructions ile null seçenek açıklamalarını da kabul eder.
- Faturalama: başarılı çağrı başına 1 kredi, token sayısı ne olursa olsun.
TypeSafe SDK uyumlu endpoint
Bu host'taki POST /v1/systemone, TypeSafe istek gövdesini — model, state ve questions — olduğu gibi alır ve TypeSafe yanıt biçimini döndürür: model, answers, usage. TypeSafe uyumlu bir istemciyi https://jev-api.org base URL'sine yöneltin veya https://jev-api.org/v1/systemone'u doğrudan çağırın. GET /v1/models anahtarsız sunulan modelleri listeler.
POST https://jev-api.org/v1/systemone
GET https://jev-api.org/v1/modelsKabul edilen model id'leri: jev-latest, jev-preview, jev-1.13, jev-1.13.0, typesafe/jev-1.13. Bu yol daha geniş TypeSafe aralıklarını kabul eder — 1–256 soru, 2–255 Choice seçeneği, 2–10 Score düzeyi, nesne veya dizi instructions — ve istek başına 64k token ile durum + en uzun soru için 32k token limitlerini. Faturalandırma aynıdır: başarılı çağrı başına 1 kredi.
Python
from typesafe_sdk import Noul, TypeSafeClient
with TypeSafeClient(api_key="YOUR_JEV_API_KEY", base_url="https://jev-api.org") as client:
response = client.system_one(
state="The invoice total does not match the quote.",
questions={"is_billing": Noul(instructions="Is this about billing?")},
)
print(response.answers["is_billing"])JavaScript
const res = await fetch('https://jev-api.org/v1/systemone', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.JEV_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
model: 'jev-latest',
state: 'The invoice total does not match the quote.',
questions: { is_billing: { type: 'noul', instructions: 'Is this about billing?' } },
}),
})
const { answers } = await res.json()Hatalar
- 401 — API anahtarı yok veya reddedildi.
- 402 — anahtar geçerli, bakiye bu çağrıyı karşılamaz. Upstream hatası kredi kullanmaz.
- 422 — gövde doğrulamadan geçmedi. Mesaj alanı söyler.
- 429 — karar hizmeti hız sınırında. Sonra yeniden deneyin.
- 502 — hizmet yanıt döndürmedi. Kredi kullanılmaz.
Model kimliği
Bu API jev-1.13 sunar. Eşik tek bir dağılıma bağlıysa bu kimliği gönderin. Bu API’de jev-latest aynı kimliğin takma adıdır.