Açık kaynak dağıtık e-kitap arama motoru kurmak
(github.com/j2qk3b)Açık kaynak dağıtık e-kitap arama motoru kurmak
- Bir arkadaşımın önerisiyle ENS alan adını kullanan Liber3 adlı bir e-kitap arama web sitesini öğrendim.
- Liber3, ENS ve IPFS kullanarak bir e-kitap arama web sitesi oluşturmuş, ancak kaynak kodunu paylaşmamış.
- Glitter'ın belgelerini ve veri kümelerini inceledikten sonra, açık kaynaklı topluluk sürümünü bizzat uygulamaya karar verdim.
Projeyi başlatma
- Yeni bir proje oluşturup Glitter SDK'yı kurarak Glitter ağına kolayca bağlanabilir ve e-kitapların metadata'sını alabilirsiniz.
Ağa bağlanma
- Glitter ağıyla etkileşime geçebilen bir istemci oluşturuldu.
- Glitter SDK üzerinden
LCDClientörneği başlatıldı ve ilgili parametreler ayarlandı.
Arama işlevini oluşturma
- Kullanıcının sorgu anahtar kelimelerini alıp sorgu ifadesini oluşturan ve bunu Glitter ağına gönderen arama işlevi tanımlandı.
Arama sonuçlarını gösterme
- Arama işlevi oluşturulduktan sonra, e-kitapların temel bilgilerini gösteren bir arayüz tasarlandı ve kullanıcıların kitapları kolayca gezip seçebilmesi için etkileşimli öğeler sunuldu.
- Bu dört adımla bir e-kitap arama motoru kurulabilir ve kullanıcılara e-kitap kaynaklarını aramak için verimli ve kullanışlı bir platform sağlanabilir.
- Derlenmiş web sitesi sürümü IPFS ağına yayımlandığında, IPFS gateway üzerinden erişilebilen dağıtık bir e-kitap arama motoruna sahip olunabilir.
- Tüm kaynak kodu bu depoda görülebilir.
GN⁺ görüşü
- Bu yazı, açık kaynak ve dağıtık teknolojiler kullanarak bir e-kitap arama motorunun nasıl kurulacağını anlatarak teknolojiye ilgi duyan kişiler için ilgi çekici olabilir.
- Dağıtık veritabanı ve IPFS kullanımı, merkezi sunuculara bağımlı olmadan veriyi depolama ve aramanın yeni bir yolunu sunarak verinin kalıcılığını ve erişilebilirliğini artırma potansiyeline sahiptir.
- Bu teknolojiyi benimserken ağın kararlılığı, arama hızı ve kullanıcı deneyimi gibi unsurlar dikkate alınmalı; mevcut merkezi arama motorlarıyla karşılaştırıldığında avantaj ve dezavantajları anlaşılmalıdır.
- Benzer işlevler sunan diğer projeler arasında Project Gutenberg ve Google Books API bulunur, ancak bunlar dağıtık teknolojiler kullanmaz.
- Dağıtık teknolojiler kullanmak, veri sahipliği ve kontrolünü kullanıcıya geri verirken aynı zamanda içeriğin sansüre karşı direncini güçlendirebilir.
1 yorum
Hacker News yorumları
Uzun zaman önce IPFS üzerinde yapay zeka veri kümeleri ve modelleri benzer şekilde ele almayı denemek istemiştim
IPFS’in geleceğini bilmiyorum ama büyük ölçekli veri kümeleriyle uğraşırken, az donanımı olan bireylerin de sorun çözebilmesini sağlayan P2P veri paylaşım altyapısının özünün daha erişilebilir hâle gelmesini isterdim
https://github.com/JakeKalstad/IPFSPytorchDataset
https://github.com/JakeKalstad/load_ipfs_pytorch_model
Başlığı görünce tam metin arama yaptığını sanıp gerçekten heyecanlanmıştım
Zlib ve Google Books bunu zaten yapıyor ama herkesin katkıda bulunabileceği ve tam metin erişimi de sunan açık kaynak bir sürüm olsa harika bir proje olurdu
Örn: https://openlibrary.org/search/inside?q=%22institutional+thi...
Açık kaynak ve her zaman katkıcı arıyor. Özellikle aramayı iyileştirme konusunda yardıma memnun olacaklarını düşünüyorum
https://github.com/internetarchive/openlibrary/
Sorun, birçok kitabın PDF taraması olması ve ham metnin bulunmaması; OcrMyPdf bunu oldukça iyi hallediyor ama CPU’yu çok kullanıyor
Sadece kitap adı ya da yazar arıyorsanız arama motoru zaten bolca var
Eksik olan şey e-kitap gövde içerikleri için arama indeksi ve üretken yapay zeka çağında bu yakında inanılmaz önemli hâle gelecek
HN’de biri tek bir dizüstüyle milyonlarca kitabın gövde metnini indeksleyebileceğini söylemişti, başkalarıysa kapsamın neredeyse imkânsız olduğunu söylüyor. Bunu yapan bir proje var mı merak ediyorum
Şu anda yalnızca kendi içeriğini indeksliyor ama ileride koleksiyonları paylaşarak başkalarının kitaplarda bulduğu ilgili fikirlerin anlamsal aramayla keşfedilebildiği bir mod eklemek istiyorum. Mevcut çalışma biçimi açık kaynakta görülebilir
[1] https://emdash.ai/
[2] https://github.com/dmotz/emdash
Google’ın ilk dönemlerinde bunu belgelendirdiğini hatırlıyorum; arama indeksi, belirli bir sorguyla eşleşen ilgili metaveriyi döndürür. Sorgu uzayı çoğunlukla ham anahtar kelimelere ve tuple’lara, doğru hatırlıyorsam 2–3 kelimelik n-gram’lara dayanır; ikinciler de asgari sıklık koşulunu karşılamalıdır. Uzun arama ifadeleri daha kısa n-gram’lardan oluşturulabilir
İngilizcede ileri düzey ana dili konuşuru söz varlığı genellikle yaklaşık 40 bin kelimedir; eski kelimeleri de içeren büyük bir sözlük bile 250 bin kelimenin altında olabilir
Söz varlığını, o kelimeye atıf yapan eserlere eşlemek nispeten basittir. n-gram’larda kombinatoryal patlama var ama yine de oldukça sınırlı bir uzay ve web ölçeğinde belge indekslemeyi 25 yılı aşkın süredir yapıyoruz
Bir dizüstü de milyonlarca kitap için bir ölçüde işe yarar bir indeks oluşturabilir gibi geliyor; fakat daha kapsamlı bir indeks, özellikle de arama uzayının sıralama indeksini yapmak için muhtemelen biraz daha büyük bir sistem gerekir. Asıl daha büyük zorluk da muhtemelen orası
Yakın zamanda işte yerel LLM’lerle uğraştım; bugünlerde kuantalama ciddi ilerlemiş olsa da bu işi ThinkPad’de yapmak mümkün olsa bile, birkaç saatliğine birkaç 4090/H100 takılı bir VPS kiralamaya kıyasla hâlâ çok geride
Özetlemede en büyük sorun, yerel LLM modellerinin çoğunda bağlam penceresinin çok büyük olmaması; bu yüzden kısa bir Vonnegut romanı gibi büyük metinler bile zorlayabiliyor. GitHub issue özetleriyle test ettim; 16k token bağlam penceresinde bile yorum çoksa bazen zorlanıyor
Elbette benden daha zeki biri bunu Raspberry Pi’de bile çalışır hâle getirebilir
Dayanağım yok, sadece tahmin; daha fazlasını öğrenmek isterim
Arama indeksini nasıl doldurduğunuzu ve beklediğiniz bellek sınırının kabaca ne olduğunu ayrıntılı anlatabilir misiniz?
Harika. Torrent araması için de kullanılabilir mi?
Video streaming yapılabilen web torrentleriyle merkeziyetsiz bir arama motorunu birlikte çalıştırmak gibi
Açık kaynak sürümünü de yapmayı planlıyorum
Aynı teknolojiyi kullanan torrent araması için açık kaynak sürüm burada
Bunun gerçekten bir arama motoru mu, yoksa sadece
select fromsorguları oluşturan bir frontend mi olduğunu merak ediyorumBunun ne anlattığını hiç anlamıyorum
“Liber3 önerildi, ENS alan adı kullanıyor, ENS ve IPFS üzerinde çalışıyor, Glitter kullanıyor gibi, Tendermint ile yapılmış bir servis” gibi cümleler var; başka bir galaksinin dilinde gelen uzaylı sinyali gibi geliyor
Liber3 denen şeyi de denedim ama ne yaparsam yapayım yalnızca “Oops! Something went wrong. Please refresh or try again later” çıkıyor. Bütün bunlar ne demek?
IPFS, InterPlanetary File System; değiştirilemez, P2P S3 benzeri dağıtık nesne depolamaya daha yakın
Glitter kulağa tanıdık geliyor ama hemen aklıma gelmedi
Tendermint blokzincirler için bir mutabakat motoru; Inter-Blockchain Communication (IBC) Protocol ve Cosmos SDK ile birlikte, blokzincirler arası birlikte çalışabilirliği mümkün kılmaya çalışan araç zincirinin bir parçası
Blokzincir ekosistemi gerçekten başlı başına küçük bir dünya. Dışlayıcı demek istemiyorum ama oldukça kendi içinde; aktif olarak araştırmadıkça karşınıza pek çıkmıyor
Ayrıca, veritabanları ya da merkeziyetsiz güven gerektirmeyen sistemler ilginizi çekiyorsa, blokzincir şüphecisi olsanız bile IPFS’e bakmaya değer. İçeride epey ilginç işler yapılıyor ve ekip de neredeyse tüm blokzincir projeleri gibi altına hücum havasına kapılmamış
Açık kaynak bir e-kitap arama motoru yapmak için uygulama yönergeleri gibi düşünebilirsiniz. Tabii o açıklamada da biraz jargon kalıyor ama belirli kütüphane adlarını peş peşe sıralama seviyesinde değil
Yazının çoğu uygulama ayrıntıları ve nazikçe bağlantılar eklenmiş
Sonra bunun neredeyse 15 yıldır var olduğunu ve adının libgen.rs olduğunu fark ediyorsunuz