# Jev API rehberi

> Jev API’yi curl, Python ve Node.js ile kullanın. Choice, Score, Noul yanıtlarını, API anahtarını, bağlam limitlerini ve hata yönetimini öğrenin.

- Canonical HTML: https://omniakey.com/tr/blog/jev-api-guide
- Markdown: https://omniakey.com/tr/blog/jev-api-guide.md
- Published: 2026-09-28 (updated 2026-10-24)
- Author: Kiki, COO at OmniaKey
- Language: tr
- Category: API setup
- Reading time: 11 min
- All posts: https://omniakey.com/blog/llms.txt

---

**Jev API**, uygulamanın tanımladığı sorulara göre metni değerlendirir. `state`, `model` ve `questions` haritasını gönderirsiniz; aynı soru kimlikleri altında `answers` içinde türü belirli kararlar gelir. Sonradan etiket çıkarmanız gereken serbest bir sohbet metni üretmez.

Bu Jev API kullanımı rehberi entegrasyona odaklanır. Modelin kullanım alanları, fiyatı ve sınırları için [Jev modeli açıklamasını](https://omniakey.com/tr/blog/jev-model-explained) okuyun.

> **Kontrol tarihi: 24 Ekim 2026.** İstek ve yanıt sözleşmesi TypeSafe belgelerine, ağ geçidi yolu OmniaKey uygulamasına göre kontrol edildi. Örnekler çevrimdışı doğrulandı; yeni bir ücretli performans testi yapılmadı. Doğrudan hizmetin fiyat ve limitleri ağ geçidine otomatik uygulanmaz.

## Uç nokta ile API anahtarını eşleştirin

|Hizmet|POST uç noktası|Kimlik bilgisi|
|-|-|-|
|OmniaKey|`https://api.omniakey.com/v1/alpha/search`|`jev-latest` erişimi olan OmniaKey anahtarı|
|Doğrudan TypeSafe|`https://api.typesafe.ai/v1/systemone`|TypeSafe anahtarı|

İkisi de `Authorization: Bearer ...` ve Jev’in özgün istek gövdesini kullanır. **Bir hizmetin anahtarını diğerine göndermeyin.** Ağ geçidi yolu `/v1/chat/completions` değildir; `state` yerine `messages` yazmak sözleşmeyi değiştirir.

Sınırlı yetkili bir anahtar oluşturun, [güncel Jev yolunu](https://omniakey.com/tr/jev-latest) kontrol edin ve yerel ortamda `OMNIAKEY_API_KEY` ayarlayın. Anahtarı tarayıcı koduna, Git’e veya ekran görüntülerine koymayın. Genel kurulum [API hızlı başlangıç](https://docs.omniakey.com/tr/quick-start) sayfasındadır.

## Tam bir JSON isteği hazırlayın

Aşağıdakini `jev-request.json` olarak kaydedin. Tek bir destek mesajının ilgili departmanını, memnuniyetsizlik düzeyini ve aciliyetini değerlendirir. TypeSafe İngilizcenin şu anda en güçlü dil olduğunu belirttiği için örnek girdi İngilizcedir. Türkçe iş yüklerini kendi temsilî verilerinizle sınayın.

```json
{
  "model": "jev-latest",
  "state": "My payouts have failed for three days. Please help me resolve this today.",
  "questions": {
    "department": {
      "type": "choice",
      "instructions": "Which team should handle this message?",
      "criteria": {
        "billing": "Payments, invoices, or refunds",
        "technical": "Bugs, outages, or integrations",
        "sales": "Pricing, upgrades, or new accounts"
      }
    },
    "frustration": {
      "type": "score",
      "instructions": "How frustrated is the customer?",
      "criteria": ["Calm", "Frustrated", "Very angry"]
    },
    "is_urgent": {
      "type": "noul",
      "instructions": "Does the message express a time-sensitive need?"
    }
  }
}
```

Kimlikler soru ile yanıtı eşleştirir. TypeSafe’e göre kimlik adları çıkarımda kullanılmaz; görevi yalnızca anahtar adına değil, `instructions` içine yazın. `state`, metin içeren bir JSON nesnesi veya dizisi de olabilir; örneğin alanlara ayrılmış bir destek kaydı.

```bash
curl --fail-with-body https://api.omniakey.com/v1/alpha/search \
  -H "Authorization: Bearer $OMNIAKEY_API_KEY" \
  -H "Content-Type: application/json" \
  --data-binary @jev-request.json
```

Doğrudan TypeSafe kullanırken URL’yi `https://api.typesafe.ai/v1/systemone`, anahtarı `$TYPESAFE_API_KEY` yapın. Jev’e özgü JSON biçimini koruyun ve hesabın kabul ettiği model adlarını doğrulayın.

## Choice, Score ve Noul yanıtlarını okuyun

|Tür|Tanımlanan bilgi|Yanıt alanları|Anlamı|
|-|-|-|-|
|`choice`|Açıklamalı seçenekler; en fazla 255|`choice`, `probabilities`, `confidence`|Seçilen etiket ve tüm seçeneklerin olasılık dağılımı|
|`score`|Sıralı 2–10 düzeyli ölçüt|`score`, `legend`, `probabilities`, `confidence`|Olasılıkla ağırlıklandırılmış, kesirli olabilen düzey|
|`noul`|Evet/hayır sorusu; isteğe bağlı `true` / `false` ölçütleri|`noul`|0 ile 1 arasında evet olasılığı; boolean değil|

Yanıt ayrıca `model` ve `usage.input_tokens` / `usage.output_tokens` içerir. Şu anda `jev-latest`, `jev-1.14.0` sürümüne gider. Takma adlar değişebileceği için değerlendirmede gerçek yanıt sürümünü kaydedin; sabit kalması gerekiyorsa `jev-1.14.0` yazın.

Üç düzeyli ölçekte `1.05`, 1. düzeyin biraz üstüdür; 100 üzerinden 1,05 puan değildir. `legend` ile yorumlayın. Noul `0.8` değeri de tek başına para iadesi yetkisi vermez. Eşikleri etiketli iş verileriyle belirleyin. `confidence` dağılımdan türetilir ve doğru karar garantisi değildir.

Aşağıdaki tam yanıt, yapıyı açıklayan bir örnektir; gerçek bir API çağrısının sonucu değildir. Yanıt değerleri ve token sayıları örnek olarak verilmiştir; gerçek sonuçlar değişebilir.

```json
{
  "model": "jev-1.14.0",
  "answers": {
    "department": {
      "type": "choice",
      "choice": "billing",
      "probabilities": {
        "billing": 0.88,
        "technical": 0.12,
        "sales": 0.0
      },
      "confidence": 0.81
    },
    "frustration": {
      "type": "score",
      "score": 1.05,
      "legend": {
        "0": "Calm",
        "1": "Frustrated",
        "2": "Very angry"
      },
      "probabilities": {
        "0": 0.0,
        "1": 0.95,
        "2": 0.05
      },
      "confidence": 0.92
    },
    "is_urgent": {
      "type": "noul",
      "noul": 0.8
    }
  },
  "usage": {
    "input_tokens": 320,
    "output_tokens": 72
  }
}
```

## Jev API kullanımı: Python ve Node.js örnekleri

Kodlar `jev-request.json` dosyasını okuyup tek istek gönderir. OpenAI `choices` alanı beklemek yerine Jev yanıtlarını yazdırır. Üretim istemcisine aşağıdaki sınırlı yeniden deneme politikasını ekleyin.

```python
import json
import os
import urllib.error
import urllib.request
from pathlib import Path

request = urllib.request.Request(
    "https://api.omniakey.com/v1/alpha/search",
    data=Path("jev-request.json").read_bytes(),
    headers={
        "Authorization": f"Bearer {os.environ['OMNIAKEY_API_KEY']}",
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urllib.request.urlopen(request, timeout=30) as response:
        result = json.load(response)
except urllib.error.HTTPError as error:
    raise SystemExit(f"Jev request failed: HTTP {error.code}") from None

print(result["model"])
print(json.dumps(result["answers"], indent=2))
```

```javascript
import { readFile } from 'node:fs/promises';

const key = process.env.OMNIAKEY_API_KEY;
if (!key) throw new Error('Set OMNIAKEY_API_KEY first');

const response = await fetch('https://api.omniakey.com/v1/alpha/search', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${key}`,
    'Content-Type': 'application/json',
  },
  body: await readFile('jev-request.json', 'utf8'),
  signal: AbortSignal.timeout(30_000),
});
if (!response.ok) throw new Error(`Jev request failed: HTTP ${response.status}`);

