डेटा स्टोरेज और प्रोसेसिंग की तेज़ी से विकसित हो रही दुनिया में, कुशल क्लाउड स्टोरेज समाधानों को उन्नत AI क्षमताओं के साथ संयोजित करना, डेटा की विशाल मात्रा को संभालने के लिए एक परिवर्तनकारी दृष्टिकोण प्रस्तुत करता है। यह लेख MinIO, Langchain और OpenAI के GPT-3.5 मॉडल का उपयोग करके एक व्यावहारिक कार्यान्वयन प्रदर्शित करता है, जो MinIO बकेट में संग्रहीत दस्तावेज़ों को सारांशित करने पर ध्यान केंद्रित करता है।
मिनियो ओपन-सोर्स, हाई-परफॉरमेंस ऑब्जेक्ट स्टोरेज है जो Amazon S3 API के साथ पूरी तरह से संगत है। अपनी स्केलेबिलिटी के लिए जाना जाने वाला, मिनियो फोटो, वीडियो, लॉग फाइल, बैकअप और कंटेनर इमेज जैसे असंरचित डेटा को स्टोर करने के लिए आदर्श है। यह केवल स्टोरेज के बारे में नहीं है; मिनियो डेटा प्रतिकृति, जीवनचक्र प्रबंधन और उच्च उपलब्धता जैसी सुविधाएँ भी प्रदान करता है, जो इसे आधुनिक क्लाउड-नेटिव अनुप्रयोगों के लिए एक शीर्ष विकल्प बनाता है।
कार्यान्वयन में आगे बढ़ने से पहले, सुनिश्चित करें कि आपके पास Langchain स्थापित है। इसे pip के माध्यम से स्थापित करें:
pip install --upgrade langchain
यह उन सभी आवश्यक लाइब्रेरीज़ को समाहित कर लेगा जिनका उपयोग हम अपने S3 लोडर और OpenAI मॉडल के लिए करेंगे।
प्रारंभ में, हम Langchain के S3DirectoryLoader
और S3FileLoader
का उपयोग करके दस्तावेज़ लोड करने पर ध्यान केंद्रित करते हैं। ये लोडर MinIO बकेट में निर्दिष्ट निर्देशिकाओं और फ़ाइलों से कई और एकल दस्तावेज़ लाने के लिए जिम्मेदार हैं।
from langchain_community.document_loaders.s3_file import S3FileLoader # MinIO Configuration for the public testing server endpoint = 'play.min.io:9000' access_key = 'minioadmin' secret_key = 'minioadmin' use_ssl = True # Initialize and load a single document file_loader = S3FileLoader( bucket='web-documentation', key='MinIO_Quickstart.md', endpoint_url=f'http{"s" if use_ssl else ""}://{endpoint}', aws_access_key_id=access_key, aws_secret_access_key=secret_key, use_ssl=use_ssl ) document = file_loader.load()
पायथन लैंगचेन उदाहरण - S3 फ़ाइल लोडर
from langchain_community.document_loaders.s3_directory import S3DirectoryLoader # Initialize and load documents directory_loader = S3DirectoryLoader( bucket='web-documentation', prefix='', endpoint_url=f'http{"s" if use_ssl else ""}://{endpoint}', aws_access_key_id=access_key, aws_secret_access_key=secret_key, use_ssl=use_ssl ) documents = directory_loader.load()
पायथन लैंगचेन उदाहरण - S3 डायरेक्टरी लोडर
दस्तावेज़ों को लोड करने के बाद, हम सारांश बनाने के लिए OpenAI के GPT-3.5 मॉडल (जो ChatOpenAI
के माध्यम से Langchain लाइब्रेरी में शामिल हैं) का उपयोग करते हैं। यह चरण मॉडल की सामग्री को समझने और संक्षिप्त करने की क्षमता को दर्शाता है, जो बड़े दस्तावेज़ों से त्वरित जानकारी प्रदान करता है।
OpenAI API तक पहुंचने के लिए, आप यहां जाकर API कुंजी प्राप्त कर सकते हैं
from langchain_openai import ChatOpenAI from langchain_core.output_parsers import StrOutputParser from langchain_core.prompts import ChatPromptTemplate from langchain_core.runnables import RunnableLambda import os # Set your OpenAI API key os.environ['OPENAI_API_KEY'] = 'your-openai-api-key' model = ChatOpenAI(temperature=0, model="gpt-3.5-turbo-1106") prompt = ChatPromptTemplate.from_template( "Summarize the following document '{document_name}':{context}Please provide the summary and key points." ) loaded_documents = [documents, document] # From S3 Loaders flattened_documents = [doc for sublist in loaded_documents for doc in sublist] for loaded_document in flattened_documents: document_text = loaded_document.page_content document_name = getattr(loaded_document, 'name', 'Unknown Document') # Assuming each document has a 'name' attribute chain = ( RunnableLambda(lambda x: {"context": document_text, "document_name": document_name}) | prompt | model | StrOutputParser() ) summary = chain.invoke(None) print("Summary:", summary)
पायथन लैंगचेन उदाहरण - OpenAI API के साथ दस्तावेज़ों का सारांश बनाना
नीचे इस डेमो को चलाने से प्राप्त आउटपुट है, और यह OpenAI के GPT-3.5 और MinIO S3 स्टोरेज के साथ LangChain को एकीकृत करने का परिणाम है; प्रदर्शन के उद्देश्य से आउटपुट को छोटा कर दिया गया है:
Summary: The document is a quickstart guide for MinIO, a high-performance object storage system that is compatible with Amazon S3. It explains how to run MinIO on bare metal hardware or in containers. For Kubernetes environments, it recommends using the MinIO Kubernetes Operator. The key points are: - MinIO is a high-performance object storage system. - It is released under the GNU Affero General Public License v3.0. - MinIO is API compatible with Amazon S3. - It can be used to build high-performance infrastructure for machine learning, analytics, and application data workloads. - The guide provides quickstart instructions for running MinIO on bare metal hardware or in containers. - For Kubernetes environments, the MinIO Kubernetes Operator is recommended.
ओपनएआई एपीआई से प्रतिक्रिया
यह विधि S3 स्टोरेज से दस्तावेजों को LLM में लोड करने के लिए Langchain फ्रेमवर्क का उपयोग करके उन्हें प्रोसेस करने के लिए एक दिलचस्प तरीका बताती है, जबकि OpenAI का GPT-3.5 मॉडल MinIO_Quickstart.md
का संक्षिप्त सारांश और मुख्य बिंदु उत्पन्न करता है जिसे play.min.io
सर्वर से प्राप्त किया जाता है। व्यापक दस्तावेज़ों का विश्लेषण और संक्षिप्तीकरण करने के लिए AI का उपयोग, उपयोगकर्ताओं को इंस्टॉलेशन, सर्वर कॉन्फ़िगरेशन, SDK और अन्य MinIO सुविधाओं जैसे आवश्यक पहलुओं की त्वरित और गहन समझ प्रदान करता है। यह व्यापक डेटा स्रोतों से महत्वपूर्ण जानकारी निकालने और प्रस्तुत करने में AI की क्षमता को प्रदर्शित करता है।
मिनियो, लैंगचेन और ओपनएआई का एकीकरण बड़े डेटा वॉल्यूम को प्रबंधित करने के लिए एक आकर्षक टूलसेट प्रदान करता है। जबकि लैंगचेन के S3 लोडर, S3DirectoryLoader और S3FileLoader, मिनियो बकेट से दस्तावेज़ों को पुनर्प्राप्त करने में एक महत्वपूर्ण भूमिका निभाते हैं, वे केवल लैंगचेन में डेटा लोड करने के लिए हैं। ये लोडर बकेट में डेटा अपलोड करने से संबंधित क्रियाएँ नहीं करते हैं। बकेट नीतियों को अपलोड करने, संशोधित करने या प्रबंधित करने जैसे कार्यों के लिए, मिनियो पायथन SDK उपयुक्त उपकरण है। यह SDK फ़ाइल अपलोड, बकेट प्रबंधन और अधिक सहित मिनियो स्टोरेज के साथ बातचीत करने के लिए कार्यात्मकताओं का एक व्यापक सेट प्रदान करता है। अतिरिक्त जानकारी के लिए, कृपया देखें
जबकि लैंगचेन एआई मॉडल का उपयोग करके डेटा प्राप्त करने और संसाधित करने की प्रक्रिया को सुव्यवस्थित करता है, मिनियो बकेट के भीतर डेटा प्रबंधन का भारी काम मिनियो पायथन एसडीके पर निर्भर है। यह एक महत्वपूर्ण अंतर है जिसे कुशल, एआई-एकीकृत भंडारण समाधान बनाने वाले डेवलपर्स और डेटा इंजीनियरों को समझना चाहिए। मिनियो की क्षमताओं और विभिन्न भंडारण कार्यों के लिए इसके पायथन एसडीके का उपयोग करने के तरीके की पूरी समझ के लिए, मिनियो के आधिकारिक लिंक को देखें
AI और ML प्रक्रियाओं के लिए प्राथमिक डेटा रिपॉजिटरी के रूप में MinIO ऑब्जेक्ट स्टोरेज का उपयोग करके, आप अपने डेटा प्रबंधन पाइपलाइन को सरल बना सकते हैं। MinIO एक वन-स्टॉप समाधान के रूप में उत्कृष्ट है
एलएलएम टूल-उपयोग को बढ़ाने के लिए लैंगचेन के साथ मिनियो के एकीकरण में गहराई से जानने में रुचि रखने वालों के लिए, लेख " एलएलएम टूल-उपयोग के लिए मिनियो एसडीके के साथ लैंगचेन एजेंट विकसित करना " विषय की व्यापक खोज प्रदान करता है।
आपके विकास प्रयासों में शुभकामनाएँ! हम आशा करते हैं