LLM embeddings और Scikit-learn का उपयोग करके एक retrieval-augmented generation पाइपलाइन बनाना
स्किट-लर्निंग, embeddings और क्यूवेन2.5-0.5B के साथ एक मुफ्त स्थानीय पुनर्प्राप्ति संवर्धित LLM पाइपलाइन का निर्माण करें।
मुख्य जानकारी
- लेख दिखाता है कि APIs या भारी फ्रेमवर्क के बिना स्किट-लर्निंग, वाक्य- Transformers और Qwen2.5-0.5B-इंस्ट्रक्ट का उपयोग करके एक हल्के, मुफ्त पुनर्प्राप्ति-Augmented Generation पाइपलाइन को कैसे बनाया जाए।
- पाइपलाइन टेक्स्ट embeddings के लिए ऑल-मिनीएलएम-एल6-वी 2 का उपयोग करती है, रिकवरी के लिए कोसिन दूरी के साथ sklearn.neighbors.NearestNeighbours और उत्तर पीढ़ी के लिए Qwen2.5-0.5B।
- यह सात चरणों के आसपास संरचित हैः रनटाइम चुनना, एक छोटे दस्तावेज़ आधार को लोड करना, खंडित पाठ बनाना, embeddings उत्पन्न करना, रिट्रीवर बनाना, जनरेटर जोड़ना और कनेक्टेड पाइपलाइन का परीक्षण करना।
- परिणाम एक पारदर्शी, इन-मेमोरी प्रोटोटाइप है जो छोटे ज्ञान के आधारों, प्रूफ ऑफ कॉन्सेप्ट परियोजनाओं और स्केलिंग से पहले RAG विचारों को मान्य करने के लिए उपयोगी है।
- सामान्य त्रुटियों में एक छोटे मॉडल से उत्पादन स्तर की गुणवत्ता की अपेक्षा करना, बड़े दस्तावेजों के लिए चंकिंग को छोड़ना और बहुत कम खंड आकार और ओवरलैप मानों का उपयोग करना शामिल है।
एक Qwen2.5-0.5B रिट्रीवल- Augmented Generation Pipeline का निर्माण करें स्कीकिट और वाक्य के साथ सीखें - Transformers
मेटा विवरण: सीखें कि कैसे एक हल्के retrieval-augmented generation पाइपलाइन का निर्माण करने के लिए scikit-learn, सभी-MiniLM-L6-v2, और Qwen / Qwen2.5-0.5B-Instruct का उपयोग करके मुफ्त में।
टैगः retrieval-augmented generation , scikit- सीखना, वाक्य - Transformers , Qwen2.5-0.5B, स्थानीय embeddings
विशेष रुप से प्रदर्शित छवि: पाठ दस्तावेज़ों का अमूर्त, मैत्रीपूर्ण चित्रण वेक्टर बिंदु बन जाता है और एक प्रश्न का उत्तर देने वाला एक छोटा मॉडल, कोई वास्तविक व्यक्ति नहीं, कोई लोगो, कोई टेक्स्ट।
उन डेवलपर्स के लिए जिन्हें RAG पाइपलाइन या retrieval-augmented generation पाइप लाइन की आवश्यकता है, बिना भुगतान किए गए APIs या हेवीवेट फ्रेमवर्क के, यह गाइड दिखाता है कि वेक्टर पुनर्प्राप्ति के लिए स्किटिक-लर्न का उपयोग करके इन-मेमोरी, एंड-टू-एंड सिस्टम कैसे बनाया जाए।
क्यों एक हल्का पाइपलाइन पर्याप्त है
Modern RAG सिस्टम को अक्सर फ्रेमवर्क के एक पारिस्थितिकी तंत्र से अविभाज्य माना जाता है, जिसमें आम तौर पर महंगे प्रबंधित वेक्टर डेटाबेस शामिल होते हैं जिनका उपयोग दस्तावेज़ संग्रहों को पुनर्प्राप्त करने के लिए किया जाता है। हालांकि, मूल रूप से, RAG प्रणाली काफी सरल धारणा पर निर्भर करती हैः पाठ का प्रतिनिधित्व करने वाले सिमेंटिक वैक्टरों के बीच की दूरी की गणना करना. इस वजह से, एक समर्पित AI बुनियादी ढांचा सख्ती से आवश्यक नहीं है जब दस्तावेज आधार छोटा होता है, जब कोई टीम अवधारणा के नए प्रमाण का प्रोटोटाइप बना रही होती है, या जब तैनाती लागत कम होनी चाहिए। यहां वर्णित विधि पूरी तरह कार्यात्मक रहने वाली पारदर्शी, तेज 880029 पाइपलाइन बनाने के लिए open-source LLMs के साथ मिलकर scikit-learn प्रक्रियाओं का उपयोग करती है।
सात चरणों में पाइपलाइन का निर्माण
- रनटाइम चुनें. पाइपलाइन को स्थानीय आईडीई में लागू और चलाया जा सकता है, लेकिन गाइड प्रदर्शन के लिए Google Colab की अनुशंसा करता है. Using Colab 89s मुक्त T4 GPU निष्पादन अधिक कुशल बनाता है। आवश्यक पुस्तकालयों और निर्भरताओं को स्थापित करने और आयात करके शुरू करें।
- लघु दस्तावेज़ आधार लोड करें. गाइड एक सार्वजनिक GitHub रिपॉजिटरी में एक छोटा सा dataset उपलब्ध कराता है। dataset , एशियाई देशों के संक्षिप्त विवरणों वाली नौ पाठ फ़ाइलें शामिल हैं। फाइल डाउनलोड करें, उन्हें निकालें और ग्रंथों को एक साधारण सूची में सहेजें। यह सूची RAG प्रणाली के लिए दस्तावेज़ आधार बन जाती है।
- embeddings बनाने से पहले, ग्रंथों को सही प्रारूप में डालने की आवश्यकता होती है, जिसका अर्थ है कि उन्हें embedding वेक्टर बनना चाहिए। खंडित करना RAG में सामान्य अभ्यास है क्योंकि यह दस्तावेजों को छोटे, सिमेंटिक टुकड़ों में बदल देता है जो embedding मॉडल के लिए जिम्मेदार हैं, संख्यात्मक embeddings में पाठ के टुकड़े का मानचित्रण करने के लिए अधिक प्रभावी ढंग से संसाधित कर सकते हैं। स्रोत पाठ कम होते हैं, इसलिए उन्हें वास्तव में खंडित करने की आवश्यकता नहीं होती है लेकिन पाइपलाइन वास्तविक दुनिया RAG प्रणालियों के लिए सर्वोत्तम प्रथाओं को दर्शाने के लिए इस चरण का अनुकरण करती है। गाइड खंड आकार और ओवरलैप के लिए सामान्य से छोटे मूल्यों के साथ एक देशी खंडन फ़ंक्शन को परिभाषित करता है, दोनों शब्दों में मापा जाता है, ताकि प्रभाव छोटे दस्तावेज़ों पर देखा जा सके। एक वास्तविक अनुप्रयोग में, दोनों तर्कों के लिए बड़े मूल्य अधिक उपयोगी होने की संभावना है।
- embeddings उत्पन्न करें. एक बार जब टुकड़े तैयार हो जाते हैं, तो पाइपलाइन सभी-MiniLM-L6-v2 वाक्य के साथ embedding वेक्टर बनाता है - Transformer । यह लोकप्रिय हल्का मॉडल पाठ टुकड़ों को सांख्यिकीय में मानचित्रित करता है embeddings , जो तब रिट्रीवर द्वारा तुलना की जा सकती है।
- रिट्रीवर बनाएँ. रिट्रिवर एक RAG पाइपलाइन के प्रमुख घटकों में से एक है। इसके बजाय vector database , गाइड wrapps sklearn.neighbors.NearestNeighbours, एक सरल अभी तक प्रभावी दूरी-गणना algorithm , एक स्वच्छ, पुनः प्रयोज्य वर्ग में। कक्षा कोसिनियस दूरी का उपयोग करते हुए वेक्टर डेटाबेस कार्यक्षमता की नकल करती है, जो embedding वैक्टर प्रतिनिधित्वों के लिए आदर्श है।
- जनरेटर जोड़ें. दूसरा प्रमुख घटक जेनरेटर है। पाइपलाइन Hugging Face: Qwen / Qwen2.5-0.5B-Instruct से प्राकृतिक भाषा पीढ़ी के लिए प्रशिक्षित एक छोटे, open-source LLM का उपयोग करती है। यह मॉडल RAM क्रैश होने के जोखिम के बिना कोलाब नोटबुक में सुचारू रूप से चलाने के लिए पर्याप्त छोटा है।
- embeddings , रिट्रीवर और जनरेटर के साथ, अंतिम चरण उन्हें एक इन-मेमोरी पाइपलाइन में जोड़ना है। गाइड सिस्टम से इसके ज्ञान आधार के बारे में सवाल पूछता है, जो एशियाई देशों को कवर करता है। test_question में पाठ विभिन्न प्रश्नों का प्रयास करने के लिए प्रतिस्थापित किया जा सकता है।
पाठकों के लिए परिणाम का क्या अर्थ है
पूर्ण पाइपलाइन उपयोग करने के लिए पूरी तरह से स्वतंत्र है और भारी वजन वाले फ्रेमवर्क या भुगतान किए गए APIs के ओवरहेड से बचा जाता है। यह केवल स्किट-लर्न वेक्टर रिकवरी पर निर्भर करता है और embeddings और पीढ़ी दोनों के लिए open-source मॉडल, एक पारदर्शी प्रणाली का उत्पादन करता है जो मेमोरी में चलता है। पाठकों के लिए, मूल्य न केवल नमूना प्रश्न का अंतिम उत्तर है, बल्कि प्रोटोटाइपिंग, विभिन्न पुनर्प्राप्ति रणनीतियों के साथ प्रयोग करने और सिस्टम को बढ़ाने से पहले अवधारणाओं को मान्य करने का एक ठोस प्रारंभिक बिंदु भी है।
गाइड से संबंधित निर्देश
मार्गदर्शिका संबंधित पाइपलाइन कार्य की ओर पाठकों को भी इंगित करती हैः Python में llama.cpp के साथ एक RAG पाइप लाइन का निर्माण करना, LLM embeddings को सारणीबद्ध सुविधाओं के साथ जोड़ना, शब्द आवृत्ति-विपरित दस्तावेज़ आवृत्तियों और मेटाडेटा, भावना विश्लेषण पाइपलाइंस, मजबूत machine learning पाइप लाइन्स और लंबे समय तक चलने वाले एजेंटों के लिए संदर्भ छंटाई के साथ 89000 embeddings का संयोजन।
आम गलतियाँ
इस सेटअप से वाणिज्यिक LLM -स्तर के परिणामों की अपेक्षा करना. गाइड एक छोटे मॉडल और एक छोटा ज्ञान आधार का उपयोग करता है, इसलिए व्यवहार और आउटपुट छोटे पैमाने पर प्रणाली के लिए उचित हैं, उत्पादन गुणवत्ता पीढ़ी के लिए नहीं।
वास्तविक दस्तावेजों में खंडन को छोड़ना. नौ छोटी पाठ फ़ाइलों को आक्रामक खंडन की आवश्यकता नहीं है, लेकिन बड़े कॉर्पोरेस करते हैं। पाइपलाइन में उस चरण का प्रदर्शन करने के लिए खंडन शामिल है जो वास्तविक दुनिया RAG प्रणालियों में महत्वपूर्ण हो जाता है।
खंड आकार और ओवरलैप मानों का उपयोग करना जो बहुत छोटे हैं. गाइड जानबूझकर लघु दस्तावेजों पर प्रभाव को दृश्यमान बनाने के लिए सामान्य से छोटा-मूल्यों का उपयोग करता है। वास्तविक अनुप्रयोगों को आमतौर पर दोनों तर्कों के लिए काफी बड़े मूल्यों की आवश्यकता होती है।
कोसाइन दूरी की उपेक्षा करना। रिट्रीवर स्क्लेर्न.नेबर्स का उपयोग करता है, क्योंकि कोसिन दूरी embedding वेक्टर प्रतिनिधित्व के लिए अच्छी तरह से अनुकूल है।
Qwen /Qwen2.5-0.5B-Instruct को चुना गया है क्योंकि यह एक नोटबुक के लिए RAM क्रैश का जोखिम उठाए बिना पर्याप्त छोटा है; बड़े कॉर्पोरे या बड़े मॉडल उसी सेटअप में फिट नहीं हो सकते हैं।

Comments (0)