0Pricing
AI Agents · Pelajaran

Memperbarui dan Menghapus Vektor

Jaga agar indeks tetap selaras dengan sumber: lakukan upsert saat dokumen berubah, hapus saat dokumen dihapus, dan tangani pembuatan ulang embedding.

Memperbarui dan Menghapus Vektor adalah pelajaran AI Agents gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar AI Agents, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus AI Agents mencakup 4 pelajaran total.

Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.

Indeks Tidak Statis

Dokumen nyata berubah. Indeks harus mengikutinya:

  • Dokumen baru ditambahkan
  • Dokumen yang ada diedit
  • Dokumen lama dihapus atau diarsipkan

upsert (Sisipkan atau Perbarui)

Sebagian besar basis data vektor mendukung upsert — tulis vektor dengan ID tertentu, lalu ganti vektor lama jika sudah ada:

index.upsert([
    ('doc-42', new_vector, {'source': 'a.pdf', 'updated_at': now})
])
# If doc-42 already exists, it is overwritten.

ID Deterministik

Jika Anda menggunakan ID berbasis hash konten, "pembaruan" terjadi secara otomatis — konten yang sama = ID yang sama = slot yang sama.

Jika Anda menggunakan UUID, Anda harus melacak UUID mana yang terkait dengan dokumen sumber mana.

Mendeteksi Perubahan

Untuk membandingkan korpus, simpan hash setiap potongan:

old_chunks = load_existing_chunks(source)
new_chunks = chunk_doc(source)

old_hashes = {c.id for c in old_chunks}
new_hashes = {c.id for c in new_chunks}

to_delete = old_hashes - new_hashes
to_add = new_hashes - old_hashes
# Skip unchanged — saves re-embedding

Hapus Berdasarkan Penyaring

Sebagian besar basis data mendukung penghapusan berdasarkan penyaring, yang berguna untuk "menghapus semua data dari sumber ini":

index.delete(filter={'source': '/old/file.pdf'})

Delete by ID

index.delete(ids=['doc-1', 'doc-2', 'doc-3'])

Penghapusan Lunak

Terkadang Anda ingin "menyembunyikan" data tanpa menghapusnya — tetapkan penanda waktu penghapusan dan keluarkan data tersebut saat query:

index.upsert([('doc-42', vec, {'deleted_at': now})])

# At query time:
results = index.query(vector=query_vec, top_k=5, filter={'deleted_at': {'$exists': False}})

Pemadatan

Penghapusan yang sering dilakukan membuat indeks menjadi renggang. Bangun ulang secara berkala untuk meningkatkan performa — sebagian besar basis data melakukannya secara otomatis; periksa dokumentasi penyedia Anda.

Penyematan Ulang Saat Model Berubah

Jika Anda meningkatkan versi model embedding, setiap vektor yang ada menjadi tidak kompatibel. Strateginya:

  1. Lakukan penulisan ganda ke koleksi lama dan baru selama migrasi
  2. Alihkan lalu lintas baca ke koleksi baru setelah selesai
  3. Hapus koleksi lama

Alur Pemasukan Data Inkremental

Alur pemasukan data yang tangguh:

def sync_doc(source_path):
    new_chunks = chunk_and_hash(load(source_path))
    existing_ids = index.fetch_ids_by_source(source_path)

    new_ids = {c.id for c in new_chunks}
    to_add = [c for c in new_chunks if c.id not in existing_ids]
    to_remove = existing_ids - new_ids

    if to_remove:
        index.delete(ids=list(to_remove))
    if to_add:
        index.upsert([(c.id, embed(c.text), c.metadata) for c in to_add])

Mengaudit Penyimpangan

Verifikasi secara berkala bahwa indeks sesuai dengan sumber kebenaran. Hitung baris per sumber di basis data dan indeks vektor Anda; berikan peringatan jika terjadi ketidaksesuaian.

Pembaruan Berbasis Webhook

Untuk sistem pengelolaan dokumen (Notion, Confluence, GDrive), gunakan webhook untuk memicu sinkronisasi inkremental saat terjadi perubahan — jauh lebih murah daripada merayapi ulang semuanya.

Penanda Penghapusan untuk Penghapusan Terdistribusi

Dalam indeks terdistribusi, "penghapusan" sering kali menulis penanda penghapusan. Sampai pemadatan dijalankan, query mungkin masih melihat penanda tersebut — tetap gunakan penyaring Anda.

Pembaruan Idempoten

Apa cara termudah untuk membuat pemasukan data aman dijalankan ulang?

Ringkasan

Rencanakan pembaruan sejak hari pertama: ID berbasis hash, pemasukan data berbasis perbandingan perbedaan, dan cara untuk mengganti model embedding tanpa waktu henti.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Memperbarui dan Menghapus Vektor” gratis?

Ya — teks lengkap “Memperbarui dan Menghapus Vektor” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus AI Agents, upgrade ke CoddyKit PRO. Kursus AI Agents mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Memperbarui dan Menghapus Vektor”?

Jaga agar indeks tetap selaras dengan sumber: lakukan upsert saat dokumen berubah, hapus saat dokumen dihapus, dan tangani pembuatan ulang embedding. Kamu berlatih AI Agents dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai AI Agents?

Tidak diperlukan pengalaman sebelumnya. AI Agents di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Memperbarui dan Menghapus Vektor” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran AI Agents ini?

Ya. Setiap pelajaran AI Agents menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Pinecone, Weaviate, Qdrant: Perbandingan
  2. Pemfilteran Metadata untuk Pencarian Hibrida
  3. Memperbarui dan Menghapus Vektor
  4. Memilih Metrik Jarak (cosine, L2, dot)
← Kembali ke AI Agents