LangChain और LlamaIndex की मूल बातें
जटिल LLM ऐप्लिकेशन आसानी से बनाने के लिए LangChain और LlamaIndex जैसे शक्तिशाली फ़्रेमवर्क से शुरुआत करें।
LangChain और LlamaIndex की मूल बातें, CoddyKit पर डेवलपरों के लिए प्रॉम्प्ट इंजीनियरिंग और LLM अनुकूलन का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह डेवलपरों के लिए प्रॉम्प्ट इंजीनियरिंग और LLM अनुकूलन सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। डेवलपरों के लिए प्रॉम्प्ट इंजीनियरिंग और LLM अनुकूलन पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
LLM फ़्रेमवर्क का उपयोग क्यों करें?
Large Language Model (LLM) API के साथ सीधे काम करना कच्ची LEGO ईंटों से निर्माण करने जैसा हो सकता है। यह शक्तिशाली है, लेकिन बड़े प्रोजेक्ट के लिए जटिल होता है।
LangChain और LlamaIndex जैसे फ़्रेमवर्क पहले से बने उपकरण और संरचनाएँ प्रदान करते हैं। वे आम कार्यों को सरल बनाते हैं, जिससे उन्नत LLM ऐप्लिकेशन बनाना बहुत आसान हो जाता है।
LangChain: LLM का समन्वय
LangChain एक ऐसा फ़्रेमवर्क है, जिसे अलग-अलग घटकों को "श्रृंखलाबद्ध" करके LLM वाले ऐप्लिकेशन बनाने में आपकी सहायता के लिए तैयार किया गया है।
- यह विभिन्न LLM के साथ काम करने के लिए अमूर्तताएँ प्रदान करता है।
- यह कई चरणों वाले जटिल कार्यप्रवाहों को सक्षम बनाता है।
- इसे अपने LLM-संचालित ऐप्लिकेशन के तर्क को जोड़ने वाले गोंद की तरह समझें।
LangChain के मुख्य घटक
LangChain अपनी कार्यक्षमता को प्रमुख मॉड्यूल में व्यवस्थित करता है:
- LLM: अलग-अलग LLM प्रदाताओं (जैसे, OpenAI, Anthropic) के लिए रैपर।
- प्रॉम्प्ट: गतिशील प्रॉम्प्ट आसानी से बनाने के लिए टेम्पलेट।
- चेन: LLM या अन्य उपयोगिताओं को किए जाने वाले कॉल का क्रम।
- एजेंट: ऐसे LLM, जो यह तय करते हैं कि किन उपकरणों का और किस क्रम में उपयोग करना है।
- मेमोरी: बातचीत वाले ऐप्लिकेशन में स्थायी स्थिति के लिए।
आपका पहला LangChain विचार
आइए देखें कि एक सरल प्रॉम्प्ट और एक नकली LLM साथ मिलकर कैसे काम कर सकते हैं। यह उदाहरण दिखाता है कि LangChain किसी प्रॉम्प्ट टेम्पलेट को LLM से जोड़ने की अवधारणा कैसे समझता है, भले ही मॉडल सिम्युलेटेड हो।
from langchain_core.prompts import PromptTemplate
from langchain_core.language_models import BaseChatModel
from langchain_core.messages import BaseMessage, HumanMessage, AIMessage
# A simple mock LLM for demonstration
class MockChatModel(BaseChatModel):
def _generate(self, messages, stop=None, run_manager=None):
last_message_content = messages[-1].content
response = f"Mock response for: '{last_message_content}'"
return AIMessage(content=response)
@property
def _llm_type(self) -> str:
return "mock_chat_model"
def main():
# 1. Define a Prompt Template
template = "Tell me a fun fact about {topic}."
prompt = PromptTemplate(template=template, input_variables=["topic"])
# 2. Instantiate our Mock LLM
llm = MockChatModel()
# 3. Format the prompt with input
formatted_prompt = prompt.format(topic="penguins")
print("--- Formatted Prompt ---")
print(formatted_prompt)
# 4. Invoke the LLM (simulated)
# In a real LangChain app, you'd use a chain, but this shows the core interaction.
response_message = llm.invoke([HumanMessage(content=formatted_prompt)])
print("\n--- Mock LLM Response ---")
print(response_message.content)
if __name__ == "__main__":
main()LlamaIndex: डेटा और LLM
LlamaIndex एक डेटा फ़्रेमवर्क है, जिसे आपके कस्टम डेटा स्रोतों को LLM से जोड़ने के लिए तैयार किया गया है। इसका मुख्य उद्देश्य ऐसे ऐप्लिकेशन बनाना आसान करना है, जो आपके निजी या किसी विशिष्ट क्षेत्र से जुड़े डेटा पर क्वेरी कर सकें और उसे समझ सकें।
- यह डेटा ग्रहण, अनुक्रमण और पुनर्प्राप्ति पर केंद्रित है।
- यह Retrieval Augmented Generation (RAG) ऐप्लिकेशन को शक्ति प्रदान करता है।
- यह LLM को उनके प्रशिक्षण डेटा से आगे के प्रश्नों के उत्तर देने में सहायता करता है।
LlamaIndex की मुख्य अवधारणाएँ
LlamaIndex इन घटकों के माध्यम से RAG पाइपलाइन को सरल बनाता है:
- दस्तावेज़: कच्चे डेटा इनपुट (जैसे, पाठ फ़ाइलें, PDF और डेटाबेस रिकॉर्ड)।
- नोड: Documents से प्राप्त पाठ के टुकड़े, जिनके साथ अक्सर संबंधित मेटाडेटा होता है।
- अनुक्रमणिकाएँ: डेटा संरचनाएँ (जैसे वेक्टर स्टोर), जो कुशल पुनर्प्राप्ति के लिए Nodes को व्यवस्थित करती हैं।
- क्वेरी इंजन: किसी अनुक्रमणिका पर क्वेरी करने के लिए इंटरफ़ेस, जो अक्सर पुनर्प्राप्ति और LLM संश्लेषण को साथ जोड़ता है।
कस्टम डेटा पर क्वेरी करना (सिम्युलेटेड)
यहाँ LlamaIndex द्वारा डेटा को क्वेरी से जोड़ने का एक सरल रूप दिया गया है। हम किसी दस्तावेज़ को ग्रहण करने और फिर उस पर क्वेरी करने का अनुकरण करते हैं, जिससे पुनर्प्राप्ति की मूल अवधारणा प्रदर्शित होती है।
class Document:
def __init__(self, text, doc_id=None):
self.text = text
self.doc_id = doc_id if doc_id else f"doc_{hash(text)}"
class MockVectorStore:
def __init__(self):
self.store = {}
self.documents = []
def add(self, docs):
for doc in docs:
self.store[doc.doc_id] = doc.text
self.documents.append(doc)
def query(self, query_text):
for doc in self.documents:
if query_text.lower() in doc.text.lower():
return [doc.text]
return []
class MockQueryEngine:
def __init__(self, vector_store):
self.vector_store = vector_store
def query(self, query_text):
retrieved_texts = self.vector_store.query(query_text)
if retrieved_texts:
return f"Based on available info, for '{query_text}': {retrieved_texts[0]}"
return f"Could not find specific information for '{query_text}'."
def main():
# 1. Simulate Documents
documents = [
Document("The quick brown fox jumps over the lazy dog."),
Document("Cats love to nap in sunny spots."),
Document("Python is a popular programming language.")
]
# 2. Simulate building a Vector Store and Index
mock_store = MockVectorStore()
mock_store.add(documents)
# 3. Create a Query Engine
query_engine = MockQueryEngine(mock_store)
# 4. Query the data
response1 = query_engine.query("What is Python?")
print("--- Query 1 Response ---")
print(response1)
response2 = query_engine.query("What about foxes?")
print("\n--- Query 2 Response ---")
print(response2)
response3 = query_engine.query("What is the capital of France?")
print("\n--- Query 3 Response ---")
print(response3)
if __name__ == "__main__":
main()LangChain बनाम LlamaIndex
दोनों फ़्रेमवर्क LLM के साथ काम करने में सहायता करते हैं, लेकिन उनका मुख्य ध्यान अलग-अलग है:
- LangChain: जटिल LLM कार्यप्रवाहों का समन्वय करने, एजेंट और बातचीत वाले बॉट बनाने तथा विभिन्न उपकरणों को एकीकृत करने के लिए सबसे उपयुक्त।
- LlamaIndex: डेटा-केंद्रित LLM ऐप्लिकेशन के लिए आदर्श, विशेष रूप से तब जब आपको RAG के लिए LLM को अपने निजी या किसी विशिष्ट क्षेत्र से जुड़े डेटा से जोड़ना हो।
वास्तविक ऐप्लिकेशन में अक्सर दोनों एक-दूसरे के पूरक के रूप में काम करते हैं।
तालमेल: LangChain + LlamaIndex
शक्तिशाली ऐप्लिकेशन के लिए LangChain और LlamaIndex का साथ में उपयोग करना आम है:
- अपने डेटा स्रोतों से प्रासंगिक जानकारी ग्रहण करने, अनुक्रमित करने और पुनर्प्राप्त करने के लिए LlamaIndex का उपयोग करें।
- पुनर्प्राप्त संदर्भ को LangChain को दें, जो फिर इस संदर्भ को LLM के साथ संसाधित करने, उत्तरों को बेहतर बनाने या अन्य उपकरणों के साथ इंटरैक्ट करने के लिए अपनी "चेन" या "एजेंट" का उपयोग करता है।
इससे LlamaIndex की डेटा-संबंधी क्षमता और LangChain की समन्वय क्षमता एक साथ आती हैं।
फ़्रेमवर्क की भूमिकाएँ
LangChain और LlamaIndex की मुख्य खूबियों पर विचार करें। निम्नलिखित में से कौन-से कथन उनकी प्राथमिक भूमिकाओं या सामान्य उपयोग के मामलों का सही वर्णन करते हैं?
पाठ का पुनरावलोकन
इस पाठ में हमने LangChain और LlamaIndex का अध्ययन किया, जो LLM ऐप्लिकेशन बनाने के लिए दो शक्तिशाली फ़्रेमवर्क हैं।
- LangChain जटिल LLM कार्यप्रवाहों, चेन और एजेंट का समन्वय करने में सहायता करता है।
- LlamaIndex कुशल पुनर्प्राप्ति और RAG के लिए LLM को आपके कस्टम डेटा से जोड़ने में विशेषज्ञ है।
- ये फ़्रेमवर्क अक्सर साथ में काम करते हैं, जहाँ LlamaIndex LangChain के तर्क के लिए डेटा संदर्भ प्रदान करता है।
इनकी अलग-अलग भूमिकाओं को समझने से आपको अपने अगले LLM प्रोजेक्ट के लिए सही उपकरण चुनने में सहायता मिलेगी!
एआई शिक्षक के साथ डेवलपरों के लिए प्रॉम्प्ट इंजीनियरिंग और LLM अनुकूलन सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 12
- पाठ
- 48
अक्सर पूछे जाने वाले प्रश्न
क्या “LangChain और LlamaIndex की मूल बातें” पाठ निःशुल्क है?
हाँ—“LangChain और LlamaIndex की मूल बातें” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और डेवलपरों के लिए प्रॉम्प्ट इंजीनियरिंग और LLM अनुकूलन पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। डेवलपरों के लिए प्रॉम्प्ट इंजीनियरिंग और LLM अनुकूलन पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“LangChain और LlamaIndex की मूल बातें” में मैं क्या सीखूँगा?
जटिल LLM ऐप्लिकेशन आसानी से बनाने के लिए LangChain और LlamaIndex जैसे शक्तिशाली फ़्रेमवर्क से शुरुआत करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ डेवलपरों के लिए प्रॉम्प्ट इंजीनियरिंग और LLM अनुकूलन का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या डेवलपरों के लिए प्रॉम्प्ट इंजीनियरिंग और LLM अनुकूलन शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर डेवलपरों के लिए प्रॉम्प्ट इंजीनियरिंग और LLM अनुकूलन शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।
“LangChain और LlamaIndex की मूल बातें” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस डेवलपरों के लिए प्रॉम्प्ट इंजीनियरिंग और LLM अनुकूलन पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर डेवलपरों के लिए प्रॉम्प्ट इंजीनियरिंग और LLM अनुकूलन पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- LLM API के साथ इंटरैक्शन (OpenAI, Anthropic)
- LangChain और LlamaIndex की मूल बातें
- प्रॉम्प्ट प्रबंधन और संस्करण नियंत्रण
- पुनर्प्राप्ति-संवर्धित जनरेशन (RAG) की मूल बातें