Lewati ke konten utama

C3 · Modul 02

Penyedia, kunci, dan klien

57 langkah singkat, dari mudah sampai tantangan.

  1. Level 1

    Kenal

  2. Level 2

    Paham

  3. Level 3

    Terapkan

  4. Level 4

    Tantangan

  5. Level 5

    Pendalaman

Intinya

  • Hampir semua penyedia menerima bentuk Chat Completions yang sama, tetapi "kompatibel" tidak berarti identik: uji setiap penyedia dengan parameter yang benar-benar kamu kirim.
  • Kunci API tidak pernah ada di repo, log, peramban, atau percakapan agen; aplikasi menolak start bila kunci wajib kosong.
  • Service hanya mengenal LlmClient. Tes memakai FakeLlm yang merekam payload, tanpa jaringan.
  • Satu lapis retry dengan backoff dan jitter, hanya untuk galat sementara, di dalam anggaran waktu; lalu fallback dan circuit breaker per model.
  • Saat model tidak tersedia, aplikasi masuk mode terdegradasi yang tetap berguna; fallback saat streaming hanya sebelum potongan pertama.

Sebelum mulai

±6 jam (konsep dan latihan di peramban ±3,5 jam, lab tanyadok ±2,5 jam).

Modul ini memakai materi di bawah. Belum yakin? Ulas dulu bagian yang disebut.

Hasil belajar: membaca dan menulis permintaan Chat Completions kompatibel OpenAI dan mengenali perbedaan nyata antarpenyedia di balik kata "kompatibel"; mengelola kunci API (tidak pernah di repo, log, peramban, atau percakapan agen; gagal saat start bila kunci kosong); membangun LlmClient bertipe dengan FakeLlm yang merekam payload dan registri model dari variabel lingkungan; mengklasifikasikan galat HTTP, membaca Retry-After, dan mengurai stream SSE; menerapkan retry dengan backoff dan jitter, anggaran waktu, fallback, circuit breaker, dan mode terdegradasi.

Proyek: tanyadok mendapat kerangka repo dan lapisan klien: client.py (LlmClient, OpenAICompatClient, ResilientLlm, CircuitBreaker, pengurai SSE), fake.py, registry.py, cli.py, dan 34 tes tanpa jaringan.

Istilah di modul ini (25)

Ketuk istilah untuk melihat penjelasannya. Di materi, istilah bergaris titik membuka kartu yang sama. Semua istilah course

Bahan modul

Semua kode, latihan, dan data modul ini dalam satu zip, untuk dijalankan di laptop atau Google Colab.

  • 27 contoh kode
  • 5 berkas latihan + tes
Lihat isi zip
  • BACA-DULU.txt
  • contoh_c3_02_41.py
  • contoh_c3_02_67.py
  • contoh_c3_02_96.py
  • contoh_c3_02_125.py
  • contoh_c3_02_192.py
  • contoh_c3_02_275.py
  • contoh_c3_02_302.py
  • contoh_c3_02_334.py
  • contoh_c3_02_367.py
  • contoh_c3_02_413.py
  • contoh_c3_02_489.py
  • contoh_c3_02_541.py
  • contoh_c3_02_585.py
  • contoh_c3_02_603.py
  • contoh_c3_02_827.py
  • contoh_c3_02_861.py
  • contoh_c3_02_940.py
  • contoh_c3_02_966.py
  • contoh_c3_02_992.py
  • contoh_c3_02_1109.py
  • contoh_c3_02_1191.py
  • contoh_c3_02_1284.py
  • contoh_c3_02_1440.py
  • contoh_c3_02_1857.py
  • contoh_c3_02_1897.py
  • contoh_c3_02_1931.py
  • contoh_c3_02_1960.py
  • test_c3_02_1.py
  • test_c3_02_2.py
  • test_c3_02_3.py
  • test_c3_02_4.py
  • test_c3_02_5.py