पाइथन अनुप्रयोगहरूमा उन्नत RAG आर्किटेक्चरहरूको लागि LangChain एकीकृत गर्दै | B4N1

पाइथन अनुप्रयोगहरूमा उन्नत RAG आर्किटेक्चरहरूको लागि LangChain एकीकृत गर्दै

8 months ago · b4n1 Read time: 4 min

पाइथन अनुप्रयोगहरूमा उन्नत RAG आर्किटेक्चरहरूको लागि LangChain एकीकृत गर्दै

अवलोकन

हालैका वर्षहरूमा, प्राकृतिक भाषा प्रशोधन (NLP) को क्षेत्रले महत्त्वपूर्ण प्रगति देखेको छ, विशेष गरी पुन: प्राप्ति-संवर्धित जेनेरेसन (RAG) प्रणालीहरूको क्षेत्रमा। यी प्रणालीहरूले हामीले प्रश्न उत्तर, पाठ संक्षेपीकरण, र संवादात्मक एआई जस्ता कार्यहरूमा पहुँच गर्ने तरिकामा क्रान्तिकारी परिवर्तन गरेका छन्। LangChain, एक अत्याधुनिक पाइथन पुस्तकालय, RAG आर्किटेक्चरहरू निर्माण गर्नको लागि एक शक्तिशाली उपकरणको रूपमा उभिएको छ। यस लेखमा, हामी LangChain को संसारको खोजी गर्नेछौं र विस्तारित डाटा पुन: प्राप्ति र प्रशोधनका लागि अर्केस्ट्रेशन उपकरणहरू प्रयोग गर्दै, FastAPI र Flask जस्ता Python-आधारित वेब फ्रेमवर्कहरूसँग यसको एकीकरण अन्वेषण गर्नेछौं।

LangChain के हो?

LangChain एक खुला स्रोत पाइथन पुस्तकालय हो जुन RAG प्रणालीहरूको विकासलाई सरल बनाउन डिजाइन गरिएको हो। यसले एआई मोडेलहरू निर्माण, तालिम र प्रयोग गर्नका लागि उपकरणहरू र API हरूको विस्तृत सेट प्रदान गर्दछ, साथै तिनीहरूलाई विभिन्न डेटा स्रोतहरू र वेब फ्रेमवर्कहरूसँग एकीकृत गर्न। LangChain को प्राथमिक फोकस जटिल NLP कार्यहरू ह्यान्डल गर्न सक्ने स्केलेबल र कुशल RAG आर्किटेक्चरहरू सिर्जना गर्न विकासकर्ताहरूलाई सक्षम बनाउनमा छ।

LangChain को मुख्य विशेषताहरु

  1. मोड्युलर आर्किटेक्चर: LangChain को मोड्युलर डिजाइनले विकासकर्ताहरूलाई सजिलैसँग विभिन्न AI मोडेलहरू, डेटा स्रोतहरू, र वेब फ्रेमवर्कहरू एकीकृत गर्न अनुमति दिन्छ, यसलाई जटिल RAG प्रणालीहरू निर्माण गर्नको लागि एक आदर्श विकल्प बनाउँछ।
  2. अर्केस्ट्रेशन उपकरणहरू: LangChain ले विकासकर्ताहरूलाई ठूला डाटासेटहरू प्रबन्ध गर्न र प्रशोधन गर्न, साथै विभिन्न डेटा स्रोतहरू र API सँग एकीकृत गर्न सक्षम पार्ने अर्केस्ट्रेशन उपकरणहरूको दायरा प्रदान गर्दछ।
  3. बहु AI मोडेलहरूको लागि समर्थन: LangChain ले विकासकर्ताहरूलाई तिनीहरूको विशिष्ट प्रयोग केसको लागि उत्तम मोडेल छनोट गर्न अनुमति दिँदै ट्रान्सफर्मर-आधारित मोडेलहरू सहित AI मोडेलहरूको विस्तृत श्रृंखलालाई समर्थन गर्दछ।
  4. वेब फ्रेमवर्कहरूसँग एकीकरण: LangChain ले लोकप्रिय पाइथन-आधारित वेब फ्रेमवर्कहरू जस्तै FastAPI र फ्लास्कसँग सिमलेस एकीकरण प्रदान गर्दछ, यसले RAG प्रणालीहरूलाई वेब अनुप्रयोगहरूको रूपमा प्रयोग गर्न सजिलो बनाउँछ।

