Ejen AI · Pelajaran

Had Masa dan Pemutus Litar

Hadkan panggilan LLM dan alat dengan had masa yang ketat, serta gunakan pemutus litar untuk menghentikan permintaan berlebihan kepada kebergantungan yang bermasalah.

Pelajaran 3 daripada 415 langkah

Had Masa dan Pemutus Litar ialah pelajaran Ejen AI percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Ejen AI, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Ejen AI merangkumi sejumlah 4 pelajaran.

Sebahagian daripada pelajaran ini belum diterjemahkan dan dipaparkan dalam bahasa Inggeris.

Hadkan Setiap Panggilan Luaran

Setiap panggilan rangkaian mesti mempunyai had masa. Tanpanya, sambungan yang tergantung boleh membekukan seluruh ejen.

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
)

Pilih Had Masa yang Realistik

Ukur kependaman p99 dalam keadaan sebenar dan tambahkan 25%. Menetapkan had masa = 3s apabila p99 ialah 4s akan menyebabkan kegagalan palsu yang berterusan.

Had Masa Keseluruhan Ejen

Bungkus seluruh larian ejen dengan had masa akhir:

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.'

Apakah Pemutus Litar?

Corak ini berfungsi begini: apabila perkhidmatan hiliran mula gagal, "buka" litar — berhenti memanggilnya buat sementara waktu. Pulih secara automatik selepas tempoh rehat.

Keadaan: CLOSED (biasa) -> OPEN (gagal pantas) -> SEPARUH_TERBUKA (ujian) -> CLOSED (pulih).

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()

Selepas 5 Kegagalan

Apabila fail_max ralat berlaku berturut-turut, pemutus akan terbuka. Semua panggilan seterusnya gagal serta-merta selama reset_timeout saat — ini mengelakkan Anda daripada terus membebankan perkhidmatan yang bermasalah.

Memulangkan Pilihan Sandaran yang Munasabah

Apabila pemutus terbuka, pulangkan pilihan sandaran yang terkawal dan bukannya menyebabkan ejen ranap:

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

Pemutus bagi Setiap Alat

Setiap kebergantungan luaran patut mempunyai pemutusnya sendiri — satu perkhidmatan yang bermasalah tidak sepatutnya menjejaskan panggilan kepada perkhidmatan yang sihat.

Pengasingan Sumber

Hadkan bilangan panggilan serentak kepada mana-mana satu alat menggunakan semafor — ini menghalang satu kebergantungan yang perlahan daripada menghabiskan semua pekerja:

from asyncio import Semaphore
search_sem = Semaphore(10)

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

Pemeriksaan Kesihatan

Hantar ping kepada setiap alat secara berkala untuk mengesan masalah sebelum pengguna mengalaminya:

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}')

Paparkan Status kepada Pengguna

Apabila alat kritikal tidak tersedia, beritahu pengguna:

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

Mengapa Gunakan Pemutus Litar?

Mengapa menggunakan pemutus litar pada perkhidmatan luaran yang kerap gagal?

Rumusan

Had masa pada setiap panggilan. Pemutus litar bagi setiap alat. Pengasingan sumber untuk keserentakan. Pemeriksaan kesihatan. Mesej pilihan sandaran yang terkawal.

Percuma untuk bermula

Pelajari Ejen AI dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
60
Pelajaran
239

Soalan Lazim

Adakah pelajaran “Had Masa dan Pemutus Litar” percuma?

Ya — teks penuh “Had Masa dan Pemutus Litar” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Ejen AI, tingkat taraf kepada CoddyKit PRO. Kursus Ejen AI merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Had Masa dan Pemutus Litar”?

Hadkan panggilan LLM dan alat dengan had masa yang ketat, serta gunakan pemutus litar untuk menghentikan permintaan berlebihan kepada kebergantungan yang bermasalah. Anda berlatih Ejen AI menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Ejen AI?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Ejen AI di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.

Berapa lamakah pelajaran “Had Masa dan Pemutus Litar” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Ejen AI ini?

Ya. Setiap pelajaran Ejen AI menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Alat Idempoten dan Kesan Sampingan
  2. Percubaan Semula dengan Penundaan Eksponen
  3. Had Masa dan Pemutus Litar
  4. Mengesahkan Output Alat (Pydantic)
← Kembali ke Ejen AI