SSampleThicket
Ruang kerja kode dengan AI

Pengambilan sampel reservoir aliran

Pilih reservoir maksimal 32 barang dari aliran berhingga maksimal 1000 barang memakai generator lokal berbenih.

● ● ●SampleThicket●
Alur kerja · Pengambilan sampel reservoir aliran ×
from random import Random

def reservoir_sample(items, size, seed):
    if type(size) is not int or not 0 <= size <= 32:
        raise ValueError("size.range")
    if type(seed) is not int or not 0 <= seed < 2**32:
        raise ValueError("seed.range")
    rng, sample, count = Random(seed), [], 0
    for index, item in enumerate(items):
        count = index + 1
        if count > 1000:
            raise ValueError("stream.limit")
        if index < size:
            sample.append(item)
        elif size:
            position = rng.randrange(count)
            if position < size:
                sample[position] = item
    if size > count:
        raise ValueError("stream.short")
    return sample
✳Pilih reservoir maksimal 32 barang dari aliran berhingga maksimal 1000 barang memakai generator lokal berbenih.
✓ PerubahanTinjau sebelum menerapkan ↗
Ilustrasi ruang kerja
01

Model

Atur endpoint kompatibel OpenAI atau Anthropic dengan URL dasar dan kunci API jika diperlukan. Uji koneksi. Server model lokal harus berjalan; alat jarak jauh dapat mengirim data secara terpisah.

02

Proyek

Ulangi benih untuk memastikan hasil dapat diulang dan tolak aliran lebih pendek dari sampel tanpa mengubah daftar masukan.

03

Tinjau sebelum menerapkan

Bandingkan perilaku sebenarnya dengan hasil yang diharapkan. Jika pemeriksaan gagal, cari penyebabnya sebelum membuat perubahan lain.

Alur kerja

Pengambilan sampel reservoir aliran

Alur kerja ↗
Alur kerja
from random import Random

def reservoir_sample(items, size, seed):
    if type(size) is not int or not 0 <= size <= 32:
        raise ValueError("size.range")
    if type(seed) is not int or not 0 <= seed < 2**32:
        raise ValueError("seed.range")
    rng, sample, count = Random(seed), [], 0
    for index, item in enumerate(items):
        count = index + 1
        if count > 1000:
            raise ValueError("stream.limit")
        if index < size:
            sample.append(item)
        elif size:
            position = rng.randrange(count)
            if position < size:
                sample[position] = item
    if size > count:
        raise ValueError("stream.short")
    return sample
Ruang kerja kode dengan AI

Buat perubahan pengambilan sampel cukup dapat direproduksi untuk ditinjau

Kode acak memerlukan jejak peninjauan meskipun keluaran individual bervariasi. SampleThicket menyediakan ruang kerja pemrograman AI Windows untuk pekerjaan proyek terkait pengambilan sampel, tempat sumber dan asumsi reproduksibilitas dapat dibahas bersama. Buka folder relevan dan jelaskan aliran masukan, sampel yang diminta, serta penanganan permintaan tidak valid yang diharapkan.

Untuk tugas pengambilan sampel reservoir terbatas, minta model terhubung memeriksa cara seed diberikan dan cara sampel berubah saat item masuk. Sediakan aliran pendek yang diketahui untuk penelusuran. Pisahkan contoh yang dapat diulang dari klaim lebih luas tentang kualitas statistik; seed tetap membantu mereproduksi jalur tetapi tidak membuktikan perilaku tanpa bias.

Tinjau batas permintaan sebelum menerima perubahan implementasi. Sampel lebih besar daripada aliran dan aliran yang melampaui batas dukungan memerlukan hasil eksplisit. Periksa cara pemanggil menerima kegagalan itu, lalu jalankan kasus uji deterministik dan evaluasi statistik yang sesuai dengan alat sendiri. Simpan seed dan konfigurasi relevan saat mencatat hasil.

SampleThicket mendukung koneksi endpoint yang kompatibel dengan OpenAI atau endpoint Anthropic. Model AI tanpa sensor yang tersedia dapat membantu pemeriksaan, dengan tetap tunduk pada perilaku model dan batas server. Ruang kerja membantu menyiapkan dan mengkaji perubahan; pemeriksaan proyek yang dapat direproduksi memberi bukti perilaku yang ingin Anda pertahankan.

Membuat perubahan pengambilan sampel dapat direproduksi — pertanyaan sebelum menyunting

Apa isi laporan pengambilan sampel yang dapat direproduksi?

Sertakan deret masukan atau sumber yang dapat direproduksi, ukuran yang diminta, seed, dan rincian lingkungan eksekusi yang relevan. Jika memungkinkan, buat contoh cukup kecil untuk diperiksa. Ini membantu membedakan perubahan kode dari perubahan jalur acak.

Apakah keluaran dengan seed tetap yang cocok membuktikan pengambilan sampel tanpa bias?

Tidak. Itu membuktikan keterulangan untuk pengaturan dan kasus tersebut. Sifat statistik memerlukan penalaran terpisah dan evaluasi sesuai. Minta model membedakan klaim tersebut, bukan menganggap satu kasus uji deterministik sebagai bukti kualitas distribusi.

Bagaimana perilaku permintaan sampel terlalu besar?

Nyatakan apakah harus gagal atau mengikuti kebijakan lain yang disengaja. Untuk contoh aliran terbatas, tinjau penolakan aliran terlalu pendek dan pemanggilnya. Hindari diam-diam mengembalikan lebih sedikit item jika kode pemakai mengasumsikan jumlah yang diminta dijamin.

Mengapa mempertahankan batas dalam refaktorisasi pengambilan sampel?

Batas dapat menentukan beban kerja yang diterima dan kontrak kegagalan. Minta model mengidentifikasinya sebelum mengubah perulangan atau penanganan masukan. Uji kasus batas agar refaktorisasi tidak tanpa sengaja menghapus pengaman yang disengaja.

Unduh untuk Windows ↗

SampleThicket · Diperbarui 2026-10-25