const result = await response.json();
console.log(result.model);
console.log(result.answers);
```

Python 3 veya yerleşik `fetch` ve `AbortSignal.timeout` sağlayan Node.js kullanın. Bunlar HTTP örnekleridir; OpenAI SDK’sının Jev şemasını doğrudan desteklediği anlamına gelmez. TypeSafe SDK’ları [resmî belgelerde](https://docs.typesafe.ai/api) açıklanır.

## Bağlam, hız limitleri ve ücret

İki koşul birlikte sağlanmalıdır: **isteğin tamamı 64K token**, **`state` ile en uzun tek sorunun toplamı 32K token** sınırını aşmamalıdır. Gereksiz bağlamı çıkarın; sadece aynı duruma gerçekten ihtiyaç duyan soruları birleştirin.

TypeSafe **saniyede 250,000 token ve dakikada 1,200 istek** yayımlar; erken erişim döneminde sınırların değişebileceğini belirtir. Bunlar hesap limitleridir, tek istek hızı veya OmniaKey hesabı için garanti değildir. Ağ geçidi ek limitler uygulayabilir.

Kontrol edilen doğrudan fiyat **milyon girdi tokenı başına $0.042**, çıktı tokenları ise ücretsizdir. Çıktı kullanımı yine raporlanır. Bu, tüm API’nin ücretsiz olduğu veya ağ geçidinin aynı birimle ücretlendirdiği anlamına gelmez. Güncel model fiyatını ve kullanım kayıtlarınızı kontrol edin; ayrıntı [Jev açıklamasındadır](https://omniakey.com/tr/blog/jev-model-explained).

OmniaKey’nin güncel Jev kataloğunda **istek başına ücretlendirme** uygulanır. Ağ geçidi maliyetini hesaplarken güncel model fiyatını ve paneldeki kullanım kayıtlarını kontrol edin.

## Hatalar ve yeniden deneme

|TypeSafe doğrudan durum kodu|İlk kontrol|İşlem|
|-|-|-|
|`401`|Anahtarın hizmeti ve Bearer başlığı|Kimlik bilgisini düzeltin; aynı geçersiz anahtarı tekrarlamayın|
|`422`|Zorunlu alanlar, tür ve `criteria` yapısı|Hatanın belirttiği alanı düzeltin|
|`429`|İstek veya token kotası|Varsa `Retry-After` değerine uyun; sınırlı üstel bekleme ve rastgele sapma kullanın|
|`529`|Geçici aşırı yük|Deneme sayısı ve toplam bekleme süresini sınırlayın|

Bu açıklamalar doğrudan API içindir. Ağ geçidi kendi kimlik doğrulama, doğrulama veya üst sağlayıcı hata biçimini döndürebilir. Yol ile tam model ID’sini de kontrol edin. Paylaşılan tanılara anahtar veya özel istek gövdesi koymayın.

Model değerlendirmesini iş eylemlerinden ayırın: sınıflandırmayı tekrarlamak iki e-posta veya iki iade oluşturmamalıdır. Sürekli başarısızlıkta açık hata veya inceleme yolu sunun; sessizce kesin görünen bir varsayılan karara geçmeyin.

## Sık sorulan sorular

### Bu, Jev’in resmî API dokümantasyonu mu?

Bu, OmniaKey için bir Jev API kullanımı rehberidir. Doğrudan şemayı [TypeSafe API referansı](https://docs.typesafe.ai/api), fiyat ve limitleri [model sayfası](https://docs.typesafe.ai/models) tanımlar. Başlangıç tablosu hizmetleri ayırır.

### Görsel gönderebilir veya metin yazdırabilir miyim?

Jev 1.14 varsayılan olarak metin alır ve türü belirli kararlar döndürür. Metin dışı veriyi önce metne veya alanlara dönüştürün; 1.14'te görsel girişi deneysel bir ayarın arkasında. Açıklama, görsel veya video üretimi başka model ya da uygulama adımı gerektirir.

### Takma ad mı sabit sürüm mü kullanmalıyım?

Keşif için takma ad pratiktir. Eşiklere dayalı canlı akışta desteklenen sabit sürümü değerlendirin, `model` değerini kaydedin ve değişiklikten önce eşikleri yeniden doğrulayın. Model erişimi doğrudan hizmet ile gateway arasında farklı olabilir.

## Kaynaklar

- [TypeSafe API referansı](https://docs.typesafe.ai/api)
- [Modeller, fiyatlar, takma adlar ve limitler](https://docs.typesafe.ai/models)
- [Güven değerini yorumlama](https://docs.typesafe.ai/confidence)
- [Jev 1.13 sınırlamaları](https://docs.typesafe.ai/model-jaggedness/jev-1.13)
