BBloomFjord
Ruang kerja kode dengan AI

Keanggotaan Bloom probabilistik

Simpan kunci maksimal 1024 bita dalam filter Bloom satu hingga 8192 bit.

● ● ●BloomFjord●
Alur kerja · Keanggotaan Bloom probabilistik ×
from hashlib import sha256

class Bloom:
    def __init__(self, width):
        if type(width) is not int or not 1 <= width <= 8192:
            raise ValueError("width.range")
        self.width, self.bits = width, 0
    def positions(self, key):
        if not isinstance(key, bytes) or len(key) > 1024:
            raise ValueError("key.bytes")
        digest = sha256(key).digest()
        return [int.from_bytes(digest[i:i+4], "big") % self.width
                for i in (0, 4, 8, 12)]
    def add(self, key):
        for position in self.positions(key):
            self.bits |= 1 << position
    def maybe_contains(self, key):
        return all(self.bits & (1 << p) for p in self.positions(key))
✳Simpan kunci maksimal 1024 bita dalam filter Bloom satu hingga 8192 bit.
✓ PerubahanTinjau sebelum menerapkan ↗
Ilustrasi ruang kerja
Proyek
Uji penyisipan ganda dan kunci tersimpan, tunjukkan bahwa hasil positif dapat salah dan bukan bukti keanggotaan.
Tinjau sebelum menerapkan
Bandingkan perilaku sebenarnya dengan hasil yang diharapkan. Jika pemeriksaan gagal, cari penyebabnya sebelum membuat perubahan lain.
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.
Alur kerja

Keanggotaan Bloom probabilistik

Alur kerja ↗
Alur kerja
from hashlib import sha256

class Bloom:
    def __init__(self, width):
        if type(width) is not int or not 1 <= width <= 8192:
            raise ValueError("width.range")
        self.width, self.bits = width, 0
    def positions(self, key):
        if not isinstance(key, bytes) or len(key) > 1024:
            raise ValueError("key.bytes")
        digest = sha256(key).digest()
        return [int.from_bytes(digest[i:i+4], "big") % self.width
                for i in (0, 4, 8, 12)]
    def add(self, key):
        for position in self.positions(key):
            self.bits |= 1 << position
    def maybe_contains(self, key):
        return all(self.bits & (1 << p) for p in self.positions(key))
Ruang kerja kode dengan AI

Jangan biarkan hasil tidak pasti menjadi keputusan pasti

Pemeriksaan awal yang cepat dapat menjadi bug ketika pemanggil memperlakukan jawabannya sebagai keputusan akhir. BloomFjord adalah ruang kerja pemrograman AI untuk Windows guna meninjau batas itu bersama model yang terhubung. Sertakan struktur data dan kode penggunanya dalam percakapan proyek, lalu nyatakan bukti yang dibutuhkan aplikasi sebelum bertindak.

Untuk tugas konkret, minta asisten memeriksa filter keanggotaan Bloom yang digunakan sebelum pencarian otoritatif. Jelaskan apa yang harus dilakukan pemanggil setelah kemungkinan cocok dan setelah kepastian tidak ada. Minta usulan yang mempertahankan pembedaan tersebut dalam nama, cabang, dan pengujian, bukan mengandalkan komentar di samping boolean ambigu.

Tinjau integrasi dengan data uji terkendali. Sertakan kunci yang dimasukkan dan kunci yang tidak ada, lalu periksa bahwa kandidat kecocokan tetap mengikuti jalur konfirmasi yang diwajibkan. Periksa asumsi validasi dan konfigurasi sebelum menerima perubahan lebar atau hashing. Jalankan pengujian proyek untuk membuktikan perilaku yang dibutuhkan, bukan memperlakukan filter sebagai jaminan keanggotaan eksak.

BloomFjord mendukung koneksi endpoint kompatibel OpenAI atau Anthropic. Model AI abliterasi merupakan opsi yang dapat dipilih jika penyedia menawarkannya, dengan konteks, dukungan alat, dan pembatasan ditentukan konfigurasi itu. Ruang kerja memungkinkan Anda membahas dan memeriksa usulan sementara kontrak aplikasi memandu keputusan akhir.

Mengintegrasikan pemeriksaan keanggotaan awal

Apa yang harus terjadi setelah kemungkinan cocok?

Ikuti jalur konfirmasi otoritatif aplikasi ketika keanggotaan eksak penting. Minta asisten menunjukkan cabang itu pada pemanggil. Hasil probabilistik tidak boleh diam-diam menjadi izin melewati verifikasi atau menganggap rekaman sudah terkonfirmasi.

Bisakah data uji kunci yang tidak ada membuktikan tidak ada positif palsu?

Tidak. Itu memeriksa data uji tersebut, bukan setiap kemungkinan kunci. Gunakan pengujian untuk memverifikasi perilaku integrasi dan mempertahankan ketidakpastian yang didokumentasikan. Hindari mengubah nama API atau logika pemanggil sehingga menyiratkan filter memberikan keanggotaan eksak.

Mengapa meninjau pengodean kunci bersama filter?

Penyisipan dan pencarian harus merepresentasikan kunci logis yang sama secara konsisten. Sertakan kode yang mengubah nilai aplikasi menjadi byte, dan periksa perbedaan normalisasi atau serialisasi sebelum mengubah implementasi keanggotaan itu sendiri.

Haruskah lebar filter berubah saat memperbaiki pemanggil?

Pisahkan perubahan konfigurasi kecuali diperlukan untuk masalah yang dilaporkan. Perubahan itu dapat mengubah perilaku filter dan penggunaan sumber daya. Minta penjelasan serta pemeriksaan yang sesuai, bukan menerima lebar baru sebagai perbaikan sampingan.

Unduh untuk Windows ↗

BloomFjord · Diperbarui 2026-10-25