1 poin oleh GN⁺ 2024-03-12 | 1 komentar | Bagikan ke WhatsApp

Membangun mesin pencari ebook terdistribusi open source

  • Atas rekomendasi seorang teman, penulis mengetahui situs web pencarian ebook bernama Liber3 yang menggunakan nama domain ENS.
  • Liber3 membangun situs web pencarian ebook dengan memanfaatkan ENS dan IPFS, tetapi tidak membuka source code-nya.
  • Setelah meninjau dokumentasi dan dataset Glitter, penulis memutuskan untuk mengimplementasikan sendiri versi komunitas open source.

Inisialisasi proyek

  • Buat proyek baru dan pasang Glitter SDK agar dapat terhubung dengan mudah ke jaringan Glitter dan memperoleh metadata ebook.

Koneksi jaringan

  • Buat klien yang dapat berinteraksi dengan jaringan Glitter.
  • Inisialisasi instance LCDClient melalui Glitter SDK dan atur parameter yang relevan.

Membangun fitur pencarian

  • Definisikan fitur pencarian yang menerima kata kunci kueri dari pengguna, menyusun pernyataan kueri, lalu mengirimkannya ke jaringan Glitter.

Menampilkan hasil pencarian

  • Setelah fitur pencarian dibangun, rancang antarmuka yang menampilkan informasi dasar ebook dan sediakan elemen interaktif agar pengguna dapat dengan mudah menelusuri dan memilih buku.
  • Melalui empat langkah ini, mesin pencari ebook dapat dibangun dan menyediakan platform yang efisien serta nyaman bagi pengguna untuk mencari sumber daya ebook.
  • Jika versi situs web yang telah dikompilasi dipublikasikan ke jaringan IPFS, Anda dapat memiliki mesin pencari ebook terdistribusi yang dapat diakses melalui gateway IPFS.
  • Seluruh source code dapat dilihat di repositori ini.

Opini GN⁺

  • Artikel ini dapat menarik bagi orang-orang yang tertarik pada teknologi karena menjelaskan cara membangun mesin pencari ebook dengan memanfaatkan open source dan teknologi terdistribusi.
  • Penggunaan database terdistribusi dan IPFS menghadirkan cara baru untuk menyimpan dan mencari data tanpa bergantung pada server terpusat, sehingga berpotensi meningkatkan persistensi dan aksesibilitas data.
  • Saat mengadopsi teknologi ini, perlu mempertimbangkan stabilitas jaringan, kecepatan pencarian, pengalaman pengguna, dan penting untuk memahami kelebihan serta kekurangannya dibandingkan mesin pencari terpusat yang sudah ada.
  • Proyek lain yang menawarkan fungsi serupa antara lain Project Gutenberg atau Google Books API, tetapi keduanya tidak menggunakan teknologi terdistribusi.
  • Dengan menggunakan teknologi terdistribusi, kepemilikan dan kontrol data dapat dikembalikan kepada pengguna sekaligus memperkuat ketahanan konten terhadap sensor.

