Pulih aman dari putusnya stream LLM

Pulih aman dari putusnya stream LLM: panduan production dengan keputusan eksplisit, artefak reusable, uji gagal, sinyal operasi, dan batas berbasis sumber.

Pulih aman dari putusnya stream LLM: panduan production dengan keputusan eksplisit, artefak reusable, uji gagal, sinyal operasi, dan batas berbasis sumber.

Jawaban langsung

Terapkan Pulih aman dari putusnya stream LLM sebagai kontrak kontrol keandalan, bukan konfigurasi sekali pakai. Kunci protokol, owner, bukti, dan rollback sebelum traffic dipindah. Titik kontrol: first_event, partial_output, terminal_event, replay_policy.

Kesimpulan dikunci oleh tabel kontrak dan contoh deterministik. llm-stream-disconnect-recovery tidak boleh rollout bila kontrol wajib tidak memiliki bukti wire, readback persisten, atau owner.

Cakupan dan tanggung jawab

Pisahkan tugas client dari control plane. Client memiliki file atau variabel; gateway memiliki autentikasi, routing, limit, akuntansi, dan attempt; provider memiliki protokol native dan kemampuan yang berubah. Satu respons teks hanya membuktikan satu jalur.

Artikel memiliki keputusan, risiko, dan verifikasi; dokumentasi live memiliki perintah dan langkah UI yang berubah. Ini membentuk pohon kemampuan tanpa menggandakan owner intent pencarian.

Catatan owner halaman ini adalah llm-stream-disconnect-recovery; kontrol tetapnya first_event, partial_output, terminal_event, replay_policy. Setiap nilai ditinjau pada batas wire atau status persisten, bukan disimpulkan dari label pemasaran.

Artefak praktis: Pulih aman dari putusnya stream LLM

Catatan review berikut adalah artefak yang dikirim. Nilai teknis eksplisit memungkinkan perbandingan konfigurasi, bukti wire, dan status persisten tanpa screenshot.

Kontrol Keputusan tetap Bukti
stream_identity one_attempt_id_per_connection logical_request_id + attempt_id + provider_request_id
first_effective_event record_exact_transition event_type + timestamp + bytes_received
partial_output incomplete_not_success last_event_type + buffered_item_ids + incomplete_marker
tool_arguments decode_only_after_terminal_boundary call_id + fragment_sequence + completion_event
replay policy_depends_on_side_effect_risk replay_decision + new_attempt_id + prior_attempt_link
billing retain_each_attempt_and_final_settlement attempt_usage + terminal_state + charge_record

Contoh deterministik

Contoh hanya memakai placeholder dan input deterministik. Ganti dengan identifier yang ditinjau, bukan secret atau konten pelanggan, dan simpan snapshot tepat.

CONNECTING -> STREAMING -> TERMINAL_SUCCESS
     |             |  \
     |             |   -> DISCONNECTED_AFTER_PARTIAL -> INCOMPLETE
     |             -> CLIENT_CANCELLED -> CANCELLED
     -> DISCONNECTED_BEFORE_FIRST_EVENT -> RETRY_ELIGIBLE?

Never concatenate output from two attempt IDs.
Never execute partial tool arguments.

Tahap verifikasi

