EVREN rehberleri · 2026-09-25
EVREN akış deneyimi: yanıt beklemeyi tasarlamak
EVREN satırlarında stream: true kabul edilir, ama yanıt tamamlandıktan sonra parça parça iletilir. Bunun bekleme süresine etkisini, süreyi neyin belirlediğini ve arayüzde beklemenin nasıl gösterilebileceğini anlatır.
Kısa cevap
EVREN satırlarına stream: true ile istek gönderildiğinde hata alınmaz ve yanıt parça parça gelir. Ancak bu gerçek bir akış değildir: yanıt EVREN tarafında tamamlanır, sonra parçalar hâlinde iletilir. Kullanıcı açısından sonuç, ilk kelimenin üretim bittiğinde görünmesidir. Arayüzün bu bekleme süresine göre tasarlanması gerekir.
EVREN'i LLMTR üzerinden kullanmanızı öneririz: kendi EVREN anahtarınızı Ayarlar'dan bir kez tanıtırsınız, sonra aynı kod hem EVREN modellerine hem katalogdaki diğer modellere ulaşır. Anahtar sizin kalır ve EVREN'in kendi kayıt ve saklama politikası da olduğu gibi geçerli olur.
Gerçek akış ile parça parça iletim
Gerçek akışta model her token ürettiğinde o token istemciye gönderilir. İlk kelime genellikle bir iki saniye içinde görünür ve metin ekranda büyüyerek ilerler; toplam süre değişmese de kullanıcı beklediğini hissetmez.
EVREN satırlarında ise yanıtın tamamı üretilene kadar istemciye hiçbir şey gelmez. Üretim bittiğinde parçalar çok kısa aralıklarla art arda iletilir. Veri biçimi gerçek akışla aynıdır; stream: true ile yazılmış bir istemci kodu değişiklik gerektirmeden çalışır. Değişen tek şey zamanlamadır: ilk parçanın gelme süresi, toplam üretim süresine eşittir.
Bekleme süresini ne belirler
İlk parça üretim bittiğinde geldiği için, bekleme süresini üretimin kendisini uzatan her şey belirler. Tablo başlıca etkenleri gösteriyor.
| Etken | Etkisi | Karşılığı |
|---|---|---|
| Yanıt uzunluğu | Her yeni token üretim süresine eklenir | max_tokens görevin gerçekten ihtiyaç duyduğu uzunlukta tutulur |
| Girdi uzunluğu | Uzun belge, üretim başlamadan önce işlenir | Yalnızca ilgili bölümler gönderilir |
| Model | Aktif parametresi düşük satırlar token başına daha az hesap yapar | EVREN'in günlük ve hızlı olarak konumladığı satırlar denenir |
| Art arda istekler | EVREN hız sınırı uyguladığında 429 döner | İstekler sıraya alınır ve bekleyip yeniden denenir |
Arayüzde ve istemcide bekleme
Yazıyor efekti gibi gerçek akışa dayanan göstergeler bu satırlarda uzun bir boşlukla başlar. Bekleyen isteğin geçen süresini gösteren bir durum göstergesi ve bir iptal düğmesi, kullanıcıya neler olduğunu daha doğru anlatır. Otuz saniyelik bir bekleme bu satırlarda arıza anlamına gelmez.
İstemci tarafında zaman aşımı tüm üretim süresini kapsayacak kadar uzun tutulur. SDK'nın kendi zaman aşımı yeterli olsa bile, sunucu ile tarayıcı arasındaki vekil sunucuların ve yük dengeleyicilerin zaman aşımı çoğu zaman daha kısadır ve uzun bir yanıtı yarıda kesebilir. Aşağıdaki örnek, zaman aşımını ve kullanıcının iptalini aynı istekte taşıyor.
Zaman aşımı ve iptal ile EVREN'den akış almak
import OpenAI from "openai";
const client = new OpenAI({ baseURL: process.env.LLMTR_BASE_URL + "/v1", apiKey: process.env.LLMTR_API_KEY });
export async function answer(question: string, signal: AbortSignal, onText: (t: string) => void) {
const started = Date.now();
// EVREN satirlarinda ilk parca uretim bitince gelir; zaman asimi tum
// uretim suresini kapsayacak kadar uzun tutulur.
const stream = await client.chat.completions.create(
{ model: "evren/gemma-4-31b", stream: true, max_tokens: 800,
messages: [{ role: "user", content: question }] },
{ timeout: 120_000, signal }
);
for await (const chunk of stream) {
onText(chunk.choices[0]?.delta?.content ?? "");
}
return Date.now() - started;
}
Hız sınırı ve yeniden deneme
LLMTR bu satırlara kendi hız sınırını uygulamaz; bir 429 yanıtı EVREN'in sınırından gelir ve provider_rate_limited türüyle döner. Topluluk tarafından yazılmış bir entegrasyon, art arda gelen isteklerde yaklaşık 5 saniyelik bir bekleme uygulandığını not ediyor. Bu sayı EVREN'in yayımladığı bir limit değil, ama paralel isteklerin 429 ile dönebileceğini gösteriyor.
EVREN tarafındaki bir arıza 502 olarak döner ve kısa bir beklemeden sonra yeniden denenebilir. Diğer 4xx yanıtlar isteğin kendisiyle ilgilidir; aynı isteği tekrar göndermek sonucu değiştirmez. Hata türlerinin tamamını serinin hata çözümleri yazısı anlatıyor.
Uzun işler için arka plan düzeni
Rapor yazımı ya da uzun bir belgenin özeti gibi dakikalar sürebilecek işlerde, kullanıcıyı açık bir bağlantının ucunda bekletmek en kırılgan düzendir. Bağlantı koparsa, sekme kapanırsa ya da bir vekil sunucu zaman aşımına uğrarsa, üretilmiş yanıt da kaybolur.
Bu satırlarda ilk parça zaten iş bitince geldiği için, akışın uzun işlerde kullanıcıya sağladığı bir avantaj da yoktur. İsteği sunucu tarafında bir arka plan işi olarak göndermek, sonucu kaydedip kullanıcıya hazır olduğunda göstermek daha dayanıklı bir yoldur. Kısa sohbet yanıtları ise aynı ekranda beklenebilir.
Sık sorulan sorular
EVREN'i doğrudan mı, LLMTR üzerinden mi kullanmalıyım?
EVREN'i LLMTR üzerinden kullanmanızı öneririz. İstekleriniz yine kendi EVREN anahtarınızla EVREN'e gider ve LLMTR bu istekler için ücret almaz; fark, aynı kodun katalogdaki diğer modellere de ulaşmasıdır. EVREN'in kayıt ve saklama politikası bu tercihten etkilenmez.
stream: true gönderirsem hata alır mıyım?
Hayır. İstek kabul edilir ve yanıt parçalar hâlinde gelir. Tek fark, parçaların yanıt tamamlandıktan sonra gönderilmesidir.
İlk parça neden geç geliyor?
Bu satırlarda yanıt EVREN tarafında tamamlandıktan sonra iletilir, bu yüzden ilk parçanın gelme süresi toplam üretim süresine eşittir. Daha kısa bir max_tokens değeri ve daha kısa bir girdi bu süreyi kısaltır.
stream: false ile göndermenin farkı var mı?
Toplam süre aynıdır. stream: false ile yanıt tek parça hâlinde gelir; stream: true ile aynı yanıt, tamamlandıktan sonra parçalar hâlinde gelir. Bu satırlarda ikisi arasındaki fark kullanıcı için çok küçüktür.
Hangi EVREN satırı daha hızlı yanıt verir?
EVREN, Gemma 4 31B'yi günlük ve düşük gecikmeli model, Qwen3.8 Flash Next'i en yüksek eşzamanlılıklı satır olarak konumluyor. Kendi iş yükünüzde süreyi ölçmek en doğru karşılaştırmayı verir.