ओपन सोर्स वितरित ईबुक सर्च इंजन बनाना
(github.com/j2qk3b)ओपन सोर्स वितरित ईबुक सर्च इंजन बनाना
- एक दोस्त की सिफारिश पर Liber3 नाम की एक ईबुक सर्च वेबसाइट के बारे में पता चला, जो ENS domain names का उपयोग करती है.
- Liber3 ने ENS और IPFS का उपयोग करके एक ईबुक सर्च वेबसाइट बनाई, लेकिन उसका source code सार्वजनिक नहीं किया.
- Glitter के दस्तावेज़ और dataset की समीक्षा करने के बाद, open source community version को स्वयं लागू करने का निर्णय लिया गया.
प्रोजेक्ट प्रारंभ करना
- एक नया प्रोजेक्ट बनाया गया और Glitter SDK इंस्टॉल किया गया, ताकि Glitter network से आसानी से जुड़ा जा सके और ईबुक का metadata प्राप्त किया जा सके.
नेटवर्क कनेक्शन
- Glitter network के साथ इंटरैक्ट करने के लिए एक client बनाया गया.
- Glitter SDK के माध्यम से LCDClient instance को initialize किया गया और संबंधित parameters सेट किए गए.
सर्च फ़ीचर बनाना
- उपयोगकर्ता के query keywords लेकर query statement बनाने और उसे Glitter network पर भेजने वाला search function परिभाषित किया गया.
सर्च रिज़ल्ट दिखाना
- search function बनाने के बाद, ईबुक की बुनियादी जानकारी दिखाने वाला interface डिज़ाइन किया गया और उपयोगकर्ताओं को किताबों को आसानी से browse और select करने के लिए interactive elements दिए गए.
- इन चार चरणों के माध्यम से एक ईबुक सर्च इंजन बनाया जा सकता है, जो उपयोगकर्ताओं को ईबुक संसाधन खोजने के लिए एक कुशल और सुविधाजनक platform प्रदान करता है.
- यदि compiled website version को IPFS network पर प्रकाशित किया जाए, तो IPFS gateway के माध्यम से एक्सेस किया जा सकने वाला एक वितरित ईबुक सर्च इंजन प्राप्त किया जा सकता है.
- पूरा source code इस repository में देखा जा सकता है.
GN⁺ की राय
- यह लेख open source और distributed technology का उपयोग करके ईबुक सर्च इंजन बनाने का तरीका समझाता है, इसलिए यह तकनीक में रुचि रखने वाले लोगों के लिए दिलचस्प हो सकता है.
- distributed database और IPFS का उपयोग, centralized servers पर निर्भर हुए बिना डेटा को store और search करने का एक नया तरीका प्रस्तुत करता है, जिससे डेटा की स्थायित्व और accessibility बेहतर होने की संभावना है.
- इस तकनीक को अपनाते समय network stability, search speed और user experience जैसी बातों पर विचार करना चाहिए, और मौजूदा centralized search engines की तुलना में इसके फायदे और नुकसान को समझना महत्वपूर्ण है.
- समान फ़ीचर देने वाले अन्य प्रोजेक्ट्स में Project Gutenberg और Google Books API शामिल हैं, लेकिन ये distributed technology का उपयोग नहीं करते.
- distributed technology का उपयोग करके डेटा का स्वामित्व और नियंत्रण उपयोगकर्ताओं को वापस दिया जा सकता है, साथ ही content की censorship resistance भी मज़बूत की जा सकती है.
1 टिप्पणियां
Hacker News की राय
बहुत पहले मैं IPFS पर AI datasets और models के साथ कुछ ऐसा ही करना चाहता था
IPFS का भविष्य क्या है, पता नहीं, लेकिन बड़े datasets के मामले में कम hardware वाले लोगों को भी समस्या हल करने में सक्षम बनाने वाले P2P data-sharing infrastructure का मुख्य हिस्सा अगर और आसानी से accessible हो जाए तो अच्छा होगा
https://github.com/JakeKalstad/IPFSPytorchDataset
https://github.com/JakeKalstad/load_ipfs_pytorch_model
शीर्षक देखकर मुझे लगा यह full-text search करता होगा, इसलिए मैं सच में उत्साहित था
Zlib और Google Books यह पहले से करते हैं, लेकिन अगर इसका open-source version हो जिसमें हर कोई योगदान दे सके और full-text access भी मिले, तो यह शानदार project होगा
उदाहरण: https://openlibrary.org/search/inside?q=%22institutional+thi...
यह open source है और हमेशा contributors की तलाश में रहता है। खासकर search improvements में मदद का स्वागत करेगा
https://github.com/internetarchive/openlibrary/
समस्या यह है कि कई किताबें PDF scans हैं, इसलिए उनमें original text नहीं होता; OcrMyPdf काफी अच्छा काम करता है, लेकिन CPU बहुत खाता है
अगर सिर्फ किताब का title या author ढूंढना है, तो search engines पहले से बहुत हैं
जो कमी है वह ebooks के body content का search index है, और generative AI के युग में यह जल्द ही बेहद महत्वपूर्ण हो जाएगा
HN पर किसी ने कहा था कि एक laptop से लाखों किताबों के full text को index किया जा सकता है, जबकि दूसरों ने कहा कि scope लगभग असंभव है। जानना चाहता हूं कि क्या ऐसा कोई project है
अभी यह सिर्फ अपने content को index करता है, लेकिन आगे मैं collections share करने वाला mode जोड़ना चाहता हूं, ताकि दूसरे लोग किताबों में मिले relevant ideas को semantic search से discover कर सकें। अभी यह कैसे काम करता है, open source में देखा जा सकता है
[1] https://emdash.ai/
[2] https://github.com/dmotz/emdash
मुझे याद है कि Google ने अपने शुरुआती दिनों में इस बारे में documentation किया था; search index किसी query से match होने वाला relevant metadata लौटाता है। query space मुख्यतः raw keywords और tuples पर आधारित होता है, और अगर मेरी याद सही है तो 2–3 word n-grams पर, जिसमें बाद वाले को minimum frequency condition पूरी करनी होती है। लंबे search terms को छोटे n-grams से बनाया जा सकता है
advanced native English vocabulary आमतौर पर करीब 40 हजार words की होती है, और पुराने words सहित बड़ा dictionary भी शायद 2.5 लाख words से कम हो सकता है
vocabulary को उन works से map करना जिन्होंने उस word को cite किया है, तुलनात्मक रूप से simple है। n-grams में combinatorial explosion है, लेकिन फिर भी space काफी limited है, और हम 25 साल से ज्यादा समय से web-scale document indexing कर रहे हैं
मुझे लगता है laptop भी लाखों किताबों के लिए कुछ हद तक usable index बना सकता है, लेकिन ज्यादा comprehensive index, खासकर search space के ranking index तक जाने के लिए शायद थोड़ा बड़ा system चाहिए होगा। शायद वही बड़ा challenge है
हाल में काम के दौरान local LLMs से निपटा; आजकल quantization काफी आगे बढ़ गया है, फिर भी ThinkPad पर ऐसा काम संभव तो है, लेकिन कुछ घंटों के लिए 4090/H100 वाली कई cards के साथ VPS rent करने की तुलना में अभी भी काफी कमतर है
summarization में सबसे बड़ी समस्या यह है कि ज्यादातर local LLM models की context window बहुत बड़ी नहीं होती, इसलिए छोटे Vonnegut novel जैसे बड़े text से भी वे जूझते हैं। GitHub issues summarize करके test किया था, और 16k-token context window में भी comments ज्यादा हों तो कभी-कभी दिक्कत आती है
हां, मुझसे ज्यादा smart कोई व्यक्ति इसे Raspberry Pi पर भी चला सके, यह संभव है
कोई ठोस आधार नहीं है, सिर्फ अनुमान है, इसलिए और जानना चाहूंगा
क्या आप detail में बता सकते हैं कि search index को कैसे populate करते हैं, और expected memory limits कितनी हैं?
बढ़िया। क्या इसे torrent search के लिए भी इस्तेमाल किया जा सकता है?
जैसे video streaming करने वाले web torrent और decentralized search engine को साथ चलाना
open-source version भी बनाने वाला हूं
इसी technology का इस्तेमाल करने वाला torrent search का open-source version यहां है
उत्सुक हूं कि यह सच में search engine है, या सिर्फ
select fromquery बनाने वाला frontend हैमुझे समझ नहीं आ रहा कि यह आखिर किस बारे में है
इसमें “Liber3 recommend किया गया, यह ENS domain name इस्तेमाल करता है, ENS और IPFS पर चलता है, शायद Glitter इस्तेमाल करता है, और Tendermint से बनी service है” जैसे वाक्य आते हैं; यह किसी दूसरी galaxy की भाषा में आए alien signal जैसा लगता है
Liber3 भी try किया, लेकिन जो भी करूं बस “Oops! Something went wrong. Please refresh or try again later” ही आता है। यह सब किस बारे में है?
IPFS यानी InterPlanetary File System, जो immutable P2P S3 जैसे distributed object storage के ज्यादा करीब है
Glitter नाम परिचित लगता है, लेकिन तुरंत याद नहीं आ रहा
Tendermint blockchain के लिए consensus engine है, और Inter-Blockchain Communication(IBC) Protocol तथा Cosmos SDK के साथ मिलकर blockchains के बीच interoperability enable करने की कोशिश करने वाली toolchain का हिस्सा है
blockchain ecosystem सचमुच अपने-आप में एक छोटी दुनिया है। इसे exclusive नहीं कहूंगा, लेकिन यह काफी अंदरूनी circle जैसा है, इसलिए जब तक आप actively न खोजें, इससे सामना होना लगभग नहीं होता
साथ ही, अगर आपको databases या decentralized trustless systems में रुचि है, तो blockchain skeptic होने पर भी IPFS देखने लायक है। अंदर काफी दिलचस्प काम हो रहा है, और team भी लगभग हर blockchain project की तरह gold-rush वाली hype पर सवार नहीं हुई
इसे open-source ebook search engine बनाने की implementation guide समझ सकते हैं। बेशक उस explanation में भी थोड़ा jargon बचा है, लेकिन यह specific library names की लंबी list जैसा नहीं है
article का ज्यादातर हिस्सा implementation details है, और उसमें अच्छी तरह links दिए गए हैं
फिर यह एहसास होता है कि यह लगभग 15 साल से मौजूद है और इसका नाम libgen.rs था