Jalankan tahap secara berurutan. Keberhasilan tahap akhir tidak mengganti batas yang hilang; setiap attempt harus terhubung ke satu permintaan logis.

  1. Bekukan client, kebijakan gateway, alias model, route, dan baseline observasi. Bukti untuk stream_identity: terapkan one_attempt_id_per_connection dan simpan logical_request_id + attempt_id + provider_request_id.
  2. Jalankan probe positif deterministik dan simpan respons, request ID, route, status akhir, dan usage. Bukti untuk first_effective_event: terapkan record_exact_transition dan simpan event_type + timestamp + bytes_received.
  3. Jalankan kasus negatif, limit, atau disconnect pasangannya dan periksa lapisan gagal. Bukti untuk partial_output: terapkan incomplete_not_success dan simpan last_event_type + buffered_item_ids + incomplete_marker.
  4. Ulangi lewat protokol nyata; jangan simpulkan dukungan native dari endpoint lain. Bukti untuk tool_arguments: terapkan decode_only_after_terminal_boundary dan simpan call_id + fragment_sequence + completion_event.
  5. Rollout ke cohort terbatas dengan owner, kedaluwarsa, ambang berhenti, dan rollback. Bukti untuk replay: terapkan policy_depends_on_side_effect_risk dan simpan replay_decision + new_attempt_id + prior_attempt_link.
  6. Baca ulang konfigurasi dan akuntansi persisten; hapus akses dan data sementara. Bukti untuk billing: terapkan retain_each_attempt_and_final_settlement dan simpan attempt_usage + terminal_state + charge_record.

Kegagalan yang harus dicegah

Setiap poin berikut memblokir publikasi. HTTP 200, dashboard, atau satu demo tidak menggantikan kontrol ini.

  • blind_reconnect — Jika blind_reconnect terjadi, hentikan rollout dan gunakan owner, bukti, serta rollback yang ditetapkan; probe sukses tidak membatalkannya.
  • partial_success — Jika partial_success terjadi, hentikan rollout dan gunakan owner, bukti, serta rollback yang ditetapkan; probe sukses tidak membatalkannya.
  • cross_attempt_splice — Jika cross_attempt_splice terjadi, hentikan rollout dan gunakan owner, bukti, serta rollback yang ditetapkan; probe sukses tidak membatalkannya.
  • partial_tool_execution — Jika partial_tool_execution terjadi, hentikan rollout dan gunakan owner, bukti, serta rollback yang ditetapkan; probe sukses tidak membatalkannya.

Sinyal dan kondisi berhenti

Amati sukses dan dampak buruk bersama. Ambang adalah kebijakan workload; tetapkan SLO dan denominator sebelum jendela.

Sinyal Ambang Tindakan
disconnect_before_first_event_rate workload_SLO_threshold inspect_connect_and_header_phases
disconnect_after_partial_rate workload_SLO_threshold mark_incomplete_and_stop_auto_retry
stream_without_terminal_event 0_success_classifications reclassify_and_investigate
cross_attempt_fragment_count 0 disable_recovery_path

Batas Modelflare

Modelflare memusatkan routing kompatibel dan native, key terbatas, grup, usage, dan kegagalan. Channel terkonfigurasi tidak membuktikan semua field, alias, janji retensi, region, atau fallback. Verifikasi secara native dan gunakan settlement persisten sebagai kebenaran biaya.

Ini metode implementasi, bukan sertifikasi, kesimpulan hukum, riwayat uptime, atau benchmark universal. Periksa kontrak, model, harga, retensi, dan region pada T-1; pindahkan tanggal bila fakta inti berubah.

Lanjutkan cluster topik

Artikel induk membahas keputusan luas, artikel saudara langkah berikutnya, dan dokumentasi konfigurasi saat ini. Link isi diperlukan karena managed CMS belum memiliki related-slug.

Pertanyaan umum

Pulih aman dari putusnya stream LLM: Apakah satu permintaan sukses cukup?

Tidak. Kasus negatif, rollout terbatas, readback persisten, dan kondisi berhenti adalah gate terpisah.

Pulih aman dari putusnya stream LLM: Apakah model dan harga dikunci berbulan-bulan?

Tidak. Gunakan placeholder atau snapshot dan validasi ulang pada T-1.

Pulih aman dari putusnya stream LLM: Bukti apa yang disimpan?

ID tanpa data sensitif, versi, waktu, status, usage, biaya final, dan keputusan review.

Sumber dan tanggal verifikasi

Sumber diperiksa pada 2026-08-07. Sumber menetapkan kontrak dan prinsip, bukan route yang belum diuji atau keadaan masa depan.