0Pricing
AI Agents · Ders

Zaman Aşımları ve Devre Kesiciler

LLM ve araç çağrılarını katı zaman aşımlarıyla sınırlandırın ve sorunlu bir bağımlılığı sürekli zorlamayı durdurmak için devre kesiciler kullanın.

Zaman Aşımları ve Devre Kesiciler, CoddyKit'te ücretsiz bir AI Agents dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, AI Agents öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. AI Agents kursu toplamda 4 dersten oluşur.

Bu dersin bazı bölümleri henüz çevrilmemiş olup İngilizce olarak gösterilmektedir.

Her Harici Çağrıyı Sınırlayın

Her ağ çağrısının bir zaman aşımı olmalıdır. Zaman aşımı olmazsa takılı kalan bir bağlantı tüm ajanı dondurabilir.

HTTP Timeouts

import requests
response = requests.get(url, timeout=(3, 10))   # 3s connect, 10s read

LLM Timeouts

from openai import OpenAI
client = OpenAI(timeout=30.0)

# Or per call:
response = client.chat.completions.create(
    model='gpt-4o-mini',
    messages=messages,
    timeout=30.0
)

Gerçekçi Zaman Aşımları Seçin

Gerçek dünyadaki p99 gecikmesini ölçün ve buna %25 ekleyin. p99 değeri 4 saniyeyken zaman aşımını 3 saniye olarak ayarlamak sürekli hatalı hatalara neden olur.

Toplam Ajan Zaman Aşımı

Tüm ajan çalıştırmasını bir son tarih ile sarmalayın:

import asyncio

async def run_agent_with_deadline(query, deadline_s=60):
    try:
        return await asyncio.wait_for(run_agent(query), timeout=deadline_s)
    except asyncio.TimeoutError:
        return 'Sorry, this is taking too long. Please try again.'

Devre Kesici Nedir

Desen: alt hizmet hata vermeye başladığında devreyi "açın" ve bir süre bu hizmeti çağırmayı durdurun. Bir soğuma süresinden sonra otomatik olarak toparlanmasını sağlayın.

Durumlar: CLOSED (normal) -> OPEN (hızlı hata) -> HALF_OPEN (sonlama) -> CLOSED (toparlandı).

Implementing with pybreaker

# pip install pybreaker
import pybreaker

breaker = pybreaker.CircuitBreaker(fail_max=5, reset_timeout=60)

@breaker
def fragile_call():
    return requests.get(url, timeout=5).json()

5 Hatanın Ardından

fail_max hatası art arda oluştuğunda devre kesici açılır. Sonraki tüm çağrılar reset_timeout saniye boyunca anında başarısız olur; böylece sorunlu bir hizmeti sürekli zorlamanız önlenir.

Anlamlı Geri Dönüşler Sağlama

Devre açıkken ajanı çökertecek bir hata yerine zarif bir geri dönüş sağlayın:

try:
    result = fragile_call()
except pybreaker.CircuitBreakerError:
    result = {'error': 'service-unavailable', 'fallback': 'cached or stale data'}

Araç Başına Devre Kesiciler

Her harici bağımlılığın kendi devre kesicisi olmalıdır — sorunlu bir hizmet, sağlıklı bir hizmete yapılan çağrıları etkilememelidir.

Bölmeler

Bir semafor kullanarak herhangi bir araca yapılan eşzamanlı çağrıların sayısını sınırlayın — böylece yavaş bir bağımlılığın tüm çalışanları tüketmesi önlenir:

from asyncio import Semaphore
search_sem = Semaphore(10)

async def search(query):
    async with search_sem:
        return await tavily_search(query)

Sağlık Kontrolleri

Kullanıcılar fark etmeden önce sorunları tespit etmek için her araca düzenli aralıklarla ping gönderin:

async def health_check():
    for tool in [tavily, openai, vector_db]:
        try:
            await tool.ping()
        except Exception as e:
            alert(f'{tool.name} unhealthy: {e}')

Durumu Kullanıcılara Gösterme

Kritik bir araç kullanılamadığında kullanıcıya şunları söyleyin:

if tavily_breaker.current_state == 'open':
    return 'Web search is temporarily unavailable.'

Devre Kesici Neden Kullanılır

Geçici olarak hata veren harici bir hizmette neden devre kesici kullanılır?

Özet

Her çağrıda zaman aşımı. Araç başına devre kesiciler. Eşzamanlılık için bölmeler. Sağlık kontrolleri. Zarif geri dönüş mesajları.

Sıkça Sorulan Sorular

“Zaman Aşımları ve Devre Kesiciler” dersi ücretsiz mi?

Evet — “Zaman Aşımları ve Devre Kesiciler” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve AI Agents kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. AI Agents kursu toplamda 4 dersten oluşur.

“Zaman Aşımları ve Devre Kesiciler” dersinde ne öğreneceğim?

LLM ve araç çağrılarını katı zaman aşımlarıyla sınırlandırın ve sorunlu bir bağımlılığı sürekli zorlamayı durdurmak için devre kesiciler kullanın. AI Agents ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

AI Agents öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te AI Agents, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.

“Zaman Aşımları ve Devre Kesiciler” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu AI Agents dersinde kod yazıp çalıştırabilir miyim?

Evet. Her AI Agents dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. İdempotent Araçlar ve Yan Etkiler
  2. Üstel Geri Çekilmeyle Yeniden Denemeler
  3. Zaman Aşımları ve Devre Kesiciler
  4. Araç Çıktılarını Doğrulama (Pydantic)
← AI Agents Sayfasına Dön