FastAPI र फ्लास्कको साथ LangChain एकीकृत गर्दै

FastAPI र Flask सँग LangChain एकीकृत गर्न, हामीले यी चरणहरू पालना गर्न आवश्यक छ:

चरण १: LangChain स्थापना गर्नुहोस्

पहिले, हामीले पाइप प्रयोग गरेर LangChain स्थापना गर्न आवश्यक छ:

``बाश pip स्थापना langchain


### चरण २: LangChain एजेन्ट सिर्जना गर्नुहोस्

अर्को, हामीले एउटा LangChain एजेन्ट सिर्जना गर्न आवश्यक छ जुन हाम्रो RAG प्रणालीको कोरको रूपमा काम गर्नेछ। यहाँ आधारभूत एजेन्ट कसरी सिर्जना गर्ने एउटा उदाहरण हो:

पाइथन
langchain आयात एजेन्ट बाट


एजेन्ट = एजेन्ट (
    name="my_agent",
    model_name="my_model",
    model_type="ट्रान्सफर्मर",
    max_length=1024,
    min_length=128,
)

चरण ३: FastAPI वा फ्लास्कसँग एकीकृत गर्नुहोस्

एकपटक हामीले हाम्रो LangChain एजेन्ट सिर्जना गरेपछि, हामी यसलाई FastAPI वा फ्लास्कसँग एकीकृत गर्न सक्छौं। यसलाई FastAPI सँग कसरी एकीकृत गर्ने भन्ने एउटा उदाहरण यहाँ छ:

पाइथन FastAPI बाट आयात गर्नुहोस् langchain आयात एजेन्ट बाट

एप = फास्टएपीआई()

आधारभूत एजेन्ट सिर्जना गर्नुहोस्

एजेन्ट = एजेन्ट ( name="my_agent", model_name="my_model", model_type="ट्रान्सफर्मर", max_length=1024, min_length=128, )

@app.get("/generate") async def generate_text (प्रम्प्ट: str): # पाठ उत्पन्न गर्न एजेन्ट प्रयोग गर्नुहोस् आउटपुट = agent.generate (प्रम्प्ट) रिटर्न {"आउटपुट": आउटपुट}


त्यसै गरी, हामी फ्लास्क संग LangChain एकीकृत गर्न सक्छौं:

पाइथन
फ्लास्क आयात फ्लास्कबाट, अनुरोध
langchain आयात एजेन्ट बाट

एप = फ्लास्क (__नाम__)

# आधारभूत एजेन्ट सिर्जना गर्नुहोस्
एजेन्ट = एजेन्ट (
    name="my_agent",
    model_name="my_model",
    model_type="ट्रान्सफर्मर",
    max_length=1024,
    min_length=128,
)

@app.route("/generate", methods=["GET"])
def generate_text():
    # पाठ उत्पन्न गर्न एजेन्ट प्रयोग गर्नुहोस्
    prompt = request.args.get("prompt")
    आउटपुट = agent.generate (प्रम्प्ट)
    रिटर्न {"आउटपुट": आउटपुट}

LangChain मा अर्केस्ट्रेशन उपकरणहरू

LangChain ले अर्केस्ट्रेशन उपकरणहरूको दायरा प्रदान गर्दछ जसले विकासकर्ताहरूलाई ठूला डाटासेटहरू प्रबन्ध गर्न र प्रशोधन गर्न, साथै विभिन्न डेटा स्रोतहरू र APIs सँग एकीकृत गर्न सक्षम गर्दछ। LangChain मा केही प्रमुख आर्केस्ट्रा उपकरणहरू समावेश छन्:

  1. डेटा स्रोतहरू: LangChain ले डेटा स्रोतहरूको दायरा प्रदान गर्दछ जसले विकासकर्ताहरूलाई विभिन्न डेटा स्रोतहरू र APIs, जस्तै डाटाबेसहरू, फाइल प्रणालीहरू, र वेब APIs सँग एकीकृत गर्न सक्षम बनाउँछ।
  2. डेटा प्रोसेसरहरू: LangChain ले डाटा प्रोसेसरहरूको दायरा प्रदान गर्दछ जसले विकासकर्ताहरूलाई डाटा क्लिनिङ, डाटा रूपान्तरण, र डाटा एग्रीगेसन सहित ठूला डाटासेटहरू प्रशोधन गर्न सक्षम गर्दछ।
  3. मोडेल अर्केस्ट्रेटरहरू: LangChain ले मोडेल अर्केस्ट्रेटरहरूको दायरा प्रदान गर्दछ जसले विकासकर्ताहरूलाई मोडेल प्रशिक्षण, मोडेल डिप्लोइमेन्ट, र मोडेल अनुगमन सहित AI मोडेलहरू व्यवस्थापन र प्रयोग गर्न सक्षम बनाउँछ।