1 komentar

 
GN⁺ 2024-03-12
Pendapat di Hacker News
  • Dulu sekali saya ingin mencoba menangani dataset dan model AI di atas IPFS dengan cara serupa
    Saya tidak tahu masa depan IPFS akan seperti apa, tetapi saat menangani dataset berskala besar, saya berharap inti infrastruktur berbagi data P2P yang memungkinkan individu menyelesaikan masalah bahkan dengan hardware terbatas menjadi lebih mudah diakses
    https://github.com/JakeKalstad/IPFSPytorchDataset
    https://github.com/JakeKalstad/load_ipfs_pytorch_model

  • Melihat judulnya, saya benar-benar antusias karena mengira ini melakukan pencarian teks penuh
    Zlib dan Google Books sudah melakukannya, tetapi versi open source yang bisa dikontribusikan semua orang dan juga menyediakan akses teks penuh akan menjadi proyek yang keren

  • Kalau hanya mencari judul buku atau penulis, mesin pencari sudah banyak sekali
    Yang kurang adalah indeks pencarian isi buku elektronik, dan di era AI generatif ini akan segera menjadi sangat penting
    Di HN, ada yang mengatakan bisa mengindeks isi jutaan buku dengan satu laptop, sementara yang lain mengatakan cakupannya nyaris mustahil. Saya penasaran apakah ada proyek yang melakukan ini

    • Saya sedang membuat proyek sampingan untuk mengatur kumpulan highlight ebook dengan pencarian semantik di perangkat
      Saat ini hanya mengindeks konten milik sendiri, tetapi nantinya saya ingin menambahkan mode untuk berbagi koleksi agar orang lain bisa menemukan ide-ide terkait yang ditemukan dalam buku melalui pencarian semantik. Cara kerjanya saat ini bisa dilihat di open source
      [1] https://emdash.ai/
      [2] https://github.com/dmotz/emdash
    • Ukuran indeks jauh lebih bergantung pada teks pencarian daripada jumlah item yang dicari
      Saya ingat Google pernah mendokumentasikan hal seperti ini pada masa awalnya; indeks pencarian mengembalikan metadata relevan yang cocok dengan kueri tertentu. Ruang kueri terutama berbasis kata kunci mentah dan tuple, serta, kalau ingatan saya benar, n-gram 2–3 kata; yang terakhir harus memenuhi syarat frekuensi minimum. Frasa pencarian yang panjang bisa disusun dari n-gram yang lebih pendek
      Kosakata penutur asli bahasa Inggris tingkat lanjut biasanya sekitar 40 ribu kata, dan kamus besar yang mencakup kata-kata lama pun mungkin kurang dari 250 ribu kata
      Memetakan kosakata ke karya yang mengutip kata tersebut relatif sederhana. n-gram memang mengalami ledakan kombinatorial, tetapi ruangnya masih cukup terbatas, dan kita sudah memiliki pengalaman mengindeks dokumen skala web selama lebih dari 25 tahun
      Menurut saya laptop pun sampai batas tertentu bisa membuat indeks yang layak pakai untuk jutaan buku, tetapi untuk indeks yang lebih komprehensif, terutama sampai indeks peringkat atas ruang pencarian, kemungkinan diperlukan sistem yang lebih besar. Mungkin itulah tantangan yang lebih besar
    • Tergantung seberapa kuat laptop itu
      Dalam pekerjaan terbaru, saya menangani LLM lokal, dan meskipun kuantisasi sekarang sudah banyak maju, melakukan pekerjaan seperti ini di ThinkPad masih jauh tertinggal dibanding menyewa VPS dengan beberapa 4090/H100 selama beberapa jam
      Dalam peringkasan, masalah terbesar adalah kebanyakan model LLM lokal tidak memiliki jendela konteks yang sangat besar, sehingga teks besar seperti novel pendek Vonnegut pun terasa berat. Saya mengujinya dengan ringkasan issue GitHub, dan bahkan dengan jendela konteks 16k token, kadang kewalahan jika komentarnya banyak
      Tentu saja, orang yang lebih pintar daripada saya mungkin bisa membuatnya berjalan bahkan di Raspberry Pi
    • Setahu saya, alat manajemen ebook populer dan gratis, Calibre, sekarang mendukung indeks teks penuh untuk semua buku yang dimiliki
    • Pembuatan indeks awal mungkin bisa dilakukan dengan laptop rata-rata, tetapi memperbarui indeks secara sering dan menangani request tampaknya akan membutuhkan komputasi yang cukup besar
      Saya tidak punya dasar, hanya dugaan, jadi ingin tahu lebih banyak
  • Bisakah Anda menjelaskan lebih detail bagaimana indeks pencarian diisi, dan kira-kira seperti apa batas memorinya yang diperkirakan?

  • Keren. Apakah ini bisa dipakai juga untuk pencarian torrent?
    Misalnya menjalankan torrent web yang bisa streaming video bersama mesin pencari terdesentralisasi

  • Saya penasaran apakah ini benar-benar mesin pencari, atau hanya frontend yang membuat kueri select from

  • Saya tidak mengerti ini membicarakan apa
    Ada kalimat seperti “Saya direkomendasikan Liber3, memakai nama domain ENS, berjalan di ENS dan IPFS, sepertinya memakai Glitter, dan merupakan layanan yang dibuat dengan Tendermint”, tetapi terdengar seperti sinyal alien dalam bahasa dari galaksi lain
    Saya juga mencoba sesuatu bernama Liber3, tetapi apa pun yang saya lakukan, yang keluar hanya “Oops! Something went wrong. Please refresh or try again later”. Sebenarnya ini semua maksudnya apa?

    • ENS adalah Ethereum Name Service, bisa dianggap seperti DNS untuk blockchain
      IPFS adalah InterPlanetary File System, lebih mirip penyimpanan objek terdistribusi seperti S3 P2P yang immutable
      Glitter terdengar familier, tetapi tidak langsung teringat
      Tendermint adalah mesin konsensus untuk blockchain, dan merupakan bagian dari rangkaian alat yang bersama Inter-Blockchain Communication (IBC) Protocol dan Cosmos SDK berupaya memungkinkan interoperabilitas antar-blockchain
      Ekosistem blockchain benar-benar dunia kecil tersendiri. Bukan berarti eksklusif, tetapi cukup berkelompok, jadi kalau tidak aktif mencarinya, hampir tidak akan pernah bersentuhan dengannya
      Sebagai tambahan, IPFS layak dilihat jika Anda tertarik pada database atau sistem terdesentralisasi tanpa kepercayaan, bahkan jika Anda skeptis terhadap blockchain. Di dalamnya ada pekerjaan yang cukup menarik, dan timnya juga tidak menumpang suasana demam emas seperti hampir semua proyek blockchain
    • Judulnya adalah versi yang sudah menghilangkan jargon
      Anggap saja ini panduan implementasi untuk membuat mesin pencari ebook open source. Tentu masih ada sedikit jargon dalam penjelasan itu, tetapi tidak sampai berupa deretan nama library tertentu
      Sebagian besar tulisannya adalah detail implementasi, dan tautannya dipasang dengan baik
  • Lalu kemudian menyadari bahwa ini sudah ada hampir 15 tahun lalu dan namanya libgen.rs

    • Anna's Archive lebih baik