Kararlar

Kararlar (Jev)

Verileriniz hakkında türü belirlenmiş sorular sorun ve kodunuzun kullanabileceği yanıtlar alın: kalibre edilmiş olasılıklarla evet olasılığı, seçenekler arasından bir seçim veya bir ölçekteki konum; genellikle bir saniyeden kısa sürede. TypeSafe’in kendi API’si üzerinden sunulduğu için SDK’ları değişiklik gerektirmeden çalışır.

POST/v1/systemone
ModelIDGirdi, 1M token başınaTypeSafe fiyatıÇıktı
Jev 1.14jev-1.14$0.024$0.042Ücretsiz
Jev 1.13jev-1.13$0.035$0.042Ücretsiz

Jev, TypeSafe’in System One modeli olarak adlandırdığı karar modelidir: bir sohbet modeli gibi doğal dili anlar, ancak metin yazmak yerine sizin tanımladığınız soruları yanıtlar. jev-latest, jev-1.14.0 ve typesafe/jev-1.14 de model kimliği olarak çalışır; jev-1.13 ise ona göre ayarlanmış istemler için kullanılabilir olmaya devam eder.

Soru sorun

# pip install typesafe-sdk
from typesafe_sdk import Choice, Noul, Score, TypeSafeClient
with TypeSafeClient(
base_url="https://api.zurelay.com",
api_key="YOUR_ZURELAY_KEY",
model="jev-1.14",
) as client:
response = client.system_one(
state={"ticket": "I was charged twice for October, please refund one today."},
questions={
"refund": Noul(instructions="Is the customer asking for money back?"),
"team": Choice(
instructions="Which team should handle this?",
criteria={"billing": "Charges and refunds", "technical": "Bugs and outages"},
),
"urgency": Score(
instructions="How urgent is it?",
criteria=["can wait", "this week", "today"],
),
},
)
print(response.nouls["refund"].noul) # 0.98
print(response.choices["team"].choice) # billing
print(response.scores["urgency"].score) # 1.9

TypeSafe SDK’larında temel URL’yi /v1 olmadan https://api.zurelay.com olarak ayarlayın: /v1/systemone kısmını kendileri ekler. TYPESAFE_BASE_URL ve TYPESAFE_API_KEY ortam değişkenleri de çalışır. Herhangi bir HTTP istemcisiyle de aynı şekilde kullanabilirsiniz: Zurelay anahtarınızı Bearer token olarak gönderin.

Yanıt

Yanıt
{
"id": "req_8Kq2vXbN4tR7mWc1pLs9dYe3",
"model": "jev-1.14",
"answers": {
"refund": { "type": "noul", "noul": 0.98 },
"team": {
"type": "choice",
"choice": "billing",
"probabilities": { "billing": 1.0, "technical": 0.0 },
"confidence": 1.0
},
"urgency": {
"type": "score",
"score": 1.9,
"legend": { "0": "can wait", "1": "this week", "2": "today" },
"probabilities": { "0": 0.0, "1": 0.1, "2": 0.9 },
"confidence": 0.81
}
},
"usage": { "input_tokens": 396, "output_tokens": 61, "cost": 0.00001386 }
}

Her yanıt, sorusuna verdiğiniz ad altında döner. usage, isteğin hangi kullanım üzerinden faturalandırıldığını; cost ise ABD doları cinsinden maliyetini gösterir. Aynı istek, bir çağrıdan diğerine bir veya iki puan farklı yanıt verebilir.

Parametreler

modelstringzorunlu
jev-1.14, jev-latest (aynı model) veya jev-1.13.
statestring, object veya arrayzorunlu
Hakkında karar verilecek içerik: bir metin ya da kayıt, sohbet geçmişi veya uygulamanızın mevcut durumu gibi yapılandırılmış veriler. Bir soruda bir alana atıfta bulunurken adını `ticket` gibi ters tırnak içinde yazın.
questionsobjectzorunlu
Her biri seçtiğiniz bir ad altında yer alan sorularınız. Yanıtlar aynı adlarla döner; bu adlar modele gönderilmez.
Her soru
typestringzorunlu
noul, choice veya score.
instructionsstring, object veya arrayzorunlu
Soru. Bir nesne, soruyu bir alanda, sorunun atıfta bulunduğu verileri ise diğer alanlarda tutabilir.
criteriaobject veya array
choice için (zorunlu): her biri bir açıklama veya null içeren, en fazla 255 seçenekten oluşan bir nesne. score için (zorunlu): en düşükten başlayarak sıralanmış 2 ile 10 seviyelik bir dizi. noul için (isteğe bağlı): evet ve hayırın ne anlama geldiğini belirten true ve false.

Soru türleri

TürSorulanAnswer
noulEvet veya hayır sorusunoul: 0 ile 1 arasında evet olasılığı
choiceSeçeneklerinizden hangisinin uygun olduğuchoice, her seçeneğin probabilities değeri ve bir confidence
scoreSıralı ölçeğinizde nerede yer aldığıSeviyeler arasına da denk gelebilen score, bir legend, her seviyenin probabilities değeri ve bir confidence

Tek bir istekte üç türü de kullanabilirsiniz. Çok sayıda soru sormanın maliyeti, tek bir sorudan yalnızca biraz fazladır: durum bir kez okunur ve tüm sorular bu duruma göre paralel olarak yanıtlanır.

Sınırlar

  • İstek başına durum ve tüm soruların toplamı en fazla 64K token, durum ile en uzun sorunun toplamı ise en fazla 32K olabilir.
  • Yalnızca metin: bir dize, JSON nesnesi veya dizi. Görselleri, PDF’leri veya sesleri önce metne dönüştürün.
  • Akış desteği yoktur: yanıtlar genellikle bir saniyeden kısa sürede, bütün olarak döner.
  • Hatalı biçimlendirilmiş bir istek (eksik bir instructions, tek seviyeli bir puan) modele ulaşmadan 400 ile reddedilir ve ücretlendirilmez. 64K token sınırını aşan istekler de context_length_exceeded koduyla aynı şekilde reddedilir.

İyi yanıtlar alma

Jev talimatları harfi harfine yorumlar; bu nedenle koşulu tam olarak yazın ve sınır durumlarını ölçütlere ekleyin. Sayma, aritmetik ve tarih karşılaştırmalarını kodda yapın; durumun yalnızca sorunun gerektirdiği kısmını gönderin. Seçim yaparken ilk seçeneğe yönelebilir: önemli bir kararda, seçeneklerin sırasını değiştirdiğinizde de yanıtın aynı kaldığını kontrol edin.

Kararların ücretlendirilmesi

Jev, saydığı girdi tokenları üzerinden ücretlendirilir: durumunuz ve sorularınız ile her istekte kendisinin eklediği yaklaşık 270 token. TypeSafe’te olduğu gibi yanıtlar ücretsizdir. Yaklaşık 300 tokenlık kısa bir istek yaklaşık $0.00001, bu tür bir milyon istek ise yaklaşık $10 tutar. Her yanıtın usage ve x-zurelay-input-tokens başlıkları, hangi kullanım üzerinden faturalandırıldığını gösterir; tüm istekler istek günlüğünüzde yer alır ve başarısız istekler ücretlendirilmez.

Kendi içerik ve sorularınızı paneldeki Deneme Alanı bölümünde deneyin: Jev’i seçin, içeriği yapıştırın ve yanına sorularınızı ekleyin. Kod al düğmesi aynı isteği Python, Node.js veya cURL olarak oluşturur.

Sorunuz mu var, yoksa bir şey mi eksik? Destek ekibimize sorun, genellikle bir dakika içinde e-postayla yanıtlayalım.