Chart.js को साथ दृश्य

हाम्रो RAG प्रणालीको कार्यसम्पादन कल्पना गर्न, हामी अन्तरक्रियात्मक चार्टहरू सिर्जना गर्नका लागि लोकप्रिय JavaScript पुस्तकालय Chart.js प्रयोग गर्न सक्छौं। हाम्रो RAG प्रणालीको कार्यसम्पादन कल्पना गर्न Chart.js कसरी प्रयोग गर्ने भन्ने बारे यहाँ एउटा उदाहरण छ:

जाभास्क्रिप्ट const ctx = document.getElementById("myChart").getContext("2d"); const चार्ट = नयाँ चार्ट (ctx, { प्रकार: "लाइन", डेटा: { लेबलहरू: ["जन", "फेब्रुअरी", "मार्च", "अप्रिल", "मे"], डाटासेट: [ { लेबल: "शुद्धता", डेटा: [०.८, ०.९, ०.८५, ०.८८, ०.९२], पृष्ठभूमि रंग: "rgba(255, 99, 132, 0.2)", सीमा रंग: "rgba(255, 99, 132, 1)", सीमा चौडाइ: 1, }, ], }, विकल्प: { तराजू: { y: { startAtZero: सत्य, }, }, }, });


**शीर्ष ५-१० धेरै प्रयोग गरिएका आदेश/स्निपेटहरू**


यहाँ LangChain मा शीर्ष 5-10 धेरै प्रयोग गरिएका आदेशहरू/स्निपेटहरू छन्:

1. 'langchain आयात एजेन्टबाट': LangChain बाट एजेन्ट वर्ग आयात गर्नुहोस्।
2. `एजेन्ट = एजेन्ट(...)`: नयाँ एजेन्ट उदाहरण सिर्जना गर्नुहोस्।
3. `agent.generate(...)`: पाठ उत्पन्न गर्न एजेन्ट प्रयोग गर्नुहोस्।
4. `agent.query(...)`: एजेन्टको प्रयोग गरी ज्ञानको आधार खोज्नुहोस्।
5. `agent.train(...)`: एजेन्टलाई डेटासेटमा तालिम दिनुहोस्।
6. `agent.deploy(...)`: एजेन्टलाई वेब सेवाको रूपमा प्रयोग गर्नुहोस्।
7. `agent.monitor(...)`: एजेन्टको कार्यसम्पादन निगरानी गर्नुहोस्।
8. `agent.update(...)`: नयाँ डाटाको साथ एजेन्ट अपडेट गर्नुहोस्।
9. `agent.delete(...)`: एजेन्टको उदाहरण मेट्नुहोस्।
10. `agent.save(...)`: एजेन्ट इन्स्ट्यान्सलाई फाइलमा सेभ गर्नुहोस्।

**निष्कर्ष**


यस लेखमा, हामीले LangChain को संसार र पाइथन-आधारित वेब फ्रेमवर्कहरू जस्तै FastAPI र फ्लास्कसँग यसको एकीकरणको अन्वेषण गरेका छौं। हामीले LangChain मा अर्केस्ट्रेसन उपकरणहरूको प्रयोगको बारेमा पनि छलफल गरेका छौं र हाम्रो RAG प्रणालीको कार्यसम्पादन कल्पना गर्न Chart.js कसरी प्रयोग गर्ने भन्ने उदाहरणहरू प्रदान गरेका छौं। LangChain को साथ, विकासकर्ताहरूले जटिल NLP कार्यहरू ह्यान्डल गर्न सक्ने स्केलेबल र कुशल RAG आर्किटेक्चरहरू निर्माण गर्न सक्छन्।

Have Questions?

Let's Talk

Contact me on LinkedIn